BPSK调制解调matlab仿真
1.理论
BPSK调制信号可以看做载波幅度和频率不变,相位由0和pi之间变换,即:
dk为信息数据序列,取值服从下述关系:
PSK信号的产生方法有两种:调相法和相位选择法。调相法产生PSK信号,就是将调制基带数据直接与载波信号相乘;相位选择法产生PSK信号时,需预先把所需相位的载波准备好,然后根据基带信号的规律来选择相应的载波输出。
2.误码率
BPSK的误码率在不同的信道下,理论值不同。在高斯白噪声信道下,理论误码率为如下公式:
在衰减信道中,理论误码率为:
理论误码率结果如下图所示:
ber_awgn=1:30;
ber_fading=1:30;
for i=1:30
ebn0=i;
ber_awgn(i)=0.5*erfc(sqrt(10^(ebn0/10)));
ber_fading(i)=0.5*(1-1/sqrt(1+1/10^(ebn0/10)));
end
semilogy(ber_awgn(1:10));
hold on
semilogy(ber_fading);
hold off
3.仿真环路
在整个通信系统中,整体处理流程应该如下所示:
a.生成随机码
可以使用rand函数:data=rand(1,nd)>0.5;
或者使用data = randi(2,1,nd*m1)-1;
b.转换为01并插值
data1=data.*2-1;
[data2] = oversamp( data1, nd , IPOINT) ;
插值后的频谱如下所示:
c.成形滤波
data3 = conv(data2,xh);
conv表示的是卷积
滤波后的频谱如下所示:
D. 高斯白噪声信道
spow=sum(data3.*data3)/nd;
attn=0.5*spow*sr/br*10.^(-ebn0/10);
attn=sqrt(attn);
inoise=randn(1,length(data3)).*attn; % randn: built in function
data4=data3+inoise;
E.滤波和抽取
data5=conv(data4,xh2); % conv: built in function
sampl=irfn*IPOINT+1;
data6 = data5(sampl:8:8*nd+sampl-1);
F.判决
demodata=data6 > 0;
G:计算误码
noe2=sum(abs(data-demodata)); % sum: built in function
nod2=length(data); % length: built in function
noe=noe+noe2;
nod=nod+nod2;
最后仿真结果如下所示:
更多推荐
所有评论(0)