BRPI0305571B1 - Apparatus and method for turbo decoding using modified max-log-map decoders - Google Patents
Apparatus and method for turbo decoding using modified max-log-map decoders Download PDFInfo
- Publication number
- BRPI0305571B1 BRPI0305571B1 BRPI0305571B1 BR PI0305571 B1 BRPI0305571 B1 BR PI0305571B1 BR PI0305571 B1 BRPI0305571 B1 BR PI0305571B1
- Authority
- BR
- Brazil
- Prior art keywords
- metric
- adder
- difference
- log
- information symbol
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims description 22
- 238000012937 correction Methods 0.000 claims description 33
- 238000012886 linear function Methods 0.000 claims description 13
- 230000005540 biological transmission Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 4
- 208000003351 Melanosis Diseases 0.000 claims 4
- 206010014970 Ephelides Diseases 0.000 claims 2
- 238000004422 calculation algorithm Methods 0.000 description 107
- 230000006870 function Effects 0.000 description 47
- 239000000470 constituent Substances 0.000 description 35
- 238000004088 simulation Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000015556 catabolic process Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000006731 degradation reaction Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 102100026191 Class E basic helix-loop-helix protein 40 Human genes 0.000 description 2
- 101710130550 Class E basic helix-loop-helix protein 40 Proteins 0.000 description 2
- 102100026190 Class E basic helix-loop-helix protein 41 Human genes 0.000 description 2
- 101000765033 Homo sapiens Class E basic helix-loop-helix protein 41 Proteins 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101100191136 Arabidopsis thaliana PCMP-A2 gene Proteins 0.000 description 1
- 101100048260 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) UBX2 gene Proteins 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000007373 indentation Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Description
APARELHO E MÉTODO PARA DECODIFICAÇÃO TURBO UTILIZANDO DECODIFICADORES MAX-LOG-MAP MODIFICADOSTURBO DECODING DEVICE AND METHOD USING MODIFIED MAX-LOG-MAP DECODERS
HISTÓRICO DA INVENÇÃO 1. Campo da Invenção [001] A presente invenção relaciona-se genericamente a um aparelho e método para a correção de erro de encaminhamento (FEC) em um sistema de comunicação digital e, em particular, e um aparelho e método para a decodificação turbo. 2. Descrição da Tecnologia Relacionada [002] Em geral, códigos turbo são utilizados para a comunicação de dados de alta velocidade, particularmente em Evolution Data Only (lxEV-DO) ou Evolution Data and Voice (lxEV-DV). Berrou et al. propôs os códigos turbo em 1993. O codificador turbo é uma concatenação paralela de dois codificadores Recursive Systematic Convolutional (RSC) constituintes com um entrelaçador aleatório no meio. Assim, o código turbo é produzido pela codificação de bits de informação e bits de informação entrelaçada nos codificadores constituintes RSC. A decodificação turbo envolve uma concatenação serial de dois decodificadores constituintes, cada um para decodificar iterativamente, intercambiar sua informação extrinseca com o outro decodificador constituinte. Há três algoritmos aplicáveis para cada decodificador constituinte: Log-MAP, Max-Log-MAP, e Soft Output Viterbi Algorithm (SOVA).BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates generally to an apparatus and method for correcting forward error (FEC) in a digital communication system and, in particular, to an apparatus and method for the turbo decoding. 2. Related Technology Description In general, turbo codes are used for high speed data communication, particularly in Evolution Data Only (lxEV-DO) or Evolution Data and Voice (lxEV-DV). Berrou et al. proposed the turbo codes in 1993. The turbo encoder is a parallel concatenation of two constituent Recursive Systematic Convolutional (RSC) encoders with a random interleaver in the middle. Thus, the turbo code is produced by encoding information bits and interlaced information bits in RSC constituent encoders. Turbo decoding involves a serial concatenation of two constituent decoders, each to iteratively decode, to exchange their extrinsic information with the other constituent decoder. There are three applicable algorithms for each constituent decoder: Log-MAP, Max-Log-MAP, and Soft Output Viterbi Algorithm (SOVA).
[003] O algoritmo Log-MAP é a implementação no domínio logarítmico de um algoritmo MAP que é ótimo para decodificar uma palavra de informação em uma treliça. O algoritmo Max-Log-MAP é derivado facilmente do algoritmo Log-MAP por uma aproximação de computação métrica. Apesar da vantagem da implementação simples quando comparado com o algoritmo Log-MAP, o algoritmo Max-Log-MAP leva a uma degradação do desempenho quando uma Proporção Sinal-a-Ruido (SNR) perfeita é possível no receptor, [004] Para o algoritmo Log-MAP, a métrica de estado e uma Razão de Verossimilhança Logarítmica (LLR) são calculadas. A métrica de estado α e β para um estado (s e s' ) em uma treliça no tempo de decodificação k são em uma relação recursiva expressa como: em que γ é uma métrica de ramo definida por um símbolo recebido em um canal. Utilizando a métrica de estado e a métrica de ramo, o LLR de um ke£ltr'° símbolo é obtido por: [005] Na Equação <2) , Mr,(i) é uma iHílina métrica em disposição por ordem descendente de métricas (log(a^. i (s' }{s' . s)βχ{s) ) ) para um símbolo de informação n(0 ou 1) no conjunto de estado (s, s'} no tempo k. Portanto, Mo {0) e Mi (00 são as melhores métricas para o símbolo de informação 1 e 0 no tempo k, e fc é um. valor de correção definido pela diferença entre a melhor métrica e as outras métricas para cada símbolo de informação. Assim, o LLR é atualizado utilizando a melhor diferença de métrica entre os símbolos de informação 0 e 1 no tempo k e o valor de correção fc.[003] The Log-MAP algorithm is the logarithmic domain implementation of a MAP algorithm that is great for decoding an information word into a trellis. The Max-Log-MAP algorithm is easily derived from the Log-MAP algorithm by a metric computation approach. Despite the advantage of simple implementation when compared to the Log-MAP algorithm, the Max-Log-MAP algorithm leads to performance degradation when a perfect Signal-to-Noise Ratio (SNR) is possible at the receiver, [004] Log-MAP algorithm, state metric, and Logarithmic Likelihood Ratio (LLR) are calculated. The state metric α and β for a state (s and s') in a trellis at decoding time k are in a recursive relationship expressed as: where γ is a branch metric defined by a symbol received on a channel. Using the state metric and the branch metric, the LLR of a ke £ ltr '° symbol is obtained by: [005] In Equation <2), Mr, (i) is a metric iHiline in descending order of metrics. (log (a ^. i (s'} {s'. s) βχ (s))) to an information symbol n (0 or 1) in the state set (s, s'} at time k. Therefore, Mo (0) and Mi (00 are the best metrics for information symbol 1 and 0 at time k, and fc is a correction value defined by the difference between the best metric and the other metrics for each information symbol. , the LLR is updated using the best metric difference between information symbols 0 and 1 at time k and the correction value fc.
[006] Em resumo, o algoritmo Log-MAP gera todas as métricas de estado em uma treliça para cada decodificador constituinte pela Equação (1) e calcula o LLR de um símbolo de código na treliça utilizando sua métrica de estado pela Equação (2). Cada decodificador constituinte alimenta informação extrínseca derivada do LLR para o outro decodificador constituinte, para decodificação iterativa. Desta maneira, a decodificação turbo é efetuada.In summary, the Log-MAP algorithm generates all state metrics on a trellis for each constituent decoder by Equation (1) and calculates the LLR of a code symbol on the trellis using its state metric by Equation (2). . Each constituent decoder feeds extrinsic information derived from the LLR to the other constituent decoder for iterative decoding. In this way, the turbo decoding is performed.
[007] O algoritmo Max-Log-MAP é uma versão simplificada do algoritmo Log-MAP ao reduzir o cálculo de métrica de estado da Equação (1) para uma operação máxima expressa como: [008] Da mesma maneira, o LLR do kesimo símbolo de decodificação é simplesmente calculado pela operação máxima. O LLR é atualizado utilizando apenas a melhor diferença métrica, supondo que fc seja 0. Assim, L(ük)=Mo(0)-M!(0) (4) [009] Em resumo, o algoritmo Max-Log-MAP busca todas as métricas de estado na treliça por cada decodificador constituinte pela operação máxima da Equação (3) e calcula o LLR de um símbolo de código na treliça utilizando a melhor diferença métrica entre os símbolos de informação 0 e 1 pela Equação (4). Informação extrínseca derivada do LLR é alimentada ao outro decodificador constituinte, para a decodificação iterativa. Desta maneira, a decodificação turbo é efetuada.[007] The Max-Log-MAP algorithm is a simplified version of the Log-MAP algorithm by reducing the state metric calculation of Equation (1) to a maximum operation expressed as: [008] Similarly, the kesimo LLR Decoding symbol is simply calculated by the maximum operation. The LLR is updated using only the best metric difference, assuming fc is 0. Thus, L (ük) = Mo (0) -M! (0) (4) [009] In summary, the Max-Log-MAP algorithm Searches all lattice state metrics for each constituent decoder by the maximum operation of Equation (3) and calculates the LLR of a lattice code symbol using the best metric difference between information symbols 0 and 1 by Equation (4). Extrinsic information derived from the LLR is fed to the other constituent decoder for iterative decoding. In this way, the turbo decoding is performed.
[0010] Um assim-chamado algoritmo Max-Log-MAP com Ganho de realimentação (FG) considera um ganho adicional derivado do LLR calculado pela Equação (4) para melhorar o desempenho de decodificação do algoritmo Max-Log-MAP. Um fator de ponderação multiplicado como o ganho de realimentação é cerca de 0,588235 e aplicado apenas à informação extrinseca de um segundo decodificador constituinte.A so-called Max-Log-MAP Feedback Gain (FG) algorithm considers an additional gain derived from the LLR calculated by Equation (4) to improve the decoding performance of the Max-Log-MAP algorithm. A weighting factor multiplied as the feedback gain is about 0.588235 and applied only to the extrinsic information of a second constituent decoder.
[0011] Como o algoritmo Log-MAP é a implementação no domínio logarítmico de um símbolo ótimo pelo algoritmo de decodificação MAP do símbolo, ele efetua tão bem quanto o algoritmo MAP. No entanto, quando o algoritmo Log-MAP é implementado em hardware, a função de log(l+e_A) que define cada métrica precisa ser implementado em hardware ou na forma de uma tabela de pesquisa. O algoritmo Max-Log-MAP, por outro lado, não requer qualquer tabela de pesquisa, mas efetua pior que o algoritmo Log-MAP. Os benefícios e deficiências do algoritmo Log-MAP e do algoritmo Max-Log-MAP são os seguintes: (1) O algoritmo Log-MAP: Como ele é um algoritmo de decisão de símbolo a símbolo ótimo, ele é o melhor algoritmo de decodificação turbo. No entanto, a implementação de log(l+e_A) aumenta a complexidade de hardware. Ademais, log(l+e_A) é uma função não linear e assim uma estimativa de SNR precisa de um símbolo recebido é necessária para calcular a métrica de ramo pela qual Δ é definida. Se a estimação de SNR envolve erros, este erro no casamento de SNR degrada acentuadamente o desempenho; (2) 0 algoritmo Max-Log_MAP: 0 cálculo Log() não é necessário para o cálculo de métrica porque todas as métricas são calculadas pela operação máxima. Portanto, o problema de complexidade de hardware maior conforme encontrado no algoritmo Log-MAP não é produzido. Ademais, o cálculo de métricas pela operação máxima obvia a necessidade da função não linear (log(l+e_A), o que implica que não há nenhum problema relacionado ao erro de casamento de SNR. No entanto, como o algoritmo Max-Log_MAP é uma aproximação do algoritmo Log-MAP, ele efetua cerca de 0,3 a 0,4 dB pior que o algoritmo Log-MAP.Since the Log-MAP algorithm is the implementation in the logarithmic domain of an optimal symbol by the symbol's MAP decoding algorithm, it performs as well as the MAP algorithm. However, when the Log-MAP algorithm is implemented in hardware, the log function (l + e_A) that defines each metric needs to be implemented in hardware or in the form of a lookup table. The Max-Log-MAP algorithm, on the other hand, does not require any lookup tables, but does worse than the Log-MAP algorithm. The benefits and shortcomings of the Log-MAP algorithm and the Max-Log-MAP algorithm are as follows: (1) The Log-MAP algorithm: Because it is an optimal symbol to symbol decision algorithm, it is the best decoding algorithm. turbo However, logging implementation (l + e_A) increases hardware complexity. In addition, log (l + e_A) is a nonlinear function and thus an accurate SNR estimate of a received symbol is required to calculate the branch metric by which Δ is defined. If SNR estimation involves errors, this error in SNR matching severely degrades performance; (2) 0 Max-Log_MAP algorithm: 0 Log () calculation is not required for metric calculation because all metrics are calculated by the maximum operation. Therefore, the larger hardware complexity problem as encountered in the Log-MAP algorithm is not produced. In addition, the maximum operation metric calculation obviates the need for the nonlinear function (log (l + e_A)), implying that there is no problem related to SNR mismatch. However, as the Max-Log_MAP algorithm is As an approximation of the Log-MAP algorithm, it performs about 0.3 to 0.4 dB worse than the Log-MAP algorithm.
[0012] Conforme é descrito acima, o algoritmo Log-MAP e o algoritmo Max-Log-MAP causam maior complexidade de hardware e degradação de desempenho como suas respectivas deficiências.As described above, the Log-MAP algorithm and the Max-Log-MAP algorithm cause greater hardware complexity and performance degradation as their respective shortcomings.
SINOPSE DA INVENÇÃOSYNOPSIS OF THE INVENTION
[0013] Portanto, é um objeto da presente invenção fornecer um aparelho e método de decodificação turbo que desempenhem melhor que o algoritmo Max-Log-MAP na decodificação turbo.It is therefore an object of the present invention to provide a turbo decoding apparatus and method that performs better than the Max-Log-MAP algorithm in turbo decoding.
[0014] É outro objeto da presente invenção fornecer um aparelho e método de decodificação turbo que é menos completo que o algoritmo Log-MAP.It is another object of the present invention to provide a turbo decoding apparatus and method that is less complete than the Log-MAP algorithm.
[0015] Os objetos acima são substancialmente alcançados por um decodificador constituinte para decodificar um código turbo e um método de decodificação constituinte do mesmo. A melhor métrica e a segunda melhor métrica são calculadas para o valor de um símbolo de código recebido em um estado arbitrário de uma treliça de decodificação turbo durante a decodificação turbo do símbolo de código. A informação extrínseca necessária para a decodificação turbo do simbolo de código é calculada. A diferença entre a informação extrinseca e uma diferença da melhor métrica-segunda melhor métrica é calculada. 0 LLR do simbolo de código é atualizado pela multiplicação da diferença calculada por um fator de ponderação predeterminado e decidir o valor do simbolo de código.The above objects are substantially achieved by a constituent decoder to decode a turbo code and a constituent decoding method thereof. The best metric and the second best metric are calculated for the value of a code symbol received in an arbitrary state of a turbo decoding lattice during turbo decoding of the code symbol. The extrinsic information required for the turbo decoding of the code symbol is calculated. The difference between extrinsic information and a difference from the best metric-second best metric is calculated. The code symbol LLR is updated by multiplying the calculated difference by a predetermined weighting factor and deciding the value of the code symbol.
[0016] A informação extrinseca é calculada utilizando a diferença entre as duas métricas, o simbolo de entrada refletindo um SNR e a informação a priori do simbolo de entrada.The extrinsic information is calculated using the difference between the two metrics, the input symbol reflecting an SNR and the a priori information of the input symbol.
[0017] O fator de ponderação é inferior ale aproximado de 1. Preferivelmente, ele é maior que 0,588235. Preferivelmente, ele é 1/2+1/4+1/16.The weighting factor is less than approx. 1. Preferably, it is greater than 0.588235. Preferably, it is 1/2 + 1/4 + 1/16.
[0018] Se o SNR pode ser estimado perfeitamente, o fator de ponderação é calculado utilizando uma função logaritmica. Se o SNR não pode ser perfeitamente estimado, o fator de ponderação é calculado utilizando uma função linear aproximada.If the SNR can be estimated perfectly, the weighting factor is calculated using a logarithmic function. If the SNR cannot be perfectly estimated, the weighting factor is calculated using an approximate linear function.
[0019] No decodificador constituinte para decodificar um código turbo, um primeiro somador para calcular o LLR de um simbolo de código recebido ao calcular a diferença entre a probabilidade do simbolo de código ser 1 e a probabilidade do simbolo de código ser 0 em um estado arbitrário de uma treliça de decodificação turbo durante a decodificação turbo do simbolo de código. Um segundo somador soma a informação de transmissão e a informação a priori do simbolo de código. Um terceiro somador calcula a diferença entre as saidas do primeiro e do segundo somadores como informação extrinseca. Um primeiro multiplicador multiplica a saida do terceiro somador por um fator de ponderação predeterminado como um ganho de realimentação. Um calculador de valor de correção calcula um valor de correção utilizando a diferença entre a melhor métrica e a segunda melhor métrica do símbolo de código. Um quarto somador soma o valor de correção à saída do primeiro multiplicador.In the constituent decoder for decoding a turbo code, a first adder for calculating the LLR of a received code symbol by calculating the difference between the probability of the code symbol being 1 and the probability of the code symbol being 0 in a state. arbitrary of a turbo decoding truss during turbo decoding of the code symbol. A second adder adds the transmission information and the a priori information of the code symbol. A third adder calculates the difference between the first and second adder outputs as extrinsic information. A first multiplier multiplies the output of the third adder by a predetermined weighting factor as a feedback gain. A correction value calculator calculates a correction value using the difference between the best metric and the second best metric of the code symbol. A fourth adder adds the correction value to the output of the first multiplier.
[0020] O calculador de valor de correção inclui um quinto somador para calcular a diferença entre a melhor métrica e a segunda melhor métrica para um símbolo de informação 0 como o valor do símbolo de código, um sexto somador para calcular a diferença entre a melhor métrica e a segunda melhor métrica para um símbolo de informação 1 como o valor do símbolo de código, e uma tabela de pesquisa para armazenar valores de correção com base na função logarítmica para as saídas do quinto e do sexto somadores e emitir valores de correção para as saídas do quinto e do sexto somadores. O calculador de valor de correção ainda inclui um sétimo somador para calcular a diferença entre os valores de correção, um segundo multiplicador para multiplicar a saída do sétimo somador por um fator de ponderação predeterminado, um oitavo somador para calcular a diferença entre as saídas do quinto e do sexto somadores, um terceiro multiplicador para multiplicar a saída do oitavo somador pela inclinação de uma função linear aproximada da função logarítmica, e um seletor para selecionar uma das saídas do segundo e do terceiro multiplicadores de acordo com a confiabilidade do SNR do símbolo de código.The correction value calculator includes a fifth adder for calculating the difference between the best metric and the second best metric for an information symbol 0 as the value of the code symbol, a sixth adder for calculating the difference between the best metric and the second best metric for an information symbol 1 such as the code symbol value, and a lookup table for storing correction values based on the logarithmic function for the fifth and sixth adder outputs and issuing correction values for the outputs of the fifth and sixth adder. The correction value calculator further includes a seventh adder to calculate the difference between the correction values, a second multiplier to multiply the output of the seventh adder by a predetermined weighting factor, an eighth adder to calculate the difference between the outputs of the fifth and the sixth adder, a third multiplier for multiplying the eighth adder output by the slope of an approximate linear function of the logarithmic function, and a selector for selecting one of the second and third multiplier outputs according to the SNR reliability of the code.
[0021] O fator de ponderação é preferivelmente 1/2+1/4+1/16.The weighting factor is preferably 1/2 + 1/4 + 1/16.
[0022] A confiabilidade do SNR é determinada de acordo como se uma estimação de SNR perfeita é ou não possível. O seletor emite o valor recebido do segundo multiplicador se uma estimação de SNR perfeita é possível, e o valor recebido do terceiro multiplicador se a estimação de SNR perfeita é impossível.SNR reliability is determined according to whether or not a perfect SNR estimation is possible. The selector outputs the value received from the second multiplier if a perfect SNR estimate is possible, and the value received from the third multiplier if the perfect SNR estimate is impossible.
DESCRIÇÃO SUCINTA DOS DESENHOSBRIEF DESCRIPTION OF DRAWINGS
[0023] O que antecede e outros objetos, recursos e vantagens da presente invenção tornar-se-ão mais aparentes da seguinte descrição detalhada quando tomados em conjunto com os desenhos acompanhantes nos quais: A Figura 1 é um diagrama de blocos que ilustra um exemplo de um decodificador turbo que utiliza um algoritmo modificado Max-Log-MAP de acordo com uma versão da presente invenção; A Figura 2 é um fluxograma que ilustra um exemplo das operações para encontrar a melhor métrica Mn(0) e a segunda melhor métrica (Mn(l) no tempo de decodificação k de acordo com uma versão da presente invenção; A Figura 3 é um fluxograma que ilustra um exemplo das operações para calcular um LLR e informação extrínseca para a decodificação iterativa do algoritmo Max-Log_MAP modificado de acordo com uma versão da presente invenção; A Figura 4 é um diagrama de blocos de um exemplo de blocos de função para encontrar simultaneamente a melhor e a segunda melhor métrica para o LLR em um tempo de decodificação arbitrário de acordo com uma versão da presente invenção; A Figura 5 é um diagrama de blocos de um exemplo de blocos de função para produzir informação extrinseca para um símbolo de informação a um tempo de decodificação arbitrário de acordo com uma versão da presente invenção; A Figura 6 é um diagrama de blocos de um exemplo de blocos de função para calcular um valor de correção utilizado para obter a informação extrinseca de acordo com uma versão da presente invenção;The foregoing and other objects, features and advantages of the present invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings in which: Figure 1 is a block diagram illustrating an example. a turbo decoder using a modified Max-Log-MAP algorithm according to a version of the present invention; Figure 2 is a flowchart illustrating an example of the operations for finding the best metric Mn (0) and the second best metric (Mn (1) at decoding time k according to an embodiment of the present invention; Figure 3 is a flow chart illustrating an example of the operations for calculating an LLR and extrinsic information for iterative decoding of the modified Max-Log_MAP algorithm according to a version of the present invention Figure 4 is a block diagram of an example function block for finding simultaneously the best and second best metric for the LLR at an arbitrary decoding time according to an embodiment of the present invention Figure 5 is a block diagram of an example function block for producing extrinsic information for an information symbol at an arbitrary decoding time according to an embodiment of the present invention; Figure 6 is a block diagram of an example of function blocks. for calculating a correction value used to obtain extrinsic information in accordance with a version of the present invention;
As Figuras 7 e 8 são gráficos que ilustram exemplos do desempenho de Taxa de Erro de Bit (BER) e da Taxa de Erro de Quadro (FER) de algoritmos de decodificação turbo quando um tamanho de Pacote de Codificação (EP) é de 38 64 e a velocidade de código geral é de 1/2 de acordo com uma versão da presente invenção;Figures 7 and 8 are graphs illustrating examples of Bit Error Rate (BER) and Frame Error Rate (FER) performance of turbo decoding algorithms when a Encoding Packet (EP) size is 38 64. and the general code rate is 1/2 according to an embodiment of the present invention;
As Figuras 9 e 10 são gráficos que ilustram exemplos do desempenho BER e FER de log2 MaxLogMAP, mod MaxLogMAP, MaxLogMAP com FG, e MaxLogMAP sobre iterações em Eb/N0 de 1,3 dB de acordo com uma versão da presente invenção;Figures 9 and 10 are graphs illustrating examples of log2 BER and FER performance of MaxLogMAP, mod MaxLogMAP, MaxLogMAP with FG, and MaxLogMAP over 1.3 dB Eb / NO iterations according to one embodiment of the present invention;
As Figuras 11 e 12 são gráficos que ilustram exemplos do desempenho BER e FER de algoritmos de decodificação turbo quando o tamanho EP é de 792 e a velocidade de código efetiva é de 1/5 de acordo com uma versão da presente invenção;Figures 11 and 12 are graphs illustrating examples of the BER and FER performance of turbo decoding algorithms when EP size is 792 and effective code speed is 1/5 according to one embodiment of the present invention;
As Figuras 13 e 14 são gráficos que ilustram exemplos do desempenho BER e FER sobre iterações em Eb/N0 de 0,7 dB quando o tamanho EP é de 38 64 de acordo com uma versão da presente invenção;Figures 13 and 14 are graphs illustrating examples of BER and FER performance over 0.7 dB Eb / NO iterations when the EP size is 3864 according to one embodiment of the present invention;
As Figuras 15 e 16 são gráficos que ilustram exemplos do desempenho BER e FER sobre erro de casamento de SNR em Eb/N0 de 1,2 dB quando o tamanho EP é de 3864 e a velocidade de código efetiva é de 1/2 de acordo com uma versão da presente invenção.Figures 15 and 16 are graphs illustrating examples of the BER and FER performance on 1.2 dB Eb / NO SNR mismatch when EP size is 3864 and effective code speed is 1/2 according with a version of the present invention.
DESCRIÇÃO DETALHADA DA VERSÃO PREFERIDADETAILED DESCRIPTION OF PREFERRED VERSION
[0024] Versões da presente invenção serão aqui descritas abaixo com referência aos desenhos acompanhantes. Na descrição seguinte, funções ou construções bem conhecidas são omitidas por concisão.Versions of the present invention will be described hereinbelow with reference to the accompanying drawings. In the following description, well-known functions or constructs are omitted by brevity.
[0025] A presente invenção pretende fornecer um algoritmo Max-Log-MAP aprimorado que, ao modificar a atualização LLR do algoritmo Max-Log-MAP existente, efetua apenas 0,1 dB ou menos pior que o algoritmo Log-MAP e oferece melhor desempenho de decodificação turbo que o algoritmo Max-Log-MAP e o algoritmo Max-Log-MAP com FG. Como o algoritmo Max-Log-MAP aprimorado é basicamente um algoritmo de decodificação turbo com base no algoritmo Max-Log-MAP, ele fornece, com vantagem, um ligeiro aumento na complexidade de hardware sem qualquer erro de casamento de SNR.The present invention is intended to provide an improved Max-Log-MAP algorithm which, by modifying the LLR update of the existing Max-Log-MAP algorithm, makes only 0.1 dB or less worse than the Log-MAP algorithm and offers better turbo decoding performance than the Max-Log-MAP algorithm and the Max-Log-MAP algorithm with FG. Since the enhanced Max-Log-MAP algorithm is basically a turbo decoding algorithm based on the Max-Log-MAP algorithm, it advantageously provides a slight increase in hardware complexity without any SNR matching errors.
[0026] Os recursos da presente invenção são apresentados sucintamente conforme segue: [0027] Para a atualização LLR em um tempo de decodificação arbitrário, a segunda melhor métrica para os símbolos de informação 0 e 1 bem como a melhor métrica são considerados. Notadamente, a segunda melhor métrica é excluída de consideração para a atualização LLR no algoritmo Max-Log-MAP existente. Será aparente de resultados de simulação descritos posteriormente que a atualização LLR da presente invenção leva a um desempenho de decodificação turbo tão bom quanto o algoritmo Log-MAP.The features of the present invention are briefly presented as follows: For the LLR update at an arbitrary decoding time, the second best metric for information symbols 0 and 1 as well as the best metric are considered. Notably, the second best metric is excluded from consideration for the LLR update in the existing Max-Log-MAP algorithm. It will be apparent from simulation results described later that the LLR update of the present invention leads to turbo decoding performance as good as the Log-MAP algorithm.
[0028] Se um valor de correção fc, que é calculado utilizando a segunda melhor métrica para os símbolos de informação 0 e 1 em um tempo de decodificação arbitrário, é definido como sendo uma função não linear, o erro de casamento SNR leva a mudanças no desempenho. Portanto, fc é aproximado a uma função linear. Os resultados da simulação também esclarecerão que a aproximação de fc à função linear resulta em excelente desempenho de decodificação turbo independentemente do erro de casamento SNR.If a correction value fc, which is calculated using the second best metric for information symbols 0 and 1 at an arbitrary decoding time, is defined as a nonlinear function, the SNR mismatch leads to changes. in performance. Therefore, fc is approximated to a linear function. The simulation results will also clarify that the approximation of fc to the linear function results in excellent turbo decoding performance regardless of the SNR mismatch.
[0029] Assim, a aproximação linear de fc será descrita de acordo com a presente invenção. Além disso, o desempenho de decodif icação turbo é avaliado no caso em que fc é definido como sua função logarítmica original e a aplicabilidade desta definição de fc é investigada.Thus, the linear approximation of fc will be described in accordance with the present invention. In addition, turbo decoding performance is evaluated where fc is defined as its original logarithmic function and the applicability of this definition of fc is investigated.
[0030] A Figura 1 é um diagrama de blocos que ilustra um exemplo de um decodificador turbo que utiliza um algoritmo Max-Log-MAP modificado de acordo com uma versão da presente invenção. Como foi descrito acima, o algoritmo Max-Log-MAP modificado refere-se a um algoritmo Max-Log-MAP que atualiza um LLR utilizando a melhor e a segunda melhor métrica para um símbolo de informação em um tempo de decodificação de acordo com uma versão da presente invenção.Figure 1 is a block diagram illustrating an example of a turbo decoder using a modified Max-Log-MAP algorithm in accordance with an embodiment of the present invention. As described above, the modified Max-Log-MAP algorithm refers to a Max-Log-MAP algorithm that updates an LLR using the best and second best metric for an information symbol at a decoding time according to a version of the present invention.
[0031] O algoritmo Max-Log-MAP modificado é aplicado a cada decodificador constituinte (DEC1 e DEC2). Uma Controladora de Ganho de realimentação (FEC) para ponderar informação extrínseca também é aplicada a cada decodificador constituinte.The modified Max-Log-MAP algorithm is applied to each constituent decoder (DEC1 and DEC2). A Feedback Gain Controller (FEC) for weighting extrinsic information is also applied to each constituent decoder.
[0032] Com referência à Figura 1, o primeiro e o segundo decodificadores constituintes (DEC1 e DEC2) 101 e 104, respectivamente, derivam informação extrínseca e LLR para um símbolo de informação utilizando o algoritmo Max-Log-MAP modificado. Isto é, os decodificadores constituintes 101 e 104 correspondem, cada um, a um dos codificadores constituintes de um codificador turbo. Um entrelaçador 102 entrelaça um sinal recebido do primeiro decodificador constituinte 101. Ao considerar o entrelaçamento dos dados entre os códigos constituintes de um código turbo, o entrelaçador 102 permuta a seqüência de dados de modo que a saída do primeiro decodificador constituinte 101 casa com a entrada do segundo decodificador constituinte 104. Um primeiro FG 103 multiplica o sinal entrelaçado por um fator de ponderação derivado da informação extrínseca calculada no primeiro decodificador constituinte 101 de acordo com o algoritmo Max-Log-MAP modificado. O fator de ponderação é um valor empírico. Ele é maior no algoritmo Max-Log-MAP do que no algoritmo Log-MAP. Considerando isto, a informação extrínseca para um símbolo de informação é multiplicada por um fator de ponderação inferior a 1, assim alcançando um desempenho melhor. O segundo decodificador constituinte 104 decodifica a saída do primeiro FGC 103. Um desentrelaçador 105 efetua o desentrelaçamento de modo que a saída do segundo decodificador constituinte 104 casa com a entrada do primeiro decodificador constituinte 101. Um segundo FGC 106 multiplica o sinal desentrelaçado por um fator de ponderação derivado da informação extrínseca calculada no primeiro decodificador constituinte 101 de acordo com o algoritmo Max-Log-MAP modificado. A saída do segundo FGC 106 é aplicada à entrada do primeiro decodificador constituinte 101.Referring to Figure 1, the first and second constituent decoders (DEC1 and DEC2) 101 and 104, respectively, derive extrinsic information and LLR for an information symbol using the modified Max-Log-MAP algorithm. That is, the constituent decoders 101 and 104 each correspond to one of the constituent encoders of a turbo encoder. An interleaver 102 interleaves a signal received from the first constituent decoder 101. In considering interleaving data between the constituent codes of a turbo code, interleaver 102 exchanges the data sequence so that the output of the first constituent decoder 101 matches the input. of the second constituent decoder 104. A first FG 103 multiplies the interlaced signal by a weighting factor derived from the extrinsic information calculated in the first constituent decoder 101 according to the modified Max-Log-MAP algorithm. The weighting factor is an empirical value. It is larger in the Max-Log-MAP algorithm than in the Log-MAP algorithm. Considering this, the extrinsic information for an information symbol is multiplied by a weighting factor of less than 1, thus achieving better performance. The second constituent decoder 104 decodes the output of the first FGC 103. A deinterleaver 105 performs deinterlacing so that the output of the second constituent decoder 104 matches the input of the first constituent decoder 101. A second FGC 106 multiplies the deinterlaced signal by a factor. of weight derived from the extrinsic information calculated in the first constituent decoder 101 according to the modified Max-Log-MAP algorithm. The output of the second FGC 106 is applied to the input of the first constituent decoder 101.
[0033] Os somadores 107 e 108 somam a confiabilidade de transmissão e a probabilidade a priori (APP) de um símbolo de código recebido para gerar um LLR para um símbolo de informação utilizando a informação extrínseca derivada do segundo decodificador constituinte 105. A informação a priori é o LLR da probabilidade de um símbolo de informação ser 0 para a probabilidade do símbolo de informação ser 1. Em uma teoria de codificação geral, os símbolos de informação 0 e 1 são equiprováveis. Portanto, a informação a priori inicial é sempre 0. À medida que a decodificação iterativa prossegue, a informação extrínseca de cada decodificador constituinte é utilizada como a informação a priori de um símbolo de informação para o outro decodificador constituinte. Assim, a informação a priori não é mais 0. Um decididor 109 decide o sinal do LLR. Se o sinal LLR é positivo, o decididor 109 gera um símbolo de informação 0, e se o sinal LLR é negativo, ele gera um símbolo de informação 1. O valor de decisão é alimentado tanto para uma memória provisória de saída 110 como um verificador CRC 111. Em uma versão da presente invenção, a memória provisória de saída 110 pode ser uma memória para armazenar o valor de decisão 0 ou 1. O verificador CRC 111 verifica um CRC inserido a priori para detectar erros em um quadro de símbolos de informação decodificados.Summaters 107 and 108 sum the transmission reliability and a priori probability (APP) of a received code symbol to generate an LLR for an information symbol using extrinsic information derived from the second constituent decoder 105. The information to be priori is the LLR of the probability of an information symbol being 0 for the probability of the information symbol being 1. In a general coding theory, the information symbols 0 and 1 are equiprobable. Therefore, the initial a priori information is always 0. As iterative decoding proceeds, the extrinsic information from each constituent decoder is used as the a priori information from one information symbol to the other constituent decoder. Thus, the a priori information is no longer 0. A decision maker 109 decides the LLR signal. If the LLR signal is positive, the decision maker 109 generates an information symbol 0, and if the LLR signal is negative, it generates an information symbol 1. The decision value is fed to both output buffer 110 and a verifier. CRC 111. In one embodiment of the present invention, the output buffer 110 may be a memory for storing decision value 0 or 1. The CRC checker 111 checks an a priori inserted CRC for errors in an information symbol frame decoded.
[0034] A implementação do algoritmo Max-Log-MAP modificado nos decodificadores constituintes será agora descrita a seguir.The implementation of the modified Max-Log-MAP algorithm in the constituent decoders will now be described below.
[0035] O algoritmo Max-Log-MAP modificado evoluiu do algoritmo Max-Log-MAP pela modificação de seu processo de atualização LLR. Assim, por simplicidade de implementação e manutenção da insensitividade da decodificação turbo ao erro de casamento de SNR, a Eq. (3) é ainda adotada para calcular as métricas de estado α e β para o segundo algoritmo Max-Log-MAP modificado. Assim, a Equação (2) é utilizada com o valor de correção fc aproximado para definir o LLR para o algoritmo Max-Log-MAP modificado.The modified Max-Log-MAP algorithm has evolved from the Max-Log-MAP algorithm by modifying its LLR update process. Thus, for simplicity of implementation and maintenance of the turbo decoding insensitivity to the SNR mismatch error, Eq. (3) is still adopted to calculate the α and β state metrics for the second modified Max-Log-MAP algorithm. Thus, Equation (2) is used with the approximate fc correction value to define the LLR for the modified Max-Log-MAP algorithm.
[0036] A aproximação de fc envolve definir fc utilizando a melhor métrica Mn(0) e a segunda melhor métrica Mn(l) para os símbolos de informação 0 e 1 entre todas as métricas Mn(i) que constituem fc na Equação (2). Em outras palavras, o algoritmo de decodificação turbo da presente invenção atualiza um LLR em um tempo de decodificação arbitrário, considerando a segunda melhor métrica para os símbolos de informação 0 e 1, que são excluídos na atualização LLR do algoritmo Max-Log-MAP, bem como a sua melhor métrica.The approximation of fc involves defining fc using the best metric Mn (0) and the second best metric Mn (l) for the information symbols 0 and 1 among all the metrics Mn (i) that constitute fc in Equation (2). ). In other words, the turbo decoding algorithm of the present invention updates an LLR at an arbitrary decoding time, considering the second best metric for information symbols 0 and 1, which are excluded in the Max-Log-MAP algorithm LLR update, as well as your best metric.
[0037] Para a atualização LLR no algoritmo Max-Log-MAP modificado, fc é aproximado como fc«log(l+e-(Mo<0,-Mo<1)))-log(l+e-lM1lo,-M1(1))) (5) [0038] Como é observado da Equação (5), fc é definido utilizando a melhor métrica Mn(0) e a segunda melhor métrica Mn(l) para um símbolo de informação n em um tempo de decodificação. As métricas Mn(i)(i>l) menor que a segunda melhor métrica Mn(l) são descartadas na aproximação porque elas têm um impacto de negligência insignificante em fc. Enquanto o algoritmo Max-Log-MAP busca todos os conjuntos de estado (s' , s) em uma treliça em um tempo de decodificação arbitrário e calcula a melhor métrica Mn(0) para o símbolo de informação, a métrica de atualização para cada conjunto de estado, o algoritmo Max-Log-MAP modificado calcula a segunda melhor métrica (Mr, {1) além da melhor métrica Mr, (0), e isso simultaneamente para não aumentar o tempo de decodif icação. Para este fim, que a métrica para um estado s seja m (s) . Então Mr, (0) e Mn (1} são calculados simultaneamente na maneira ilustrada na Tabela 1.For the LLR update in the modified Max-Log-MAP algorithm, fc is approximated as fc 'log (l + e- (Mo <0, -Mo <1))) - log (l + e-lM1lo, - M1 (1))) (5) As noted from Equation (5), fc is defined using the best metric Mn (0) and the second best metric Mn (l) for an information symbol n at a time. of decoding. Metrics Mn (i) (i> l) less than the second best metric Mn (l) are discarded in the approximation because they have a negligible negligible impact on fc. While the Max-Log-MAP algorithm fetches all state sets (s', s) on a trellis at an arbitrary decoding time and calculates the best Mn (0) metric for the information symbol, the update metric for each state set, the modified Max-Log-MAP algorithm calculates the second best metric (Mr, {1) in addition to the best metric Mr, (0), and simultaneously to avoid increasing decoding time. To this end, let the metric for a state s be m (s). Then Mr, (0) and Mn (1} are calculated simultaneously in the manner illustrated in Table 1.
Tabela 1 (1) inicialização: s=0, Mr,(0)=MIN, M,;{1)=M1N (2) encontrar m(s) (3) se Mr, (0} <m (s) , Mn {1) =Mr, (0) e M,,(0)=m(s) caso contrário se ΜΓ, (1) <m (s) , Mr{1) =m{s) (4) se s=S-l, parar. Caso contrário, vá para (5) (5) aumentar s por 1. Vá para (2) [0039] Na Tabela 1, MIN é um valor muito pequeno equivalente a -ac, para a inicialização da métrica de estado e S é o número total de estados na treliça de códigos convolucionais constituintes.Table 1 (1) initialization: s = 0, Mr, (0) = MIN, M,; {1) = M1N (2) find m (s) (3) if Mr, (0} <m (s), Mn (1) = Mr, (0) and M ,, (0) = m (s) otherwise if ΜΓ, (1) <m (s), Mr (1) = m (s) (4) if s = Sl, stop. Otherwise, go to (5) (5) increase s by 1. Go to (2) [0039] In Table 1, MIN is a very small value equivalent to -ac, for initializing the state metric and S is the total number of states in the truss of constituent convolutional codes.
[0040] A Figura 2 é um fluxograma que ilustra um exemplo de operações para calcular a melhor métrica Mr;{0) e a segunda melhor métrica M:n(l) no tempo de decodif icação k de acordo com uma versão da presente invenção.Figure 2 is a flowchart illustrating an example of operations for calculating the best metric Mr; {0) and the second best metric M: n (1) at decoding time k according to an embodiment of the present invention. .
[0041] Com referência à Figura 2, o estado de treliça e a melhor e a segunda melhor métrica para os símbolos de informação 0 e 1 são fixados para valores iniciais no tempo de decodificação k na etapa 200 conforme indicado por (1) na Tabela 1. Na etapa 202, uma métrica para o símbolo de informação n (0 ou 1) é calculada, aumentando o estado por 1 a cada vez. Assim, a operação· da Figura 2 é o processo de encontrar o estado atual s. A métrica calculada é comparada com a melhor métrica existente para o símbolo de informação n na etapa 204. Se a métrica atual é maior que a melhor métrica existente, o procedimento vai para a etapa 206. Caso contrário, ele vai para a etapa 208. Na etapa 206, a métrica atual é fixada como a melhor métrica e a melhor métrica existente é fixada como a segunda melhor métrica.Referring to Figure 2, the lattice state and the best and second best metric for information symbols 0 and 1 are set to initial values at decoding time k in step 200 as indicated by (1) in Table 1. In step 202, a metric for the information symbol n (0 or 1) is calculated by increasing the state by 1 each time. Thus, the operation of Figure 2 is the process of finding the current state s. The calculated metric is compared to the best existing metric for the information symbol n in step 204. If the current metric is greater than the best existing metric, the procedure goes to step 206. Otherwise, it goes to step 208. At step 206, the current metric is fixed as the best metric and the best existing metric is fixed as the second best metric.
[0042] Por outro lado, na etapa 208, a métrica atual é comparada com a segunda melhor métrica existente. Se a métrica atual é maior que a segunda melhor métrica existente, a segunda melhor métrica é atualizada para a métrica atual na etapa 210. Se a métrica atual é igual ou inferior à segunda melhor métrica existente na etapa 206 ou 210, ou na etapa 208, o procedimento vai para a etapa 212.On the other hand, in step 208, the current metric is compared to the second best existing metric. If the current metric is greater than the second best existing metric, the second best metric is updated to the current metric in step 210. If the current metric is equal to or less than the second best existing metric in step 206 or 210, or step 208 , the procedure goes to step 212.
[0043] Na etapa 212, é determinado se o estado atual é o último estado. Se for, o procedimento termina. Se não for, o estado é aumentado em 1 na etapa 214.In step 212, it is determined if the current state is the last state. If so, the procedure ends. If it is not, the state is increased by 1 in step 214.
[0044] Desta maneira, a métrica melhor e a segunda melhor Mn(0) e Mn(l) são obtidas ao mesmo tempo em um tempo de decodificação arbitrário. Utilizando essas métricas, o valor de correção fc é aproximado como a Equação (5).In this way, the best metric and the second best metric Mn (0) and Mn (1) are obtained at the same time in an arbitrary decoding time. Using these metrics, the correction value fc is approximated as Equation (5).
[0045] No entanto, a aproximação não linear de fc na Equação (5) afeta o desempenho de decodificação de acordo com o valor absoluto de um símbolo de entrada no decodificador turbo. Isto é, o receptor não pode estimar um SNR preciso, resultando em um erro de casamento de SNR. Como resultado, se um símbolo de entrada de decodificador é modificado, o desempenho de decodificação turbo também é modificado. Portanto, é necessário aproximar fc da função logarítmica para uma função linear.However, the nonlinear approximation of fc in Equation (5) affects decoding performance according to the absolute value of an input symbol in the turbo decoder. That is, the receiver cannot estimate an accurate SNR, resulting in a SNR match error. As a result, if a decoder input symbol is modified, turbo decoding performance is also modified. Therefore, it is necessary to approximate fc from the logarithmic function to a linear function.
[0046] Será feita agora uma descrição de uma aproximação da função logarítmica comparada com uma função linear.We will now describe a approximation of the logarithmic function compared to a linear function.
[0047] Com uma representação de fc pela função logaritmica como no algoritmo Log-MAP, ou por uma tabela de pesquisa correspondente à função logaritmica, o erro de casamento de SNR muda Es/N0 que é multiplicado por um símbolo de entrada de decodificador apesar de um SNR constante para o símbolo de entrada, que, de forma assombrosa, muda o desempenho da decodificação turbo. Para manter o desempenho de decodificação independentemente do valor do símbolo de entrada, a função logaritmica precisa ser modificada. A Equação (6) oferece uma aproximação para a função logaritmica. 1 (x) =log (l+e_x) »-Kx+c x>0, K>0, c>0 (6) [0048] Uma função tendo uma métrica como fator precisa ser linear com relação à métrica, para alcançar um LLR na maneira que oferece um desempenho de decodificação independentemente da mudança de um símbolo de entrada. Se fc muda de uma maneira não linear dependendo da métrica variar com o valor do símbolo de entrada, fc também muda não linearmente com relação ao LLR de acordo com o símbolo de entrada variável apesar do mesmo SNR. Portanto, um desempenho constante não é assegurado.With a representation of fc by the logarithmic function as in the Log-MAP algorithm, or by a lookup table corresponding to the logarithmic function, the SNR matching error changes Es / N0 which is multiplied by a decoder input symbol despite from a constant SNR to the input symbol, which amazingly changes the performance of turbo decoding. To maintain decoding performance regardless of the input symbol value, the logarithmic function needs to be modified. Equation (6) provides an approximation for the logarithmic function. 1 (x) = log (l + e_x) »-Kx + cx> 0, K> 0, c> 0 (6) [0048] A function having a metric as a factor must be linear with respect to the metric to achieve a LLR in the way it offers decoding performance regardless of the change of an input symbol. If fc changes nonlinearly depending on whether the metric varies with the value of the input symbol, fc also changes nonlinearly with respect to the LLR according to the variable input symbol despite the same SNR. Therefore, constant performance is not assured.
[0049] Na aproximação expressa como Eq (6), a constante c é desprezível. Ela é recuada pela aproximação de 1 (x) como uma função de primeira ordem com a constante c porque fc é definida pela diferença entre as funções 1 (x) tendo métricas para os símbolos de informação 0 e 1 como seus fatores.In the approximation expressed as Eq (6), the constant c is negligible. It is indented by the approximation of 1 (x) as a first order function with the constant c because fc is defined by the difference between functions 1 (x) having metrics for information symbols 0 and 1 as their factors.
[0050] Esta aproximação é grosseira. Devido a erros causados pela aproximação grosseira, o algoritmo Max-Log-MAP modificado da presente invenção desempenha pior que o algoritmo Max-Log_MAP modificado com 1(x) definido como uma função logaritmica. No entanto, definir 1(x) como uma função não linear poderá levar a um bom desempenho se a estimação SNR perfeita for assegurada, mas o desempenho de decodificação é modificado quando o erro de casamento de SNR muda o valor do símbolo de entrada.This approach is crude. Due to errors caused by the rough approximation, the modified Max-Log-MAP algorithm of the present invention performs worse than the modified Max-Log_MAP algorithm with 1 (x) defined as a logarithmic function. However, setting 1 (x) as a nonlinear function may lead to good performance if perfect SNR estimation is ensured, but decoding performance is modified when the SNR matching error changes the value of the input symbol.
[0051] Através da aproximação, o LLR é atualizado no algoritmo Max-Log-MAP modificado por L(ük)=M0(0)-Mi(0)+fc em que fc=K (M0 (0)-M0 (1) )+K (Mi (0)-Mi (1) ) (7) [0052] A segunda melhor métrica Mn(l) é calculada ao mesmo tempo que a melhor métrica Mn(0) pela Equação (7) no algoritmo de aproximação.Through approximation, the LLR is updated in the Max-Log-MAP algorithm modified by L (ük) = M0 (0) -Mi (0) + fc where fc = K (M0 (0) -M0 (1 )) + K (Mi (0) -Mi (1)) (7) [0052] The second best metric Mn (l) is calculated at the same time as the best metric Mn (0) by Equation (7) in the approximation.
[0053] Agora, os fatores de ponderação aplicados à informação extrínseca serão descritos. A informação extrínseca sobre um símbolo de informação pode ser obtida utilizando um LLR do processo de atualização do LLR do algoritmo Max-Log-MAP modificado. Como o algoritmo Max-Log-MAP produz informação extrínseca através de aproximação repetida, a informação extrínseca tem um valor relativamente grande comparado com a informação extrínseca no algoritmo Log-MAP. Para reduzir este impacto, a informação extrínseca para o símbolo de informação é multiplicada por um fator de ponderação. No algoritmo Max-Log-MAP convencional com FG, um fator de ponderação predeterminado, por exemplo, 0,588235, é multiplicado pela informação extrínseca do segundo decodificador constituinte para cada iteração. No entanto, no algoritmo Max-Log-MAP modificado, o valor de correção fc que reflete a segunda melhor métrica está envolvido no LLR e assim um fator de ponderação para a informação extrinseca precisa ser mais próximo de 1 que fc. Considerando um fator de ponderação Wf, a informação extrinseca é formada como: Le (uk) =Wf ( (M0 (0) -Mi (0) +fc) - (Lcyk+La (Ük) ) =Wf ( (M0 (0) -Mi (0) ) - (Lcyk+La (Ük) ) + f c' em que fc' =Wf (log (1+e”<M0 <0)”Mo(1) ’)-log (l+e”Mi<0)”Mi(1) ’) ) ou fc'="K' (Mo(O)-Mo(l) )+K' (Mi (0) -Mi (1) ) (8) [0054] Na Equação (8), K'=K f.Lcyk é um sinal que reflete uma confiabilidade de canal na entrada do decodificador turbo e La(ük) é a informação a priori do símbolo de informação atual. A fórmula é produzida ao subtrair a informação extrinseca da diferença entre a melhor métrica e a segunda melhor métrica e depois acrescentar um novo valor de correção fc' à diferença resultante. Doravante, fc' é denominado de valor de correção.Now the weighting factors applied to extrinsic information will be described. Extrinsic information about an information symbol can be obtained using an LLR from the modified Max-Log-MAP algorithm LLR update process. Because the Max-Log-MAP algorithm produces extrinsic information through repeated approximation, extrinsic information has a relatively large value compared to extrinsic information in the Log-MAP algorithm. To reduce this impact, the extrinsic information for the information symbol is multiplied by a weighting factor. In the conventional Max-Log-MAP algorithm with FG, a predetermined weighting factor, for example 0.588235, is multiplied by the extrinsic information of the second constituent decoder for each iteration. However, in the modified Max-Log-MAP algorithm, the correction value fc that reflects the second best metric is involved in the LLR and so a weighting factor for extrinsic information needs to be closer to 1 than fc. Considering a weighting factor Wf, the extrinsic information is formed as: Le (uk) = Wf ((M0 (0) -Mi (0) + fc) - (Lcyk + La (Ük)) = Wf ((M0 (0 ) -Mi (0)) - (Lcyk + La (Ük)) + fc 'where fc' = Wf (log (1 + e ”<M0 <0)” Mo (1) ') -log (l + e "Mi <0)" Mi (1) ')) or fc' = "K '(Mo (O) -Mo (1)) + K' (Mi (0) -Mi (1)) (8) [0054 ] In Equation (8), K '= K f.Lcyk is a signal reflecting a channel reliability at the input of the turbo decoder and La (ük) is the a priori information of the current information symbol.The formula is produced by subtracting the extrinsic information of the difference between the best metric and the second best metric and then adding a new correction value fc 'to the resulting difference. Hereinafter, fc' is called the correction value.
[0055] A descrição seguinte é feita para definir um LLR e a informação extrinseca para a decodificação iterativa no algoritmo Max-Log-MAP modificado.The following description is made for defining an LLR and extrinsic information for iterative decoding in the modified Max-Log-MAP algorithm.
[0056] A Figura 3 é um fluxograma que ilustra um exemplo das operações para calcular o LLR para um símbolo de informação e a informação extrinseca utilizada para a decodificação iterativa no algoritmo Max-Log-MAP modificado de acordo com uma versão da presente invenção.Figure 3 is a flowchart illustrating an example of the operations for calculating the LLR for an information symbol and the extrinsic information used for iterative decoding in the modified Max-Log-MAP algorithm according to a version of the present invention.
[0057] Com referência à Figura 3, uma métrica de ramo γ é calculada para uma transição de estado arbitrária em uma treliça na etapa 400 e as métricas de estado α e β são atualizadas para todos os conjuntos de estado (s, s') em relação à transição de estado na etapa 402. Na etapa 404, a melhor métrica Mn(0) e a segunda melhor métrica Mn(l) são encontradas ao mesmo tempo para obter o LLR no procedimento da Figura 2, atualizando a métrica de estado. O LLR é calculado utilizando a diferença entre Mn(0) e Mn(l), a entrada de decodificador com um SNR considerado nela, e a informação a priori de um símbolo de informação pela Equação (8) na etapa 406. Esta etapa é efetuada nos blocos de função 601, 602 e 603 ilustradas na Figura 5. Na etapa 408, a informação extrínseca é multiplicada por um fator de ponderação Wf, que é efetuado no bloco de função 604 ilustrado na Figura 5.[0057] Referring to Figure 3, a branch metric γ is calculated for an arbitrary state transition on a truss in step 400 and the state metrics α and β are updated for all state sets (s, s'). with respect to the state transition at step 402. At step 404, the best metric Mn (0) and the second best metric Mn (l) are found at the same time to obtain the LLR in the procedure in Figure 2, updating the state metric. . The LLR is calculated using the difference between Mn (0) and Mn (1), the decoder input with a SNR considered in it, and the prior information of an information symbol by Equation (8) in step 406. This step is performed on function blocks 601, 602 and 603 shown in Figure 5. In step 408, extrinsic information is multiplied by a weighting factor Wf, which is performed on function block 604 shown in Figure 5.
[0058] O valor de correção fc' é escolhido como um de dois valores definidos na Equação (8) , dependendo de se a função logarítmica é aproximada ou não a uma função linear. Se o receptor pode efetuar a estimação de SNR perfeita, fc' é escolhido como a função logarítmica original. Caso contrário, ela é escolhida como a função linear aproximada. Assim, se a estimação SNR perfeita é possível na etapa 410, o procedimento vai para a etapa 412, e se ela é impossível, o procedimento vai para a etapa 414. A função logarítmica é escolhida quando os blocos de função 701, 702, 703, 705 e 707, ilustrados na Figura 6, emitem FLAG como 0, enquanto a função linear é escolhida quando os blocos de função 701, 702, 704, 706 e 708, ilustrados na Figura 6, emitem FLAG como 1.The correction value fc 'is chosen as one of two values defined in Equation (8), depending on whether or not the logarithmic function is approximated to a linear function. If the receiver can perform perfect SNR estimation, fc 'is chosen as the original logarithmic function. Otherwise, it is chosen as the approximate linear function. Thus, if perfect SNR estimation is possible at step 410, the procedure goes to step 412, and if it is impossible, the procedure goes to step 414. The logarithmic function is chosen when function blocks 701, 702, 703 , 705 and 707, shown in Figure 6, emit FLAG as 0, while linear function is chosen when function blocks 701, 702, 704, 706 and 708, shown in Figure 6, emit FLAG as 1.
[0059] A Figura 4 é um diagrama de blocos de um exemplo de blocos de função para encontrar a melhor métrica e a segunda melhor métrica em relação a um LLR em um tempo de decodificação arbitrário de acordo com uma versão da presente invenção.Figure 4 is a block diagram of an example function block for finding the best metric and the second best metric relative to an LLR at an arbitrary decoding time according to an embodiment of the present invention.
[0060] Com referência à Figura 4, a linha sólida em negrito denota a seção para encontrar a segunda melhor métrica, isto é, os blocos de função 511 a 514. Portanto, os outros blocos de função 501, 502 e 503 operam de acordo com o algoritmo Max-Log-MAP. Esses blocos de função atualizam as métricas para todos os estados da treliça, aumentando o indice de um estado por 1 a cada vez. Aqui, o sinal SELO é 0 para o primeiro estado e 1 para os estados seguintes. O sinal SELl é 0 zero para o primeiro e segundo estados e 1 para os estados seguintes.Referring to Figure 4, the bold solid line denotes the section to find the second best metric, that is, function blocks 511 through 514. Therefore, the other function blocks 501, 502, and 503 operate accordingly. with the Max-Log-MAP algorithm. These function blocks update the metrics for all lattice states, increasing the index of one state by 1 at a time. Here, the SEAL signal is 0 for the first state and 1 for the next states. Signal SEL1 is zero for the first and second states and 1 for the following states.
[0061] Os blocos de função 502, 503, 511, 513 e 514 são seletores para emitir a entrada na porta 0 se um sinal selecionado for 0 e a entrada na porta 1 se o sinal selecionado for 1. Os blocos de função 501 e 512 são seletores para emitir 1 se o sinal na porta a for inferior a um sinal na porta b, e 0 se o sinal na porta a é igual ou maior que o sinal na porta b.Function blocks 502, 503, 511, 513, and 514 are selectors for outputting input to port 0 if a selected signal is 0 and input to port 1 if the selected signal is 1. Function blocks 501 and 512 are selectors for outputting 1 if the signal at port a is less than a signal at port b, and 0 if the signal at port a is equal to or greater than the signal at port b.
[0062] A Figura 5 é um diagrama de blocos de um exemplo de blocos de função para gerar informação extrinseca a respeito de um simbolo de informação em um tempo de decodificação arbitrário de acordo com uma versão da presente invenção.[0062] Figure 5 is a block diagram of an example function blocks for generating extrinsic information about an information symbol at an arbitrary decoding time according to an embodiment of the present invention.
[0063] Com referência à Figura 5, um primeiro somador 601 emite a diferença entre a melhor métrica para 0 e 1 como informação LLR a respeito de um simbolo de informação. Um segundo somador 602 soma a informação de transmissão e a informação a priori de um simbolo recebido. Um terceiro somador 603 subtrai a soma recebida do segundo somador 602 da informação LLR recebida do primeiro somador 601. A saida do terceiro somador 603 é informação extrinseca definida no algoritmo Max-Log-MAP existente. Um multiplicador 604 multiplica a informação extrinseca por um fator de ponderação, como é feito no algoritmo Max-Log-MAP existente com FG. Se o fator de ponderação é 1, isto efetua o algoritmo Max-Log-MAP. Um quarto somador 605 acrescenta o valor de correção fc' obtido pelos blocos de função ilustrados na Figura 6 à saida do multiplicador 604. Assim, a informação extrinseca final para o algoritmo Max-Log-MAP modificado é obtida.Referring to Figure 5, a first adder 601 outputs the difference between the best metric for 0 and 1 as LLR information regarding an information symbol. A second adder 602 sums the transmission information and the prior information of a received symbol. A third adder 603 subtracts the sum received from the second adder 602 from the LLR information received from the first adder 601. The output of the third adder 603 is extrinsic information defined in the existing Max-Log-MAP algorithm. A multiplier 604 multiplies extrinsic information by a weighting factor, as is done in the existing Max-Log-MAP algorithm with FG. If the weighting factor is 1, this performs the Max-Log-MAP algorithm. A fourth adder 605 adds the correction value fc 'obtained by the function blocks illustrated in Figure 6 to the output of multiplier 604. Thus, the final extrinsic information for the modified Max-Log-MAP algorithm is obtained.
[0064] Isto é, a informação extrinseca é obtida para o algoritmo Max-Log-MAP modificado ao ainda utilizar o multiplicador 604 associado ao fator de ponderação Wf e o somador 605 associado ao valor de correção fc', comparado com o algoritmo Max-Log-MAP. Assim, comparado com o algoritmo Max-Log-MAP com FG, o somador 605 é ainda utilizado.That is, extrinsic information is obtained for the modified Max-Log-MAP algorithm by still using the multiplier 604 associated with the weighting factor Wf and the adder 605 associated with the correction value fc ', compared with the Max-Log-MAP algorithm. Log-MAP. Thus, compared to the Max-Log-MAP algorithm with FG, the 605 adder is still used.
[0065] A Figura 6 é um diagrama de blocos de um exemplo de blocos de função para calcular o valor de correção fc' para utilização no cálculo da informação extrinseca de acordo com uma versão da presente invenção.Figure 6 is a block diagram of an example function block for calculating the correction value fc 'for use in calculating extrinsic information in accordance with an embodiment of the present invention.
[0066] Com referência à Figura 6, o primeiro somador 701 calcula a diferença entre a melhor métrica e a segunda melhor métrica para um símbolo de informação 0 e o segundo somador 702 calcula a diferença entre a melhor métrica e a segunda melhor métrica para um símbolo de informação 1. Uma tabela de pesquisa (LUT) 703 encontra valores de correção da função logarítmica definida na Equação (8) utilizando as diferenças. O terceiro somador 707 calcula a diferença entre os valores de correção. 0 primeiro multiplicador 707 multiplica a diferença por um fator de ponderação, assim decidindo um valor de correção final.Referring to Figure 6, the first adder 701 calculates the difference between the best metric and the second best metric for an information symbol 0 and the second adder 702 calculates the difference between the best metric and the second best metric for an information symbol. information symbol 1. A lookup table (LUT) 703 finds correction values of the logarithmic function defined in Equation (8) using the differences. The third adder 707 calculates the difference between the correction values. The first multiplier 707 multiplies the difference by a weighting factor, thus deciding a final correction value.
[0067] O quarto somador 704 calcula a diferença entre as saídas do primeiro e do segundo somadores 701 e 702. O segundo multiplicador 706 multiplica a diferença por um valor de inclinação, assim decidindo um valor de correção aproximado a uma função linear.The fourth adder 704 calculates the difference between the outputs of the first and second adder 701 and 702. The second multiplier 706 multiplies the difference by a slope value, thus deciding a correction value approximate to a linear function.
[0068] Um dos valores de correção definidos na Equação (8) é escolhido de acordo com o sinal FLAG. Para a escolha da função logarítmica, o seletor 708 seleciona a entrada na porta 0. Pelo contrário, para a escolha da função linear, o seletor 708 seleciona a entrada na porta 1. O primeiro caso requer um LUT, enquanto o último caso simplesmente requer somadores e um multiplicador. Notadamente, quando FLAG é 0, a estimação SNR perfeita precisa ser assegurada no receptor. Esta estrutura ilustrada na Figura 6 é ainda implementada em hardware para o algoritmo Max-Log-MAP modificado. Se o fator de ponderação Wf e o valor K' podem ser expressos como expoentes de 2, os multiplicadores das Figuras 5 e 6 podem ser implementados como simples seletores de bit ou somadores incluindo eles.One of the correction values defined in Equation (8) is chosen according to the FLAG signal. For choosing the logarithmic function, selector 708 selects the input on port 0. In contrast, for choosing the linear function, selector 708 selects the input on port 1. The first case requires a LUT, while the last case simply requires adders and a multiplier. Notably, when FLAG is 0, perfect SNR estimation needs to be ensured at the receiver. This structure illustrated in Figure 6 is further implemented in hardware for the modified Max-Log-MAP algorithm. If the weighting factor Wf and the value K 'can be expressed as exponents of 2, the multipliers of Figures 5 and 6 can be implemented as simple bit selectors or adders including them.
[0069] Para avaliar o desempenho de decodificação turbo do algoritmo Max-Log-MAP modificado de acordo com a presente invenção, simulações foram efetuadas sob as condições seguintes.To evaluate the turbo decoding performance of the modified Max-Log-MAP algorithm according to the present invention, simulations were performed under the following conditions.
[0070] Todas as simulações foram de pontos flutuantes e o desempenho da decodificação foi avaliado em termos de Taxa de Erro de Bit (BER) e de Taxa de Erro de Quadro (FER) . Para investigar o impacto do erro de casamento de SNR, o desempenho de decodificação com relação ao recuo Eb/No também foi avaliado. Um codificador turbo de velocidade de 1/5 conforme fornecido por CDMA 2000 lxEV-DV foi utilizado e uma operação de Código Turbo Quase Complementar (QCTC) foi efetuada para converter uma velocidade de código geral para ser um valor outro que não 1/5. O tamanho de quadro é um dos tamanhos EP conforme definidos na especificação lxEV-DV. O esquema de modulação utilizado foi BPSK e um canal AWGN foi suposto. Para a decodificação turbo, o número máximo de iterações de decodificação foi 8. BER e FER foram medidos ao executar as simulações até 50 erros de quadro terem sido produzidos.All simulations were floating point and decoding performance was evaluated in terms of Bit Error Rate (BER) and Frame Error Rate (FER). To investigate the impact of SNR mismatch, decoding performance in relation to Eb / No indentation was also evaluated. A 1/5 speed turbo encoder as supplied by CDMA 2000 lxEV-DV was used and a Nearly Complementary Turbo Code (QCTC) operation was performed to convert a general code speed to a value other than 1/5. Frame size is one of the EP sizes as defined in the lxEV-DV specification. The modulation scheme used was BPSK and an AWGN channel was supposed. For turbo decoding, the maximum number of decoding iterations was 8. BER and FER were measured by running simulations until 50 frame errors were produced.
[0071] O fator de ponderação Wf e o valor K' são definidos empiricamente. Como as iterações de decodificação para a decodificação turbo é geralmente uma operação de decodificação sub-ótima, não uma decodificação de probabilidade máxima, há uma probabilidade do desempenho ser degradado durante a decodificação iterativa. A simulação do erro de casamento do SNR revelou que o desempenho melhor é atingido para um recuo Eb/No de cerca de -1 dB para nenhum recuo Eb/No- Isto é porque a degradação do desempenho possivelmente gerado durante as iterações de decodificação é compensado pela ponderação de -1 dB errônea. Assim, o fator de ponderação Wf é dado empiricamente por Wfw-1 dB = 0,79432=1/2+1/4+1/16 (9) [0072] Ao representar Wf como a soma dos expoentes de 2, a multiplicação pelo fator de ponderação é implementada com facilidade no hardware.The weighting factor Wf and the value K 'are defined empirically. Since decoding iterations for turbo decoding is generally a suboptimal decoding operation, not a maximum probability decoding, there is a likelihood that performance will be degraded during iterative decoding. Simulation of the SNR mismatch revealed that the best performance is achieved for an Eb / No indent of about -1 dB for no Eb / No indent. This is because the performance degradation possibly generated during decoding iterations is compensated for. by the erroneous -1 dB weighting. Thus, the weighting factor Wf is given empirically by Wfw-1 dB = 0.79432 = 1/2 + 1/4 + 1/16 (9) When representing Wf as the sum of the exponents of 2, the multiplication by weighting factor is easily implemented in hardware.
[0073] K' na Equação {8) é o produto de uma inclinação K na Equação [4) e o fator de ponderação W?. K na Equação {€) é definido como a inclinação média de uma linha tangente da função 1 (x) =log (l-e”x) . Portanto, em que a é fixado a um valor signifícante máximo. Se a for maior que cerca de 9, 1(x) é inferior a 10-1. Assim, para a como 9, K é determinado por I . ' ![0073] K 'in Equation (8) is the product of a slope K in Equation [4) and the weighting factor W ?. K in Equation (€) is defined as the average slope of a tangent line of function 1 (x) = log (l-e ”x). Therefore, where a is set to a maximum significant value. If a is greater than about 9, 1 (x) is less than 10-1. Thus, for a as 9, K is determined by I. '!
[0074] Algumas simulações revelam que definir -K como a Equação (11) leva a um desempenho excelente. K' na Equação {11} também pode ser expresso como K' =K.Wf=l/16 (12) K' pode ser obtido simplesmente pela seleção de bit que é uma implementação de hardware simplificada da multiplicação.Some simulations reveal that defining -K as Equation (11) leads to excellent performance. K 'in Equation {11} can also be expressed as K' = K.Wf = 1/16 (12) K 'can be obtained simply by bit selection which is a simplified hardware implementation of multiplication.
[0075] Os resultados da simulação da aproximação e da não aproximação serão comparados com referência às Figuras 7 a 16. As Figuras 7 e 8 ilustram o desempenho de decodif icação turbo em termos de BER e de FER para um tamanho EP de 3.864 e uma velocidade de código geral (R) de H. Nas Figuras 7 e 8, LogMAP denota o algoritmo Log-MAP, log2 MaxLogMAP denota o algoritmo Max-Log-MAP utilizando fc definido como a função logaritmica 1 {x) , mod MaxLogMAP denota o algoritmo Max-Log-MAP utilizando fc definido como uma função de primeira ordem aproximada, MaxLogMAP com FG denota o algoritmo Max-Log-MAP com FG, e MaxLogMAP denota o algoritmo Max-Log-MAP existente. Como é ilustrado, log 2 MaxLogMAP é aproximado de LogMAP no desempenho de decodificação, mas este desempenho não é assegurado no caso de erro de casamento de SNR. mod MaxLogMAP desempenha cerca de 0,1 dB pior que LogMAP no desempenho de decodif icação, mas este desempenho não é assegurado no caso de erro de casamento de SNR, mod MaxLogMAP desempenha meramente cerca de 0,1 dB pior que LogMAP a um FER DE 10-2, enquanto ele desempenha cerca de 0,5 dB melhor que MaxLogMAP com FG. Mod MaxLogMAP desempenha constantemente independentemente do erro de casamento de SNR.The approximation and non-approximation simulation results will be compared with reference to Figures 7 to 16. Figures 7 and 8 illustrate the turbo decoding performance in terms of BER and FER for an EP size of 3,864 and a general code velocity (R) of H. In Figures 7 and 8, LogMAP denotes the Log-MAP algorithm, log2 MaxLogMAP denotes the Max-Log-MAP algorithm using fc defined as the logarithmic function 1 (x), mod MaxLogMAP denotes the Max-Log-MAP algorithm using fc defined as an approximate first order function, MaxLogMAP with FG denotes the Max-Log-MAP algorithm with FG, and MaxLogMAP denotes the existing Max-Log-MAP algorithm. As illustrated, log 2 MaxLogMAP is approximate to LogMAP in decoding performance, but this performance is not assured in case of SNR mismatch. mod MaxLogMAP performs about 0.1 dB worse than LogMAP on decoding performance, but this performance is not assured in case of SNR mismatch, mod MaxLogMAP merely performs about 0.1 dB worse than LogMAP at a DEF. 10-2, while it performs about 0.5 dB better than MaxLogMAP with FG. Mod MaxLogMAP plays constantly regardless of SNR matching error.
[0076] As Figuras 9 e 10 ilustram os desempenhos BER e FER de log2 MaxLogMAP, mod MaxLogMAP, MaxLogMAP com FG, e MaxLogMAP sobre iterações com Eb/No=l,3 dB. É observado das Figuras 9 e 10 que log2 MaxLogMAP tem o melhor desempenho sobre iterações, mod MaxLogMAP não desempenha melhor que MaxLogMAP com FG, mas alcança o desempenho FER de MaxLogMAP com FG sobre 8 iterações apenas com 7 iterações.Figures 9 and 10 illustrate the BER and FER performances of log2 MaxLogMAP, mod MaxLogMAP, MaxLogMAP with FG, and MaxLogMAP over Eb / No = 1,3 dB iterations. It is observed from Figures 9 and 10 that log2 MaxLogMAP has the best performance over iterations, mod MaxLogMAP does not perform better than MaxLogMAP with FG, but achieves MaxLogMAP FER performance with FG over 8 iterations with only 7 iterations.
[0077] As Figuras 11 e 12 ilustram o desempenho BER e FER para um tamanho EP de 7 92 e uma velocidade de código efetiva de 1/5. De modo similar ao caso em que o tamanho EP é de 3.864, não há mudança nas classificações de desempenho dos cinco algoritmos. Ainda assim, comparado com o caso em que o tamanho EP é de 3.864, mod MaxLogMAP desempenha cerca de 0,1 dB melhor que MaxLogMAP com FG.Figures 11 and 12 illustrate BER and FER performance for an EP size of 792 and an effective code speed of 1/5. Similar to the case where the EP size is 3,864, there is no change in the performance ratings of the five algorithms. Still, compared to the case where the EP size is 3,864, mod MaxLogMAP performs about 0.1 dB better than MaxLogMAP with FG.
[0078] As Figuras 13 e 14 ilustram o desempenho BER e FER dos cinco algoritmos quando Eb/N0=0,7 dB e o tamanho EP=792, e as Figuras 15 e 16 ilustram o desempenho BER e FER dos cinco algoritmos para o EP de tamanho=3.8 64, a velocidade de código efetiva=l/2, e o erro de casamento de SNR em Eb/NO de 1,2 dB, isto é, quando erros eqüivalentes a um recuo Eb/NO são gerados na estimação SNR de um símbolo de entrada de decodif icador sob a suposição de que a estimação SNR perfeita é alcançada quando o recuo Eb/NO é 0. Como é ilustrado, mod MaxLogMAP desempenha irrespectivamente do erro de casamento de SNR porque 1(x) é aproximado a uma função de primeira ordem. Entretanto, log2 MaxLogMAP exibe um desempenho variável de acordo com o erro de casamento de SNR porque 1 (x) é definido como uma função log() não linear e fc varia não linearmente dependendo da mudança de uma métrica na função log(). Ainda assim, a variação fc não é grande comparada com LogMAP. Portanto, até onde a estimação SNR dentro de cerca de -6 dB a +6 dB é garantida, log2 MaxLogMAP pode ser utilizado como um algoritmo de decodificação turbo.Figures 13 and 14 illustrate the BER and FER performance of the five algorithms when Eb / NO = 0.7 dB and the size EP = 792, and Figures 15 and 16 illustrate the BER and FER performance of the five algorithms. Size EP = 3.8 64, effective code speed = 1/2, and 1.2 dB Eb / NO SNR matching error, ie when errors equivalent to an Eb / NO indent are generated in the estimation SNR of a decoder input symbol under the assumption that the perfect SNR estimation is achieved when the Eb / NO indent is 0. As shown, mod MaxLogMAP plays irrespective of the SNR mismatch because 1 (x) is approximated. to a first order function. However, log2 MaxLogMAP exhibits variable performance according to the SNR matching error because 1 (x) is defined as a nonlinear log () function and fc varies nonlinearly depending on the change of a metric in the log () function. Still, the fc variation is not large compared to LogMAP. Therefore, as far as SNR estimation within about -6 dB to +6 dB is guaranteed, log2 MaxLogMAP can be used as a turbo decoding algorithm.
[0079] Observa-se das simulações que o algoritmo Max-Log-MAP modificado desempenha apenas cerca de 0,1 dB pior que o algoritmo Log-MAP independentemente do tamanho de EP, significando que este desempenho é melhor que aquele do algoritmo Max-Log-MAP (com ou sem FG) . Apesar de alguns erros na estimação SNR de um símbolo de entrada, o algoritmo Max-Log-MAP modificado possui desempenho excelente independentemente dos erros de estimação SNR, que é aparente dos resultados da simulação.From the simulations it is observed that the modified Max-Log-MAP algorithm performs only about 0.1 dB worse than the Log-MAP algorithm regardless of EP size, meaning that this performance is better than that of the Max-Log-MAP algorithm. Log-MAP (with or without FG). Despite some errors in SNR estimation of an input symbol, the modified Max-Log-MAP algorithm has excellent performance regardless of SNR estimation errors, which is apparent from the simulation results.
[0080] Como foi descrito acima, o algoritmo Max-Log-MAP modificado desempenha melhor que o algoritmo Max-Log-MAP com pequena adição de hardware quando comparado com o algoritmo Max-Log-MAP e uma estrutura simplificada quando comparado com o algoritmo Log-MAP. Portanto, o algoritmo Max-Log-MAP modificado é aplicável a um decodificador de canal em um terminal móvel para UMTS e HSDPA bem como um decodificador de canal para um sistema e terminal de CDMA2000 lxEV-DV. Ele desempenha vantajosamente e de modo excelente com uma estrutura simplificada.As described above, the modified Max-Log-MAP algorithm performs better than the Max-Log-MAP algorithm with little hardware addition when compared to the Max-Log-MAP algorithm and a simplified structure when compared to the algorithm. Log-MAP. Therefore, the modified Max-Log-MAP algorithm is applicable to a channel decoder on a UMTS and HSDPA mobile terminal as well as a channel decoder for a lxEV-DV CDMA2000 terminal and system. It performs advantageously and excellently with a simplified structure.
[0081] Embora a invenção tenha sido mostrada e descrita com referência a certas versões da mesma, será compreendido por aqueles habilitados na tecnologia que várias mudanças na forma e nos detalhes poderão ser nela feitas sem desviar do espirito e escopo da invenção conforme definido pelas reivindicações apensas.Although the invention has been shown and described with reference to certain versions thereof, it will be understood by those skilled in the art that various changes in shape and detail may be made therein without departing from the spirit and scope of the invention as defined by the claims. only.
REIVINDICAÇÕES
Claims (9)
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7032156B2 (en) | Apparatus and method for reducing Bit Error Rates (BER) and Frame Error Rates (FER) using turbo decoding in a digital communication system | |
| US8352840B2 (en) | Event cleanup processing for improving the performance of sequence-based decoders | |
| US7116732B2 (en) | Method and apparatus for decoding a bit sequence | |
| US6999531B2 (en) | Soft-decision decoding of convolutionally encoded codeword | |
| US7783963B2 (en) | Decoding a concatenated convolutional-encoded and block encoded signal | |
| US8429509B2 (en) | Apparatus and method for determining reliability of decoded data in communication system | |
| Aarthi et al. | Attenuation Factor approach to minimize the correlation effect in Soft Output Viterbi Algorithm | |
| US6614858B1 (en) | Limiting range of extrinsic information for iterative decoding | |
| US7143335B2 (en) | Add-compare-select arithmetic unit for Viterbi decoder | |
| WO2017032255A1 (en) | System and method for data decoding | |
| CA2354466A1 (en) | Device and method for normalizing metric value of component decoder in mobile communication system | |
| Talakoub et al. | Turbo equalization with iterative online SNR estimation | |
| BRPI0305571B1 (en) | Apparatus and method for turbo decoding using modified max-log-map decoders | |
| US7552379B2 (en) | Method for iterative decoding employing a look-up table | |
| CN115514377A (en) | Turbo decoding circuit and decoding method | |
| EP1271789A1 (en) | Decoding method and DSP for LOG-MAP decoding of a bit sequence | |
| US20170019213A1 (en) | Decoding method using dynamic scaler factor | |
| Osman et al. | Performance of multilevel turbo codes with group partitioning over satellite channels | |
| Wu et al. | Turbo decoding complexity reduction by symbol selection and partial iterations | |
| Shamir et al. | Universal lossless source controlled channel decoding for iid sequences | |
| Shim et al. | A novel metric representation for low-complexity log-MAP decoder | |
| Gnanasekaran et al. | Effect of constraint length and code rate on the performance of enhanced turbo codes in AWGN and Rayleigh fading channel | |
| Krishnamoorthy et al. | Modified Max-Log-MAP turbo decoding algorithm using optimized scaling factor | |
| Sybis | Branch canceling technique for turbo TCM decoding | |
| Krishnamoorthy et al. | Effect of various CODEC parameters on the performance of modified max-log-MAP turbo decoding algorithm |