Open BUPT-YY opened 2 years ago
Hi there, In regards to the following lines from you reply. Where exactly do you implement the h_dec and the llr_vec?
On the other hand, the speed of the code run is too slow, we can call
h_dec = comm.gpu.LDPCDecoder(sparse(LDPC.H==1),'MaximumIterationCount',500);
and use llr_vec = [zeros(1,2*LDPC.Z), dataLlr']; dataHat = step(h_dec,llr_vec'); to simulate faster in the matlab.
The QAM demodulation in matlab you used is possibly not correct. It loss the system performance about 6~10dB Eb/No in the same average bit error rate & code rate condition.
The correct way is to tell the matlab how much is the variance of AWGN in the system. You can change function qamdemod() In ldpcExample.m as follows: dataLlr = qamdemod(dataRx, M, 'OutputType', 'approxllr', 'UnitAveragePower', true,'NoiseVariance',10^(-snr/10));
This helps to get the log-likelihood ratio more precisely.
On the other hand, the speed of the code run is too slow, we can call
h_dec = comm.gpu.LDPCDecoder(sparse(LDPC.H==1),'MaximumIterationCount',500);
and use llr_vec = [zeros(1,2*LDPC.Z), dataLlr']; dataHat = step(h_dec,llr_vec'); to simulate faster in the matlab.