m基于matlab的连续相位调制(CPM)解调系统仿真,包括解调,同步等模块

简介: m基于matlab的连续相位调制(CPM)解调系统仿真,包括解调,同步等模块

1.算法描述

    随着数字通信技术的飞速发展,数字通信的调制技术也得到了快速发展,其中连续相位调制(Continuous Phase Modulation,CPM)作为一种全新的通信调制方法得到了越来越多的关注。CPM和传统调制方法不同之处在于,其具有带外辐射小,抗干扰能力强以及频率利用效率高等优势。这是由于传统的FSK和PSK等调制方式,其存在调制相位不连续的情况,而这种不连续的现象会导致相位突变问题,即在信号的传输过程中,信号会从一个相位特性突然切换到另外一个相位特性使得信号在频域存在较大的旁瓣,那么此时需要一个较大的频带来进行传输,导致频谱利用率低下,而CPM调制方式则可以有效避免这种现象发生。CPM是一种通过恒包络调制,从而降低了CPM信号的发送功率。       

   CPM(连续相位调制)是近年来发展很快的一种高效的调制技术。与其它调制技术相比,它具有较高的频谱利用率和功率效率,这也令它在通信资源日益紧张的今天得到了越来越多的关注。CPM信号包含大量的信号形式,其共同的特点是信号包络恒定、相位连续。CPM调制体系是一种信道编码和调制相结合的方式,通过生成相位状态格子序列控制下一时刻的状态转移,因此信息符号的调制直接具有编码效应,从而无须更多的冗余符号.CPM调制体系可以通过最大似然序列估计(MLSE)对接收信号进行软判决,实现低信噪比条件下的高检测概率.这些优良特性使得CPM技术在幅度衰落信道中实现高数据传输速率的通信系统中具有广阔的应用前景.

    CPM即使连续相位调制(Continue Phase Modulation),是一种相位调制技术,它具有相位连续的特点,频谱特性优良,相比PSK调制方式,具有更高的频带利用率。并且,CPM调制体系是一种信道编码和调制相结合的方式,通过生成相位状态格子序列控制下一时刻的状态转移,因此信息符号的调制直接具有编码效应,从而无须更多的冗余符号.CPM调制体系可以通过最大似然序列估计(MLSE)对接收信号进行软判决,实现低信噪比条件下的高检测概率.这些优良特性使得CPM技术在幅度衰落信道中实现高数据传输速率的通信系统中具有广阔的应用前景.

  CPM基带信号可以表示为

image.png

其瞬时相位信息可以表示为:

image.png

CPM信号最大的优势在于其频谱利用率较高,当传输的符号为等概率情况下,CPM信号的功率谱表达式为 :
image.png

CPM解调系统如下:

image.png

    在CPM解调过程中,接收信号通过载波同步模块,得到解调之后的基带信号,然后通过低通滤波器滤除存在的高频信息,然后将得到的基带信号进行定时同步操作得到定时同步的基带数据,从而完成CPM解调。  目前, CPM信号的载波同步方法主要分为数据辅助同步和非数据辅助同步。数据辅助同步方法的同步性能较好, 但需占用额外的传输带宽和功率; 非数据辅助同步方法不需额外的带宽和功率, 但同步精度较差, 且仅适用于信噪比较高的情况, 很难实现有效同步。

传统的CPM信号使用Viterbi算法实现相干解调, 不便于软信息的提取, 为此, 采用MAP算法对CPM信号进行软解调, 以获取载波相位同步所需的软解调信息。

由Rimoldi分解可知, CPM信号隐含一个具有记忆性的网格编码器, 类比卷积码的网格图, 可定义

image.png

时刻CPM信号的状态为: 时刻的状态即为: 相邻时刻两个相位状态之间的关系为:

image.png

CPM信号的网格图如图1所示, 其中

image.png

和 分别表示起始状态和结束状态, 和 分别表示输入信息符号和输出码字符号, 表示状态集合, 表示输入符号集合, 表示任意两个网格状态之间的所有可能状态转移。

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

image.png
image.png
image.png
image.png

3.MATLAB核心程序

N_fft=OVS*2*4;   
M_fft=OVS*2;   
L_fft=N_fft/M_fft;
 
N_data=100;
preamble=[1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0];
tao0=0.2*T/OVS;
 
t=[0:T/OVS:L*T];
gt=( 1-cos( 2*pi*(t-tao0)/(L*T) ) )/(2*L*T);
gt=gt(1:(length(gt)-1));
 
 
databit=rand(1,N_data)>0.5;
modbit=[preamble,databit];
length_modbit=length(modbit);
length_modsignal=(length_modbit+2)*OVS;
 
mod_gt=zeros(1,length_modsignal);
for ii=1:length_modbit
    if modbit(ii)==1    %1is modulated to -1
        mod_gt((ii-1)*OVS+1:(ii-1)*OVS+L*OVS)=mod_gt((ii-1)*OVS+1:(ii-1)*OVS+L*OVS)-gt;
    else
        mod_gt((ii-1)*OVS+1:(ii-1)*OVS+L*OVS)=mod_gt((ii-1)*OVS+1:(ii-1)*OVS+L*OVS)+gt;
    end
end 
 
phai=zeros(1,length_modsignal);
for ii=1:length_modsignal
 
 phai(ii)=mod(2*pi*h*sum(mod_gt(1:ii)),2*pi);
 
end 
modsignal=cos(phai);
 
I=cos(phai);
Q=sin(phai);
 
%假设已经鉴频完毕
freq_d=[zeros(1,16*OVS),mod_gt+2000*2*pi];
freq_demod=awgn(freq_d,10);   
 
 
tmp_fft_L=zeros(1,length(freq_demod)-N_fft+1); %tone component
tmp_deltaf=zeros(1,length(freq_demod)-N_fft+1);%carrier offset
tmp_symbole=zeros(1,length(freq_demod)-N_fft+1);%symbol timing error
for ii=N_fft:(length(freq_demod))
    tmp_deltaf(ii-N_fft+1)=sum(freq_demod(ii-N_fft+1:ii))/(2*pi*N_fft);
    nn=0;
    for jj=ii-N_fft+1:ii
        tmp_fft_L(ii-N_fft+1)=tmp_fft_L(ii-N_fft+1)+freq_demod(jj)*exp(-i*(2*pi/M_fft)*nn);%第L个
        nn=nn+1;
    end
    tmp_symbole(ii-N_fft+1)=-((T/ts)/pi)*angle(tmp_fft_L(ii-N_fft+1));
end 
 
相关文章
|
2天前
|
算法 数据安全/隐私保护 计算机视觉
基于二维CS-SCHT变换和LABS方法的水印嵌入和提取算法matlab仿真
该内容包括一个算法的运行展示和详细步骤,使用了MATLAB2022a。算法涉及水印嵌入和提取,利用LAB色彩空间可能用于隐藏水印。水印通过二维CS-SCHT变换、低频系数处理和特定解码策略来提取。代码段展示了水印置乱、图像处理(如噪声、旋转、剪切等攻击)以及水印的逆置乱和提取过程。最后,计算并保存了比特率,用于评估水印的稳健性。
|
1天前
|
机器学习/深度学习 算法 安全
m基于Q-Learning强化学习的路线规划和避障策略matlab仿真
MATLAB 2022a仿真实现了Q-Learning算法在路线规划与避障中的应用,展示了智能体在动态环境中学习最优路径的过程。Q-Learning通过学习动作价值函数Q(s,a)来最大化长期奖励,状态s和动作a分别代表智能体的位置和移动方向。核心程序包括迭代选择最优动作、更新Q矩阵及奖励机制(正奖励鼓励向目标移动,负奖励避开障碍,探索奖励平衡探索与利用)。最终,智能体能在复杂环境中找到安全高效的路径,体现了强化学习在自主导航的潜力。
7 0
|
2天前
|
机器学习/深度学习 算法 数据挖掘
基于GWO灰狼优化的CNN-LSTM-Attention的时间序列回归预测matlab仿真
摘要: 本文介绍了使用matlab2022a中优化后的算法,应用于时间序列回归预测,结合CNN、LSTM和Attention机制,提升预测性能。GWO算法用于优化深度学习模型的超参数,模拟灰狼社群行为以求全局最优。算法流程包括CNN提取局部特征,LSTM处理序列依赖,注意力机制聚焦相关历史信息。GWO的灰狼角色划分和迭代策略助力寻找最佳解。
|
2天前
|
算法 计算机视觉
基于高斯混合模型的视频背景提取和人员跟踪算法matlab仿真
该内容是关于使用MATLAB2013B实现基于高斯混合模型(GMM)的视频背景提取和人员跟踪算法。算法通过GMM建立背景模型,新帧与模型比较,提取前景并进行人员跟踪。文章附有程序代码示例,展示从读取视频到结果显示的流程。最后,结果保存在Result.mat文件中。
|
2天前
|
资源调度 算法 块存储
m基于遗传优化的LDPC码OMS译码算法最优偏移参数计算和误码率matlab仿真
MATLAB2022a仿真实现了遗传优化的LDPC码OSD译码算法,通过自动搜索最佳偏移参数ΔΔ以提升纠错性能。该算法结合了低密度奇偶校验码和有序统计译码理论,利用遗传算法进行全局优化,避免手动调整,提高译码效率。核心程序包括编码、调制、AWGN信道模拟及软输入软输出译码等步骤,通过仿真曲线展示了不同SNR下的误码率性能。
9 1
|
2天前
|
存储 算法 数据可视化
基于harris角点和RANSAC算法的图像拼接matlab仿真
本文介绍了使用MATLAB2022a进行图像拼接的流程,涉及Harris角点检测和RANSAC算法。Harris角点检测寻找图像中局部曲率变化显著的点,RANSAC则用于排除噪声和异常点,找到最佳匹配。核心程序包括自定义的Harris角点计算函数,RANSAC参数设置,以及匹配点的可视化和仿射变换矩阵计算,最终生成全景图像。
|
2天前
|
算法 Serverless
m基于遗传优化的LDPC码NMS译码算法最优归一化参数计算和误码率matlab仿真
MATLAB 2022a仿真实现了遗传优化的归一化最小和(NMS)译码算法,应用于低密度奇偶校验(LDPC)码。结果显示了遗传优化的迭代过程和误码率对比。遗传算法通过选择、交叉和变异操作寻找最佳归一化因子,以提升NMS译码性能。核心程序包括迭代优化、目标函数计算及性能绘图。最终,展示了SNR与误码率的关系,并保存了关键数据。
16 1
|
2天前
|
数据安全/隐私保护
地震波功率谱密度函数、功率谱密度曲线,反应谱转功率谱,matlab代码
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
2天前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)

热门文章

最新文章