主要内容

dsp。SpectrumEstimator

估计功率谱或功率密度谱

描述

dsp。SpectrumEstimator系统对象™使用韦尔奇算法或滤波器组方法计算信号的功率谱或功率密度谱。

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

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

估计功率密度谱:

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

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

有关系统对象如何工作的详细信息,请参见什么是系统对象?

创建

描述

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

例子

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

属性

全部展开

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

如果属性为可调,您可以随时更改其值。

有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计

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

可调:是的

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

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

依赖关系

属性时应用此属性FFTLengthSource财产“属性”

数据类型:

说明谱估计方法:

  • “韦尔奇”-对象采用韦尔奇平均修正周期图方法。

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

指定光谱估计器的窗口函数为之一“矩形”“切比雪夫”“平顶”“汉明”“损害”,或“皇帝”

依赖关系

设置时应用此属性方法“韦尔奇”

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

依赖关系

设置时应用此属性方法滤波器组的

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

指定频谱估计器的频率范围为之一双侧的“单向的”,或“中心”

如果你设置FrequencyRange“单向的”,然后频谱估计器计算实输入信号的单边频谱。当FFT长度,NFFT,为偶数,则频谱估计长度为(NFFT/2) +1并且在频率范围内计算[0, SampleRate / 2),在那里SampleRate是输入信号的采样率。当NFFT为奇数,则频谱估计长度为(NFFT+ 1) /2并且是在频率范围[0, SampleRate / 2).

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

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

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

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

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

依赖关系

设置时应用此属性AveragingMethod“奔跑”

数据类型:

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

可调:是的

依赖关系

设置时应用此属性AveragingMethod“指数”

数据类型:|

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

数据类型:|

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

依赖关系

设置时应用此属性方法“韦尔奇”而且窗口“切比雪夫”“皇帝”

数据类型:

将此属性设置为真正的因此,频谱估计器计算并输出每个输入信道的最大保持频谱。最大保持频谱是通过在每个频率仓保持所有功率谱估计值的最大值来计算的。

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

输入的采样率,以赫兹为单位,指定为有限数值标量。采样率是信号在时间内被采样的速率。

数据类型:|

使用

描述

例子

pxx= SE (x计算功率谱或功率密度谱,pxx,为输入信号,x.的列x作为独立的渠道。

例子

pxxpmax= se (x还计算最大保持频率频谱,pmax的,x.为了确定最大保持谱,该方法保持在每个频率库上计算的所有功率谱估计的最大值。集OutputMaxHoldSpectrum真正的得到最大保持谱。

pxxpmin= se (x还计算最小保持频率频谱,pmin的,x.为了确定最小保持谱,该方法保持在每个频率库上计算的所有功率谱估计的最小值。集OutputMinHoldSpectrum真正的获得最小保持频谱。

pxxpmaxpmin= se (x的功率谱、功率密度谱、最大保持谱和最小保持谱x.集OutputMaxHoldSpectrum而且OutputMinHoldSpectrum真正的得到最大保持谱和最小保持谱。

输入参数

全部展开

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

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

输出参数

全部展开

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

FFTLengthSource设置为:

  • “汽车”——大小pxx与输入信号的大小相同,x

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

缺省情况下,单位为pxx“瓦”.您还可以指定要进入的频谱dBm的“瓦分贝”通过PowerUnits财产。

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

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

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

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

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

对象的功能

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

发行版(obj)

全部展开

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

例子

全部折叠

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

生成一个采样频率为1khz的三通道正弦信号。指定100hz、200hz和300hz的正弦频率。第二个和第三个通道的相位与第一个通道相抵消\π/ 2美元而且\π/ 4美元,分别。

sinessignal = dsp。SineWave (“SamplesPerFrame”, 1000,“SampleRate”, 1000,...“频率”,[100 200 300],“PhaseOffset”,[0 pi/2 pi/4]);

估计并绘制信号的单边频谱。使用dsp。SpectrumEstimator对象进行计算dsp。ArrayPlot为了绘图。

估计器= dsp。SpectrumEstimator (“FrequencyRange”“单向的”);绘图仪= dsp。ArrayPlot (“PlotType”“行”“YLimits”, 0.75 [0],...“YLabel”功率谱(瓦特)“包含”的频率(赫兹));

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

y = sinessignal ();PXX =估计量(y);绘图仪(pxx)

方法获取频谱以Hz为单位估计的频率向量getFrequencyVector函数。

f = getFrequencyVector(estimator);

计算估计的分辨率带宽(RBW)getRBW函数。

rbw = getRBW(估计量)
RBW = 0.0015

信号功率谱的分辨率带宽为0.0015 Hz。这个频率是频谱上可以分辨的最小频率。

比较嵌入白高斯噪声中的正弦信号的光谱估计,使用基于汉恩窗口的韦尔奇方法和滤波器组方法。

初始化

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

FrameSize = 420;Fs = 1;Sinegen = dsp。SineWave (“SampleRate”Fs,...“SamplesPerFrame”FrameSize,...“频率”,[0.16 0.2 0.205 0.25],...“振幅”,[2e-5 1 0.05 0.5]);NoiseVar = 1e-10;numAvgs = 8;hannEstimator = dsp。SpectrumEstimator (“PowerUnits”dBm的...“窗口”“损害”“FrequencyRange”“单向的”...“SpectralAverages”numAvgs,“SampleRate”Fs);filterBankEstimator = dsp。SpectrumEstimator (“PowerUnits”dBm的...“方法”滤波器组的“FrequencyRange”“单向的”...“SpectralAverages”numAvgs,“SampleRate”Fs);spectrumPlotter = dsp。ArrayPlot (...“PlotType”“行”“SampleIncrement”Fs / FrameSize...“YLimits”(-250年,50),“YLabel”dBm的...“ShowLegend”,真的,“ChannelNames”, {“损害窗口”滤波器组的});

流媒体

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

i = 1:1000 x = sum(sinegen(),2) + sqrt(NoiseVar)*randn(FrameSize,1);Pse_hann = hannestimate (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”“权力”“PowerUnits”dBm的...“FrequencyRange”“中心”...“OutputMaxHoldSpectrum”,真正的);绘图仪= dsp。ArrayPlot (“PlotType”“行”...“XOffset”, -500,...“YLimits”, 30 [-60],...“标题”“100赫兹正弦波功率谱”...“YLabel”功率谱(dBm)...“包含”的频率(赫兹));

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

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

算法

全部展开

参考文献

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

[2]凯,史蒂文M。现代谱估计:理论与应用。恩格尔伍德悬崖,新泽西州:普伦蒂斯大厅,1999年

[3] Stoica, Petre和Randolph L. Moses。信号的光谱分析。上马鞍河,新泽西州:Prentice Hall, 2005

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

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

扩展功能

版本历史

在R2013b中引入