概述
一、高斯信道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,'<','LineWidth',2);hold on;
以上就是今天的内容,这篇文章能帮到你是我写作的意义所在,有任何问题可以评论或私信,有您想了解的相关内容可也以评论或私信,小编根据情况会解答写作。当然,您的点赞与关注也是对我最大的支持与肯定,也是我继续写作的动力源泉。
通信BPSK仿真调制源代码.zip-电信文档类资源-CSDN下载
最后
以上就是顺心夕阳为你收集整理的MATLAB BPSK通信系统调制解调仿真原理及代码(一)的全部内容,希望文章能够帮你解决MATLAB BPSK通信系统调制解调仿真原理及代码(一)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复