2FSK在瑞利衰落信道下的相干与非相干解调误码率-MATLAB基带仿真

发送信号

在基带上,2FSK看作两路正交信号:

s1=(E,0)s_{1}=(\sqrt{\mathcal{E}}, 0)s1​=(E​,0)
s2=(0,E)s_{2}=(0, \sqrt{\mathcal{E}})s2​=(0,E​)

相当于向量的两个位置代表两个频率。
MFSK请参考:MFSK调制与解调-MATLAB基带仿真

瑞利衰落信道
瑞利衰落信道的核心在于乘性衰落因子hhh:

h = (randn(2,L)+1j*randn(2,L))/sqrt(2);    % L为信号长度,两行表示信号为2维

其中2\sqrt22​为归一化系数,使得hhh方差为1。

这里解释几个问题:

Q:为什么hhh服从瑞利分布?
A:在此篇仿真中,我们认为信道不存在多普勒频移,即FDT=0,同时来波的方向是均匀分布且无穷多的,没有直射分量(若有直射分量,信道衰落系数变为莱斯分布),此时信道衰落系数可等效为瑞利分布。若要考虑多普勒频移的影响,需要建立时间选择性衰落信道,此篇文章方法不适用。

Q:为什么仿真中hhh的方差设置为1?
A:设AWGN信道下2FSK系统平均信噪比为EbN0\frac{E_b}{N_0}N0​Eb​​,则瑞利衰落信道下2FSK系统平均信噪比为

γˉb=EbN0E(h2)\bar{\gamma}_{b}=\frac{{E}_{b}}{N_{0}} E\left(h^{2}\right)γˉ​b​=N0​Eb​​E(h2)

为了公平地在一张图中比较2FSK系统在两种信道下的性能差异,要使得仿真中的横坐标,也就是平均信噪比相同,因此设置hhh的方差为1

D(h2)=E(h2)−E2(h)=E(h2)−0=E(h2)D(h^2)=E(h^2)-E^2(h)=E(h^2)-0=E(h^2)D(h2)=E(h2)−E2(h)=E(h2)−0=E(h2)

Q:为什么在仿真中,每一个发送符号都乘了不同的信道衰落系数,信道不是分快衰落和慢衰落吗?
A:实际上,一个相同的hhh持续几个符号,对仿真结果没有影响。我们考察的是统计误码率,只要统计样本足够多,结果是没有变化的。当然在实际问题中,需要考虑信道衰落的平坦与否。

简单评价一下:hhh和nnn对信号的影响有着本质的区别。后者是加性信号,前者是乘性信号,存在对原始信号的放缩作用,因此在利用门限进行判别星座点时,非常容易发生误判。对抗衰落信道的方法有很多,典型的方法有分集等。

相干调制与解调

相干调制:

r(t)=∣h∣⋅s(t)+n(t)r(t)=|h|\cdot s(t)+n(t)r(t)=∣h∣⋅s(t)+n(t)

相干解调:

s^(t)=arg⁡min⁡1≤m≤M∥r(t)−sm(t)∥22\hat{s}(t)=\underset{1 \leq m \leq M}{\arg \min}{\|r(t)-s_m(t)\|_2^{2}}s^(t)=1≤m≤Margmin​∥r(t)−sm​(t)∥22​

2FSK在AWGN信道下的相干解调理论误比特率:

Pb,AWGN=Q(EbN0)P_{b,AWGN}=Q(\sqrt{\frac{\mathcal{E}_b}{N_0}})Pb,AWGN​=Q(N0​Eb​​​)

2FSK在瑞利衰落信道下的相干解调理论误比特率:

γˉb=EbN0E(h2)\bar{\gamma}_{b}=\frac{\mathcal{E}_{b}}{N_{0}} E\left(h^{2}\right)γˉ​b​=N0​Eb​​E(h2)
Pb=12(1−γˉb2+γˉb)P_{b}=\frac{1}{2}(1-\sqrt{\frac{\bar{\gamma}_{b}}{2+\bar{\gamma}_{b}}})Pb​=21​(1−2+γˉ​b​γˉ​b​​​)

非相干调制与解调

非相干调制:

r(t)=h⋅s(t)+n(t)=∣h∣ejϕ⋅s(t)r(t)=h\cdot s(t)+n(t)=|h|e^{j\phi}\cdot s(t)r(t)=h⋅s(t)+n(t)=∣h∣ejϕ⋅s(t)

其中ϕ\phiϕ服从在[0,2π]上的均匀分布。

非相干解调:

s^(t)=arg⁡max⁡1≤m≤M∣r(t)⋅sm(t)∣\hat{s}(t)=\underset{1 \leq m \leq M}{\arg \max}{|r(t)\cdot s_m(t)|}s^(t)=1≤m≤Margmax​∣r(t)⋅sm​(t)∣

2FSK在AWGN信道下的非相干解调理论误比特率:

Pb,AWGN=12e−Eb2N0P_{b,AWGN}=\frac{1}{2}e^{-\frac{\mathcal{E}_{b}}{2N_0}}Pb,AWGN​=21​e−2N0​Eb​​

BPSK在瑞利衰落信道下的非相干解调理论误比特率:

γˉb=EbN0E(h2)\bar{\gamma}_{b}=\frac{\mathcal{E}_{b}}{N_{0}} E\left(h^{2}\right)γˉ​b​=N0​Eb​​E(h2)Pb=12+γˉbP_{b}=\frac{1}{2+\bar{\gamma}_{b}}Pb​=2+γˉ​b​1​

仿真结果

MATLAB基带仿真程序

clc
clear
close all
% Title: 2FSK的在瑞利衰落信道下的相干与非相干检测误码率仿真 %
% Data:  2020.05.04 %
% Author: K.X.SongL = 10000000;                % 蒙特卡洛仿真次数
data = round(rand(1,L));    % 生成长度为L的仿真数据
send = zeros(2,L);        % 预置调制后的发送数据,每列为一个符号,行表示M维信号。% 2FSK调制
for q = 1:Lif (data(q) == 1)send(1,q) = 1;elsesend(2,q) = 1;end
end
h = (randn(2,L)+1j*randn(2,L))/sqrt(2);         % 瑞利衰落信道系数% 设置信噪比
EbN0_dB = 0:2:50;
EbN0 = 10.^(EbN0_dB/10);
Eb = 1;                 % 2FSK的每比特能量
N0 = Eb ./ EbN0;
error_coherent = zeros(1,length(EbN0_dB));
error_noncoherent = zeros(1,length(EbN0_dB));
ser_coherent = zeros(1,length(EbN0_dB));
ser_noncoherent = zeros(1,length(EbN0_dB));
tser_coherent_AWGN = zeros(1,length(EbN0_dB));
tser_coherent_fading = zeros(1,length(EbN0_dB));
tser_noncoherent_AWGN = zeros(1,length(EbN0_dB));
tser_noncoherent_fading = zeros(1,length(EbN0_dB));
for q = 1:length(EbN0_dB)detect_coherent = zeros(1,L);detect_noncoherent = zeros(1,L);noise_coherent = sqrt(N0(q)/2) * randn(2,L);                                % 相干调制噪声noise_noncoherent = (sqrt(N0(q)/2) + 1j * sqrt(N0(q)/2)) * randn(2,L);      % 非相干调制噪声receive_coherent = abs(h).*send + noise_coherent;                           % 瑞利衰落信道相干调制receive_noncoherent = h.*send + noise_noncoherent;                          % 瑞利衰落信道相干调制% 相干解调for w = 1:Lif (receive_coherent(1,w) > receive_coherent(2,w))detect_coherent(w) = 1;                                 % argmin判决,相干解调end% 统计错误数if (detect_coherent(w) ~= data(w))error_coherent(q) = error_coherent(q) + 1;endend% 非相干解调for w = 1:Lr_1 = abs(dot(receive_noncoherent(:,w),[1;0]));r_2 = abs(dot(receive_noncoherent(:,w),[0;1]));if (r_1 > r_2)detect_noncoherent(w) = 1;                                 % argmin判决,相干解调end% 统计错误数if (detect_noncoherent(w) ~= data(w))error_noncoherent(q) = error_noncoherent(q) + 1;endendser_coherent(q) = error_coherent(q) / L;ser_noncoherent(q) = error_noncoherent(q) / L;% 2FSK在AWGN信道下相干解调理论误码率tser_coherent_AWGN(q) = qfunc(sqrt(EbN0(q)));% 2FSK在瑞利衰落信道下相干解调理论误码率tser_coherent_fading(q) = 1/2*(1-sqrt(EbN0(q)/(2+EbN0(q))));% 2FSK在AWGN信道下非相干解调理论误码率tser_noncoherent_AWGN(q) = 1/2*exp(-EbN0(q)/2);% 2FSK在瑞利衰落信道下相干解调理论误码率tser_noncoherent_fading(q) = 1/(2+EbN0(q));
end% 画图
semilogy(EbN0_dB,ser_coherent,'o',EbN0_dB,ser_noncoherent,'o',EbN0_dB,tser_coherent_AWGN,'b',EbN0_dB,tser_noncoherent_AWGN,'m',EbN0_dB,tser_coherent_fading,'r',EbN0_dB,tser_noncoherent_fading,'k');
grid on;
xlabel('Eb/N0 (dB)');
ylabel('SER');
legend('2FSK在瑞利衰落信道下的相干检测仿真误码率','2FSK在瑞利衰落信道下的非相干检测仿真误码率','2FSK在AWGN信道下的相干检测理论误码率',...'2FSK在AWGN信道下的非相干检测理论误码率','2FSK在瑞利衰落信道下的相干检测理论误码率','2FSK在瑞利衰落信道下的非相干检测理论误码率');
axis([0 50 10^-5 10^-1]);

2FSK在瑞利衰落信道下的相干与非相干解调误码率-MATLAB基带仿真相关推荐

  1. MFSK调制与相干解调-MATLAB基带仿真

    MFSK调制与相干解调-MATLAB基带仿真 MFSK调制原理 发送信号形式:(等概) s 1 = ( E , 0 , - , 0 ) s_{1}=(\sqrt{\mathcal{E}}, 0, \l ...

  2. (7,4)汉明码在BPSK系统下的性能-MATLAB基带仿真

    (7,4)汉明码在BPSK系统下的性能-MATLAB基带仿真 仿真步骤 产生一定长度的值为0或1的随机序列 d ( t ) d(t) d(t). 根据监督矩阵,将初始数据序列映射为编码后的二元序列 s ...

  3. ocdma相干非相干_非相干系统是什么意思

    1. 我们分析了利用Edge技术的非相干激光雷达风场测量系统以及使用圆锥扫描激光束的方式,连续4次对观测场内的大气进行视线速度测量的风场探测反演方法. We analyzed the edge the ...

  4. 相干与非相干FSK解调和Viterbi软硬判性能的仿真对比

    同频同相的载波信号与已调制信号相乘,可以解调出基带信号的解调方法称为相干解调. 相干解调表明接收端本地的载波和发送载波同频同相(如果是固定相差,很容易校正,令我们头疼的是不确定的随机相差,注意频差无非 ...

  5. MATLAB相干成像系统,Matlab光学仿真课程设计-基于Matlb相干与非相干照明成像系统的仿真.docx...

    Matlab光学仿真课程设计-基于Matlb相干与非相干照明成像系统的仿真 东 北 石 油 大 学课 程 设 计课课 程 Matlab光学仿真课程设计 题 目 基于Matlab相干与非相干照明 成像系 ...

  6. 用python写出瑞利衰落信道下的QPSK程序

    好的.瑞利衰落信道是一种电信信道模型,其中信号在传输过程中会受到衰落.QPSK (Quadrature Phase Shift Keying) 是一种相位移相键控方式,其中信号的相位会在四个状态之间移 ...

  7. 4PAM在高斯信道与瑞利信道下的基带仿真系统实验

    1.系统框图 2.代码 clear all close all clc N = 10000; %比特数 SNR=0:10; %SNR的范围 EbN0 = 10.^(SNR/10); err_num=z ...

  8. 选择分集matlab程序,瑞利衰落信道下采用MRC分集误码性能Matlab程序

    % MRC_scheme.m % Receiver diversity - MRC %MIMO-OFDM Wireless Communications with MATLAB㈢Yong Soo Ch ...

  9. ocdma相干非相干_相干成像与非相干成像系统的比较

    1.两个物点间的分辨率 就圆形光瞳.非相干照明方式,按瑞利判据,若一点源产生的艾里斑中心正好落在另一点源的艾里斑的第一个极小上,则称为"刚好能够分辨的".而由圆孔衍射知,第一个暗环 ...

  10. 相干解调与非相干解调

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 相干和非相干 前言 一.相干的概念 二.非相干的概念 总结 参考链接: 前言 通信中经常会出现"相干"与" ...

最新文章

  1. python专科找工作难吗-本人小白,想学python,大专不知道好不好找工作?
  2. RTSP协议转换RTMP直播协议
  3. 稳定菜篮子市场供需 农业大健康-林裕豪:从玉农业全力保障
  4. 【Linux】一步一步学Linux——echo命令(203)
  5. spring mvc学习(28):get乱码解决
  6. android touch事件坐标原点,Android – 捏缩放ontouch事件坐标
  7. windows server 2008安装wampserver后几种小问题个人总结
  8. 【算法】—— 不借助中间变量实现 swap
  9. mongoDB 使用 mongoVue
  10. 数学建模学习笔记(一) 层次分析法
  11. UDE2021未来生活领袖峰会:视像行业发展趋势研究报告发布
  12. python3字典运算_Python3字典与集合
  13. 面向服务的体系架构(SOA)—架构篇
  14. 怎么把收藏夹变成html文件,用Delphi将IE收藏夹导出为HTML文件
  15. 在线编辑视频、去重消重去水印视频深度处理什么视频批量采集下载软件好?在什么网站下载好?...
  16. 钉钉全栈化实践总结-前端篇
  17. keyshot怎么贴logo_如何使用KeyShot添加有织纹的Logo
  18. 读书笔记-请求即是恭维
  19. oracle账户密码怎么写,oracle 10g默认用户名、密码解锁
  20. 升级jenkins 导致jenkins启动失败_害你加班的Bug是我写的,记一次升级Jenkins插件引发的加班

热门文章

  1. Jmeter基础篇(01):如何进行post接口压力测试
  2. 微信小程序开发之——WebView
  3. SVN下载安装与使用
  4. 计算机组成原理实验数据通路,《计算机组成原理》实验报告——数据通路
  5. mysql中YEARWEEK跨年引发的线上问题
  6. CTEX编译Xelatex以及如何更新Miktex
  7. python嵩天ppt_嵩天python课程笔记1
  8. NS 一张SD卡三系统(真实10.2,虚拟SX 11.0.1,虚拟大气层12.02),重启随意切换,免插线注入
  9. 昂达平板不能开机刷机_平板电脑不开机怎么刷机?昂达平板电脑刷机步骤
  10. php公众号开发 点菜,微信公众号点餐系统怎么弄 微信点餐系统怎么开发