课设要求:
假定通信双方在单输入单输出的无线加性高斯信道上,按BPSK的调制方式进行信息传输,试在给定[-15dB.15dB]的信噪比范围,分别完成以下工作:
(1)MATLAB分别绘制信噪比为-10dB、-5dB、0dB、5dB时,1000次信道实现下的接收信号星座图,并最终将所绘制四幅图以子图的形式呈现在一幅图中.
(2)试在[-15dB.15dB]范围里每个信噪比点进行1000000次信道的实现,且接收端执行最大似然检测的条件下,绘制出通信系统的误比特率(BER)曲线图.

网上搜了一下,只有误比特率的仿真,而星座图的仿真却没有资料,所以自己写了星座图。

clear;
Maxbit = 1000;
Eb = 1;
% fs = 0.01:0.01:Maxbit;
% f = cos(fs*2*pi+pi/2);
% fs = sin(fs*2*pi+pi/2);
for j=1:4   i = j*5-15;b = rand(1,Maxbit);         b_bin = round(b);                b2 = sign(b_bin - 0.5);%     b3 = repmat(b2,Maxbit,1);%     b4 = reshape(b3,1,[]);%     z = f.*b4;%     plot(z);SNR = 10 ^( 0.1 * i);           N0 = Eb/SNR;Sigma = sqrt(N0/2);Noise = Sigma*randn(1,Maxbit);Noises = Sigma*randn(1,Maxbit);%             %       Noise2 = repmat(Noise,Maxbit,1);%       Noise3 = reshape(Noise2,1,[]);%       %       Noises2 = repmat(Noises,Maxbit,1);%       Noises3 = reshape(Noises2,1,[]);%       zn = Noise3.*f + Noises3.*fs;Snt = b2 + Noise;subplot(2,2,j);scatter(Snt,Noises,'+');hold on;scatter(-1,0,'red');hold on;scatter(1,0,'red');axis([-5 5,-5 5])end
Maxbit = 1000000;
for j=1:31i = j-16;b = rand(1,Maxbit);         b_bin = round(b);                b2 = sign(b_bin - 0.5);SNR = 10 ^( 0.1 * i);           N0 = Eb/SNR;Sigma = sqrt(N0/2);Noise = Sigma*randn(1,Maxbit);Snt = b2 + Noise;res(Snt<0) = -1;res(Snt>=0) = 1;St = res .* b2;err(j) = length(find(St<=0));Pb(j) = err(j)/Maxbit*100;end
figure(2);
semilogy(-15:1:15,Pb);
grid on;
xlabel('信噪比(dB)');
ylabel('误码率Pe')

仿真结果:
星座图:

误比特率曲线:

注释掉的那部分代码是BPSK的调制过程,写完了以后发现,在绘制星座图的过程中,并不需要真正的进行调制就可以画出来,实际上,星座图中的实轴是信号的同向分量,虚轴是其正交分量,而只有噪声中含有正交分量。

MATLAB中BPSK的星座图及误比特率(BER)曲线仿真相关推荐

  1. 星座图matlab是什么意思,matalb中画星座图 matlab中怎么绘制星座图

    看看这个程序是否符合你的要求:按下鼠标左键开始绘制一个星座图,点击右键结束当前星座 function xingzuo figure('WindowButtonDownFcn',@wbdcb) ah = ...

  2. matlab序列负轴,MATLAB中雷达信号回波图为什么会有负半轴

    公告: 为响应国家净网行动,部分内容已经删除,感谢读者理解. 话题:MATLAB中雷达信号回波图为什么会有负半轴?哪条产生 问题详情:re, plot(0:ts:(16*N-1)*ts,s_pc), ...

  3. qpsk相点 matlab,QPSK误码率和星座图MATLAB仿真

    一.数字调制便是把数字基带信号的频谱搬移到高频处,构成适宜在信道中传输的带通讯号.根柢的数字调制办法有振幅键控(ASK).频移键控(FSK).必定相移键控(PSK).相对(差分)相移键控(DPSK). ...

  4. MATLAB中使用magnify做图中图

    网上一般有三种方法在MATLAB中做图中图,但是我感觉使用magnify是magnify是个动态放大镜,固化后可以用tools>edit plot移动小图,能选取多个局部图.下面详细讲解其使用方 ...

  5. matlab中如何转动三维图_MATLAB小技巧之:绕任意空间轴旋转三维图形

    x=1:0.1:10; y=sin(x); c=cosd(15); s=sind(15); X=x*c-y*s; Y=x*s+y*c; plot(x,y) hold on plot(X,Y) 这就是新 ...

  6. matlab中如何转动三维图_matlab中的三维坐标系与旋转

    1. matlab中的三维坐标系 matlab中的三维坐标系是使用的右手坐标系: 输入以下代码: >> plot3(0,0,0) >> xlabel('axis X') > ...

  7. 基于Matlab中Simulink生成FPGA-Verilog语言及联合Vivado的仿真(以卡尔曼-Kalman滤波器为例)

    目录 一.简介 二.在Simulink中生成Verilog语言 1.在Simulink中建立Kalman滤波器仿真 2.将Kalman滤波器部分打包 3.生成Verilog程序 3.1.参数配置 3. ...

  8. matlab频响优化,MATLAB中关于频响图函数最优化的程序问题

    我是一名大四的学生,现在正在做毕业设计,因MATLAB从未学过,也是边学边做,我需要求出IGv函数的频率响应图,因IGv的表达式很复杂,这里我没列出,在下面的程序中有的,以下是我的程序,请高手帮我看看 ...

  9. matlab中如何转动三维图_matlab如何画三维图

    展开全部 1.plot3三维曲线图.e69da5e887aa62616964757a686964616f31333431343665 启动MATLAB,新建脚本(.m文件),在脚本编辑区输入以下代码, ...

最新文章

  1. 不等距双杆模型_气体中的变质量模型
  2. Silverlight 置于悬浮层之下 背景透明的方法
  3. 解方程 2014NOIP提高组 (数学)
  4. java获取接口数据类型_java中调用第三方接口获取数据的方式
  5. 快手文档 - www.kuaishou.net
  6. 深度学习(9)TensorFlow基础操作五: Broadcasting
  7. fabric 转账_Fabric 学习笔记-架构初探
  8. html实现 左图右文_让CSS flex布局最后一行左对齐的N种方法
  9. mysql中的删除语法错误_mysql – EXPLAIN中的SQL语法错误
  10. 《大数据》2015年第3期“研究”——大数据流式计算:应用特征和技术挑战
  11. 软件工程课设迭代开发第二天
  12. 效率源希捷硬盘远程维修案例-K9盘卡死引起的F级处理
  13. 力扣剑指 Offer 17. 打印从1到最大的n位数
  14. 形式多样!APP引导页设计灵感
  15. DES, TripleDES and BlowFish in Silverlight
  16. Unity3D基础19:Tag标签
  17. 读《scikiit-learn机器学习》黄永昌第二章
  18. 利用com.googlecode.libphonenumber解析手机号归属地
  19. 服务器状态显示异常,进lol显示服务器异常请稍后再试
  20. 学python千万别想当然

热门文章

  1. 一步一步学习Glade
  2. Origin 中对曲线打定点,以及显示相应的坐标轴刻度
  3. kaldi-yesno例子
  4. mycat 瑞士军刀mycat-web详解
  5. android中怎么实现点击按钮进行页面的跳转
  6. 大白话说网络(四)-----应用层常用协议介绍
  7. jenkins 配置好,jar不能推到服务器上
  8. android .9png聊天气泡,Android 关于点9图在气泡评论里使用的调研
  9. 一年催回超40亿,催收巨头永雄上市梦仍在
  10. 2017成都车展大数据