主要内容

wlanfinecfoestimate

做好CFO评估

描述

例子

Foffset.= wlanfinecfoestimate(rxsig.CBW.在接收的时域上进行载波频率偏移(CFO)估计L-LTF.1样本rxsig.对信道带宽CBW.。该功能可以估计最大CFO 156.25 kHz,或一半的子载波间距。

例子

Foffset.= wlanfinecfoestimate(rxsig.CBW.corrOffset指定作为L-LTF循环前缀的一部分的相关偏移量。

例子

全部收缩

创建非ht配置对象。

3 = wlanNonHTConfig;

生成非HT波形。

txsig = wlanwaveformgenerator([1; 0; 0; 1],nht);

创建一个相位和频率偏移对象并引入2 Hz频率偏移。

pfOffset = comm.PhaseFrequencyOffset ('采样率',20e6,'surformoffset'2);rxSig = pfOffset (txSig);

提取L-LTF并估计频率偏差。

IND = WLANFIELDINDIDICES(NHT,“L-LTF”);rxlltf = rxSig(印第安纳州(1):印第安纳州(2):);freqOffsetEst = wlanFineCFOEstimate (rxlltf,“CBW20”
freqOffsetEst = 2.0000

估计VHT信号通过有噪声的TGac信道时的频率偏移量。纠正频率偏差。

创建一个VHT配置对象并创建L-LTF。

vht = wlanVHTConfig;txltf = wlanLLTF (vht);

设置采样率以对应于VHT配置对象的默认带宽。

fs = 80e6;

创建TGAC和热噪声通道对象。将AWGN通道的噪声系数设置为10 dB。

tgacChan = wlanTGacChannel ('采样率',fs,...“ChannelBandwidth”,vht.channelbandwidth,...“DelayProfile”'model-c''largescalefadingeffect''pathloss');噪声= comm.thermalnoise('采样率',fs,...“NoiseMethod”“噪声图”...'噪音文件',10);

通过L-LTF通过嘈杂的TGAC通道。

rxltfNoNoise = tgacChan (txltf);rxltf =噪音(rxltfNoNoise);

创建一个相位和频率偏移对象并引入25 Hz频率偏移。

pfoffset = comm.PhaseFrequencyOffset ('采样率',fs,“FrequencyOffsetSource”输入端口的);rxltf = pfoffset(rxltf,25);

使用相关偏移0.6执行频率偏移的精确估计。你的结果可能略有不同。

fOffsetEst = wlanFineCFOEstimate (rxltf vht.ChannelBandwidth, 0.6)
fOffsetEst = 28.0773

正确的估计频率偏移。

rxltfCorr = pfoffset (rxltf -fOffsetEst);

估计校正信号的频率偏移。

foffsetestcorr = wlanfinecfoestimate(rxltfcorr,vht.channelbandwidth,0.6)
foffsetestcorr = -3.1286e-13

校正后的信号的频率偏差可以忽略不计。

估计和校正一个重要的载频偏移在两步。在所有校正后估计频率偏移量。

设置通道带宽和相应的采样速率。

CBW =“CBW40”;fs = 40e6;

粗频率校正

生成HT格式配置对象。

cfg = wlanhtconfig(“ChannelBandwidth”,CBW);

生成传输波形。

txsig = wlanwaveformgenerator([1; 0; 0; 1],cfg);

创建TGN和热噪声通道对象。将接收器的噪声系数设置为9 dB。

tgnchan = wlantgnchannel('采样率',fs,“DelayProfile”'Model-D'...'largescalefadingeffect''pathloss和shadowing');噪声= comm.thermalnoise('采样率',fs,...“NoiseMethod”“噪声图”...'噪音文件',9);

将波形通过TGn通道并添加噪声。

rxsignonoise = tgnchan(txsig);rxsig =噪音(rxsignonoise);

创建相位和频率偏移对象来引入载波频率偏移。引入2khz的频率偏移。

pfOffset = comm.PhaseFrequencyOffset ('采样率',fs,“FrequencyOffsetSource”输入端口的);rxsig = pfoffset(rxsig,2e3);

提取用于粗频偏移估计的L-STF信号。

istf = wlanfieldindices(cfg,'l-stf');rxstf = rxSig (istf (1): istf (2):);

执行频率偏移的粗略估计。您的结果可能有所不同。

foffset1 = wlanCoarseCFOEstimate (rxstf,生化武器)
foffset1 = 2.0221 e + 03

正确的估计偏移量。

rxSigCorr1 = pfOffset (rxSig -foffset1);

细频校正

提取L-LTF信号以进行精细偏移估计。

iltf = wlanFieldIndices (cfg,“L-LTF”);rxltf1 = rxSigCorr1 (iltf (1): iltf (2):);

执行校正信号的精细估计。

foffset2 = wlanfinecfoestimate(rxltf1,cbw)
foffset2 = -11.0795.

校正的信号偏移从2000 Hz降低到大约7Hz。

纠正剩余的偏移量。

rxsigcorr2 = pfoffset(rxsigcor1,-foffset2);

确定两次校正信号的频率偏移。

rxltf2 = rxSigCorr2 (iltf (1): iltf (2):);deltaFreq = wlanFineCFOEstimate (rxltf2,生化武器)
deltafreq = -2.0700e-11

CFO为零。

输入参数

全部收缩

接收到的L-LTF样本,指定为大小的复值矩阵N年代-经过-NRN年代L-LTF和样品的数量是多少NR为接收天线数。

请注意

如果该输入中的样本数量大于L-LTF中的样本数量,则该函数仅使用第一个样本来估计CFON年代样本。

数据类型:|双倍的
复数支持:金宝app是的

以MHz为单位的信道带宽,指定为这些值之一。

  • 'CBW5'—通道带宽5mhz

  • 'CBW10'—通道带宽10mhz

  • “CBW20”—通道带宽20mhz

  • “CBW40”- 40 MHz的通道带宽

  • 'CBW80'—通道带宽80mhz

  • 'CBW160'- 160 MHz的通道带宽

数据类型:char|细绳

相关偏移作为L-LTF循环前缀的一部分,指定为间隔中的标量[0,1]。长训练符号的持续时间随带宽而变化。有关更多信息,请参阅L-LTF.

数据类型:|双倍的

输出参数

全部收缩

频率偏移,以Hz为单位,返回实值标量。该功能可以估计最大CFO 156.25 kHz,或一半的子载波间距。

数据类型:双倍的

更多关于

全部收缩

L-LTF.

传统的长训练领域(L-LTF)是802.11™OFDM PLCP传统序言中的第二个领域。L-LTF是VHT、HT和非HT PPDUs的组成部分。

信道估计、精细频率偏移估计和精细符号时序偏移估计都依赖于L-LTF。

L-LTF由循环前缀(CP)组成,然后是两个相同的长训练符号(C1和C2)。CP由长期训练符号的下半部分。

L-LTF持续时间随信道带宽的不同而不同。

通道带宽(MHz) 子载波频率间距,δ.F(千赫) 快速傅里叶变换(FFT)期间(TFFT.= 1 /δ.F 循环前缀或训练符号保护间隔(GI2)持续时间(TGI2.TFFT./ 2) l-ltf持续时间(TTGI2.+ 2×TFFT.
20,40,80和160 312.5 3.2μs 1.6μs. 8μs.
10 156.25 6.4μs 3.2μs 16μs.
5 78.125 12.8μs. 6.4μs 32μs.

参考

[1] IEEE Std 802.11™-2016 (IEEE Std 802.11-2012修订版)。第11部分:无线局域网介质访问控制(MAC)和物理层(PHY)规范信息技术IEEE标准。系统间电信和信息交换。局域网和城域网。特殊要求

[2],剑。基于ofdm的无线局域网载波频偏估计。IEEE信号处理字母。第8卷,第3期,2001年3月,80-82页。

[3]驼鹿,P.H。“一种正交频分复用频率偏移校正的技术。”IEEE通信交易。42卷,第10期,1994年10月,2908-2914页。

[4] Perahia,E.和R. Stacey。下一代无线局域网:802.11n和802.11ac。第二版。英国:剑桥大学出版社,2013。

扩展功能

C / C ++代码生成
使用MATLAB®Coder™生成C和C ++代码。

在R2015B中介绍

1IEEE®STD 802.11-2012调整并重印了IEEE许可。版权所有IEEE 2012.保留所有权利。