A kind of method that is used for Turbo code decoder minimizing storage resources
Technical field
The present invention relates to the method for saving Turbo code decoder storage resources in a kind of communication system or the wireless communication system of being applied to, particularly code division multiple access (Code-Division Multiple Access the is called for short CDMA) system.
Background technology
Channel coding and decoding technology has relatively independent status in whole mobile communication system, be one of its key technology, is determining the performance of mobile communication system.The channel coding and decoding mainly is to reduce power spreading signal and solve signal inevitable fading problem in wireless propagation environment.The coding and decoding technology can reduce bit error rate performance in conjunction with the use of interleaving technology, compares with no coding situation, and traditional convolution code can reduce the error rate two orders of magnitude and reach 10
-3~10
-4, and Turbo code can further be reduced to 10 with the error rate
-6, approach shannon limit.In addition, Turbo code also has coding and decoding and realizes advantages such as comparatively simple.
Because the series of advantages of Turbo code, it has obtained very big application in each mobile communication standard, the cdma2000 of 3G (Third Generation) Moblie standard, WCDMA (Wideband Code-DivisionMultiple Access, Wideband Code Division Multiple Access (WCDMA)) and TD SDMA (Time DivisionSynchronous Code-Division Multiple Access, be called for short TD-SCDMA) in the system all with Turbo code as one of channel coding schemes, be used for the physical link of high data rate (more than the 32kbps), high quality of service.
The principle of Turbo code is based on the algorithm of traditional cascaded code and the correction of structure, and the introducing of interleaver makes the positive feedback of iterative decoding obtain good elimination.The Turbo code encoder is made up of two recursive systematic convolutional codes (recursive systematic convolutional code is called for short the RSC sign indicating number), interleaver and canceller.As shown in Figure 1, be the structure of the Turbo code encoder in the cdma2000, according to the difference of symbol canceller punching (puncture) form, the encoder bit rate of this Turbo code can change between 1/6 to 1/2.Take all factors into consideration from decoding complexity and decoding performance two aspects, Turbo code generally adopts maximum a posteriori probability (maximum a posteriori the is called for short MAP) decoding algorithm of iteration form to decipher.Because the computational complexity of MAP algorithm is higher, derived the MAP algorithm that two classes are simplified recently again, be respectively Log-MAP algorithm and Max-Log-MAP algorithm.Fig. 2 has provided classical Turbo code iterative decoder structure chart.The Turbo code decoder is by two soft inputs based on the MAP algorithm, soft-output decoder (soft-input soft-output decoder, be called for short the SISO decoder), interleaver and deinterleaver constitute, through alternately decoding, soft output repeatedly obtain decoding behind iterative decoding, the zero passage hard decision and exports to input signal.
The difficult point that the Turbo code decoder is realized is that it need consume a large amount of memory cell.With WCDMA system Turbo code is example, and the maximum frame length that it need be supported is 5114, because the code check of WCDMA system Turbo code is 1/3, add 12 tail bits, so the input data number of Turbo code decoder is (5114 * 3+12) simultaneously.The input signal of supposing decoder is N bit (needing 6 bits usually), then total (5114 * the 3+12) * N=15354 * N bit of decoder input; Suppose outer cover letter breath (extrinsic information, z that inner two the soft input/soft-output decoders of decoder (SISO decoder) produce simultaneously
Ik) being M bit (needing 10 bits usually), then outer cover letter breath has 5114 * 2 * M=10288 * M bit.Therefore how not reduce as far as possible under the situation of decoder performance, reduce the bit wide of input bit and outer cover letter breath, the storage resource consumption of Turbo code decoder will be saved greatly, reduce application-specific integrated circuit (ASIC) (Application Specified Integrated Circuit, abbreviation ASIC) area reduces cost.
The memory resource that the Turbo code decoder needs is mainly used to storage input data and outer cover letter breath, can adopt the storage resource consumption of the method saving Turbo code decoder of linear companding obviously.If but the method for employing linear compression, the value that signal amplitude is little will be by further boil down to 0, and simulation result shows that this will produce bigger deterioration to the performance of Turbo code decoder.
So the storage resource consumption that can adopt the method for non-homogeneous companding to save the Turbo code decoder uses the method for comparatively general non-homogeneous compression to comprise that μ leads non-homogeneous compression algorithm and A leads non-homogeneous compression algorithm at present in speech coding system:
It is as follows that described μ leads non-homogeneous compression algorithm formula:
Wherein, μ is a positive constant, and x and y represent input and output signal, x respectively
MaxAnd y
MaxIt is respectively the maximum of input and output signal.
It is as follows that described A leads non-homogeneous compression algorithm formula:
Wherein, A is a positive constant, and x and y represent input and output signal, x respectively
MaxAnd y
MaxIt is respectively the maximum of input and output signal.
But above-mentioned two kinds of non-homogeneous compression algorithms are the log-compressed method, because the outer cover letter breath that the input data of Turbo code decoder and SISO decoder produce all is a fixed-point data, so be quite complicated on hardware is realized, acquire a certain degree of difficulty, thus μ lead/A leads non-homogeneous compression algorithm and all is not suitable for the Turbo code decoder.
Summary of the invention
The object of the present invention is to provide a kind of method that the Turbo code decoder reduces storage resources that is used for, input signal and outer cover letter breath to the Turbo code decoder carry out non-homogeneous companding, can save the storage resource consumption of Turbo code decoder greatly not reducing substantially under the situation of Turbo decoder performance.
For reaching above-mentioned purpose, the invention provides a kind of method that the Turbo code decoder reduces storage resources that is used for, it comprises following steps:
Step 1: to the input signal of Turbo code decoder, and the outer cover letter breath that soft input/soft-output decoder produces carries out non-homogeneous compression, the bit wide bit number of minimizing data:
Described non-homogeneous compression algorithm is: the data-signal that needs is carried out non-homogeneous compression carries out segmentation according to the size of amplitude; For the less data-signal of amplitude, keep input signal constant; The signal that increases successively for amplitude adopts slope to successively decrease successively, and slope all carries out the piecewise linearity compression less than 1 linear function; The piecewise function expression formula of this non-homogeneous compression algorithm is:
Wherein, 1/k
iThe expression slope, k
i>1, k
iEmbodied the compression property of each piecewise function; Adjust A
iAnd B
iValue, the value of each piecewise function interface is consistent;
Step 2: will deposit in through the data of non-homogeneous compression in the memory (Memory), and can save storage resources;
Step 3: use the non-homogeneous decompression algorithm corresponding, the data of reading from memory are decompressed, recover the information that primary signal comprised with the non-homogeneous compression algorithm in the step 1;
Non-homogeneous compression algorithm described in described non-homogeneous decompression algorithm and the step 1 is the inverse function relation each other, and its function expression is:
The data of step 4:Turbo code decoder after with the non-homogeneous decompression that produces in the step 3 are deciphered computing.
A kind of method that the Turbo code decoder reduces storage resources that is used for provided by the invention, adopt non-homogeneous compression algorithm that the input signal of Turbo code decoder and outer cover letter breath are carried out non-homogeneous compression: promptly to signal increase quantification progression in the little zone of amplitude, keep data precision, signal is quantized progression in the big area decreases of amplitude, save the storage width, under the situation of the decoding performance that guarantees the Turbo code decoder, save the storage resources of Turbo code decoder.
Description of drawings
Fig. 1 is the Turbo code encoder of cdma2000 in the background technology;
Fig. 2 is a Turbo code iterative decoder in the background technology;
Fig. 3 is the schematic diagram that is used for the method for Turbo code decoder minimizing storage resources provided by the invention;
Fig. 4 is when adopting different compression schemes, the ber curve of the WCDMA system Turbo code decoder of frame length 5114;
Fig. 5 is when adopting different compression schemes, the frame error rate curve of the WCDMA system Turbo code decoder of frame length 5114.
Embodiment
Below,, a specific embodiment of the present invention is described, so that further understand summary of the invention of the present invention in conjunction with the Turbo code of WCDMA system by Fig. 3~Fig. 5.
Because the data bit width of the input signal of the WCDMA system Turbo code decoder that adopts is 6 bits, the data bit width of the outer cover letter breath that soft input/soft-output decoder (SISO decoder) produces is 10 bits, so the needed memory cell of this decoder is:
(5114 * 3+12) * 6+5114 * 2 * 10=194404 bit.
As shown in Figure 3, the concrete steps of present embodiment are as follows:
Step 1: to the input signal of Turbo code decoder, and the outer cover letter breath that soft input/soft-output decoder produces carries out non-homogeneous compression, the bit wide bit number of minimizing data:
Described non-homogeneous compression algorithm is: the data-signal that needs is carried out non-homogeneous compression carries out segmentation according to the size of amplitude; For the less data-signal of amplitude, keep input signal constant; The signal that increases successively for amplitude adopts slope to successively decrease successively, and slope all carries out the piecewise linearity compression less than 1 linear function;
The input signal of described Turbo code decoder is adopted following non-homogeneous compression algorithm, with data bit width boil down to 4 bits of original 6 bits:
The outer cover letter breath that described SISO decoder is produced adopts following non-homogeneous compression algorithm, with data bit width boil down to 6 bits of original 10 bits:
Step 2: will deposit in through the data of non-homogeneous compression in the memory (Memory), and can save storage resources;
After the outer cover letter breath that adopts above-mentioned non-homogeneous compression algorithm respectively the input signal of Turbo code decoder and SISO decoder to be produced compressed, the needed memory cell of this Turbo code decoder was altogether:
(5114 * 3+12) * 4+5114 * 2 * 6=122784 bit;
Compare when not compressing, saved about 37% storage resources.
Step 3: use the non-homogeneous decompression algorithm corresponding, the data of reading from memory are decompressed, recover the information that primary signal comprised with the non-homogeneous compression algorithm in the step 1;
Non-homogeneous compression algorithm described in described non-homogeneous decompression algorithm and the step 1 is the inverse function relation each other;
The input signal of described Turbo code decoder is adopted following non-homogeneous decompression algorithm, the data bit width decompress(ion) of 4 bits is condensed to 6 bits:
The outer cover letter breath that described SISO decoder is produced adopts following non-homogeneous decompression algorithm, and the data bit width decompress(ion) of 6 bits is condensed to 10 bits:
The data of step 4:Turbo code decoder after with the non-homogeneous decompression that produces in the step 3 are deciphered computing.
See also Fig. 4 and Fig. 5, having provided frame length respectively is 5114 o'clock, code check (BER) curve and frame error rate (BLER) curve of the decoder mistake when adopting non-homogeneous compression and not adopting non-homogeneous compression.
As can be seen from the figure, if do not adopt non-homogeneous compression, the Turbo code decoder is directly with the input of 4 bits, the big appointment deterioration of decoding performance 0.2dB; And directly adopt 6 bits to store the outer cover letter breath of SISO decoder output, and decoder is after bit signal to noise ratio (Eb/No) increases to certain value, because outer cover letter breath is saturated, " dull and stereotyped effect " (error floor) will appear in decoder performance.
And if adopt method of the present invention, it is the non-homogeneous compression of 6 bits that the outer cover letter breath of SISO decoder output is adopted 10 bit compression, substantially to not loss of decoding performance; It is the non-homogeneous compression of 4 bits that Turbo code decoder input signal is adopted 6 bit compression, the performance degradation of nearly 0.06dB.
This shows that simulation result shows that the method for the non-homogeneous compression that the present invention adopts is carried out companding to the input signal of Turbo code decoder and the outer cover letter breath of soft input/soft-output decoder generation.Can save the storage resource consumption of Turbo code decoder greatly not reducing substantially under the situation of decoder performance.