我们的目标是使用Matlab画出BER(Bit Error

Rate)曲线,在这幅图中,纵坐标是以Eb/N0表示的信噪比(SNR),横坐标是BER。画出这样一条曲线,需要一系列的点,想得到每个点都需要在一个特定的SNR下进行一次仿真。下面给出在一个特定SNR,如10dB下的仿真步骤:

设发送信号序列为x——(signal

vector),发送比特序列为tx,接收比特序列为rx,fb为比特频率,fs为对发射信号的采样频率

1、SNR=10dB,定义 snrdb=10;

把dB表示的信噪比还原成比例关系:ebn0=10^(snrdb/10);

2、求出比特能量:

eb=sum(x.^2)/(length(x)*fb);

3、求出噪声单边功率谱密度:n0=eb/ebn0;

4、求出噪声的平均功率: pn=n0*fs/2;

5、产生随机噪声:n=sqrt(pn)*randn(1,length(x));

6、将发射信号和噪声相加,得到接收机的输入信号:y=x+n;

******进行解调*******

7、由于发送/接收端的滤波,会引入延时,所以发送比特和接收比特之间会有一定的偏移。为了把发送比特和接收比特对比以得到BER,需要找出偏移量。可以使用部分互相关的方法找出偏移量off:

for

lag=1:length(rx)-length(tx)-1

cor(lag)=tx*rx(lag:length(tx)-1+lag)';

end;

off=find(cor==max(cor))-1;

8、算出该SNR下的BER:

发送比特和接收比特之间的差异:err=tx-rx(1+off:length(tx)+off);

错误比特的总数:te=sum(abs(err));

误比特率:ber=te/length(tx);

算出一系列特定SNR下的BER后,就可以画出曲线了。假设SNR数据保存在向量xx中,对应的SNR结果保存在向量yy中,我们可以使用Matlab画出曲线:semilogy(xx,yy,'o');

典型的BER曲线如图1所示:

参考:Bit-Error-Rate Simulation Using Matlab, James E. Gilley.

更多细节请看原文。

matlab误比特率,[转载]使用Matlab进行误比特率仿真相关推荐

  1. fortran matlab eng,[转载]关于MATLAB转FORTRAN的几点注意

    1.关于主程序:需加implicit none,变量需定义,其他规则同一般程序,句末分号记得去掉.此处再着重提及一下变量声明,常量加parameter不用说,普通变量根据要求选择,外部子程序必要是需加 ...

  2. 新版matlab newff,[转载]新版Matlab中神经网络训练函数Newff的使用方法

    新版Matlab中神经网络训练函数Newff的使用方法 一. 介绍新版newff Syntax · net = newff(P,T,[S1 S2...S(N-l)],{TF1 TF2...TFNl}, ...

  3. matlab仿真直流电机,[转载]基于Matlab/Simulink的无刷直流电机控制仿真研究

    摘要: 基于Matlab/Simulink,本文设计了一个无刷直流电机的控制方案,详细阐述了无刷直流电机的运行原理,并用Matlab/Simulink对其进行了仿真.实验证明,用Matlab/Simu ...

  4. matlab中step_使用MATLAB中bertool进行通信仿真

    MATLAB中的Communication System Toolbox中的bertool图像化工具bertool提供了极为方便的通信仿真环境以测试仿真模型的误比特率性能,并且可以很好地和理论值进行对 ...

  5. Matlab下 IIR 滤波器实现(Simulink仿真和C语言实现)

    Matlab下 IIR 滤波器实现(Simulink仿真和C语言实现)_Terrys0518的专栏-CSDN博客

  6. 如何使用matlab得出pid控制参数值,基于MATLAB的PID控制器参数整定及仿真

    基于MATLAB的PID控制器参数整定及仿真 摘要:PID控制器结构和算法简单,应用广泛,但参数整定比较复杂,在此我探讨利用MATLAB实现PID参数整定及其仿真的方法,并分析比较比例.比例积分.比例 ...

  7. 循环码差错图样matlab,基于MATLAB的(15,7)循环码的编译仿真.doc

    基于MATLAB的(15,7)循环码的编译仿真 <纠错码与差错控制> 课程设计 题目:基于MATLAB的(15,7)循环码的编译仿真 院(系) 信息科学与工程学院 专 业 通信工程专业 届 ...

  8. matlab设计译码器,基于MATLAB的循环码编译码器设计与仿真.doc

    扳昂旨螺冈唉陨裤外狸尿恨铸伸隧刽搅必勒诚天腑皖漂豌鲁靳碑缆键兽峙棘陶宽槐撒层僧袁廖颤渐魄货鼎躬薛扬衍逮西兰迫依煤鲁虐渠惫平合啥昭并屿己笆坍痞庐披吏去凄嘛兄察突徊溅今箩直藩潦咙锨谓崇若制匹扮复淌颐糖嗅你 ...

  9. 基于matlab的数字下变频器的设计与仿真应用,基于MATLAB的数字下变频器的设计与仿真应用.pdf...

    基于MATLAB的数字下变频器的设计与仿真应用 中国科技论文在线 基于 Matlab 的数字下变频器的设计与仿真 朱建新,沈树群* (北京邮电大学电子工程学院,北京 100876 ) 摘要:本文通过对 ...

最新文章

  1. java-基础练习题3
  2. cura-engine学习(1)
  3. 异常处理——Logging initialized using configuration in jar:file:/usr/local/apache-hive-2.3.4/lib/hive-comm
  4. maven install (window 7)
  5. [FWT] UOJ #310. 【UNR #2】黎明前的巧克力
  6. 大数据测试之hadoop单机环境搭建(超级详细版)
  7. 服务器安装时找不到驱动器,单位有台曙光的A840r-G服务器 由于之前做过RAID 所以在装系统时提前找不到硬盘驱动器...
  8. 基于AE+C#读取文件及图层输出
  9. mavean的依赖传递和排除依赖
  10. ARM64移动处理器解惑
  11. 基于S7-200 PLC控制的小型自动化立体仓
  12. SVM -支持向量机原理详解与实践之四
  13. NFC bcm2079x驱动学习 .
  14. [Python图像处理] 合成微缩效果
  15. selenium 如何在已打开的浏览器上直接自动化脚本
  16. pygame实现雷电游戏雏形开发
  17. 深入浅出XDL(一):Blaze推理引擎
  18. 6-1 计算年year、月month和日day对应的是该年的第几天
  19. LOJ #2838. 「JOISC 2018 Day 3」比太郎的聚会 根号分治
  20. 2023年玩客云刷机装armbian+docker装青龙面板和openwet详细教程

热门文章

  1. mysql求和 子查询_MYSQL 查询方法 统计查询 链接查询 子查询
  2. mysql5.7安装完成后密码是多少_安装了mysql5.7后,如何进行配置(密码等)初始化...
  3. 如何在局域网上托管ASP.NET Web应用程序
  4. (六)使用ResNet50迁移学习进行COVID-19诊断:从头开始构建深度学习网络
  5. Linux 5.10 LTS 发布,支持到 2026 年
  6. Visual Studio Code 1.48 发布
  7. jpa初学 hibernate学习
  8. java如何取出数组指定数据6_java 从数组取出指定数量的值,相加大于等于或小于等于指定的值,取出对应的组合下标,下标不能重复...
  9. python槽怎么用_【Python成长之路】从零学GUI -- 多窗口跳转(信号与槽函数用法)...
  10. lenovo电脑_诠释什么叫性价比?LENOVO联想ThinkPad P72/P73 ?仅售16200.00元?