主要内容

带射频损伤和校正的端到端CCSDS远程指挥仿真

这个例子展示了如何测量在空间数据系统咨询委员会(CCSDS)远程指令(TC)链路中丢失的误码率(BER)和通信链路传输单元(CLTUs)数量。该示例将射频(RF)前端损害和加性高斯白噪声(AWGN)添加到链路中。

介绍

CCSDS TC通常用于从地面站向航天器发送命令。由于航天器接收机的频率不确定性和多普勒频移,CCSDS TC接收机的频率误差较大。为了补偿较大的频率偏移,地面站在卫星捕获期间在航天器上执行载波频率扫描或使用基于fft的捕获。这个例子展示了如何添加一个200 KHz的频率偏移信号,并使用基于fft的采集进行校正。

对于每个信噪比(SNR)点,由CLTU和采集序列生成的CCSDS TC波形会因射频损伤而失真,并通过AWGN信道。这个例子展示了如何建模这些射频损伤:

  • 载波频率和相位偏移

  • 副载波频率和相位偏移

  • 时间相抵消

CCSDS TC接收机对损伤进行补偿,并恢复CLTUs中的传输帧(tf)。这个例子支持BPSK, P金宝appCM/PM/双相l和PCM/PSK/PM调制方案。副载波损害仅适用于PCM/PSK/PM调制方案。这些调制方案[8]用于生成CCSDS的TC波形,其形式为基带同相求积(IQ)样本。

  • PCM/PSK/PM:按照脉冲编码调制(PCM)格式的线编码信号是先在正弦波副载波上调制相移键控(PSK),然后在剩余载波上调制相移键控(PM)。

  • PCM/PM/双相l:在剩余载波上对双相l(曼彻斯特)编码数据进行相位调制。

  • BPSK:利用载波上的非归零(NRZ)数据抑制载波调制。

图中显示了恢复传输帧的处理步骤。

该图显示了接收机的操作,包括射频损伤补偿、解调、帧同步和传输帧的解码。

要从接收到的波形中恢复TFs,请遵循以下步骤。

  1. 粗频校正:使用基于fft的算法估计频率偏差。

  2. 载波频率和相位跟踪:使用二阶锁相环(PLL)[1]对载波跟踪。

  3. 副载波频率和相位跟踪:使用二阶Costas环路[1]对副载波跟踪。

  4. 符号定时跟踪和解调:使用二阶数据转换跟踪环路(DTTL)[3]用于定时同步和符号解调的模块[1]

  5. 帧同步和解码:对Bose Chaudhuri Hocquenghem (BCH)码采用硬码元算法,对低密度奇偶校验码采用软码元算法。

图中显示了帧同步和tf解码所涉及的处理步骤[4]

  1. 搜索开始序列:当信道编码为BCH时,逐位搜索进入的比特流以寻找开始序列模式。当信道编码为LDPC时,用软相关器搜索输入的软符号流,查找起始序列模式。对于BCH,允许的开始序列错误数为0或1(取决于解码模式)。在错误检测模式下,允许的启动序列错误数为0。在纠错模式下,允许的启动顺序错误数为1。

  2. 解码:当检测到启动序列时,开始解码操作。码字(CWs)被解码并可选地去随机化。

  3. 连续波拒绝或尾序列检测:如果解码器有任何解码失败或在解码输出中有任何未纠正的错误,来自这个失败的连续波的数据不会被传输到数据链路子层操作。CW被拒绝,重新开始搜索开始顺序。如果存在尾序列,则搜索尾序列,以检测CLTU的结束。对于BCH译码,采用连续波抑制方法。对于LDPC,使用尾序列相关或连续波抑制。当没有使用尾序列时,搜索开始序列必须在未修正的CW的开始处恢复。当使用尾部序列时,搜索可以在未修正的CW的末尾继续。

模拟配置

配置每个符号的样本数量和符号速率。

每符号样本%由于符号率低,频率偏移200 KHz,值较大每个符号必须使用% 200样本作为默认值% PCM /相移键控/ PM调制。对于BPSK和PCM/PM/双相l调制,a%默认值20个样本每个符号被使用(由于中等和高%符号率)。sps = 20;%符号率每一种调制在TC中规定的符号速率为:% -对于PCM/PSK/PM调制,编码符号率为4000,2000,1000,% 500, 250, 125, 62.5, 31.25, 15.625,或7.8125符号/秒% CCSDS TC推荐[6])。% -对于PCM/PM/双相l调制,编码码元率分别为8000、16000、% 32000, 64000, 128000,或256000个符号/秒。% -对于BPSK调制,编码的符号率为1000,2000,4000,8000,% 16000, 32000, 64000, 128000, 256000, 512000, 1024000,或2048000%符号/ s。symbolRate = 2048000;

当每个符号的采样数为偶数时,用于符号同步的DTTL性能更好。当每个符号的采样数为奇数时,定时误差估计在定时偏移的完美跟踪时是非零的。非零计时误差使DTTL偏离了完美的跟踪条件。

配置和显示CCSDS TC传输参数。

cfg = ccsdsTCConfig;cfg。ChannelCoding =“BCH”;cfg。调制=“BPSK”;cfg。ModulationIndex = 1.2;%适用于PCM/PSK/PM和PCM/PM/双相l。金宝app本例中支持的范围是[0.2 1.5]。如果strcmpi (cfg。调制,“PCM /相移键控/点”cfg。SymbolRate = SymbolRate;结束cfg。SamplesPerSymbol = sps
cfg = ccsdsTCConfig with properties: DataFormat: "CLTU" ChannelCoding: "BCH" HasRandomizer: 1调制:"BPSK" Read-only properties:无属性。

配置接收器参数。

normLoopBWCarrier = 0.005;载波同步器的归一化环路带宽normLoopBWSubcarrier = 0.00005;子载波同步器的归一化环路带宽normLoopBWSymbol = 0.005;符号同步器的归一化环路带宽

为了减少噪声对环路的影响,减小环路带宽。由于环路带宽的减小,频率偏移的拉入范围也减小了。当您在同步模块中使用小环路带宽时,采集需要较长的时间来收敛。为了提高低信噪比下的性能,减小环路带宽,提高捕获序列长度。如果环路不跟踪偏移,考虑增加环路带宽以增加拉入范围。

仿真参数

这个例子执行了两个突发传输,每个符号的能量与噪声功率谱密度比(Es/No)点。Es/No可以是一个向量或标量。对于统计上有效的误码率结果,运行至少1000次传输的模拟。

numBurst = 2;%突发传输数EsNodB = [8 8.5];% Es/No在dB中SNRIn = EsNodB - 10*log10(sps); / /输出来自Es/No的%信噪比(dB

处理链

同时对带有采集序列和单个CLTU的畸变CCSDS TC波形进行处理。为了同步接收到的数据并恢复tf,需要执行这些处理步骤。

  1. 生成TC TF中的位。

  2. 生成交替1和0的采集序列的TC波形。

  3. 生成带有随机位的tf的CCSDS TC波形。

  4. 使用平方根提升余弦滤波器应用脉冲整形(仅适用于BPSK调制)。

  5. 应用子载波频率和相位偏移(仅适用于PCM/PSK/PM调制)。

  6. 应用载波频率和相位偏移。

  7. 应用定时相位偏移。

  8. 将传输的信号通过AWGN通道传递。

  9. 校正粗频率和相位偏移。

  10. 过滤接收到的信号。

  11. 纠正载波频率和相位偏移。

  12. 修正子载波频率和相位偏移(只适用于PCM/PSK/PM调制)。

  13. 校正定时偏移和符号解调。

  14. 检测CLTU的启动并解码TFs。

%初始化变量以存储误码率和丢失的cltu数量bitsErr = 0(长度(SNRIn), 1);cltuErr = 0(长度(SNRIn), 1);%方根上升余弦(SRRC)发送和接收BPSK的过滤对象如果strcmpi (cfg。调制,“BPSK”% SRRC传输过滤器对象txfilter = comm.RaisedCosineTransmitFilter;txfilter。RolloffFactor = 0.35;%过滤器滚边txfilter。FilterSpanInSymbols = 6;%过滤器跨度txfilter。OutputSamplesPerSymbol = sps;% SRRC接收过滤对象rxfilter = comm.RaisedCosineReceiveFilter;rxfilter。RolloffFactor = 0.35;%过滤器滚边rxfilter。FilterSpanInSymbols = 6;%过滤器跨度rxfilter。DecimationFactor = 1;rxfilter。InputSamplesPerSymbol = sps;结束%采样率如果strcmpi (cfg。调制,“PCM / PM / biphase-L”%在CCSDS TC推荐[6]第2.2.7节中,编码符号率为%在两相l编码之前定义。fs = 2 * sps * symbolRate;% Biphase-L编码的每个比特有2个符号其他的fs = sps * symbolRate;结束iSNR = 1:长度(SNRIn)%设置随机数生成器为默认值rng默认的%环路中的信噪比值SNRdB = SNRIn (iSNR);%初始化错误计算参数totNumErrs = 0;numErr = 0;totNumBits = 0;cltuLost = 0;iBurst = 1: numBurst%采集序列800字节acqSeqLength = 6400;= repmat([0;1], 0.5*acqSeqLength, 1);% 1和0交替,0作为起始位,起始位可以是0或1% CCSDS TC采集序列波形% CCSDS TC中指定的最大副载波频率偏移量为%±(2*1e-4)*fsc,其中fsc为副载波频率subFreqOffset = 3.2;%子载波频率偏移(Hz)subPhaseOffset = 4;%副载波相位偏移度%频率偏移量(Hz)如果strcmpi (cfg。调制,“PCM /相移键控/点”%伴随副载波频率和相位偏移的信号调制acqSymb = HelperCCSDSTCSubCarrierModulation (acqBits cfg、subFreqOffset subPhaseOffset);其他的%按照CCSDS远程指令中规定的方案进行信号调制%副载波损伤不适用于BPSK和PCM/PM/双相lcfg。DataFormat =“收购序列”;acqSymb = ccsdsTCWaveform (acqBits cfg);cfg。DataFormat =“CLTU”结束% CCSDS用于CLTU的TC波形transferFramesLength = 640;%传输帧的字节数inBits = randi([0 1],transferFramesLength,1); / /传输帧长度TC传输帧的%位如果strcmpi (cfg。调制,“PCM /相移键控/点”% TC同步和信道编码子层操作后的编码位[~, encBits] = ccsdsTCWaveform (inBits cfg);%伴随副载波频率和相位偏移的信号调制waveSymb = HelperCCSDSTCSubCarrierModulation (encBits cfg、subFreqOffset subPhaseOffset);其他的waveSymb = ccsdsTCWaveform (inBits cfg);结束% CCSDS TC波形与采集序列和CLTU波形= [acqSymb; waveSymb];% BPSK的传输过滤如果strcmpi (cfg。调制,“BPSK”使用SRRC滤波器的脉冲整形data =[波形;0 (txfilter.FilterSpanInSymbols 1)];txSig = txfilter(数据);其他的txSig =波形;结束%增加载波频率和相位偏移量freqOffset = 200000;%频率偏移量(Hz)phaseOffset = 20;%相位偏移度如果fs <= (2*(freqOffset+cfg. subcarrierfrequency)) && strcmpi(cfg. subcarrierfrequency))调制,“PCM /相移键控/点”)错误(采样率必须大于频率偏移和副载波频率之和的两倍);elseiffs <= (2*freqOffset) error(采样率必须大于频率偏移量的两倍);结束卵圆孔未闭= comm.PhaseFrequencyOffset (“FrequencyOffset”freqOffset,...“PhaseOffset”phaseOffset,“SampleRate”fs);txSigOffset =卵圆孔未闭(txSig);%定时偏移作为采样的整数timingErr = 5;%计时错误必须<= 0.4*spsdelayedSig = [0 (timingErr 1); txSigOffset);%通过AWGN通道传递信号rxSig = awgn(复杂的(delayedSig)、SNRdB“测量”, iBurst);%粗载波频率同步如果strcmpi (cfg。调制,“PCM /相移键控/点”% PCM/PSK/PM粗载波频率同步coarseSync = HelperCCSDSTCCoarseFrequencyCompensator (“FrequencyResolution”, 100,...“SampleRate”fs);其他的% BPSK和PCM/PSK/双相l粗载波频率同步coarseSync = comm.CoarseFrequencyCompensator (...“调制”“BPSK”“FrequencyResolution”, 100,...“SampleRate”fs);结束%补偿粗频偏[rxCoarse, estCoarseFreqOffset] = coarseSync (rxSig);%接收过滤如果strcmpi (cfg。调制,“BPSK”% SRRC接收BPSK过滤rxFiltDelayed = rxfilter (rxCoarse);rxFilt = rxFiltDelayed (rxfilter.FilterSpanInSymbols * sps + 1:结束);其他的% PCM/PSK/PM和PCM/PSK/双相l低通滤波%滤波是用低通滤波器来减少的影响载波相位跟踪环路的噪声%0.3 b = fir1(40岁);%截止频率为0.3*fs/2的40阶低通滤波器系数rxFiltDelayed =过滤器(b 1 [rxCoarse; 0(0.5 *长度(b) (1), 1)));%去除滤波器延迟rxFilt = rxFiltDelayed(0.5 *长度(b)(1) + 1:结束);结束%精细的频率和相位校正如果strcmpi (cfg。调制,“BPSK”fineSync = comm.CarrierSynchronizer(“SamplesPerSymbol”sps,...“调制”“BPSK”“NormalizedLoopBandwidth”, normLoopBWCarrier);其他的fineSync = HelperCCSDSTCCarrierSynchronizer (“SamplesPerSymbol”...cfg。SamplesPerSymbol,“NormalizedLoopBandwidth”, normLoopBWCarrier);结束[rxFine, phErr] = fineSync (rxFilt);%副载波频率和相位校正如果strcmpi (cfg。调制,“PCM /相移键控/点”) subSync = HelperCCSDSTCSubCarrierSynchronizer(“SamplesPerSymbol”sps,...“NormalizedLoopBandwidth”, normLoopBWSubcarrier);[rxSub, subCarPhErr] = subSync(真正的(rxFine));其他的rxSub =实际(rxFine);结束定时同步和符号解调timeSync = HelperCCSDSTCSymbolSynchronizer (“SamplesPerSymbol”sps,...“NormalizedLoopBandwidth”, normLoopBWSymbol);[rxSym, timingErr] = timeSync (rxSub);%搜索开始序列和位恢复位= HelperCCSDSTCCLTUBitRecover (rxSym cfg,“纠错”, 0.8);位=位(~ cellfun (“isempty”比特));%删除空单元格数组内容%填充位的传输帧的长度如果strcmpi (cfg。ChannelCoding,“BCH”) messagellength = 56;其他的messageLength = 0.5 * cfg.LDPCCodewordLength;结束frameLength = messageLength *装天花板(长度(inBits) / messageLength);如果(isempty(bits)) ||(length(bits {1})~= frameLength) ||(length(bits)>1) cltuLost = cltuLost + 1;其他的numErr =总和(abs(双(比特{1}(1:长度(inBits))) -inBits));tonumerrs = tonumerrs + numErr;totNumBits = totNumBits + length(inBits);结束结束bitsErr (iSNR) = totNumErrs / totNumBits;cltuErr (iSNR) = cltuLost;%显示错误率和clu丢失数流([[“\ nBER的”num2str (SNRdB + 10 * log10 (sps))),' dB Es/No: %1.2e\n'), bitsErr (iSNR));流([['\ nclus丢失的数量'num2str (SNRdB + 10 * log10 (sps))),' dB Es/No: %d\n'), cltuErr (iSNR));结束
误码率8 dB Es/No: 0.00e+00
8db Es/No的clus丢失数:0
BER与8.5 dB Es/No: 0.00e+00
在8.5 dB Es/No时丢失的CLTUs数量:0

数量的结果

当每个e /No点完成时,绘制仿真的误码率结果。bitsErr是一个具有所有模拟e /No点的测量误码率的阵列。图中显示了在1万次传输和e /No点范围内[4 7.5]所得到的仿真结果。

进一步的探索

归一化环路带宽和采集序列长度

本例使用较大的采集序列长度(800字节)来提高同步器在低信噪比下的性能。这个表显示了800个字节的采集序列的标准化环路带宽值和在每个调制方案的仿真中使用的每个符号的样本。

表(T = {“BPSK”“PCM /相移键控/点”“PCM /下午/ biphase-L”}, (0.005;0.0002;0.0003),...“不适用”, 0.00005;“不适用”}, (0.005;0.0005;0.0005),...[20;200;20]、[2048000;4000;256000年),“VariableNames”, {“调制”的载波同步器...“副载波同步器”“符号同步器”“每个符号样本”“符号率”})
T =3×6表调制载波同步器副载波同步器同步器样品每个符号象征符号率  ____________________ ____________________ _______________________ ___________________ __________________ ___________ {' BPSK的0.005}{“不适用”}0.005 20 2.048 e + 06 0.0002 {PCM /相移键控/ PM的}{[5.0000 e-05]} 0.0005 200 4000{'PCM/PM/biphase-L'} 0.0003 {'Not Applicable'} 0.0005 20 2.56e+05

您可以使用这个示例进一步研究这些同步模块。

  • 载波同步:为了提高相位估计的精度,可以通过减少归一化带宽来减少噪声对跟踪环路的影响。环路带宽的降低降低了拉入范围,并且采集需要更长的时间来收敛。

  • 子载波同步:您可以绘制估计的子载波偏移,以确定更准确的环路带宽。为了提高子载波频率估计的准确性,可以提高采样率和信噪比。

  • 符号同步:符号同步的DTTL在每个符号较多的采样数时表现良好。当您增加每个符号的采样值时,分辨率就会增加,而DTTL性能也会提高。过多的采样会降低信噪比,影响性能。如果信噪比小于-15 dB(由于每个符号有大量的采样),跟踪环路的性能就会受到影响。

对于任何基于锁相环的环路,要在非常低的信噪比下运行,环路带宽必须非常低。这种低环路带宽减少了拉入范围。对于采用LDPC信道编码的CLTUs,如果丢失的CLTUs数量较多,可以减少阈值值,用于检测helper函数中的开始序列HelperCCSDSTCCLTUBitRecover.您还可以尝试通过只选择与开始序列具有非常高的归一化相关度量的cltu来改善误码率结果。为了最大化帧检测和最小化误报,本例中使用0.8作为检测阈值。为了减少误报,可以增加检测阈值。如果增加检测阈值,则帧检测率降低。

带有PCM/PSK/PM的副载波频率偏移

CCSDS TC建议中规定的最大副载波频率偏移量[6] ± 2 × 10 - 4 f sc ,在那里 f sc 为远程和副载波的频率。您必须考虑最大频率偏移3.2 Hz或1.6 Hz分别与16khz或8khz正弦波副载波。您可以绘制估计的子载波频率偏移,以分析子载波跟踪的性能。当同步器收敛时,估计的均值近似等于输入副载波频率偏置值3.2 Hz。

如果strcmpi (cfg。调制,“PCM /相移键控/点”) estSubCarFreqOffset = diff(subCarPhErr)*fs/(2*pi);rmean = cumsum (estSubCarFreqOffset)。/(1:长度(estSubCarFreqOffset));情节(rmean)包含(“符号”) ylabel (“估计副载波频率偏移(Hz)”)标题(“PCM/PSK/PM:副载波频率偏移”网格)结束

附录

这个例子使用了这些辅助函数:

参考书目

  1. J. Vilà-Valls, M.纳瓦罗,P.克洛斯和M.波提纳尔,《深空通信的同步挑战》,航空和电子系统杂志第34卷第3期1,第16-27页,2019年1月。

  2. M. Baldi等人,“最先进的空间任务远程指挥接收器”,航空和电子系统杂志,第32卷,第2期第6页4-15,2017年6月。

  3. S. Million和S. Hinedi,“低信噪比下符号转换密度对数据转换跟踪环路性能的影响”,IEEE国际通信会议论文集,西雅图,华盛顿,美国,1995,第1036-1040页第2卷。

  4. TC同步和信道编码。空间数据系统标准的建议,冲洗液231.0 b3。蓝色的书。问题3。华盛顿特区:CCSDS, 2017年9月。

  5. TC同步和信道编码。概念和理论基础的总结.冲洗液230.1 g 2。绿色的书。问题2。华盛顿特区:CCSDS, 2012年11月。

  6. 无线电频率和调制系统。第1部分地面站和航天器.401.0 b29冲洗液。蓝色的书。问题29。华盛顿特区:CCSDS, 2019年3月。

  7. 迈克尔大米,数字通信-离散时间方法.纽约:Prentice Hall, 2008。

  8. 阮,t.m., W.L. Martin,和hengeul Yeh。剩余和抑制载波系统所需带宽、有害发射和数据功率效率的比较研究IEEE电磁兼容性汇刊37岁的没有。1(1995年2月):34-50。https://doi.org/10.1109/15.350238。

另请参阅

对象

功能

相关的话题