主要内容

基于韦尔奇方法的流功率谱估计

计算时域输入信号的功率谱估计谱估计块。该块使用以下方法之一来计算功率谱估计值:

  • 韦尔奇平均修正周期图法

  • 滤波器组法

本例使用了韦尔奇的平均修正周期图方法。有关使用基于滤波器组的频谱估计方法的示例,请参见MATLAB高分辨率光谱分析.同样的例子还显示了滤波器组估计器和基于韦尔奇的谱估计器之间的比较。通常,基于滤波器组的频谱估计产生更好的分辨率,更少的频谱泄漏,更准确的峰值和更准确的噪声底。

关于这两种方法的算法的更多详细信息,请参见谱估计块。

如果您需要直接访问估计的频谱(而不仅仅是可视化它),Spectrum Estimator块是有用的。输出功率谱可以用作模型中其他块的输入,也可以记录到工作空间进行后期处理。为了使光谱可视化,使用频谱分析仪块范围。

平均修正周期图的韦尔奇方法

韦尔奇方法根据所选择的窗口长度和重叠百分比将输入的时域数据划分为数据段。此阶段使用缓冲块。对每个段应用一个窗口,然后根据加窗序列计算平均周期图。此阶段使用dsp。SpectrumEstimator系统对象™。数据段的长度和窗口的选择决定了估计的分辨率带宽(RBW),这是功率谱估计中可以分辨的最小正频率。

指定窗口长度

dspstreamingwelch下图所示的模型使用韦尔奇频谱估计器块来估计在44100 Hz采样的噪声啁啾信号的频谱。功率谱估计显示使用数组的阴谋范围。频谱的峰值以及峰值出现的频率被检测到并显示在示波器上。估算的RBW也会显示出来。此外,还包括一个频谱分析仪范围块,用于比较和验证。

块的频率分辨率方法设置为窗口长度.窗口长度设置为1024。FFT长度,NFFT,等于窗口长度。数据使用旁瓣衰减为60 dB的切比雪夫窗进行加窗。频率范围是单向的。在这种情况下,频谱估计的长度为$ nfft /2+1 = 513$并在区间[0 Hz,22050 Hz]内计算。的样本增量Array Plot作用域的属性设置为$Fs/NFFT = 44100/(1024 * 1000)$,其中增量除以1000,将频率单位缩放为kHz。你可以访问范围样本增量属性,打开其配置属性窗口。

分辨率带宽为:

$$RBW = enbw(chebwin(N,SL)) * f / N$$

在哪里N是窗口长度,enbw是计算窗口等效噪声带宽的函数,SL所选切比雪夫窗的旁瓣衰减和Fs是抽样率。此时RBW = 65.38 Hz。

在模拟模型时,可以验证显示的RBW值是否与Spectrum Analyzer作用域下栏上显示的值相等。此外,两个块给出相同的峰值测量值。

指定非零重叠

前一节中的模型没有重叠。在dspstreamingwelch_overlap模型中,我们使用重叠50%的韦尔奇估计块。由于其他模型参数与上节相同,因此RBW不变,为65.38 Hz。在窗口长度为1024,重叠百分比为50%的情况下,需要512个输入样本来形成一个新的数据段。由于输入数据的长度为1024,每个新的数据帧产生两个新的周期图,并且块的输出端口的运行速度是输入端口的两倍。

注意,韦尔奇估计块在这种情况下并不是零延迟。第一个频谱估计输出基于缓冲区的初始条件,它等于eps。因此,为了匹配频谱分析仪范围内的频谱和测量值,我们在频谱分析仪的输入端插入一个延迟块。

通过对模型的仿真,可以验证频谱分析仪和韦尔奇估计块的计算结果。

指定RBW

dspstreamingwelch_rbw模型中,频率分解法参数设置为RBW.RBW源为Auto。在此模式下,与Spectrum Analyzer作用域块类似,将选择分辨率带宽,以便在指定的频率跨度上有1024个RBW间隔。由于本例中的跨度为22050 HZ,因此RBW为21.53 HZ。

用于缓冲数据的窗口长度被迭代计算以产生所需的RBW。在本例中,窗口长度等于3073。为了验证这个值,我们可以计算由这个窗口长度产生的RBW:

$$ RBW = enbw(hann(3073)) * 44100 / 3073 = 21.53 Hz $$

注意,在这个模型中使用了Hann窗口。在这种情况下,FFT长度NFFT是奇数,等于3073(窗口长度)。由于频率范围是单侧的,频谱估计的长度为(NFFT + 1)/2,并在区间[0,44100/2)上计算。的样本增量属性的数组绘图范围设置为$Fs/NFFT = 44100/(3073 * 1000)$KHz。

通过对模型的模拟,可以再次验证频谱分析仪和韦尔奇估计块的结果。

参考文献

[1]海耶斯,蒙森H。统计数字信号处理与建模“,霍博肯,新泽西州:约翰·威利父子,1996年。

另请参阅