目录

1.PCM/FM码同步方法

2.GMSK调制与解调

3.MSD多符号检测

4.Turbo乘积码TPC编解码

5.MATLAB程序

6.测试结果

7.参考文献


1.PCM/FM码同步方法

       PCM/FM(脉冲编码调制 / 频率调制)是数字基带信号经PCM编码后再进行频率调制的复合调制方式,广泛用于航天测控等领域。PCM/FM码同步是确保抽样判决时刻准确的关键,常用早迟门同步法:

将接收信号分别延迟Tb​/2(迟门)和提前Tb​/2(早门),通过比较两路径能量差调整同步时钟。

2.GMSK调制与解调

       GMSK(高斯最小频移键控)是在MSK基础上通过高斯滤波器平滑基带信号,减少频谱旁瓣,适用于GSM等移动通信系统。

采用相干解调(需载波同步):

3.MSD多符号检测

       传统检测仅基于当前符号的观测值,MSD利用连续N个符号的观测值联合判决,适用于存在码间串扰(ISI)的场景(如GMSK)。

4.Turbo乘积码TPC编解码

编码

TPC 由多个分量码(如 RS 码、汉明码)按二维网格排列构成,以(n1​,k1​)×(n2​,k2​)为例:

步骤1:k1​×k2​信息矩阵M经行编码,每行生成(n1​,k1​)码字,得到k2​×n1​矩阵A。

步骤2:A的列(含校验位)经列编码,每列生成(n2​,k2​)码字,最终输出n2​×n1​的 TPC 码阵。

编码增益:通过行、列校验的双重保护,实现接近香农限的性能。

解码

采用迭代解码

行解码:对每行按分量码解码,输出硬判决和外信息(反映其他行对当前行的约束)。

列解码:将行解码的外信息作为先验信息,对每列解码,更新外信息。

迭代收敛:重复行 / 列解码,直至外信息变化小于阈值或达到最大迭代次数。

外信息更新公式(对数似然比 LLR):

5.MATLAB程序

clc;
clear;
close all;
warning off;
addpath 'func_MSD\'
 
Frame_Nums = 500;
Numbers    = 200;
Num_sym    = 10;
SNR1       = [0:1:7];
SNR2       = 10.^(SNR1/10);
VAR        = 1./(SNR2*2);
%设置调制指数
h          = 0.6;
load('Table.mat');
[Ro,Co]    = size(Table);
 
for indx2 = 1:length(SNR1)
    indx2
    ERR    = 0;
    var    = VAR(indx2);  
    for nn=1:Frame_Nums
        nn
        Dat_trans  = randsrc(1,Numbers,[0 1]);
        %差分编码
        Dat_trans2 = func_chafen(Dat_trans,Numbers);
        %定义噪声
        Noise      = sqrt(var/2)*(randn(1,Numbers) + i*randn(1,Numbers));
        %参数初始化
        parameter;
        %MSD检测
        while indx < Numbers
            Rec(number) = exp(j*4*h*number)*Dat_trans2(indx) + Noise(indx);
            number      = number+1;
            indx        = indx + 1;
            if number == Num_sym + 1
               number = 1;
               indx   = indx-2;
               %计算模
               y           = func_abs(Rec,Num_sym);
               %MSD检测
               MSD_results = func_MSD_Check(y,Table,Num_sym,Ro,Co);
               %检测误码率
               for hh=1:Num_sym-2 
                   if MSD_results(hh) ~= Dat_trans(hh+times*Co)
                      ERR = ERR + 1;
                   end
               end
               times       = times + 1;   
            end
        end
    end
    Berrs(indx2) = ERR/(Numbers*Frame_Nums);
end
 
figure;    
semilogy(SNR1,Berrs,'b-o');
legend('ber of MSD');
xlabel('SNR');
ylabel('ber');
grid on;  
 
if h == 0.8;
   save msd1.mat SNR1 Berrs   
end
if h == 0.7;
   save msd2.mat SNR1 Berrs    
end
if h == 0.6;
   save msd3.mat SNR1 Berrs    
end
A01-128

6.测试结果

7.参考文献

[1] MSD与TPC技术在PCM_FM遥测系统中的应用研究_王晓波

[2] Turbo码块同步参数优化设计_吴岭

[3] 深空测控通信中GMSK体制非相干解调算法研究_吴伟仁

[4] 基于纠删码的遥测链路丢帧恢复技术_张金荣

[5] 基于PCM_FM遥测信号的多站时差定位技术应用研究_王俊峰

[6] GMSK调制技术及其在遥测中的应用分析_游莎莎

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐