我是靠谱客的博主 甜美冬日,最近开发中收集的这篇文章主要介绍Matlab 仿真BPSK调制下传输的误码率,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

BPSK (Binary Phase Shift Keying),把模拟信号转换成数据值的转换方式之一,利用偏离相位的复数波浪组合来表现信息键控移相方式。

我们可以用Matlab仿真其传输误码率,m文件内容如下:

% 传输1000000个码,随机+1/-1

N = 1000000;
for i=1:N
    if rand <.5
        s(i)=-1;
    else
        s(i)=1;
    end
end

% 产生白噪声
Variance = 1;
b=randn(1,N); 

% enery per bit to noise spectral density ratio
EbNo=[-3:1:10];

% 针对上条指令有14种情况
for j = 1:14
%加入白噪声   
    sigma(j) = power(10,(-EbNo(j)/20))/ sqrt (2);
    for i = 1:N       
        n(i)=sigma(j)*b(i);
        y(i)=s(i)+n(i);
    end
    
% 解码
   Nombreerreur(j) = 0;
    for i=1:N
        if y(i) > 0
            Demo(i) = 1;
        else
            Demo(i) = -1;     
        end
        
% 统计误码数和误码率                
        if Demo(i) ~= s(i)
            Nombreerreur(j) = Nombreerreur(j) + 1;
        end
    end     
    Tauxderreur(j) = Nombreerreur(j) / N;
    TauxderreurTheorique(j) = erfc(sqrt(power(10,EbNo(j)/10)))/2;   
end

%比较实际误码率和理论误码率曲线 
figure  

semilogy(EbNo,Tauxderreur,EbNo,TauxderreurTheorique);

仿真结果如下:

可以看到理论值和仿真值是很接近的。

希望该程序能对大家有所帮助

最后

以上就是甜美冬日为你收集整理的Matlab 仿真BPSK调制下传输的误码率的全部内容,希望文章能够帮你解决Matlab 仿真BPSK调制下传输的误码率所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部