m基于matlab的DQPSK调制解调技术的仿真

简介: m基于matlab的DQPSK调制解调技术的仿真

1.算法概述
4进制的DPSK通常记为DQPSK。DQPSK信号编码方式如下表:

1.png

  表中  θk是相对于前一相邻码元的相位变化。共有A、B两种方式。B方式中相邻码元间总有相位改变,故有利于在接收端提取码元同步。另外由于其相邻码元相位的最大相移为±135°,比A方式的最大相移小,素在通过频带受限的系统传输后其振幅起伏也较小。B方式DQPSK又称π/4DQPSK。DQPSK的产生方法与QPSk类似,但是DQPSK先将输入的双比特码经码型变换,再用码型变换器输出的双比特码进行四相绝对移相,则所得到的输出信号就是四相相对移相信号。通常采用的方法是码变换加调相法和码变换加相位选择法。

  码变换加调相法。码变换加调相法产生DQPSK信号的组成方框图如下图所示。串行的二进制不归零双极性码元经串并转换器变换后变为两路并行码元ab,经码变换器变换为相对码元cd,之后分别与一对相干载波相乘,最后进行相加,即可产生DQPSK信号。与QPSK信号的产生方法不同的是,DQPSK的产生需将串并转换后的码元ab经码变换器变为相对码cd,且在相干载波的产生时,用两个π/4相移器代替一个π/2相移器,这样所产生的码元符合A方式编码。

2.png

码变换加相位选择法。其组成方框图如下图所示。其中的逻辑选项电路除按规定完成选择载波的相位外,还应实现将绝对码转换成相对码的功能。也就是说,在四相绝对移相时,直接用输入双比特码去选择载波的相位;而在四相相对移相时,需要将输入的双比特码ab转换成相对应的双比特码cd,再用cd去选择载波的相位,这样就可产生DQPSK信号。
3.png

2、DQPSK信号的解调

DQPSK信号的解调与2DPSK信号的解调类似,也有两种方法,分别是极性比较法和相位比较法。

  极性比较法。其原理方框图如下图所示。由于DQPSK信号可以看做是两路2DPSK信号的合成,解调时也可以分别按两路2DPSK信号解调,因此在解调过程中用两路相干载波去解调,可以很容易分离出这两路正交的2DPSK信号。经低通滤波和抽样判决后恢复出相对相对码,再经码反变换器变换成绝对码,从而恢复出发送的二进制信息。

4.png

相位比较法。其原理方框图如下图所示。用这种方法解调时不需要专门的相干载波,只需由收到的信号时延一个码元间隔T,然后与信号本身相乘。相乘起着相位比较的作用,相乘结果反映了前后码元的相位差,经低通滤波后在抽样判决,即可直接恢复出原始数字信息,故解调器中不需要码反变换器。
5.png

2.仿真效果预览
matlab2022a仿真结果如下:

6.png
7.png
8.png

3.MATLAB部分代码预览

N = 10000;                            %仿真量大小
EbN0_indB = -2 : 0.5 : 12;            %仿真的信噪比点
EbN0 = 10.^(EbN0_indB/10);            %dB转换为自然值
times = 50;                           %仿真次数
err_rate = zeros(length(EbN0),times);
 
for ii = 1 : length(EbN0)
        for i = 1 : times
            r = rand(1,2*N);
            source = r>0.5;           %产生二进制信源
            b = 1 - 2*source;         %改变为反极性           
            bI = zeros(1,N);          %同相支路
            I = zeros(1,N);
            bQ = zeros(1,N);          %正交支路
            Q = zeros(1,N);
            delta = zeros(1,N);       %载波相位差
            for n = 1 : N             %串并变换
                bI(n) = b(2*n);
                bQ(n) = b(2*n-1);
                if n == 1             %差分编码  
                    I(n) = (bI(n)*bI(n) - bQ(n)*bQ(n))/sqrt(2);
                    Q(n) = (bQ(n)*bI(n) + bI(n)*bQ(n))/sqrt(2);
                else
                    I(n) = (I(n-1)*bI(n) - Q(n-1)*bQ(n))/sqrt(2);
                    Q(n) = (Q(n-1)*bI(n) + I(n-1)*bQ(n))/sqrt(2);
                end
            end
            Eb_x = cov(I);                       %信号能量
            Eb_y = cov(Q);
            sigma_x = sqrt(Eb_x/(2*EbN0(ii)));   %根据信噪比计算噪声方差
            sigma_y = sqrt(Eb_y/(2*EbN0(ii)));
            noise_x = randn(1,N)*sigma_x;        %高斯噪声产生
            noise_y = randn(1,N)*sigma_y;
            w = I + noise_x;                     %AWGN信道传输
            z = Q + noise_y;
            errornum_x = 0;              %错误数
            errornum_y = 0;
            for n = 1 : N                %差分译码
                if n == 1
                   x(n) = w(n)*w(n) + z(n)*z(n);
                   y(n) = z(n)*w(n) - w(n)*z(n);
                else
                   x(n) = w(n)*w(n-1) + z(n)*z(n-1);
                   y(n) = z(n)*w(n-1) - w(n)*z(n-1);
                end
                if x(n) <= 0                   %判决x
                    result_x(n) = -1;  
                elseif x(n) > 0
                    result_x(n) = 1;
                end
                if y(n) <= 0                   %判决y
                    result_y(n) = -1;  
                elseif y(n) > 0
                    result_y(n) = 1;
                end
                if result_x(n) ~= bI(n)        %计算x错误数
                    errornum_x = errornum_x + 1; 
                end
                if result_y(n) ~= bQ(n)        %计算y错误数
                    errornum_y = errornum_y + 1;
                end
                if errornum_x + errornum_y >= 100
                    break
                end
            end
            err_rate(ii,i) = (errornum_x + errornum_y)/(2*n);
        end
end
01_051_m
相关文章
|
13天前
|
算法
基于GA遗传优化的TSP问题最优路线规划matlab仿真
本项目使用遗传算法(GA)解决旅行商问题(TSP),目标是在访问一系列城市后返回起点的最短路径。TSP属于NP-难问题,启发式方法尤其GA在此类问题上表现出色。项目在MATLAB 2022a中实现,通过编码、初始化种群、适应度评估、选择、交叉与变异等步骤,最终展示适应度收敛曲线及最优路径。
|
7天前
|
算法 5G 数据安全/隐私保护
3D-MIMO信道模型的MATLAB模拟与仿真
该研究利用MATLAB 2022a进行了3D-MIMO技术的仿真,结果显示了不同场景下的LOS概率曲线。3D-MIMO作为5G关键技术之一,通过三维天线阵列增强了系统容量和覆盖范围。其信道模型涵盖UMa、UMi、RMa等场景,并分析了LOS/NLOS传播条件下的路径损耗、多径效应及空间相关性。仿真代码展示了三种典型场景下的LOS概率分布。
21 1
|
1天前
|
算法 数据挖掘 vr&ar
基于ESTAR指数平滑转换自回归模型的CPI数据统计分析matlab仿真
该程序基于ESTAR指数平滑转换自回归模型,对CPI数据进行统计分析与MATLAB仿真,主要利用M-ESTAR模型计算WNL值、P值、Q值及12阶ARCH值。ESTAR模型结合指数平滑与状态转换自回归,适用于处理经济数据中的非线性趋势变化。在MATLAB 2022a版本中运行并通过ADF检验验证模型的平稳性,适用于复杂的高阶自回归模型。
|
1天前
|
机器学习/深度学习 算法
基于心电信号时空特征的QRS波检测算法matlab仿真
本课题旨在通过提取ECG信号的时空特征并应用QRS波检测算法识别心电信号中的峰值。使用MATLAB 2022a版本实现系统仿真,涵盖信号预处理、特征提取、特征选择、阈值设定及QRS波检测等关键步骤,以提高心脏疾病诊断准确性。预处理阶段采用滤波技术去除噪声,检测算法则结合了一阶导数和二阶导数计算确定QRS波峰值。
|
1天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于PSO粒子群优化的GroupCNN分组卷积网络时间序列预测算法matlab仿真
本项目展示了一种结合粒子群优化(PSO)与分组卷积神经网络(GroupCNN)的时间序列预测算法。该算法通过PSO寻找最优网络结构和超参数,提高预测准确性与效率。软件基于MATLAB 2022a,提供完整代码及详细中文注释,并附带操作步骤视频。分组卷积有效降低了计算成本,而PSO则智能调整网络参数。此方法特别适用于金融市场预测和天气预报等场景。
|
5天前
|
算法 5G 数据安全/隐私保护
SCM信道模型和SCME信道模型的matlab特性仿真,对比空间相关性,时间相关性,频率相关性
该简介展示了使用MATLAB 2022a进行无线通信信道仿真的结果,仿真表明信道的时间、频率和空间相关性随间隔增加而减弱,并且宏小区与微小区间的相关性相似。文中介绍了SCM和SCME模型,分别用于WCDMA和LTE/5G系统仿真,重点在于其空间、时间和频率相关性的建模。SCME模型在SCM的基础上进行了扩展,提供了更精细的参数化,增强了模型的真实性和复杂度。最后附上了MATLAB核心程序,用于计算不同天线间距下的空间互相关性。
10 0
|
5天前
|
算法
基于极大似然算法的系统参数辨识matlab仿真
本程序基于极大似然算法实现系统参数辨识,对参数a1、b1、a2、b2进行估计,并计算估计误差及收敛曲线,对比不同信噪比下的误差表现。在MATLAB2022a版本中运行,展示了参数估计值及其误差曲线。极大似然估计方法通过最大化观测数据的似然函数来估计未知参数,适用于多种系统模型。
|
5天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于NSCT非采样轮廓波变换和CNN网络人脸识别matlab仿真
本项目展示了一种结合非采样轮廓波变换(NSCT)与卷积神经网络(CNN)的人脸识别系统。通过NSCT提取多尺度、多方向特征,并利用CNN的强大分类能力实现高效识别。项目包括ORL人脸库的训练结果对比,提供Matlab 2022a版本下的完整代码及详细中文注释,另有操作步骤视频指导。
|
7天前
|
机器学习/深度学习 算法
基于小波神经网络的数据分类算法matlab仿真
该程序基于小波神经网络实现数据分类,输入为5个特征值,输出为“是”或“否”。使用MATLAB 2022a版本,50组数据训练,30组数据验证。通过小波函数捕捉数据局部特征,提高分类性能。训练误差和识别结果通过图表展示。
|
7天前
|
机器学习/深度学习 算法 数据挖掘
基于GWO灰狼优化的CNN-LSTM的时间序列回归预测matlab仿真
本项目展示了一种结合灰狼优化(GWO)与深度学习模型(CNN和LSTM)的时间序列预测方法。GWO算法高效优化模型超参数,提升预测精度。CNN提取局部特征,LSTM处理长序列依赖,共同实现准确的未来数值预测。项目包括MATLAB 2022a环境下运行的完整代码及视频教程,代码内含详细中文注释,便于理解和操作。