主要内容

用粗补偿和细补偿补偿频偏

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

设置样例参数。

Fs = 10000;符号速率(Hz)SPS = 4;每个符号的样本百分比M = 16;调制阶数k = log2(M);每个符号的比特数%EbNo = 20;% Eb/No (dB)信噪比= convertSNR(EbNo,“ebno”BitsPerSymbol = k, SamplesPerSymbol = sps);

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

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

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

phasefrequencyoffset = com . phasefrequencyoffset (...“FrequencyOffset”, 400,...“PhaseOffset”30岁的...“SampleRate”fs);

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

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

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

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

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

freqOffsetSig = phaseFreqOffset(txSig);rxSig = awgn(freqOffsetSig,SNR);

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

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

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

constdiagram (rxData)

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

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

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

coarseync = com . coarsefrequencycompensator (...“调制”“QAM”...“FrequencyResolution”, 1...“SampleRate”fs * sps);

将接收到的信号传递给粗频补偿器,然后传递给载波同步器。

sync粗=粗同步(rxSig);rxData = fineSync(sync粗);

绘制粗、细频率补偿后的信号星座图。接收到的数据现在与参考星座对齐。

constdiagram (rxData)

另请参阅

|