MATLAB BPSK通信系统调制解调仿真原理及代码(一)

您所在的位置:网站首页 qpsk调制与解调实验matlab MATLAB BPSK通信系统调制解调仿真原理及代码(一)

MATLAB BPSK通信系统调制解调仿真原理及代码(一)

2024-07-15 18:21| 来源: 网络整理| 查看: 265

一、高斯信道BPSK的仿真

 

PSK信号是利用载波的相位变化来传递信息,而振幅和频率保持不变。在BPSK中,通常用初始相位0和π分别表示二进制“1”和“0”。其波形可用下式来表示。

 其中,dk是输入数据。

图b说明了一种 BPSK 信号产生方法。 如图b所示,BPSK波的波形是通过数字信号数据和载波之间的乘法产生的。 然而,对于频率带宽的限制, 我们必须用足够的脉冲整形滤波器来控制形状。因此,在BPSK信号的产生过程中,首先将数字数据输入脉冲整形滤波电路。然后,将脉冲形状信号通过 D/A 变换器转换为模拟信号, 通过载波信号波乘以达到RF频率,并最终传输到空气中。

在空气中,信号会受到噪声干扰,本文中使用了高斯噪声和瑞丽衰落两种方式来仿真。

在接收端,接收波通过带通滤波器(BPF),其中杂散波被消除。然后,通过将接收到的无线电信号乘以射频载波频率信号,将接收到的信号向下转换到基带。然后,用A/D 转换器将信号转换为数字采样数据,并通过DSPH恢复传输数字数据。 在DSPH中,对采样数据进行滤波,以消除脉冲整形滤波电路中的符号干扰。最后,从滤波后的数字样本信号中选择一个同步点。 如果信号电平在点处大于0,则可以得到接收到的数字数据1;否则,接收到的数据变为0。

 BPSK仿真的理论值公式如下:

  二.仿真结果如下:

其中,线条代表理论值(公式如上),∆代表此次仿真的结果:

三、仿真源码代码及解释

滤波器初始化设置

irfn=21; % 抽头数 alfs=0.5; % 滚将系数 [xh] = hrollfcoef(irfn,IPOINT,sr,alfs,1); %发射端滤波器系数 [xh2] = hrollfcoef(irfn,IPOINT,sr,alfs,0); %接收端滤波器系数

产生待传送信号数据(0,1)

data=rand(1,nd)>0.5; 

BPSK调制,并经过滤波器

data1=data.*2-1;%将01转为1,-1 [data2] = oversamp( data1, nd , IPOINT) ; data3 = conv(data2,xh);  

信号噪声功率计算

spow=sum(data3.*data3)/nd;   %噪声功率 attn=0.5*spow*sr/br*10.^(-EbN0_db(ii)/10); attn=sqrt(attn);             %转化为电压

加噪声

inoise=randn(1,length(data3)).*attn;  % randn: built in function data4=data3+inoise;

通过接收滤波器并解调

data5=conv(data4,xh2);  % conv: built in function sampl=irfn*IPOINT+1; data6 = data5(sampl:8:8*nd+sampl-1); demodata=data6 > 0;

计算误码个数

noe2=sum(abs(data-demodata));  nod2=length(data);   noe=noe+noe2; nod=nod+nod2;

计算仿真误码率

ber(ii)= noe/nod ber_theory(ii)=erfc(sqrt(EbN0(ii)))/2; f_ber(ii)= f_noe/f_nod

计算误码率理论值

f_ber_theory(ii)=(1-(1/sqrt(1+1/EbN0(ii))))/2;

绘图函数

semilogy(EbN0_db,ber_theory,'r-','LineWidth',2);hold on; semilogy(EbN0_db,ber,'


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3