主要内容

正确的符号定时和多普勒偏移量

正确的符号定时和频率偏移错误使用comm.SymbolSynchronizercomm.CarrierSynchronizer系统对象。

配置

初始化仿真参数。

M = 16;%调制顺序nSym = 2000;%的符号数包sps = 2;每个符号%样本spsFilt = 8;每个符号%样本对过滤器和通道spsSync = 2;每个符号%样本某个浏览器lenFilt = 10;% RRC滤波器长度

创建一个匹配的两根提出了余弦(RRC)过滤系统对象发射机和接收机。

txfilter = comm.RaisedCosineTransmitFilter (FilterSpanInSymbols = lenFilt,OutputSamplesPerSymbol = spsFilt,获得=√spsFilt);rxfilter = comm.RaisedCosineReceiveFilter (FilterSpanInSymbols = lenFilt,InputSamplesPerSymbol = spsFilt,DecimationFactor = spsFilt / 2,获得=√1 / spsFilt);

创建一个相位频率偏移系统对象引入100 Hz多普勒频移。

多普勒= comm.PhaseFrequencyOffset (FrequencyOffset = 100,PhaseOffset = 45,SampleRate = 1 e6);

创建一个变量延迟系统对象介绍定时偏移量。

varDelay = dsp.VariableFractionalDelay;

创建载体和符号同步器系统对象正确的多普勒频移和时间偏移量,分别。

carrierSync = comm.CarrierSynchronizer (SamplesPerSymbol = spsSync);symbolSync = comm.SymbolSynchronizer (TimingErrorDetector =早期的后期(non-data-aided)”,SamplesPerSymbol = spsSync);

创建星座图系统对象查看结果。

refConst = qammod (0: M - 1 M, UnitAveragePower = true);cdReceive = comm.ConstellationDiagram (ReferenceConstellation = refConst,SamplesPerSymbol = spsFilt标题=接收信号的);cdDoppler = comm.ConstellationDiagram (ReferenceConstellation = refConst,SamplesPerSymbol = spsSync,Title =“频率修正信号”);cdTiming = comm.ConstellationDiagram (ReferenceConstellation = refConst,SamplesPerSymbol = spsSync,Title =的频率和时间同步信号);

主要处理循环

主要处理循环:

  • 生成随机符号和适用于QAM调制。

  • 过滤器的调制信号。

  • 适用于频率和时间补偿。

  • 通过通过AWGN信道传输信号。

  • 过滤器接收到的信号。

  • 纠正了多普勒频移。

  • 纠正的时间偏移量。

k = 1:15 data =兰迪([0 m - 1] nSym 1);modSig = qammod(数据、M UnitAveragePower = true);txSig = txfilter (modSig);txDoppler =多普勒(txSig);txDelay = varDelay (txDoppler k / 15);rxSig = awgn (txDelay 25);rxFiltSig = rxfilter (rxSig);rxCorr = carrierSync (rxFiltSig);rxData = symbolSync (rxCorr);结束

可视化

接收信号的星座图,频率修正信号,频率和时间同步信号。特定的星座点不能识别接收到的信号,只能部分中确定频率修正信号。然而,时间和频率同步信号与预期的QAM星座点。

cdReceive (rxSig)

cdDoppler (rxCorr)

cdTiming (rxData)

另请参阅

|