我是靠谱客的博主 友好花卷,最近开发中收集的这篇文章主要介绍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;

最后仿真结果如下所示:

最后

以上就是友好花卷为你收集整理的BPSK调制解调matlab仿真的全部内容,希望文章能够帮你解决BPSK调制解调matlab仿真所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部