m基于simulink的16QAM和2DPSK通信链路仿真,并通过matlab调用simulink模型得到误码率曲线

简介: m基于simulink的16QAM和2DPSK通信链路仿真,并通过matlab调用simulink模型得到误码率曲线

1.算法概述

  2DPSK又称为相对相移键控,它不是利用载波相位的绝对数值传送数字信息,而是用前后码元的相对载波相位值传送数字信息。所谓相对载波相位是指本码与前一码元初相之差。

1.png

如图,这里输入的信号为1000001000_0110001010_0111101000

串并之后得到数据(由于延迟1个符号,数据的第一个值不计入计算,最后一位图中未显示):

I: 1 0 0 1 0 0 1 0 0 1 1 0 1 1 1 0

Q:0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 0

·电平转化

对于2/4电平的转换,其实是将输入信号的4种状态(00,01,10,11)经过编码以后变为相应的4电平信号。这里我们选择的映射关系如表4-1所示。

2.png

2.仿真效果预览
matlab2022a仿真

·串并

3.png

仿真结果如下所示:

4.png
5.png

其最后的速率变为了原数据的1/4了。

·载波调制

该模型的仿真结果如下所示:

6.png

·加入高斯白噪声

这个模块比较简单,但是需要值的注意的是:

7.png

其参数中有个输入信号的功率的输入,所以我们需要在模型中加入如下的模块:

8.png

这个模块就是计算信号的功率的,将5.091输入到参数设置中即可。

9.png

以上是调制部分的仿真和最后的星座图

下面开始仿真解调部分:

·下变频

10.png

其仿真结果如下所示:

11.png

·滤波

这里,滤波器使用的模块为:

12.png
13.png

·电平转化之后得到如下的结果:

14.png

·最后是并串转化

15.png

通过观察和之前的数据,发现完成相同, 这说明是正确的,最后加入误码率统计模块,得到其误码率为:

16.png

这个误码率是一开始传输的时候延迟多出的两个bit信息照成的。

下面仿真其误码率曲线图:

由于误码率曲线是在不同的SNR下仿真的,所以这里就需要借助MATLAB联合Slimulink进行仿真。

17.png

16QAM和2DPSK的对比:

18.png

3.MATLAB部分代码预览

clear;
close all;
warning off;
 
SNRs   = [-2 0 2 4 6 8 10 12 14];
Length = 30000;
Err1   = zeros(1,length(SNRs));
Err2   = zeros(1,length(SNRs));
ind    = 1;
for i = 1:length(SNRs)
    i
    SNR = SNRs(i);
    sim('module_16qam.mdl');%调用simulink模块
    Err1(ind) = ErrQAM.signals.values(end,1);%将simulink的输出结果的平均值作为平均速度
    ind      = ind + 1;%计数器累加    
    clear    ErrQAM
end
ind    = 1;
for i = 1:length(SNRs)
    i
    SNR = SNRs(i);
    sim('module_2dpsk.mdl');%调用simulink模块
    Err2(ind) = Err2dpsk.signals.values(end,1);%将simulink的输出结果的平均值作为平均速度
    ind      = ind + 1;%计数器累加    
    clear    ErrQAM
end
 
figure;
semilogy(SNRs,Err1,'b-*');
grid on;
xlabel('SNR');
ylabel('Err');
legend('16QAM');
 
figure;
semilogy(SNRs,Err2,'b-*');
grid on;
xlabel('SNR');
ylabel('Err');
legend('2DPSK');
 
figure;
semilogy(SNRs,Err1,'b-*');hold on
semilogy(SNRs,Err2,'r-*');hold on
grid on;
xlabel('SNR');
ylabel('Err');
legend('16QAM','2DPSK');
01-45m
相关文章
|
5月前
|
数据可视化
基于MATLAB的OFDM调制发射与接收仿真
基于MATLAB的OFDM调制发射与接收仿真
|
4月前
|
5G
基于IEEE 802.11a标准的物理层MATLAB仿真
基于IEEE 802.11a标准的物理层MATLAB仿真
271 0
|
4月前
|
算法
基于MATLAB/Simulink平台搭建同步电机、异步电机和双馈风机仿真模型
基于MATLAB/Simulink平台搭建同步电机、异步电机和双馈风机仿真模型
|
4月前
|
机器学习/深度学习 编解码 算法
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
基于OFDM技术的水下声学通信多径信道图像传输研究(Matlab代码实现)
244 8
|
4月前
|
数据可视化
16QAM、32QAM和64QAM星座图的MATLAB实现
16QAM、32QAM和64QAM星座图的MATLAB实现
603 4
|
4月前
|
机器学习/深度学习 算法 数据可视化
基于MVO多元宇宙优化的DBSCAN聚类算法matlab仿真
本程序基于MATLAB实现MVO优化的DBSCAN聚类算法,通过多元宇宙优化自动搜索最优参数Eps与MinPts,提升聚类精度。对比传统DBSCAN,MVO-DBSCAN有效克服参数依赖问题,适应复杂数据分布,增强鲁棒性,适用于非均匀密度数据集的高效聚类分析。
|
4月前
|
开发框架 算法 .NET
基于ADMM无穷范数检测算法的MIMO通信系统信号检测MATLAB仿真,对比ML,MMSE,ZF以及LAMA
简介:本文介绍基于ADMM的MIMO信号检测算法,结合无穷范数优化与交替方向乘子法,降低计算复杂度并提升检测性能。涵盖MATLAB 2024b实现效果图、核心代码及详细注释,并对比ML、MMSE、ZF、OCD_MMSE与LAMA等算法。重点分析LAMA基于消息传递的低复杂度优势,适用于大规模MIMO系统,为通信系统检测提供理论支持与实践方案。(238字)
|
5月前
|
传感器 算法 数据挖掘
基于协方差交叉(CI)的多传感器融合算法matlab仿真,对比单传感器和SCC融合
基于协方差交叉(CI)的多传感器融合算法,通过MATLAB仿真对比单传感器、SCC与CI融合在位置/速度估计误差(RMSE)及等概率椭圆上的性能。采用MATLAB2022A实现,结果表明CI融合在未知相关性下仍具鲁棒性,有效降低估计误差。
283 15
|
5月前
|
监控
基于MATLAB/Simulink的单机带负荷仿真系统搭建
使用MATLAB/Simulink平台搭建一个单机带负荷的电力系统仿真模型。该系统包括同步发电机、励磁系统、调速系统、变压器、输电线路以及不同类型的负荷模型。
867 5
|
5月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于WOA鲸鱼优化的XGBoost序列预测算法matlab仿真
基于WOA优化XGBoost的序列预测算法,利用鲸鱼优化算法自动寻优超参数,提升预测精度。结合MATLAB实现,适用于金融、气象等领域,具有较强非线性拟合能力,实验结果表明该方法显著优于传统模型。(238字)

热门文章

最新文章