采用simulink构建AWGN信道中分组码的BPSK数字通信系统
综合实验设计题5:
采用simulink构建AWGN信道中分组码的BPSK数字通信系统
1、实验要求:
(1)构建在AWGN信道中,采用BPSK调制的分组差错控制编码方法的模型,并给出误码率性能。
(2)构建在AWGN信道中,采用FSK调制的分组差错控制编码方法的模型,并给出误码率性能。
(3)构建在AWGN信道中,采用QAM调制的分组差错控制编码方法的模型,并给出误码率性能。
2、 实验说明
(1)3个方向中任选一种完成实验
(2)分组差错控制编码方法自选,如:线性分组码(n,k);循环码(n,k);Hamming(n,k);
RS (n,k);Golay(n,k)等
(3)给出各个模块的参数配置说明
(4)给出Eb/No(dB)与BER 误码性能关系图,包括理论误码性能和仿真实验误码性能。
(5)对所建模的系统性能进行分析说明。
3、实验步骤
(1)、构建在AWGN信道中,采用BPSK调制的分组差错控制编码方法的模型,并给出误码率性能。
(2)、采用循环码(31,16)进行差错控制编码。
(3)、各模块配置
随机生成二进制random integer generator
Set size:设置为:2

延时模块Buffer
Output buffer size 设置为:16

循环码BCH Encoder
CodeWord length,N 设置为:31
Message length,K 设置为:16

信道噪声AWGN channel
Eb/No设置为变量参数:EbNo
Symbol period 设置为:1

误码率计算Error Rate Calculation
Receive delay设置为:16

变量名称设置为:imout01和simout02
保存格式设置为:带时间的结构体

(4)、总体仿真图

(5)、给出Eb/No(dB)与BER 误码性能关系图,包括理论误码性能和仿真实验误码性能。
仿真代码:
%作者:gxu.计算机与电子信息学院.通信201
clc
clear all;
ebno = 0:0.1:10;%%信噪比范围
snr = 10.^(ebno/10); %单位换算
for i = 1:length(ebno)
EbNo = ebno(i);
sim('BPSK.slx');%调用simulink仿真
measurement(i) = simout02.signals.values(100001,1);%获取经过仿真循坏码的误码率
theory(i) = simout01.signals.values(100001,1);%获取仿真的误码率
end
for iter = 1:length(ebno)
theory_Pe = erfc(sqrt(snr))/2; %计算理论误码率
end
figure;
semilogy(ebno,measurement,'-b+',ebno,theory,'-r',ebno,theory_Pe,'-g');
legend("BPSK仿真循环码误码率","BPSK仿真无循环码误码率","BPSK理论误码率");
title("BPSK在AWGN信道下的性能");
xlabel("信噪比EbNo(dB)");
ylabel("误符号率/误码率");

(6)、对所建模的系统性能进行分析说明。
从BPSK在AWGN信道下的性能图中可以看出,BPSK仿真无循环码误码率与BPSK理论误码率相近。而经过循环码BCH(31,16)的BPSK仿真循环码误码率在信噪比达到一定值时,BPSK仿真循环码误码率要比BPSK理论误码率、BPSK仿真无循环码误码率要低几个数量级。
(7)、重点注意
measurement(i) = simout02.signals.values(100001,1);%获取经过仿真循坏码的误码率
theory(i) = simout01.signals.values(100001,1);%获取仿真的误码率
两个语句里的100001,对应simulink里仿真时间为100000