主要内容

comm.CoarseFrequencyCompensator

补偿PAM, PSK或QAM的频率偏移

描述

CoarseFrequencyCompensator系统对象™补偿接收信号的频率偏移。

补偿PAM、PSK或QAM信号的频率偏移:

  1. 定义并设置粗频率补偿器对象。看到建设

  2. 调用一步的特性来补偿PAM, PSK或QAM信号的频率偏移comm.CoarseFrequencyCompensator.的行为一步特定于工具箱中的每个对象。

请注意

从R2016b开始,而不是使用一步方法来执行System对象定义的操作,则可以使用参数调用该对象,就像调用函数一样。例如,Y = step(obj,x)而且Y = obj(x)请执行相同的操作。

建设

coarsefrequencycompensator创建一个粗频偏补偿器对象,氯氟化碳.该对象使用开环技术来估计和补偿接收信号中的载波频率偏移。

CFC = com . coarsefrequencycompensator(名称,值)创建一个粗频偏补偿器对象,氯氟化碳,使用指定的属性的名字设置为指定的价值.您可以以任意顺序指定额外的名称-值对参数Name1, Value1,…,的家

属性

调制

调制类型

指定信号调制类型为BPSK正交相移编码OQPSK8相移键控帕姆,或QAM.默认为QAM.此属性不可调。

算法

用于估计频偏的算法

将估计算法指定为之一FFT-basedCorrelation-based.默认为FFT-based.此属性不可调。

表中显示了调制类型和估计算法的允许组合。

调制 FFT-Based算法 Correlation-Based算法
BPSK正交相移编码8相移键控帕姆
OQPSKQAM

对于HDL实现和其他希望避免使用FFT的情况,请使用基于相关性的算法。

此属性在以下情况出现调制“BPSK”“正交相移编码”“8相移键控”,或“帕姆”

FrequencyResolution

频率分辨率(Hz)

将偏移频率估计的频率分辨率指定为数据类型的正实标量.此属性确定用于执行光谱分析的FFT长度,且必须小于采样率。默认为0.001.此属性不可调。

MaximumFrequencyOffset

最大可测频偏(Hz)

将最大可测量频率偏移指定为数据类型的正实标量

此属性的值必须小于f桑普/,在那里f桑普抽样率和是调制顺序。作为最佳实践,设置MaximumOffset小于r/ (4.此属性仅适用于算法Correlation-based.默认为0.05.此属性不可调。

SampleRate

采样率(Hz)

指定采样率(每秒采样数)为数据类型的正实标量.默认为1.此属性不可调。

SamplesPerSymbol

每个符号的样本

指定每个符号的样本数量,年代,作为实正有限整数标量,使得年代≥2.默认值为4.此属性不可调。

此属性在以下情况出现调制“OQPSK”

方法

信息 粗频率补偿器的特性信息
一步 补偿频率偏移
所有系统对象通用
释放

允许系统对象属性值更改

重置

重置System对象的内部状态

例子

全部折叠

补偿一个4 kHz的频率偏移强加在一个噪声QPSK信号。

设置样例参数。

nSym = 2048;%输入符号个数SPS = 4;每个符号的样本百分比nSamp = nSym*sps;样本数量%Fs = 80000;采样频率(Hz)

创建一个平方根凸起余弦传输滤波器。

txfilter = com . raisedcosinetransmitfilter (...“RolloffFactor”, 0.2,...“FilterSpanInSymbols”8...“OutputSamplesPerSymbol”, sps);

创建一个相位频率偏移对象来引入4 kHz频率偏移。

freqOffset = com . phasefrequencyoffset (...“FrequencyOffset”, -4000,...“SampleRate”fs);

创建一个粗频率补偿器对象来补偿偏移。

freqComp = com .粗频率补偿器(...“调制”“正交相移编码”...“SampleRate”fs,...“FrequencyResolution”1);

生成QPSK符号,滤波调制数据,通过AWGN信道传递信号,并应用频率偏移。

data = randi([0 3],nSym,1);modData = pskmod(data,4,pi/4);txSig = txfilter(modData);rxSig = awgn(txSig,20,“测量”);offsetData = freqOffset(rxSig);

补偿频率偏移使用freqComp.当频率偏置较大时,在接收滤波之前进行粗频率补偿是有益的,因为滤波抑制了有用频谱中的能量。

[compensatedData,estFreqOffset] = freqComp(offsetData);

显示频偏估计。

estFreqOffset
estFreqOffset = -3.9999e+03

返回关于freqComp对象。要获得FFT长度,必须调用freqComp在调用信息方法。

freqCompInfo = info(freqComp)
freqCompInfo = struct with fields: FFTLength: 131072算法:'基于fft '

创建一个频谱分析仪对象并绘制偏移和补偿光谱。验证补偿信号的中心频率为0hz,偏移信号的中心频率为- 4khz。

specAnal = dsp。简介(“SampleRate”fs,“ShowLegend”,真的,...“ChannelNames”, {“抵消信号”“补偿信号”});specAnal ([offsetData compensatedData])

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

设置样例参数。

Fs = 10000;符号速率(Hz)SPS = 4;每个符号的样本百分比M = 16;调制阶数k = log2(M);每个符号的比特数%

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

通道= com . awgnchannel (“EbNo”, 20岁,“BitsPerSymbol”、钾、“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 = channel(freqOffsetSig);

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

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)

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

算法

Correlation-Based

中描述了基于相关的估计算法,该算法可用于估计PSK和PAM信号的频率偏移[1].为了确定频率偏移,Δf时,算法对复值振荡进行极大似然估计经验值j2πΔ英尺).观测信号,rk,表示为

r k e j 2 π Δ f k T 年代 + θ 1 k N

在哪里T年代为采样间隔,θ是未知的随机相位,和N是样本的数量。频偏的最大似然估计相当于求似然函数的最大值,Λ(Δf)

Λ Δ f | 1 N r e j 2 π Δ f T 年代 | 2 k 1 N 1 N r k r * e j 2 π Δ f T 年代 k

经过简化后,该问题被表示为一个离散傅里叶变换,由一个抛物窗函数加权。它表示为

即时通讯 k 1 N 1 k N k R k e j 2 π Δ f T 年代 0

在哪里R (k)表示序列的估计自相关性rk并且表示为

R k 1 N k k + 1 N r r k * 0 k N 1

这个词k (n - k)是抛物线窗函数。在[1],结果表明R (k)的自相关的差估计rkk= 0或当k接近于N.因此,开窗函数可以表示为一个1s的矩形序列k= 1, 2,…l,在那里lN- 1。得到了一种改进的ML估计策略

即时通讯 k 1 l R k e j 2 π Δ f k T 年代 0

这将导致对的估计 Δ f 在这

Δ f f 年代 一个 p π l + 1 参数 k 1 l R k

采样频率,f桑普的倒数T年代.用于计算自相关序列的元素数量,l,确定为

l f 年代 一个 p f 一个 x 1

在哪里f马克斯最大期望频率是否偏移是最近的整数函数。时,频率偏移估计得到改善l≥7这就引出了一个建议f马克斯f桑普/ (4

FFT-Based

基于fft的算法可用于估计所有调制类型的频偏。com . coarsefrequencycompensator中使用了两种变体。

  • BPSK正交相移编码8相移键控帕姆,或QAM所使用的基于fft的算法的调制[2].算法估计 Δ f 通过使用周期图th接收信号的功率,为

    Δ f f 年代 一个 p N 参数 马克斯 f | k 0 N 1 r k e j 2 π k t / N | R 年代 y 2 f R 年代 y 2

    在哪里是调制顺序,r (k)是接收的序列,R信谊是符号速率,和N是样本的数量。该算法搜索的频率,最大的时间平均th接收信号的功率乘以[-]范围内的各种频率R信谊/ 2,R信谊/ 2)。算法的形式是离散傅里叶变换的定义r(t),寻找使时间平均值最大化的频率相当于在频谱中寻找峰值线r(t).FFT所需的点数为

    N 2 日志 2 f 年代 一个 p f r

    在哪里fr是期望的频率分辨率。

  • OQPSK所使用的基于fft的调制算法[4].该算法搜索符号速率附近+/- 200 kHz的谱峰。该技术在基带频率附近由于滤波而产生的光谱内容干扰存在时定位所需的峰值。

参考文献

露易丝,M.和R.雷贾尼尼。用于突发模式传输的全数字调制解调器中的载波恢复IEEE®通讯汇刊.第43卷第2、3、4号,1995年2月/ 3月/ 4月,第1169-1178页。

[2]王勇,石凯,Serpedi。QAM星座的非数据辅助前馈载波频偏估计:非线性最小二乘方法应用信号处理杂志.2004:13页,1993-2001。

[3]中川T、松井m、小林T、石原k、工藤r、沟口m、宫本yQAM光相干接收机的非数据辅助宽范围频偏估计。2011年光纤通信会议和博览会(OFC/NFOEC)和全国光纤工程师会议.2011年3月,第1-3页。

旧的,乔纳森。OQPSK解调器的设计

扩展功能

在R2015b中引入