数字频带传输——多进制数字调制及MATLAB仿真

简介: 数字频带传输——多进制数字调制及MATLAB仿真

前言

数字频带信号通常也称为数字调制信号,其信号频谱通常是带通型的,适合于在带通型信道中传输。数字调制是将基带数字信号变换成适合带通型信道传输的一种信号处理方式,正如模拟通信中的一样,可以通过对基带信号的频谱搬移来适应信道特性,也到同样的目的可以采用频率调制、相位调制的方式来达到同样的目的。

本文将主要通过 Matlab 来学习多进制的调制解调方式,包括 QPSK、OQPSK,并分析和仿真这些调制系统在 AWGN 信道下的性能。


一、MASK(一维信号)

1、MASK 简介

MASK 信号将 M 进制数字符号一一映射为 M 个幅度值不同的波形,可以写成如下形式:


image.png

image.png

2、MASK 矢量表示


image.png

image.png

因此,MASK信号可以用一维信号空间中的点(星座)表示,如下图示意了 8ASK 的星座图。

PAM 信号星座

二、MPSK(二维信号)

1、MPSK 简介

MPSK 信号将 M进制符号与 M 个载波相位一一对应,可以写成如下形式:

image.png

2、MPSK 矢量表示


image.png

因此,MPSK 可以用二维空间中的星座点表示,下图示意了 QPSK 调制的星座图

QPSK 信号星座(M=4)

三、MQAM(二维信号)

1、MQAM 简介


image.png

image.png

2、MQAM 信号的矢量表示


image.png

16QAM 信号星座

四、正交 MFSK(M维信号)

image.png

五、MATLAB 仿真

场景:设信道加性高斯白噪声的双边功率谱密度为 N 0 / 2 N_0/2N0/2,发送信号平均每符号能量 E s E_sEs,利用 MATLAB ,通过仿真的方法仿真 QPSK 系统在 AWGN 信道下的性能

思路:利用 MATLAB ,可以通过蒙特卡罗仿真的方式得到 MPSK 系统的误码率,如下图所示

MPSK 等效基带系统在无码间干扰 AWGN 信道下性能仿真框图

1、MATLAB 源码

%MPSK系统系统的仿真
clear all;
close all;
M=4;     %QPSK
EsN0dB = 3:0.5:10;
EsN0 = 10.^( EsN0dB/10 );
Es = 1;
N0 = 10.^( -EsN0dB/10 );
sigma = sqrt(N0/2);
error = zeros(1,length(EsN0dB));
s_data = zeros(1,length(EsN0dB));
for k=1:length(EsN0dB)
    error(k)=0;
    s_data(k) = 0;
    while error(k)<1000
        %产生信源 1,2,3,4均匀分布
        d = ceil( rand(1,10000)*M );
        %调制成QPSK信号(复基带形式)
        s = sqrt(Es)*exp(j*2*pi/M*(d-1));
        %加入信道噪声(复噪声)
        r = s + sigma(k)*( randn(1,length(d)) + j*randn(1,length(d)) );
        %判决
        for m=1:M    %计算距离
            rd(m,:) = abs( r - sqrt(Es)*exp(j*2*pi/M*(m-1)) );
        end
        for m=1:length(s)   %判决距离最近的点
            dd(m) = find( rd(:,m) == min(rd(:,m)) );
            if dd(m)~=d(m)
                error(k) = error(k)+1;
            end
        end
        s_data(k) = s_data(k)+10000;
    end
%    drawnow
%    semilogy(EsN0dB, error./(s_data+eps)); hold on;
end
Pe = error./s_data;
%理论计算的误码率结果
Ps = erfc( sqrt(EsN0)*sin(pi/M) );
semilogy(EsN0dB,Pe,'b*-'); hold on;
semilogy(EsN0dB,Ps,'rd-');
xlabel('Es/N0(dB)'); ylabel('误码率');
legend('仿真结果','理论计算结果');

2、仿真及结果

从上图可以看到,仿真结果与理论计算结果的误码率曲线基本重合。

目录
相关文章
|
7天前
|
算法 安全 数据安全/隐私保护
基于game-based算法的动态频谱访问matlab仿真
本算法展示了在认知无线电网络中,通过游戏理论优化动态频谱访问,提高频谱利用率和物理层安全性。程序运行效果包括负载因子、传输功率、信噪比对用户效用和保密率的影响分析。软件版本:Matlab 2022a。完整代码包含详细中文注释和操作视频。
|
4天前
|
人工智能 算法 数据安全/隐私保护
基于遗传优化的SVD水印嵌入提取算法matlab仿真
该算法基于遗传优化的SVD水印嵌入与提取技术,通过遗传算法优化水印嵌入参数,提高水印的鲁棒性和隐蔽性。在MATLAB2022a环境下测试,展示了优化前后的性能对比及不同干扰下的水印提取效果。核心程序实现了SVD分解、遗传算法流程及其参数优化,有效提升了水印技术的应用价值。
|
7天前
|
机器学习/深度学习 算法 调度
基于ACO蚁群优化的VRPSD问题求解matlab仿真,输出规划路径结果和满载率
该程序基于ACO蚁群优化算法解决VRPSD问题,使用MATLAB2022a实现,输出优化收敛曲线及路径规划结果。ACO通过模拟蚂蚁寻找食物的行为,利用信息素和启发式信息指导搜索,有效求解带时间窗约束的车辆路径问题,最小化总行程成本。
|
5天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于贝叶斯优化CNN-LSTM网络的数据分类识别算法matlab仿真
本项目展示了基于贝叶斯优化(BO)的CNN-LSTM网络在数据分类中的应用。通过MATLAB 2022a实现,优化前后效果对比明显。核心代码附带中文注释和操作视频,涵盖BO、CNN、LSTM理论,特别是BO优化CNN-LSTM网络的batchsize和学习率,显著提升模型性能。
|
5天前
|
算法 C++ Windows
基于离散差分法的复杂微分方程组求解matlab数值仿真
本程序基于离散差分法求解复杂微分方程组,将连续微分方程转化为差分方程,采用一阶显式时间格式和一阶偏心空间格式。在MATLAB2022a上测试通过,展示了运行结果。
|
10天前
|
机器学习/深度学习 存储 算法
基于圆柱体镜子和光线跟踪实现镜反射观测全景观图的matlab模拟仿真
本程序基于圆柱体镜子和光线跟踪技术,实现镜反射观测全景观图。通过模拟光线在场景与圆柱镜面之间的交互,构建出360°全景视图。核心算法涉及几何光学、计算机图形学和数值计算,适用于MATLAB 2022a版本。
|
10天前
|
编解码 算法 数据安全/隐私保护
基于BP译码的LDPC误码率matlab仿真,分析码长,码率,信道对译码性能的影响,对比卷积码,turbo码以及BCH码
本程序系统基于BP译码的LDPC误码率MATLAB仿真,分析不同码长、码率、信道对译码性能的影响,并与卷积码、Turbo码及BCH编译码进行对比。升级版增加了更多码长、码率和信道的测试,展示了LDPC码的优越性能。LDPC码由Gallager在1963年提出,具有低复杂度、可并行译码等优点,近年来成为信道编码研究的热点。程序在MATLAB 2022a上运行,仿真结果无水印。
47 0
|
3月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
161 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
3月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
116 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
3月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
84 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码