MATLAB BPSK通信系统调制解调仿真原理及代码(一) MATLAB BPSK通信系统调制解调仿真原理及代码(一)_惜洛-Jankin的博客-CSDN博客 一、高斯信道BPSK的仿真 PSK信号是利用载波的相位变化来传递信息,而振幅和频率保持不变。在BPSK中,通常用初始相位0和π分别表示二进制“1”和“0”。其波形可用下式来表示。
其中,dk是输入数据。其中,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,'<‘,’LineWidth’,2);hold on; 查看更多实用教程,可
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/56836.html