How come the Vitrebi Decoder only accepts positive integers when soft decoding?

3 次查看(过去 30 天)
I have some convolutionally encoded data that was then modulated by BPSK. I then added some noise to it so the values are now things like -0.3 or +1.2 or something. Now I thought the strength of the Vitrebi decoder was that it could do soft decision decoding economically by using these negative and positive values to calculate the Euclidean distance?
However when I input:
vitdec(corrupted_codeword(i, :), trellis_poly, 4, 'term', 'soft', 3)
Where corrupted_codeword(i, :) is of size 12x1209. 12 for 12 different values of SNR and 1209 is the output size. It originally came from codeword(i, :) which was just 1's and 0's. I then modulated it with BPSK converting 0's to -1. I then added noise depending on the SNR value:
corrupted_codeword(i, :) = sqrt(0.5*(1./SNR(i)))*codeword_BPSK(i, :) + temp_reg(i, :);
where temp_reg is:
temp_reg = randn(12, length(codeword));
term means it should terminate at state 0 with soft decision coding and 3 quantization bits (I don't really know what this means but MATLAB had 3 in their example) and trellis_poly is my polynomial to trellis:
trellis_poly = poly2trellis(4, {'x3 + x2 + 1', 'x3 + x + 1', 'x3 + 1'});
Where 4 is the constraint length. I have three delay terms so I thought this would be 4 but again, in MATLAB's example they had three delay terms in the diagram but 4 as the input so I assume that's right. The issue is, I then get this error:
Invalid input for chosen decision-type. Allowed input values for hard-decision decoding are 0 and 1. Allowed input values for soft-decision decoding are integers in the range 0 to (2^N)-1, where N is the number of soft decision bits.
Wouldn't converting to positive integers take away from the whole point of soft decision decoding?

采纳的回答

Philip Masters
Philip Masters 2021-12-10
I should've used 'unquant' not 'soft' please ignore :)

更多回答(1 个)

Amare
Amare 2024-7-4
give me mathalba code for viterbi decoder

类别

Help CenterFile Exchange 中查找有关 Error Detection and Correction 的更多信息

产品


版本

R2021a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by