news 2026/4/18 3:55:45

【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【采用BPSK或GMSK的Turbo码】MSK、GMSK调制二比特差分解调、turbo+BPSK、turbo+GMSK研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥

🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。

⛳️座右铭:行百里者,半于九十。

⛳️赠与读者

👨‍💻做科研,涉及到一个深在的思想系统,需要科研者逻辑缜密,踏实认真,但是不能只是努力,很多时候借力比努力更重要,然后还要有仰望星空的创新点和启发点。当哲学课上老师问你什么是科学,什么是电的时候,不要觉得这些问题搞笑。哲学是科学之母,哲学就是追究终极问题,寻找那些不言自明只有小孩子会问的但是你却回答不出来的问题。建议读者按目录次序逐一浏览,免得骤然跌入幽暗的迷宫找不到来时的路,它不足为你揭示全部问题的答案,但若能让人胸中升起一朵朵疑云,也未尝不会酿成晚霞斑斓的别一番景致,万一它居然给你带来了一场精神世界的苦雨,那就借机洗刷一下原来存放在那儿的“躺平”上的尘埃吧。

或许,雨过云收,神驰的天地更清朗.......🔎🔎🔎

💥1 概述

以下是对BPSK、GMSK调制,二比特差分解调,以及Turbo码结合BPSK、GMSK的相关研究文档的归纳与整理:

一、BPSK调制

BPSK(Binary Phase Shift Keying)即二进制相移键控,是一种利用载波相位的变化来传递数字信息的调制方式。在BPSK中,通常用初始相位0和π分别表示二进制“1”和“0”。

  • 调制原理:BPSK信号的调制原理主要是将输入的二进制数字信号转换为相位信息,然后利用正弦波或余弦波等载波信号进行调制。当输入为“1”时,载波信号的相位为0;当输入为“0”时,载波信号的相位为π。
  • 解调原理:BPSK信号的解调主要采用相干解调法,即接收端需要产生与发送端相同的载波信号,并且载波的相位必须与接收到的信号保持一致。然后,将接收到的信号与本地产生的载波信号进行相乘,再通过低通滤波器去除高频分量,最后通过抽样判决恢复出原始的二进制数字信号。

二、MSK与GMSK调制

MSK(Minimum Shift Keying)即最小频移键控,是一种具有恒定包络和连续相位的二进制调频方式。而GMSK(Gaussian Filtered Minimum Shift Keying)即高斯滤波最小频移键控,是在MSK的基础上发展起来的一种数字调制方式。

  • MSK调制:MSK调制过程可以分为输入比特序列的预处理、相位变化的控制和正交调制三个主要步骤。其解调方式主要有相干解调、一比特差分解调和二比特差分解调等。
  • GMSK调制:GMSK调制的特点是在数据流送交频率调制器前先通过一个高斯滤波器进行预调制滤波,以减小两个不同频率的载波切换时的跳变能量。这使得在相同的数据传输速率时,频道间距可以变得更紧密。GMSK调制的信号频谱紧凑、误码特性好,在数字移动通信中得到了广泛使用,如GSM移动通信体制就采用了GMSK调制方式。

三、二比特差分解调

二比特差分解调是一种改进的非相干解调方法,它通过比较两个比特周期前后的信号相位差进行解调。相比于一比特差分解调,二比特差分解调在一定程度上提高了解调性能,特别是在抗噪声和抗干扰能力方面有所增强。

在二比特差分解调中,接收到的信号首先与其延迟两个比特周期后的信号进行乘积运算,得到一个新的信号。然后,将这个新信号通过低通滤波器处理,去除高频分量,得到一个新的基带信号。最后,通过检测这个基带信号的相位差,可以判定原始比特的变化情况。

四、Turbo码与BPSK、GMSK的结合

Turbo码是一种极为复杂的信道编码技术,由分量码经由交织器级联而成。Turbo码的编码过程实际上是一个利用强约束短码构造伪随机长码的过程。而Turbo码的译码算法主要有基于最大后验概率(MAP)的软输出算法等。

  • Turbo+BPSK:将Turbo码与BPSK调制相结合,可以提高无线图像传输等通信系统的抗干扰能力和传输效率。通过Turbo码的编码和译码过程,可以有效地纠正传输过程中出现的误码,从而提高系统的可靠性。
  • Turbo+GMSK:将Turbo码与GMSK调制相结合,可以进一步提高移动通信系统的性能。GMSK调制本身具有良好的功率谱特性和抗干扰性能,而Turbo码则可以提供更强的纠错能力。因此,这种结合方式在移动通信等领域具有广泛的应用前景。

综上所述,BPSK、GMSK调制以及二比特差分解调、Turbo码等技术都是现代通信系统中重要的组成部分。它们各自具有独特的优点和适用场景,在通信系统的设计和优化中发挥着重要的作用。

📚2 运行结果

2.1 MSK

2.2 GMSK调制,二比特差分解调

2.3 turbo+BPSK

2.4 turbo+GMSK

部分代码:

%系统参数设计
T_start=0;%开始时间
T_stop=1000;%截止时间
T=T_stop-T_start;%仿真持续时间

rs=10;%传输速率
NumBits=20000;%传输bit数

fc=2.5*NumBits/T;%载波频率
L=100;%码元长度

N_sample=NumBits*L;% 采样点数
T_sample=T/N_sample;%采样间隔
f_sample=1/T_sample;%采样频率

f_res=f_sample/N_sample;%频率分辨率

Tb=T/NumBits;%码元周期,单个码元持续时间

%载波
n=1:N_sample;
c1=cos(2*pi*fc*n*T_sample);
c2=sin(2*pi*fc*n*T_sample);

%%
%MSK信号的调制

%随机产生原始01信息比特
a=rand(1,NumBits)>0.5;

%差分编码
a_cf=zeros(1,NumBits);
a_cf(1)=a(1);
for i=2:NumBits
a_cf(i)=~xor(a(i),a_cf(i-1));%进行同或操作

%参数设置
data_len = 200000; %码元个数
sample_number = 8; %采样个数
Rb = 24000; %码元速率
fc = 96000; %载波频率
alpha = 0.25; %BbTb值
%**************************************************************************

%--------------------------------------------------------------------------
%随机产生传输信号
data = rand_binary(data_len);
%**************************************************************************

%--------------------------------------------------------------------------
%差分编码
data_diff = difference(data);
%**************************************************************************

%--------------------------------------------------------------------------
%参数设置
[signal_out,I_out,Q_out,phase,gt,qt] = mod_gmsk(data_diff,data_len,sample_number,Rb,alpha);
%**************************************************************************

%--------------------------------------------------------------------------
%中频搬移
multi = fc/Rb;
I_temp=interp(I_out,multi);
Q_temp=interp(Q_out,multi);

Fs=fc*sample_number;
t=1/Fs:1/Fs:length(I_temp)*1/Fs;
signal_i=I_temp.*cos(2*pi*fc*t);
signal_q=Q_temp.*sin(2*pi*fc*t);
signal_mod_i=I_temp.*cos(2*pi*fc*t)-Q_temp.*sin(2*pi*fc*t);
signal_mod_q=I_temp.*sin(2*pi*fc*t)+Q_temp.*cos(2*pi*fc*t);
%**************************************************************************

signal_mod_i=signal_mod_i;
signal_mod_q=signal_mod_q;
signal_mod1=signal_mod_i+j*signal_mod_q;

[p1,f1]=periodogram(signal_mod1);
plot(f1,10*log10(p1));
xlabel('归一化频率')
ylabel('功率谱密度/dB')
title('GMSK功率谱密度')

🎉3参考文献

文章中一些内容引自网络,会注明出处或引用为参考文献,难免有未尽之处,如有不妥,请随时联系删除。

[1]张力.跳频GMSK通信与抗干扰跳频通信[D].浙江大学,2003.

[2]李春梅.星载GMSK调制器理论研究与工程实现[D].西安电子科技大学[2024-10-20].DOI:CNKI:CDMD:2.1015.440107.

[3]曾佐祺,李赞.基于Viterbi算法的GMSK信号解调性能分析与仿真[J].重庆邮电大学学报:自然科学版, 2008, 20(2):7.DOI:CNKI:SUN:CASH.0.2008-02-004.

🌈4 Matlab代码实现

资料获取,更多粉丝福利,MATLAB|Simulink|Python资源获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 5:33:30

【使用Copulas对金融时间序列进行波动率估计与预测,涵盖GARCH、EWMA和EqWMA等模型】基于件风险价值(CVaR)、极值理论(EVT)、风险因子及蒙特卡洛模拟进行市场风险管理Matlab

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

作者头像 李华
网站建设 2026/3/13 18:42:09

YOLOv9适合工业质检吗?实测结果告诉你答案

YOLOv9适合工业质检吗?实测结果告诉你答案 在工厂产线巡检、PCB板缺陷识别、药品包装核验等工业质检场景中,一个核心问题始终萦绕在工程师心头:检测模型够不够稳?快不快?准不准?能不能扛住产线24小时连续运…

作者头像 李华
网站建设 2026/4/13 12:40:51

收藏!2026年AI行业三大黄金趋势,Java程序员必看的出路指南

最近和不少开发同行深入交流后,发现一个极具普遍性的问题:技术迭代日新月异,AI浪潮席卷各行各业,很多程序员都陷入了“兴奋又迷茫”的两难境地。尤其是深耕Java领域的小伙伴,频频抛出灵魂拷问:AI时代下&…

作者头像 李华
网站建设 2026/4/15 22:37:32

高效提取歌词的开源工具实用指南

高效提取歌词的开源工具实用指南 【免费下载链接】163MusicLyrics Windows 云音乐歌词获取【网易云、QQ音乐】 项目地址: https://gitcode.com/GitHub_Trending/16/163MusicLyrics 你是否遇到过这些歌词提取难题:下载的歌词时间轴混乱无法同步播放&#xff1…

作者头像 李华
网站建设 2026/3/27 7:07:40

探索SideStore:从安装到配置的全方位指南

探索SideStore:从安装到配置的全方位指南 【免费下载链接】SideStore SideStore is a fork of AltStore that doesnt require an AltServer. 项目地址: https://gitcode.com/gh_mirrors/si/SideStore SideStore作为一款开源项目配置工具,在跨平台…

作者头像 李华