基于simulink的信道化接收机建模与仿真

目录

1.发送模块设计

2.接收模块的设计

3.仿真测试

4.基于matlab的误码率仿真


1.发送模块设计

16QAM的基本结构,首先我来设计QAM发送段的SIMULINK仿真模块。

 

 基本工作流程为:将信号通过两路升余弦滤波器,得到滤波以后的信号,滤波器的作用就是为了防止码间干扰。然后将滤波以后的信号和SIN,COS相乘得到调制信号,将调制    下面一一介绍每个模块的具体参数设置以及各个部分信号的波形图。

 

 第一部分信号是产生一组随机的数字,作为信源,第二个模块将信号转变为QAM的调制方式的信号。他们的具体参数如下所示:

 

 

 

 

 

 通过升余弦滤波器后,信号的边缘可以变的比较平滑,通过生余弦滤波器后,可以防止码间干扰。使信号的正确率提高。他的具体参数设置如下:

 

 

 然后信号就是和SIN,COS相乘,SIN,COS的模块比较简单,这里就不做讨论了,通过以上的模块,我们基本了解了信号发送端的基本设计过程。

2.接收模块的设计

基本结构,来设计接收端的SIMULINK仿真模块。

 

 

 

接收端的工作原理如下,当接收到的信号通过接收端,首先和SIN,COS向乘做解调,然后将解调后的信号通过升余弦滤波器后得到两路解调信号,最后得到解调数据。

    SIN,COS的模块设计,这里就不做介绍了,升余弦滤波器的设计和发送段的波形是相同的。

3.仿真测试

 

 

 

 

 

 

 

 

 

4.基于matlab的误码率仿真

function [p]=qammoto(snr_in_dB)
N=1000;
d=1;
Eav=10*d^2;
snr=10^(snr_in_dB/10);
sgma=sqrt(Eav/(8*snr)); % 16QAM调制的噪声的方差
M=16;

for i=1:N
temp=rand;
dsource(i)=1+floor(M*temp);
end

mapping=[ -3*d 3*d; -d 3*d; d 3*d; 3*d 3*d;
-3*d d; -d d; d d; 3*d d;
-3*d -d; -d -d; d -d; 3*d -d;
-3*d -3*d; -d -3*d; d -3*d; 3*d -3*d];

for i=1:N,
qam_sig(i,:)=mapping(dsource(i),:);
end;
for i=1:N,
n=gngauss(sgma);
r(i,:)=qam_sig(i,:)+n;
end;

numoferr=0;
for i=1:N,
for j=1:M,
metrics(j)=(r(i,1)-mapping(j,1))^2+(r(i,2)-mapping(j,2))^2;
end;
[min_metric decis]=min(metrics);
if(decis~=dsource(i)),
numoferr=numoferr+1;
end;
end;
p=numoferr/(N);
A01

 

posted @ 2023-03-16 17:25  fpga和matlab  阅读(368)  评论(0编辑  收藏  举报