📄 convsysterm_withoutconv.m
字号:
Pd=268000; %每帧符号数
tblen=35; %回溯深度
msg=randint(Pd,1); %生成一帧二进制随机序列
trel=poly2trellis(7,[171,133]); %定义(2,1,7)卷积码网格
out_cnv=convenc(msg,trel); %卷积编码
out_BPSKModulator=pskmod(out_cnv,2); %BPSK调制
hold off;%准备一个空白图形
%在信噪比-10到10dB的范围内进行BPSK解调和维特比译码
for SNR=-10:10
out_AWGN=awgn(out_BPSKModulator,SNR);
out_BPSKDemodulator=pskdemod(out_AWGN,2);
out_Viterb=vitdec(out_BPSKDemodulator,trel,tblen,'trunc','hard');
i=SNR+11;
[number,ratio(i)]=biterr(out_Viterb,msg);
end
%绘制误比特率曲线
SNR=-10:10;
i=SNR+11;
semilogy(SNR,ratio(i),'-*'),title('不同信噪比下有无卷积编译码的误比特率曲线比较'),xlabel('信噪比/dB'),ylabel('误比特率');
hold on;
grid on;
out_BPSKModulator=pskmod(msg,2); %BPSK调制
%在信噪比-10到10dB的范围内进行BPSK解调和维特比译码
for SNR=-10:10
out_AWGN=awgn(out_BPSKModulator,SNR);
out_BPSKDemodulator=pskdemod(out_AWGN,2);
i=SNR+11;
[number,ratio(i)]=biterr(out_BPSKDemodulator,msg);
end
%绘制误比特率曲线
SNR=-10:10;
i=SNR+11;
semilogy(SNR,ratio(i),'-o');
legend('经过(2,1,7)卷积编译码','未编码',3);%图例
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -