CN100571097C - A kind of method that is used for Turbo code decoder minimizing storage resources - Google Patents

A kind of method that is used for Turbo code decoder minimizing storage resources Download PDF

Info

Publication number
CN100571097C
CN100571097C CNB2005101107539A CN200510110753A CN100571097C CN 100571097 C CN100571097 C CN 100571097C CN B2005101107539 A CNB2005101107539 A CN B2005101107539A CN 200510110753 A CN200510110753 A CN 200510110753A CN 100571097 C CN100571097 C CN 100571097C
Authority
CN
China
Prior art keywords
homogeneous
turbo code
data
code decoder
decoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CNB2005101107539A
Other languages
Chinese (zh)
Other versions
CN1790967A (en
Inventor
单鸣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Xuanpu Industrial Co., Ltd.
Original Assignee
SHANGHAI XUANPU INDUSTRIAL Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHANGHAI XUANPU INDUSTRIAL Co Ltd filed Critical SHANGHAI XUANPU INDUSTRIAL Co Ltd
Priority to CNB2005101107539A priority Critical patent/CN100571097C/en
Publication of CN1790967A publication Critical patent/CN1790967A/en
Application granted granted Critical
Publication of CN100571097C publication Critical patent/CN100571097C/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention provides a kind of method that the Turbo code decoder reduces storage resources that is used for, it comprises following steps: 1, to the input signal of Turbo code decoder, the outer cover letter breath that soft input/soft-output decoder produces carries out non-homogeneous compression; 2, deposit the data after the non-homogeneous compression in memory; 3, the application non-homogeneous decompression algorithm corresponding with the non-homogeneous compression algorithm in the step 1 decompresses by the data of reading in the memory; 4, the data of Turbo code decoder after with the non-homogeneous decompression that produces in the step 3 are deciphered computing.The inventive method is carried out non-homogeneous companding to the input signal and the outer cover letter breath of Turbo code decoder, can save the storage resource consumption of Turbo code decoder greatly not reducing substantially under the situation of Turbo decoder performance.

Description

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:
y = y max × log e [ 1 + μ ( | x | / x max ) ] log e ( 1 + μ ) sgn ( x )
sgn ( x ) = + 1 , x &GreaterEqual; 0 - 1 , x < 0
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:
y = y max &times; A &times; ( | x | / x max ) 1 + log e A sgn ( x ) , 0 < | x | x max &le; 1 A y max &times; 1 + log e [ A ( | x | / x max ) ] 1 + log e A sgn ( x ) , 1 A < | x | x max < 1
sgn ( x ) = + 1 , x &GreaterEqual; 0 - 1 , x < 0
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:
y = ( x + A 1 ) / k 1 + B 1 m 1 &le; x &le; n 1 &CenterDot; &CenterDot; &CenterDot; ( x + A i ) / k i + B i m i &le; x &le; n i &CenterDot; &CenterDot; &CenterDot; ( x + A N ) / k N + B N m N &le; x &le; n N - - - ( 1 )
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:
y = ( x - B 1 ) &times; k 1 - A 1 ( m 1 + A 1 ) / k 1 + B 1 &le; x &le; ( n 1 + A 1 ) / k 1 + B 1 &CenterDot; &CenterDot; &CenterDot; ( x - B i ) &times; k i - A i ( m i + A i ) / k i + B i &le; x &le; ( n i + A i ) / k i + B i &CenterDot; &CenterDot; &CenterDot; ( x - B N ) &times; k N - A N ( m N + A N ) / k N + B N &le; x &le; ( n N + A N ) / k N + B N - - - ( 2 )
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:
y = x / 8 + 2 16 &le; x &le; 31 x / 4 + 1 8 &le; x &le; 15 x / 2 2 &le; x &le; 7 x - 1 &le; x &le; 1 x / 2 - 7 &le; x &le; - 2 x / 4 - 1 - 15 &le; x &le; - 8 x / 8 - 2 - 32 &le; x &le; - 16 ;
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:
y = ( x - 163 ) / 64 + 25 164 &le; x &le; 511 ( x - 67 ) / 16 + 19 68 &le; x &le; 163 ( x - 19 ) / 8 + 13 20 &le; x &le; 67 ( x - 7 ) / 2 + 7 8 &le; x &le; 19 x - 8 &le; x &le; 7 ( x + 8 ) / 2 - 8 - 20 &le; x &le; - 7 ( x + 20 ) / 8 - 14 - 68 &le; x &le; - 21 ( x + 68 ) / 16 - 20 - 164 &le; x &le; - 69 ( x + 164 ) / 64 - 26 - 512 &le; x &le; - 165 ;
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:
x = ( y - 2 ) &times; 8 4 &le; y &le; 5 ( y - 1 ) &times; 4 3 &le; y &le; 4 y &times; 2 1 &le; y &le; 2 y - 1 &le; y &le; 1 y &times; 2 - 3 &le; y &le; - 2 ( y + 1 ) &times; 4 - 4 &le; y &le; - 3 ( y + 2 ) &times; 8 - 5 &le; y &le; - 6 ;
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:
x = 511 y = 31 ( y - 25 ) &times; 64 + 163 25 &le; y &le; 30 ( y - 19 ) &times; 16 + 67 19 &le; y &le; 24 ( y - 13 ) &times; 8 + 19 13 &le; y &le; 18 ( y - 7 ) &times; 2 + 7 7 &le; y &le; 12 y - 8 &le; y &le; 6 ( y + 8 ) &times; 2 - 8 - 14 &le; y &le; - 9 ( y + 14 ) &times; 8 - 20 - 20 &le; y &le; - 15 ( y + 20 ) &times; 16 - 68 - 26 &le; y &le; - 21 ( y + 26 ) &times; 64 - 164 - 31 &le; x &le; - 27 - 512 y = - 32 ;
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.

Claims (3)

1. one kind is used for the method that the Turbo code decoder reduces storage resources, and it comprises the 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:
y = ( x + A 1 ) / k 1 + B 1 m 1 &le; x &le; n 1 . . . ( x + A i ) / k i + B i m i &le; x &le; n i . . . ( x + A N ) / k N + B N m N &le; x &le; n N ;
Wherein, 1/k iThe expression slope, k i>1; X represents the input signal of described Turbo code decoder and the outer cover letter breath that soft input/soft-output decoder produces, the data after y represents to compress;
Step 2: will deposit in through the data of non-homogeneous compression in the memory, and 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;
The data of step 4:Turbo code decoder after with the non-homogeneous decompression that produces in the step 3 are deciphered computing.
2, the method that is used for Turbo code decoder minimizing storage resources as claimed in claim 1 is characterized in that, in the function expression of the described non-homogeneous compression algorithm of step 1, adjusts parameter A iAnd B iValue, keep the value unanimity of each piecewise function interface.
3, the method that is used for Turbo code decoder minimizing storage resources as claimed in claim 1 is characterized in that the function expression of the described non-homogeneous decompression algorithm of step 3 is:
y = ( x - B 1 ) &times; k 1 - A 1 ( m 1 + A 1 ) / k 1 + B 1 &le; x &le; ( n 1 + A 1 ) / k 1 + B 1 . . . ( x - B i ) &times; k i - A i ( m i + A i ) / k i + B i &le; x &le; ( n i + A i ) / k i + B i . . . ( x - B N ) &times; k N - A N ( m N + A N ) / k N + B N &le; x &le; ( n N + A N ) / k N + B N ;
Data after x represents to compress, the data after y represents to decompress.
CNB2005101107539A 2005-11-25 2005-11-25 A kind of method that is used for Turbo code decoder minimizing storage resources Active CN100571097C (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101107539A CN100571097C (en) 2005-11-25 2005-11-25 A kind of method that is used for Turbo code decoder minimizing storage resources

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101107539A CN100571097C (en) 2005-11-25 2005-11-25 A kind of method that is used for Turbo code decoder minimizing storage resources

Publications (2)

Publication Number Publication Date
CN1790967A CN1790967A (en) 2006-06-21
CN100571097C true CN100571097C (en) 2009-12-16

Family

ID=36788510

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101107539A Active CN100571097C (en) 2005-11-25 2005-11-25 A kind of method that is used for Turbo code decoder minimizing storage resources

Country Status (1)

Country Link
CN (1) CN100571097C (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1942578A1 (en) * 2006-11-29 2008-07-09 Broadcom Corporation Address generation for contention-free memory mappings of turbo codes with ARP (almost regular permutation) interleaves

Also Published As

Publication number Publication date
CN1790967A (en) 2006-06-21

Similar Documents

Publication Publication Date Title
US6829313B1 (en) Sliding window turbo decoder
Wang et al. VLSI implementation issues of turbo decoder design for wireless applications
CN1557052B (en) Apparatus and method for reducing bit error rates (BER) and frame error rates (FER) using turbo decoding in a digital communication system
JP4298170B2 (en) Partitioned deinterleaver memory for map decoder
CN101442321B (en) Parallel decoding of turbine code and data processing method and device
CN104218956A (en) Soft-bit decoding method and soft-bit decoding device for wireless receiving equipment
Martina et al. State metric compression techniques for turbo decoder architectures
US6868518B2 (en) Look-up table addressing scheme
CN100571097C (en) A kind of method that is used for Turbo code decoder minimizing storage resources
US20030091129A1 (en) Look-up table index value generation in a turbo decoder
AU766116B2 (en) Memory architecture for map decoder
Papaharalabos et al. SISO algorithms based on Max-Log-MAP and Log-MAP turbo decoding
US20030023919A1 (en) Stop iteration criterion for turbo decoding
CN101425870B (en) Iterative decoding method for Turbo code
US6886127B2 (en) Implementation of a turbo decoder
CN1777045A (en) Method and device for reducing storage resource for Turbo code decoder
Song et al. The implementation of turbo decoder on DSP in W-CDMA system
Park et al. A block-wise MAP decoder using a probability ratio for branch metrics
Yu et al. Performance analysis of turbo codes in wireless rician fading channel with low rician factor
Anghel et al. Performances evaluation of CTC turbo decoder for LTE systems
CN2884696Y (en) Normalized device for Turbo coder decoder
Al-Mohandes et al. Iteration reduction of turbo decoders using an efficient stopping/cancellation technique
CN1135005C (en) Outer assigned information treating method of decoding cascade convolution code
US9136880B2 (en) Method for stopping iteration in an iterative turbo decoder and an iterative turbo decoder
Wang et al. Finite wordlength analysis and adaptive decoding for Turbo/MAP decoders

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SHANGHAI XUANPU INDUSTRY CO.,LTD.

Free format text: FORMER OWNER: KAIMING INFORMATION SCIENCE CO., LTD.

Effective date: 20090821

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20090821

Address after: D District, Xhenzhuang Industrial Zone, Shanghai, China: 201108

Applicant after: Shanghai Xuanpu Industrial Co., Ltd.

Address before: Shanghai city Xhenzhuang Industrial Zone No. 18 Shen road, post encoding: 201108

Applicant before: Kaiming Information Science & Technology Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant