正确的符号定时和多普勒偏移量
正确的符号定时和频率偏移错误使用comm.SymbolSynchronizer
和comm.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)