A problem about implementing soft-decision decode in an OFDM system

3 views (last 30 days)
Hello,everyone. Recently I am working on a project of simulating a whole OFDM system.
I have made some progress. Now I want to change me (2,1,7) convolutional code - hard decode to soft-decision decode in order to get a better performance. I have learned from the matlab example how to implement soft-decision decode in an AWGN channel. But now I also want to apply it to a fast and multi-path fading channel. As a result of that, I am not sure about the value of noise power when calculate LLR.
I first pass my signal to a fading channel by using comm.RayleighChannel() , then I add noise by using awgn() block. This will give a noise power value.
[y_re,noise_var]=awgn(x_tr,SNR_dB(i),'measured');
Then I do LS channel estimation and equalization at the receiver. This will change the value of the signal, so as the value of the noise. So I also calculate the noise power at this time.
noise_var_1= 10^(-SNR_dB(i)/10)* mean(Y_equalized.*conj(Y_equalized));
The two power values will be totally different since one is computed with the channel effect and one is not (with channel equalization). So wich value should I use to calculate LLR?
Thanks for your reading and hope you have some ideas about this question.
  1 Comment
Saurav
Saurav on 20 Aug 2024
Hi @lc
For LLR calculation, you should use the noise variance that corresponds to the signal after equalization (noise_var_1). This is because the LLR calculation needs to reflect the actual noise conditions affecting the equalized signal.
The equalization process can alter the noise characteristics, so it's essential to use the noise variance that matches the equalized signal environment.

Sign in to comment.

Accepted Answer

Shashi Kiran
Shashi Kiran on 20 Aug 2024
Hi @lc,
Before Equalization: Right after you add AWGN, the noise power (noise_var) includes both the Rayleigh fading and the AWGN effects. It does not account for any adjustments from equalization yet.
After Equalization: Once you have equalized the signal, the noise power (noise_var_1) reflects how the noise has been altered by compensating for the channel effects. This is the noise level in the equalized signal.
For Log Likelihood Ratio (LLR) Calculation: Use the noise power that matches where you are calculating the LLR. If you are doing this after equalization, go with noise_var_1. This gives you the right noise variance for the equalized signal, which is crucial for accurate soft-decision decoding.
For the calculation of LLR, you may find this useful.
  1. https://www.mathworks.com/matlabcentral/fileexchange/30110-calculation-of-llr-values-with-variable-noise-variance

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!