主要内容

用粗补偿和细补偿对频率偏差进行补偿

使用载波同步器校正带有噪声的QAM信号中的相位和频率偏移。然后用载波同步器和粗频补偿器对偏置进行校正。

设置样例参数。

fs = 10000;%符号速率(Hz)sps = 4;每符号样本%M = 16;%调制顺序k = log2 (M);每符号%位

创建一个QAM调制器和一个AWGN通道。

频道= comm.AWGNChannel (“EbNo”, 20岁,“BitsPerSymbol”、钾、“SamplesPerSymbol”, sps);

创建一个星座图对象来可视化偏移补偿技术的效果。指定星座图只显示最近的4000个样本。

constdiagram = comm.ConstellationDiagram (...“ReferenceConstellation”, qammod (0: M - 1 M),...“SamplesPerSymbol”sps,...“SymbolsToDisplaySource”“属性”“SymbolsToDisplay”, 4000,...“XLimits”, 5 [5],“YLimits”5 [5]);

引入400hz的频率偏移和30度的相位偏移。

phaseFreqOffset = comm.PhaseFrequencyOffset (...“FrequencyOffset”, 400,...“PhaseOffset”30岁的...“SampleRate”fs);

生成随机数据符号并应用16-QAM调制。

data = randi([0 M-1],10000,1);modSig = qammod(数据,M);

创建一个凸起的余弦滤波器对象并对调制信号进行滤波。

txfilter = comm.RaisedCosineTransmitFilter (“OutputSamplesPerSymbol”sps,...“获得”、sqrt (sps));txSig = txfilter (modSig);

应用相位和频率偏移,然后将信号通过AWGN通道。

freqOffsetSig = phaseFreqOffset (txSig);rxSig =通道(freqOffsetSig);

利用载波同步器对信号进行精细的频率校正。

fineSync = comm.CarrierSynchronizer (“DampingFactor”, 0.7,...“NormalizedLoopBandwidth”, 0.005,...“SamplesPerSymbol”sps,...“调制”“QAM”);rxData = fineSync (rxSig);

显示最近4000个符号的星座图。

constdiagram (rxData)

即使有时间收敛,图的螺旋性质表明载波同步器还没有补偿大的频率偏移。400hz的偏移量是采样率的1%。

在载波同步器前插入粗频率补偿器,重复上述过程。

创建一个粗糙频率补偿器,以减少频率偏移到一个可管理的水平。

coarseSync = comm.CoarseFrequencyCompensator (“调制”“QAM”“FrequencyResolution”,1,“SampleRate”fs * sps);

将接收到的信号送到粗频补偿器,再送到载波同步器。

syncCoarse = coarseSync (rxSig);rxData = fineSync (syncCoarse);

绘制信号经过粗、精频率补偿后的星座图。

constdiagram (rxData)

接收到的数据现在与参考星座对齐。

另请参阅

|