主要内容

dsp。SpectrumEstimator

估计功率谱或功率密度谱

描述

dsp。SpectrumEstimatorSystem object™使用Welch算法或滤波器组方法计算信号的功率谱或功率密度谱。

当您选择Welch方法时,对象计算平均修改周期图来计算谱估计值。当选择滤波器组方法时,分析滤波器组将宽带输入信号分成多个窄子带。对象计算每个窄频带的功率,计算值是在相应频带上的谱估计值。对于FFT长度相对较小的信号,滤波器组方法产生的频谱估计具有更高的分辨率,更准确的噪声底噪声,峰值比Welch方法更精确,且频谱泄漏低或没有。这些优势是以增加的计算量和较慢的跟踪速度为代价的。

光谱可以以瓦特或分贝表示。该对象还可以估计信号的最大保持和最小保持光谱。

估计功率密度谱:

  1. 创建dsp。SpectrumEstimator对象,并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

要了解有关系统对象如何工作的更多信息,请参阅什么是系统对象?

创建

描述

SE= dsp。SpectrumEstimator返回一个系统对象,SE,计算实信号或复信号的频率功率谱或功率密度谱。这个System对象使用Welch的平均修正周期图方法或基于滤波器组的谱估计方法。

例子

SE= dsp。SpectrumEstimator (名称,价值返回一个dsp。SpectrumEstimator系统对象,将每个指定的属性名设置为指定的值。未指定的属性具有默认值。

属性

全部展开

除非另有说明,属性是nontunable,这意味着您不能在调用对象之后更改它们的值。对象在调用时锁定,而释放功能解锁它们。

如果一个属性是可调,您可以随时更改它的值。

有关更改属性值的更多信息,请参见在MATLAB中使用系统对象进行系统设计

频谱类型,指定为任意一种“权力”或者'功率密度'.当频谱类型是“权力”,功率密度谱按窗的等效噪声带宽(以Hz为单位)进行缩放。

可调:是的

FFT长度值的来源,指定为'汽车'或者“属性”.如果将此属性设置为'汽车'时,频谱估计器将FFT长度设置为输入帧大小。如果将此属性设置为“属性”,然后指定FFT点的数量FFTLength财产。

将频谱估计器用于计算频谱估计的FFT的长度指定为正整数。

依赖关系

属性设置时将应用此属性fftlengthsource.财产“属性”

数据类型:

指定谱估计方法:

  • '韦尔奇'- 该对象使用Welch的平均修改时段方法方法。

  • 滤波器组的-分析滤波器组将宽带输入信号分成多个窄子带。对象计算每个窄频带的功率,计算值是在相应频带上的谱估计值。

为频谱估计器指定窗口函数作为其中一个'矩形的'“切比雪夫”“平顶”“汉明”“损害”,或“皇帝”

依赖关系

此属性在您设置时适用方法'韦尔奇'

为每个频带指定滤波器系数或抽头的数量。该值对应于每个多相分支的滤波器系数的数量。滤波器系数的总数由numtapsperband.×FFTLength

依赖关系

此属性在您设置时适用方法滤波器组的

数据类型:||INT8.|int16|int32|int64|uint8|uint16|uint32|uint64

指定频谱估计器的频率范围为'twosiding''片面',或“中心”

如果你设置FrequencyRange'片面',则频谱估计器计算实输入信号的单侧频谱。当FFT长度,NFFT,甚至,频谱估计有长度(NFFT/2)+1并在频率范围内计算[0, SampleRate / 2),在那里SampleRate为输入信号的采样率。当NFFT时,谱估计长度为(NFFT+ 1)/2并计算在频率范围内[0,Samplerge / 2)。

如果你设置FrequencyRange'twosiding',然后频谱估计器计算复或实输入信号的双边频谱。估计的频谱长度等于FFT长度。频谱估计是在频率范围内计算的[0,Sampleate.),SampleRate为输入信号的采样率。

如果你设置FrequencyRange“中心”然后,频谱估计器计算复合物或实际输入信号的居中的双面谱。估计的频谱长度等于FFT长度。频谱估计在频率范围内计算(-Samplerge / 2,Samplate / 2]当FFT长度均匀和(-SampleRate / 2, SampleRate / 2)当FFT长度为奇数时。

指定用于测量功率的单位为“瓦”“瓦分贝”,或dBm的

指定平均方法“奔跑”或者“指数”.在运行平均方法中,对象计算由定义的指定数目的谱估计的等加权平均SpectralAverages财产。在指数方法中,对象通过指数衰减遗忘因子计算加权的样本的平均值。

谱平均数,指定为正整数。频谱估计器通过对最后的功率谱求平均值来计算当前的功率谱或功率密度谱估计值N估计。N中是否定义了光谱平均值的数目SpectralAverages财产。

依赖关系

此属性在您设置时适用AveragingMethod“奔跑”

数据类型:

指定指数权重遗忘因子为大于零且小于或等于1的标量值。

可调:是的

依赖关系

此属性在您设置时适用AveragingMethod“指数”

数据类型:|

指定谱估计器使用的负载作为参考,以欧姆为单位计算功率值的实的正标量。

数据类型:|

指定窗口的旁瓣衰减为实的正标量,单位为分贝(dB)。

依赖关系

此属性在您设置时适用方法'韦尔奇'窗口“切比雪夫”或者“皇帝”

数据类型:

将此属性设置为真的因此,频谱估计器计算并输出每个输入通道的最大保持频谱。通过保持在每个频谱估计的每个频率箱估计的最大值来计算MAX-HOLL频谱。

将此属性设置为真的使频谱估计器计算并输出每个输入信道的最小保持谱。最小保持谱的计算方法是在每个频段保持所有功率谱估计值的最小值。

输入的采样率(Hz),指定为有限数值标量。采样率是信号在时间上的采样率。

数据类型:|

用法

描述

例子

pxx= SE (x计算功率谱或功率密度谱,pxx,输入信号,x.系统对象对待列的列x作为独立的频道。

例子

pxxpmax] = SE(x同时计算最大保持频率频谱,pmax的,x.为了确定最大保持谱,该方法保持在每个频域计算的所有功率谱估计值的最大值。集OutputMaxHoldSpectrum真的得到最大保持谱。

pxxpmin] = SE(x还计算最小保持频谱,pmin的,x.为了确定最小保持谱,该方法保持每个频域计算的所有功率谱估计值的最小值。集outputminholdspectum.真的获得最小保持光谱。

pxxpmaxpmin] = SE(x计算的功率谱或功率密度谱、最大保持谱和最小保持谱x.集OutputMaxHoldSpectrumoutputminholdspectum.真的得到最大保持谱和最小保持谱。

输入参数

全部展开

输入信号,指定为向量或矩阵。的行长x为帧大小或通道长度。每一列的x被视为一个单独的通道。的列长x为通道的数量。

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

输出参数

全部展开

功率或功率密度谱估计,以与输入信号相同数据类型和复杂性的向量或矩阵返回,x

fftlengthsource.设置为:

  • '汽车'——大小pxx等于输入信号的大小,x

  • “属性”——大小pxx与指定的FFT长度相同。

默认单位为pxx“瓦”.您还可以指定要使用的光谱dBm的或者“瓦分贝”通过发电财产。

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

最大保持谱估计,作为输出信号的大小、数据类型和复杂度相同的向量或矩阵返回,pxx

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

最小保持谱估计,作为输出信号的大小、数据类型和复杂度相同的向量或矩阵返回,pxx

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

对象的功能

要使用对象函数,请指定System对象作为第一个输入参数。例如,释放名为system的对象的系统资源obj,使用下面的语法:

释放(obj)

全部展开

getFrequencyVector 估计完成的频率矢量
getRBW 频谱分辨率带宽
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 重置内部状态系统对象

例子

全部收缩

计算多通道正弦信号的功率谱使用dsp。SpectrumEstimator系统对象™。你可以得到频率的向量在这个向量上频谱是用getFrequencyVector函数。要计算估计值(RBW)的分辨率带宽,使用getRBW函数。

生成在1 kHz上采样的三通道正弦曲线。指定100,200和300 Hz的正弦频率。第二和第三频道使它们的阶段从第一个偏移\π/ 2美元\π/ 4美元,分别。

sineignal = dsp.sinewave('samplesperframe', 1000,“SampleRate”, 1000,...'频率'(100 200 300),“PhaseOffset”, 0π/ 2π/ 4);

估计并绘制信号的单侧频谱。使用dsp。SpectrumEstimator计算的对象和dsp.arrayplot.策划。

估计量= dsp。SpectrumEstimator (“FrequencyRange”'片面');plotter = dsp.arrayplot('plottype'“行”“YLimits”,[0 0.75],...'ylabel''功率谱(瓦特)''xlabel'的频率(赫兹));

通过分步获取数据流,并显示三个通道的光谱。

y = sineignal();pxx =估计器(y);绘图仪(PXX)

得到频率的向量,在那里频谱被估计为Hz,使用getFrequencyVector函数。

f = getFrequencyVector(估计);

使用的方法计算估计值的分辨率带宽(RBW)getRBW函数。

rbw = getRBW(估计值)
RBW = 0.0015.

信号功率谱的分辨率带宽为0.0015Hz。此频率是可以在频谱上解析的最小频率。

用基于Hann窗的Welch方法和滤波器组方法比较嵌入在高斯白噪声中的正弦波的谱估计。

初始化

初始化两个dsp。SpectrumEstimator对象。指定一个使用基于韦尔奇的汉恩窗谱估计技术的估计器。指定使用分析滤波器组来执行光谱估计的其他估计器。指定一个带有4个正弦波的噪声输入信号,分别为0.16,0.2,0.205和0.25 cycles/sample。使用阵列图查看光谱估计。

框架= 420;FS = 1;sinegen = dsp.sinewave(“SampleRate”,fs,...'samplesperframe',框架化,...'频率',[0.16 0.2 0.205 0.25],...“振幅”,[2e-5 1 0.05 0.5]);NoiseVar = 1平台以及;numAvgs = 8;hannEstimator = dsp。SpectrumEstimator ('PowerUnit'dBm的...“窗口”“损害”“FrequencyRange”'片面'...“SpectralAverages”,numavgs,“SampleRate”Fs);filterbankestimator = dsp.spectrumestimator('PowerUnit'dBm的...“方法”滤波器组的“FrequencyRange”'片面'...“SpectralAverages”,numavgs,“SampleRate”Fs);spectrumPlotter = dsp。ArrayPlot (...'plottype'“行”“SampleIncrement”Fs / FrameSize...“YLimits”,[ -  250,50],'ylabel'dBm的...“ShowLegend”,真的,“ChannelNames”,{“损害窗口”滤波器组的});

流媒体

流的输入。比较使用Hann窗和分析滤波器组计算的谱估计

i = 1:100 x = sum(sinegen(),2) + sqrt(NoiseVar)*randn(FrameSize,1);Pse_hann = hannEstimator (x);Pfb = filterBankEstimator (x);spectrumPlotter ([Pse_hann Pfb])结束

Hann窗在0.205个周期/样本处错过峰值。此外,该窗存在明显的频谱泄漏,使得0.16 cycles/sample处的峰值难以区分,噪声底限也不正确。

该滤波器组估计具有很好的分辨率,没有频谱泄漏。

请注意:如果您使用的是使用R2016A或早期版本,则用等价替换对象的每个调用一步语法。例如,obj (x)成为步骤(obj,x)

生成正弦波。

sinewave = dsp.sinewave('频率', 100,“SampleRate”, 1000,...'samplesperframe',1000);

利用频谱估计器计算正弦波的功率谱和最大保持谱。使用阵列图显示光谱。

SE = dsp。SpectrumEstimator (“SampleRate”, sineWave。SampleRate,...“SpectrumType”“权力”'PowerUnit'dBm的...“FrequencyRange”“中心”“OutputMaxHoldSpectrum”,真的);plotter = dsp.arrayplot('plottype'“行”'xoffset', -500,...“YLimits”,[ -  60 30],“标题”“100hz正弦波的功率谱”...'ylabel'的功率谱(dBm)'xlabel'的频率(赫兹));

在正弦波中加入随机噪声。输入数据,绘制信号的功率谱。

ii = 1:10 x = sineWave() + 0.05*randn(1000,1);[Pxx, Pmax] = SE (x);绘图仪([Pxx Pmax])结束

算法

全部展开

参考文献

[1] Hayes,Monson H.统计数字信号处理与建模。霍博肯:约翰·威利父子公司,1996

Kay, Steven M。现代光谱估计:理论与应用。Englewood Cliffs,NJ:Prentice Hall,1999

[3] Stoica,Petre和Randolph L. Moses。信号的频谱分析。上鞍河,NJ: Prentice Hall, 2005

[4] Welch, P. D.“使用快速傅里叶变换估计功率谱:一种基于短修正周期图时间平均的方法”IEEE音频和电声学汇刊, 1967年第15卷,第70-73页。

[5]哈里斯F.J.通信系统的多速率信号处理.Prentice Hall, 2004, pp. 208-209。

扩展功能

介绍在R2013B.