采用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