主要内容

端到端孔遥测同步和信道编码模拟射频损伤和修正

这个例子展示了如何测量端到端链的误比特率(BER)的空间数据系统咨询委员会(ccsd)遥测系统(TM)。模拟链遵循指定的编码和调制方案,这两个标准:

  • TM同步和信道编码- 131.0 ccsd b3为信道编码方案[1]

  • 无线电频率和调制系统-第1部分地球站和宇宙飞船冲洗液401.0 -b-30调制方案[2]

介绍

来自各种仪器的数据生成卫星。这个数据集体TM数据。冲洗液指定编码和调制方案的传播TM数据卫星地球站。这个例子展示了端到端模拟卫星地球站的通信链接。例子展示了如何生成一个复杂的基带ccsd TM随机生成的波形传输帧(TFs),介绍无线电频率(RF)障碍基带信号,并添加加性高斯白噪声(AWGN)受损的信号。示例显示了同步,解调和解码受损的噪声信号得到最后一位助教的形式。示例还显示了该测量系统的信噪比(信噪比)的一个配置ccsd TM信号。这图显示了端到端模拟链。

这个例子中这些射频损伤模型:

  • 载波频率偏移(CFO)

  • 载波相位抵消(CPO)

  • 符号定时偏移(国标)

这个图显示了接收机边操作。

帧同步和信道解码处理步骤执行这三个任务。

  1. 执行阶段消除歧义

  2. 正确地同步帧的开始连接同步标记(ASM)

  3. 执行同步帧的信道解码恢复特遣部队

这个图显示了这三个任务。首先,形成银行ASM序列。每个序列对应于原始ASM阶段介绍了歧义的价值。关联这些与解调的符号序列。选择阶段模糊值相关性最高峰值。执行这种相关性的帧同步的过程。9.3.7节中说明了过程执行相关[3]。本例采用简化的梅西帧同步算法。解决相位模糊的完整帧同步过程完成后解调的符号。最后,对这些符号进行信道解码获取TFs中恢复过来。

仿真参数

这个示例使用正交相移键控(QPSK)调制信号的生成和接待方案和rate-1/2卷积编码信道编码方案。端到端链这个例子展示了还可以用于指定的信道编码方案[1]:Reed-Solomon (RS)代码和连接代码。卷积和连接代码,这个例子支持的1/2和2/3脉冲编码调制(PCM)格式的不归零位线(NRZ-L)。万博1manbetx支持的调万博1manbetx制方案在本例中是二进制相移键控(BPSK)和QPSK。

seeConstellation = true;%国旗切换星座的可视化channelCoding =“卷积”;%信道编码方案transferFrameLength = 1115;%在字节对应223 * 5modScheme =“正交相移编码”;%调制方案α= 0.35;%根提出了余弦滤波器碾轧的因素sps = 8;每个符号%样本

设置频率用于信号生成和射频损伤值。

fSym = 2 e6;%符号率或在赫兹波特率首席财务官= 2 e5;%在赫兹

初始化每一点能量噪声功率比(Eb / N0),用于计算信噪比使用系统参数。

EbN0 = 10;%看到结果,适当的误码率仿真3.2:0.2:5运行

终止仿真初始化参数。本例中的参数设置为小值获得立竿见影的效果。增加这些参数值来得到一个平滑的误码率曲线。

maxNumErrors = 1 e2;%仿真停止后maxNumErrors一点错误maxNumBits = 1 e5;%模拟处理maxNumBits后停止%设置maxNumBits = 1 e8平滑的误码率曲线maxFramesLost = 1 e2;%模拟maxFramesLost帧丢失后停止

系统参数

初始化所有的对象都是端到端链的正常运行所必需的。

创建一个冲洗液TM波形发生器与这些参数使用ccsdsTMWaveformGenerator系统对象™。显示对象的属性。

tmWaveGen = ccsdsTMWaveformGenerator (“ChannelCoding”channelCoding,“NumBytesInTransferFrame”transferFrameLength,“调制”modScheme,“RolloffFactor”α,“SamplesPerSymbol”,sps);disp (tmWaveGen)
ccsdsTMWaveformGenerator属性:WaveformSource:“同步和信道编码”NumBytesInTransferFrame: 1115 HasRandomizer:真正的HasASM:真正的PCMFormat:“NRZ-L”信道编码ChannelCoding:“卷积”ConvolutionalCodeRate:“1/2”数字调制,调制过滤:“正交相移编码”PulseShapingFilter:“根”提出了余弦RolloffFactor: 0.3500 FilterSpanInSymbols: 10 SamplesPerSymbol: 8使用能显示所有属性

计算信噪比的Eb / N0和初始化参数相关的计算误码率。

率= tmWaveGen.info.ActualCodeRate;M = tmWaveGen.info.NumBitsPerSymbol;numBitsInTF = tmWaveGen.NumInputBits;信噪比= EbN0 + 10 * log10(率)+10 * log10 (M) - 10 * log10 (sps);%作为信号功率是按比例缩小的同时引入噪声,%信噪比SPS的价值应该是减少的一个因素numSNR =长度(信噪比);数量= 0 (numSNR, 1);%初始化的系统参数bercalc = comm.ErrorRate;

创建一个接收过滤器对象使用comm.RaisedCosineReceiveFilter系统对象。

b = rcosdesign(α,tmWaveGen.FilterSpanInSymbols, sps);% | H f (f) | = 1 | | < fN(1α)——附件1节2.4.17A在[2]获得=和(b);rxFilterDecimationFactor = sps / 2;rxfilter = comm.RaisedCosineReceiveFilter (“DecimationFactor”rxFilterDecimationFactor,“InputSamplesPerSymbol”sps,“RolloffFactor”α,“获得”,获得);

模型使用的频率和相位补偿comm.PhaseFrequencyOffset系统对象。弥补接收机的频率和相位偏移两个步骤。

  1. 弥补粗频率使用所抵消comm.CoarseFrequencyCompensator系统对象。

  2. 补偿的频率偏移和相位抵消使用comm.CarrierSynchronizer系统对象。

phaseOffset =π/ 8;fqyoffsetobj = comm.PhaseFrequencyOffset (“FrequencyOffset”首席财务官,“PhaseOffset”phaseOffset,“SampleRate”sps * fSym);coarseFreqSync = comm.CoarseFrequencyCompensator (“调制”modScheme,“FrequencyResolution”,100,“SampleRate”sps * fSym);fineFreqSync = comm.CarrierSynchronizer (“DampingFactor”1 /√(2)“NormalizedLoopBandwidth”,0.0007,“SamplesPerSymbol”,1“调制”,modScheme);

创建一个变量部分延迟对象使用dsp.VariableFractionalDelay系统对象,介绍了部分延迟传播波形。创建一个符号同步对象使用comm.SymbolSynchronizer系统对象,执行符号定时同步。

varDelay = dsp.VariableFractionalDelay (“InterpolationMethod”,“法罗”);fixedDelayVal = 10.2;Kp = 1 /(π*(1 -((α^ 2)/ 4)))* cos(π*α/ 2);symsyncobj = comm.SymbolSynchronizer (“DampingFactor”1 /√(2)“DetectorGain”Kp,“TimingErrorDetector”,“加德纳(non-data-aided)”,“调制”,“PAM /相移键控/ QAM”,“NormalizedLoopBandwidth”,0.0001,“SamplesPerSymbol”sps / rxFilterDecimationFactor);

解调和解码接收到的信号通过HelperCCSDSTMDemodulatorHelperCCSDSTMDecoder辅助文件,分别。显示生成的对象的属性。

demodobj = HelperCCSDSTMDemodulator (“调制”modScheme,“ChannelCoding”channelCoding)
demodobj = HelperCCSDSTMDemodulator属性:调制:“正交相移编码”PCMFormat:“NRZ-L”ChannelCoding:“卷积”
decoderobj = HelperCCSDSTMDecoder (“ChannelCoding”channelCoding,“NumBytesInTransferFrame”transferFrameLength,“调制”modScheme)
decoderobj = HelperCCSDSTMDecoder属性:ChannelCoding:“卷积”HasRandomizer:真正的HasASM:真正的DisableFrameSynchronization: 0 DisablePhaseAmbiguityResolution: 0 NumBytesInTransferFrame: 1115 ConvolutionalCodeRate:“1/2”ViterbiTraceBackDepth: 60 ViterbiTrellis: [1 x1 struct] ViterbiWordLength: 8调制:“正交相移编码”PCMFormat:“NRZ-L”

初始化对象利用星座图comm.ConstellationDiagram系统对象可视化星座如何演变为某个收敛。

costellationobj = comm.ConstellationDiagram;% QPSK的默认视图如果比较字符串(modScheme“BPSK”)costellationobj。ReferenceConstellation = [1]结束

处理链

模拟岩心的端到端链和测量误码率TM系统,遵循这些步骤。

  1. 生成随机比特特遣部队。

  2. 生成TM波形通过特遣部队通过ccsdsTMWaveformGenerator系统对象。

  3. 介绍射频损伤,如首席财务官和象征延迟。

  4. 添加AWGN RF-impaired信号。这嘈杂的信号是接收到的信号。

  5. 通过接收到的信号通过粗频率校正,执行初始粗载波频率同步。使用“FFT-based”完成粗频偏估计算法。

  6. 使用匹配滤波器(根提出了余弦滤波器)具有相同的配置,应用在发射机。因为符号定时同步模块的采样率高于符号率,复基带不下来采样样本过滤后的符号率。这是每个符号采样,这样至少2样品存在。

  7. 执行符号定时同步使用Gardner定时误差检测器(TED)消除存在于信号的定时偏移。

  8. 完成载波频率和相位跟踪使用comm.CarrierSynchronizer系统对象,2型锁相环路(锁相环)。这个系统可以跟踪对象静止的载波频率偏移量。系统对象也引入了相位模糊,然后通过帧同步模块。

  9. 可视化后的星座符号定时和载波频率同步完成。观察星座发展多个迭代。

  10. 解调接收信号,并验证信号的符号率(即每个符号的样品是1)。

  11. 执行帧同步和信道解码解决相位模糊,ASM的同步帧开始,然后解码同步帧恢复特遣部队。

numBitsForBER = 8;%检测帧同步numMessagesInBlock = 2 ^ numBitsForBER;isnr = 1: numSNR rng默认的;%复位可重复的结果重置(bercalc);berinfo = bercalc (int8 (1) int8 (1));%初始化之前berinfo误码率计算tfidx = 1;numFramesLost = 0;prevdectfidx = 0;inputBuffer = 0 (numBitsInTF, 256,“int8”);((berinfo (2) < maxNumErrors) & &(berinfo (3) < maxNumBits) & &(numFramesLost < maxFramesLost)种子=兰迪([0 2 ^ 32-1],1,1);%为可重复模拟生成种子%发射机边处理位= int8 (randi ([0 1] numBitsInTF-numBitsForBER 1));%的第一个8位对应指数模256特遣部队。当%同步模块中,可以有几帧%,暂时失去同步,然后再次锁。%在这种情况下,计算误码率,这些8位援助%确定TF解码。如果一个错误在这8位%的存在,那么这个错误是发现通过观察不同%之间连续解码部分。如果检测到一个错误,那么%,帧被认为是失去了。尽管数据链路层%的范围本例中,数据链路层有一个类似的%的机制。在本例中,只计算误码率,%采用机制。采用机制%的例子是没有孔的数据链路层中指定%的标准。这不是指定的物理机制%的层孔标准。味精= [de2bi numBitsForBER mod (tfidx-1 numMessagesInBlock),“left-msb”)。”;位);inputBuffer(:,国防部(tfidx-1 numMessagesInBlock) + 1) =味精;tx = tmWaveGen(味精);%介绍射频损伤cfoInroduced = fqyoffsetobj (tx);%介绍首席财务官延迟= varDelay (cfoInroduced fixedDelayVal);%介绍时间偏移rx = awgn(推迟,信噪比(isnr),“测量”、种子);%增加情况下%接收端处理coarseSynced = coarseFreqSync (rx);%应用粗频率同步过滤= rxfilter (coarseSynced);%通过RRC过滤器过滤收到样品TimeSynced = symsyncobj(过滤);%符号定时同步fineSynced = fineFreqSync (TimeSynced);%跟踪频率和相位%可视化星座如果seeConstellation%的阴谋星座的前1000个符号特遣部队%变量fineSynced并不妨碍的大小%常数输入尺寸的要求% comm.ConstellationDiagram系统对象。costellationobj (fineSynced (1:1000));结束demodData = demodobj (fineSynced);%解调解码= decoderobj (demodData);%执行阶段消除歧义,%帧同步和信道解码%计算数量和相应调整所有的缓冲区dectfidx = bi2de(双(解码(1:8)。'),“left-msb”)+ 1;%见前8位的值如果tfidx > 30只有经过30 TFs %考虑计算误码率处理%作为第一个8位的价值是增加了一个%的迭代,如果当前解码之间的区别%前8位的十进制值不等于前面%解码,然后显示一个框架的损失。如果dectfidx - prevdectfidx ~ = 1 numFramesLost = numFramesLost + 1;disp ([的帧丢失tfidx:“num2str (tfidx)”。总帧丢失:num2str (numFramesLost)]);其他的berinfo = bercalc (inputBuffer (:, dectfidx)解码);如果nnz (inputBuffer (:, dectfidx)解码)disp ([的错误发生在tfidx:“num2str (tfidx)”。Num错误:“num2str (nnz (inputBuffer (:, dectfidx) -解码))))结束结束结束prevdectfidx = dectfidx;%更新tfidxtfidx = tfidx + 1;结束流(“\ n”);currentBer = berinfo (1);ber (isnr) = currentBer;disp ([“Eb / N0:”num2str (EbN0 (isnr))”。数量:num2str (currentBer)”。Num帧丢失:num2str (numFramesLost)]);%重置对象重置(tmWaveGen);重置(fqyoffsetobj);重置(varDelay);重置(coarseFreqSync);重置(rxfilter);重置(symsyncobj);重置(fineFreqSync);重置(demodobj);重置(decoderobj);结束

Eb / N0: 10。数量:0。Num帧丢失:0

进一步的探索

这个例子演示了卷积码与QPSK调制的误码率仿真存在的几个射频损伤。观察端到端模拟链对于不同场景,更改属性相关的信道编码和调制方案。的调制方案支持的接收机在这个例子中是BPSK和QPSK。万博1manbetx支持的接收器的信道编码方案在本例中是没有(也就是说,没有信道编码),RS万博1manbetx,卷积,连接代码。

运行一个完整的误码率仿真通过设置Eb / N0价值3.2:0.2:5,通过设置观察误码率maxNumBits1 e8。取消这个代码绘制系统的结果。

% semilogy (EbN0 ber);%网格;%包含(“E_b / N_0 (dB) ');% ylabel(“方方面面”);%的标题(“误码率阴谋”);

总是保留最初的几个TFs符号定时和载波频率锁定某个浏览器。这个例子中丢弃前30 TFs。这个数字可以随信噪比的接收机同步回路的参数操作,环路带宽和阻尼等因素。如果你操作接收机在低信噪比,观察大错误的初始值tfidx,那么某个尚未锁定。对于给定的模拟参数,抛弃最初的TFs。第二个输出参数comm.CoarseFrequencyCompensatorcomm.CarrierSynchronizer系统对象包含相关的信息估计首席财务官,可以用来评估是否同步循环都是锁着的。

附录

示例使用以下辅助文件:

引用

[1]TM同步和信道编码。空间数据系统推荐标准,冲洗液131.0 b3。蓝色的书。问题3。华盛顿特区。2017年9月:冲洗液。

[2]无线电频率和调制系统——第1部分:地球站和宇宙飞船。空间数据系统推荐标准,401.0 -b-30冲洗液。蓝色的书。30个问题。华盛顿特区。:冲洗液,2020年2月。

[3]TM同步和信道编码-总结的概念和原理。报告关于空间数据系统标准,130.1 -g-3冲洗液。绿色的书。问题3。华盛顿特区。2020年6月:冲洗液。

另请参阅

对象

相关的话题