MATLAB利用communication toolbox实现AGWN信道不同编码译码误码率分析

使用Toolbox进行信道编码。首先,建立一个使用加性高斯白噪声信道的通信系统,不采取编码译码方式的系统模型;然后在该系统上加上卷积编码和硬判决译码的Viterbi译码器构成新的系统模型。然后我们会更新算法,使用软判决译码。


首先建立“精简”的系统模型:这里我们需要先封好一个function,在其中给我们建立的通信系统初始化一些参量,并且设置调制方式、信道类型、编码译码方式等等;function完成后我们需要一个main函数来调用function;

function代码块:精简的通信系统

function [ber,bits]=qpsk(EbNo,maxNumErrs,maxNumBits)

persistent Modulator AWGN Demodulator BitError %预设系统所需要的模块

if isempty(Modulator)  
    Modulator=comm.QPSKModulator('BitInput',true); 
    AWGN=comm.AWGNChannel;
    Demodulator=comm.QPSKDemodulator('BitOutput',true);
    BitError=comm.ErrorRate;
end
%初始化系统模块参量
FRM=2048;
M=4;
k=log2(M);
snr=EbNo+10*log10(k);
AWGN.EbNo=snr;
%处理系统发射机,信道,接收机
numErrs=0;
numBits=0;
results=zeros(3,1);
while((numErrs<maxNumErrs)&&(numBits<maxNumBits))
    u=randi([0 1],FRM,1)
    mod_sig=Modulator.step(u);
    %发射机
    rx_sig=AWGN.step(mod_sig);
    %信道
    demod=Demodulator.step(rx_sig);
    %接收机
    y=demod(1:FRM);
    results=BitError.step(u,y);
    numErrs=results(2);
    numBits=results(3);
end
ber
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值