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);

仿真结果如下:

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

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

  • 13
    点赞
  • 131
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值