BPSK误码率实验matlab源码

BPSK误码率实验matlab源码
在信道编码和误码课上,需要编⼀个bpsk的误码率的matlab程序,于是在参考了⽹上⼤神的代码之后,有了我现在这个版本。。。
加了⼀些注释,会更好理解吧。以下正⽂。
动力基因论坛实验⽬的
探究在不同信噪⽐的环境下BPSK(Binary Phase Shift Keying)⼆进制相移键控系统的误码率的计算,以及与实际误码率之间的对⽐。
实验过程
1. 产⽣10^7个随机码,随机取+1,-1。
假设发送了10^7个bit的数据,我们把这些数据作为数据样本进⾏接下来的调制和解调,以及统计误码率等操作。
1. 产⽣⾼斯⽩噪声,利⽤randn函数产⽣10^7个伪随机数,服从⾼斯分布。
randn(random normal distribution)是⼀种产⽣标准的或的函数,属于MATLAB函数。返回⼀个n*n的随机项的矩阵,根据实验的要求我们产⽣10^7个服从⾼斯分布的伪随机数。
1. 确定由0db~10db⼗⼀种信噪⽐。
便于对⽐在不通过的信噪⽐下的误码率。准备进⾏调制。
图1 BPSK调制系统原理
1. 对信号进⾏调制,加⼊⾼斯⽩噪声。
在仿真时,假设R=1,M=2,Eb=1。
同时,针对以上⼗⼀种不同信噪⽐的情况,我们将⾼斯⽩噪声加⼊其中。由于我们需要将BPSK的标准差乘上到标准正态分布中以得到调制后的信号,基于正态分布的性质:
如果  且a与b是,那么  。
我们可以推得⽅差:
于是,进⾏化简:
再进⼀步化简,有:
得到标准差后,由性质就可以将⾼斯⽩噪声加⼊调制中。
1. 对收到的信号进⾏解调,统计误码数和误码率。
图2 BPSK解调系统原理框图
在AWGN信道中,BPSK信号相⼲的解调的理论误码率为:
其中,r为信噪⽐:
1. 作图⽐较实际误码率和理论误码率的曲线。
实验结果
图3 理论误码率与仿真误码率对⽐
实验程序
clc;
clear all;
% 产⽣10^7bit个随机的+1,-1码
avalon总线N = 10000000;
for i=1:N
if rand <.5
s(i)=-1;
else
s(i)=1;
end
end
% 产⽣⾼斯⽩噪声,randn函数产⽣10^7个正态分布的伪随机数b=randn(1,N);
% 信噪⽐
EbNo=[0:1:10];
% 针对以上的情况的11种信噪⽐加⼊⽩噪声
for j = 1:11
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); % S(i)是输⼊的码,n(i)为噪声
梅山降糖神茶
end
% 解码,demo为解码后的结果
ER(j) = 0;
松下vs6
for i=1:N
if y(i) > 0
Demo(i) = 1;
else
Demo(i) = -1;
end
% 统计误码数,算出误码率,BER意为bit error ratio,⽐特出错概率,TBER意为理论⽐特出错概率,erfc为单调增函数,计算误码率和信噪⽐的关系
if Demo(i) ~= s(i)
ER(j) = ER(j) + 1;
end
end
BER(j) = ER(j) / N;
TBER(j) = erfc(sqrt(power(10,EbNo(j)/10)))/2;
end
% semilogy函数可以使⽤y轴的对数刻度绘制数据
中担投资信用担保有限公司
figurehiggs粒子
semilogy(EbNo,BER,'B-V',EbNo,TBER,'M-X');
grid on;
legend('仿真误码率曲线','理论误码率曲线');

本文发布于:2024-09-21 00:35:31,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/294663.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:误码率   实验   理论   数据   解调   调制
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议