【问题标题】:Simulate LDPC and QAM in MATLAB在 MATLAB 中模拟 LDPC 和 QAM
【发布时间】:2020-11-22 00:56:23
【问题描述】:

我想学习 LDPC,我想模拟一个程序。该程序将在随机生成的 1x32000 大小的二进制数组上使用 LDPC,然后使用 16-QAM 进行调制,在 SNR=20dB 时添加噪声,对 16-QAM 进行解调,最后使用 LDPC 对其进行解码。当我运行程序并检查它的 BER 时,我得到了 %90 左右的错误,这绝对是不正确的。你能帮帮我吗?

clear all
clc
M = 16;
SNR = 20;

ldpcEncoder = comm.LDPCEncoder(dvbs2ldpc(1/2));
ldpcDecoder = comm.LDPCDecoder(dvbs2ldpc(1/2));

data = randi([0 1],32400,1);
newData = ldpcEncoder(data);

a = qammod(newData,M,'InputType','bit');

b = awgn(a,SNR,'measured');

c = qamdemod(b,M,'OutputType','bit');

result = ldpcDecoder(c);
error = biterr(data,result)/length(data)

【问题讨论】:

    标签: matlab simulation communication modulation


    【解决方案1】:

    LDPC 解码器对象expects 输入带有“软”位(对数似然比),而您使用“硬”单极位输入它。所以,换行

    c = qamdemod(b,M,'OutputType','bit');
    

    通过

    c = qamdemod(b,M,'OutputType','llr');
    

    【讨论】:

      猜你喜欢
      • 2020-09-28
      • 2015-06-03
      • 2013-06-19
      • 1970-01-01
      • 2014-08-17
      • 1970-01-01
      • 2023-04-08
      • 1970-01-01
      • 2014-07-25
      相关资源
      最近更新 更多