主要内容

pwelch.

韦尔奇的功率谱密度估计

描述

例子

pxx= pwelch(X返回功率谱密度(PSD)估计,pxx,输入信号,X,发现使用Welch的重叠段平均估计器。什么时候X是矢量,它被视为一个频道。什么时候X是矩阵,PSD是针对每列独立计算的,并存储在相应的列中pxx.如果X是真实的,pxx是单面PSD估计。如果X复杂化,pxx是一个双面的PSD估计。默认,X将其划分为尽可能长的段,以获得尽可能接近但不超过8段的50%重叠。每个分段都有一个汉明窗口。将修正后的周期图平均得到PSD估计。如果不能除X精确到一个整数个数的重叠部分,X被截断。

例子

pxx= pwelch(X窗口使用输入向量或整数,窗口,将信号划分为段。如果窗口是一个矢量,pwelch.将信号分成长度与长度相等的段窗口.使用乘以向量的信号段计算修改的一段序目,窗口.如果窗口是整数,信号被分成若干段的长度窗口.修正后的周期图用长度为汉明窗计算窗口

例子

pxx= pwelch(X窗口noverlap用途noverlap从一段到另一段的重叠样本。noverlap必须是一个小的整数小于窗口如果窗口是一个整数。noverlap必须是少于长度的正整数窗口如果窗口是矢量。如果您未指定noverlap,或指定noverlap为空,默认的重叠样本数为窗口长度的50%。

例子

pxx= pwelch(X窗口noverlapNFFT.指定在PSD估计中使用的离散傅里叶变换(DFT)点的数量。默认的NFFT.是否大于256或2的次幂大于线段的长度。

[pxxW.) = pwelch (___返回归一化频率向量,W..如果pxx是一个片面的PSD估计,W.跨越间隔[0,π]NFFT.如果是偶数和[0,π)NFFT.是奇数。如果pxx是一个双面的PSD估计,W.跨越间隔[0,2π)。

例子

[pxxF) = pwelch (___FS.返回一个频率矢量,F,单位时间为周数。采样率,FS.,为单位时间内的样本数。如果时间的单位是秒,那么F单位为周/秒(Hz)。为实值信号,F跨越间隔[0,FS./ 2)当NFFT.偶数和[0,FS./ 2)NFFT.是奇数。对于复数值,F跨越间隔[0,FS.).FS.一定是第5个输入pwelch..要输入采样率并仍然使用前面的可选参数的默认值,请将这些参数指定为空,[]

[pxxW.) = pwelch (X窗口noverlapW.在向量中指定的标准化频率下返回双面Welch PSD估计,W..向量W.必须包含至少两个元素,因为否则该功能将其解释为NFFT.

[pxxF) = pwelch (X窗口noverlapFFS.在向量中指定的频率下返回双面Welch PSD估计,F.向量F必须包含至少两个元素,因为否则该功能将其解释为NFFT..频率F单位时间为周期。采样率,FS.,为单位时间内的样本数。如果时间的单位是秒,那么F单位为周/秒(Hz)。

例子

[___) = pwelch (X窗口___弗赖琴返回通过指定的频率范围的Welch PSD估计弗赖琴.有效的选择弗赖琴是:'片面'双侧的, 或者“中心”

例子

[___) = pwelch (X窗口___痕迹返回最大保持频谱估计值痕迹被指定为“maxhold”并返回最小保持谱估计痕迹被指定为'minhold'

例子

[___pxxc) = pwelch (___,'concidencelevel',概率返回概率×100%的PSD估计的置信区间pxxc

例子

[___) = pwelch (___Spectrumtype.返回PSD估计值Spectrumtype.被指定为'psd'并返回权力频谱ifSpectrumtype.被指定为'力量'

例子

pwelch (___没有输出参数在当前数字窗口中绘制Welch PSD估计。

例子

全部折叠

获得由角频率为的离散正弦信号组成的输入信号的韦尔奇PSD估计 π / 4. rad /样本与添加剂 N 0. 1 白噪声。

创建一个角频率为的正弦波 π / 4. rad /样本与添加剂 N 0. 1 白噪声。重置随机数生成器以获得可重复的结果。信号有一个长度 N X = 3. 2 0. 样品。

rng默认n = 0:319;x = cos(pi / 4 * n)+ Randn(尺寸(n));

使用默认的汉明窗口和DFT长度获取Welch PSD估计。默认段长度为71个样本,DFT长度是256点,产生频率分辨率 2 π / 2 5. 6. rad /样品。由于信号是实数,周期图是单边的,有256/2+1点。绘制韦尔奇PSD估计。

pxx = pwelch(x);pwelch (x)

图中包含一个轴。标题为韦尔奇功率谱密度估计的轴包含一个线型对象。

重复计算。

  • 将信号分成长度的部分 N S. C = N X / 4. 5. .该操作等效于将信号划分为最长可能的段,以获得靠近但不超过8个段,具有50%重叠。

  • 窗口使用汉明窗窗口。

  • 指定相邻部分之间50%的重叠

  • 计算FFT,使用 马克斯 2 5. 6. 2 P. 积分,在那里 P. = 日志 2 N S. C

验证这两种方法是否具有相同的结果。

Nx =长度(x);nsc =地板(Nx / 4.5);11月=地板(nsc / 2);nff = max (256 2 ^ nextpow2 (nsc));t = pwelch (x,汉明(nsc), 11月nff);maxerr = max (abs (abs (t (:)) abs (pxx (:))))
maxerr = 0.

将信号分成8个等长段,段间重叠50%。指定与上一步相同的FFT长度。计算Welch PSD估计,并验证它给出了与前两个步骤相同的结果。

ns = 8;ov = 0.5;LSC =地板(NX /(NS-(NS-1)* OV));t = pwelch(x,lsc,地板(ov * lsc),nff);maxerr = max (abs (abs (t (:)) abs (pxx (:))))
maxerr = 0.

获得由角频率为的离散正弦信号组成的输入信号的韦尔奇PSD估计 π / 3. rad /样本与添加剂 N 0. 1 白噪声。

创建一个角频率为的正弦波 π / 3. rad /样本与添加剂 N 0. 1 白噪声。重置随机数生成器以获得可重复的结果。信号有512个样品。

rng默认n = 0:511;X = COS(PI / 3 * N)+ RANDN(尺寸(n));

将信号分成长度为132个样本段,得到Welch PSD估计。信号段与长度为132个样本的汉明窗口相乘。由于没有指定重叠样本的数量,所以设置为132/2 = 66。DFT长度为256点,产生频率分辨率为 2 π / 2 5. 6. rad /样品。因为信号是实数的,PSD估计是单边的,有256/2+1 = 129点。绘制PSD作为归一化频率的函数。

segmentLength = 132;[pxx w] = pwelch (x, segmentLength);情节(w /π,10 * log10 (pxx))包含(“ω\ / \π”

图中包含一个轴。轴包含一个类型为line的对象。

获得由角频率为的离散正弦信号组成的输入信号的韦尔奇PSD估计 π / 4. rad /样本与添加剂 N 0. 1 白噪声。

创建一个角频率为的正弦波 π / 4. rad /样本与添加剂 N 0. 1 白噪声。重置随机数生成器以获得可重复的结果。信号长度为320个样本。

rng默认n = 0:319;x = cos(pi / 4 * n)+ Randn(尺寸(n));

将信号分成长度为100个样本的段,获得Welch PSD估计。信号段乘以一个长度为100个样本的汉明窗口。重叠的样本数为25。DFT长度为256点,产生频率分辨率为 2 π / 2 5. 6. rad /样品。由于信号是真实值的,因此PSD估计是片面的,有256/2 + 1点。

segmentLength = 100;noverlap = 25;pxx = pwelch (x, segmentLength noverlap);图(10 * log10 (pxx))

图中包含一个轴。轴包含一个类型为line的对象。

获得由角频率为的离散正弦信号组成的输入信号的韦尔奇PSD估计 π / 4. rad /样本与添加剂 N 0. 1 白噪声。

创建一个角频率为的正弦波 π / 4. rad /样本与添加剂 N 0. 1 白噪声。重置随机数生成器以获得可重复的结果。信号长度为320个样本。

rng默认n = 0:319;X = cos(/4*n) + randn(size(n));

将信号分成长度为100个样本的段,获得Welch PSD估计。使用50%的默认重叠。将DFT长度指定为640点,以便频率 π / 4. Rad /样品对应于DFT箱(BIN 81)。由于信号是真值,PSD估计是片面的,并且有640/2 + 1点。

segmentLength = 100;nfft = 640;pxx = pwelch(x,secmentlength,[],nfft);绘制(10 * log10(pxx))xlabel('rad / sample')ylabel(“dB / (rad /样本)”

图中包含一个轴。轴包含一个类型为line的对象。

创建一个信号组成的100hz的正弦相加N(0,1)白噪声。重置随机数生成器以获得可重复的结果。采样率为1 kHz,信号速度为5秒钟。

rng默认fs = 1000;t = 0:1 / fs: 5 - 1 / f;x = cos(2 * pi * 100 * t)+ randn(尺寸(t));

获取Welch的重叠段平均前面信号的PSD估计。使用具有300个重叠样本的500个样本的段长度。使用500个DFT点,使100 Hz直接落在DFT箱上。输入采样率以输出Hz中的频率向量。绘制结果。

[pxx f] = pwelch (x 500300500 fs);情节(f, 10 * log10 (pxx))包含(的频率(赫兹))ylabel('psd(db / hz)'

图中包含一个轴。轴包含一个类型为line的对象。

创建由三个嘈杂的正弦曲线和啁啾组成的信号,以200kHz采样0.1秒。正弦波的频率为1 kHz,10 kHz和20 kHz。正弦曲线具有不同的幅度和噪声水平。无噪声啁啾具有以20 kHz开头的频率,并在采样期间将线性地增加至30 kHz。

fs = 200e3;FC = [110 20]'* 1E3;ns = 0.1 * fs;t =(0:ns-1)/ fs;X = [1 1/10 10] * SIN(2 * PI * FC * T)+ [1/200 1/2000 1/20] * RANDN(3,NS);x = x + chirp(t,20e3,t(端),30e3);

计算韦尔奇PSD估计和信号的最大保持和最小保持谱。策划的结果。

[pxx,f] = pwelch(x,[],[],[],fs);pmax = pwelch (x ,[],[],[], Fs,“maxhold”);pmin = pwelch (x ,[],[],[], Fs,'minhold');绘图(F,POW2DB(PXX))保持绘图(F,POW2DB([PMAX PMIN]),“:”) 抓住Xlabel(的频率(赫兹))ylabel('psd(db / hz)')传说('pwelch'“maxhold”'minhold'

图中包含一个轴。坐标轴包含3个类型为line的对象。这些对象代表pwelch, maxhold, minhold。

重复过程,这次计算中心功率谱估计。

pxx f = pwelch (x ,[],[],[], Fs,“中心”'力量');pmax = pwelch (x ,[],[],[], Fs,“maxhold”“中心”'力量');pmin = pwelch (x ,[],[],[], Fs,'minhold'“中心”'力量');绘图(F,POW2DB(PXX))保持绘图(F,POW2DB([PMAX PMIN]),“:”) 抓住Xlabel(的频率(赫兹))ylabel('Power(DB)')传说('pwelch'“maxhold”'minhold'

图中包含一个轴。坐标轴包含3个类型为line的对象。这些对象代表pwelch, maxhold, minhold。

该示例说明了利用置信度限制与Welch的重叠段平均(WOSA)PSD估计。虽然不是统计显着性的必要条件,但是韦尔奇的频率估计的估计率较低的置信度超过周围PSD估计的上部置信度明确表示在时间序列中的显着振荡。

创建一个由100Hz和150 Hz正弦波的叠加组成的信号,在添加白色N(0,1)噪音。两个正弦波的振幅为1。采样率为1 kHz。重置随机数发生器以进行可重复的结果。

rng默认fs = 1000;t = 0:1 / fs: 1 - 1 / f;x = cos(2 *π* 100 * t) +罪(2 *π* 150 * t) + randn(大小(t));

获得95%置信范围的WOSA估计。设置片段长度为200,并将片段重叠50%(100个样本)。绘制WOSA PSD估计值以及置信区间,并放大感兴趣的频率区域,接近100和150赫兹。

L = 200;noverlap = 100;[pxx f, pxxc] = pwelch (x,汉明(L)、noverlap 200 fs,......'concidencelevel',0.95);绘图(F,10 * log10(pxx))保持情节(f, 10 * log10 (pxxc),“-”。) 抓住xlim(25[250])包含(的频率(赫兹))ylabel('psd(db / hz)')标题(“韦尔奇估计有95%的信心界限”

图中包含一个轴。具有95%-Inconfey界限的标题韦尔奇估计的轴包含3个类型的类型。

在100和150Hz附近的较低置信度明显高于100和150Hz附近的上置信度。

创建一个信号组成的100hz的正弦相加 N 0. 1 / 4. 白噪声。重置随机数生成器以获得可重复的结果。采样率为1 kHz,信号速度为5秒钟。

rng默认fs = 1000;t = 0:1 / fs: 5 - 1 / f;noisevar = 1/4;x = cos(2 *π* 100 * t) + sqrt (noisevar) * randn(大小(t));

利用Welch的方法获得dc中心的功率谱。使用500个样本和300个重叠样本的段长度和500个点的DFT长度。绘制结果。

[pxx,f] = pwelch(x,500,300,500,fs,“中心”'力量');情节(f, 10 * log10 (pxx))包含(的频率(赫兹))ylabel('幅度(db)'网格)

图中包含一个轴。轴包含一个类型为line的对象。

您可以看到-100和100 Hz的功率接近1/4的预期功率,对于具有幅度的真实值的正弦波。从1/4的偏差是由于添加剂噪声的影响。

生成1024个多通道信号的样本,由添加剂中的三个正弦曲线组成 N 0. 1 白色高斯噪音。正弦频率是 π / 2 π / 3. , π / 4. rad /样品。使用Welch的方法估算信号的PSD并绘制它。

N = 1024;n = 0: n - 1;w = pi. / [2, 3, 4);X = cos(w*n)' + randn(length(n),3);pwelch (x)

图中包含一个轴。韦尔奇功率谱密度估计轴包含3个线型对象。

输入参数

全部折叠

输入信号,指定为行或列向量,或作为矩阵。如果X是一个矩阵,则其列被视为独立通道。

例子:COS(PI / 4 *(0:159))+ RANDN(1,160)是一个单通道行向量信号。

例子:cos(pi ./ [4; 2] *(0:159))'+ Randn(160,2)是双通道信号。

数据类型:单身的|
复数的支持:万博1manbetx是的

窗口,指定为行或列向量或整数。如果窗口是一个矢量,pwelch.X长度的重叠段等于长度窗口,然后将每个信号段与中指定的向量相乘窗口.如果窗口是一个整数,pwelch.分为等于整数值的长度的片段,并且使用了相同长度的汉明窗口。如果长度X不能被精确地分割成整数个数的段noverlap重叠样本数,X被截断。如果您指定窗口为空,默认汉明窗口用于获得八个段Xnoverlap重叠的样本。

数据类型:单身的|

重叠样本数,指定为小于长度的正整数窗口.如果您省略noverlap或指定noverlap如果为空,则使用一个值来获取段之间50%的重叠。

DFT点数,指定为正整数。对于真实值的输入信号,X,PSD估计,pxx有长度(NFFT./ 2 + 1)如果NFFT.甚至和(NFFT.+ 1)/ 2如果NFFT.是奇数。对于复值输入信号,X, PSD估计总是有长度的NFFT..如果NFFT.是否指定为空,默认NFFT.使用。

如果NFFT.大于段长度,数据是零填充的。如果NFFT.小于段长度,段用段使用DataWrap.使长度等于NFFT.

数据类型:单身的|

采样率,指定为正标量。采样率是每单位时间的样本数。如果时间单位是秒,则采样率具有Hz的单位。

标准化频率,指定为具有至少两个元素的行或列向量。归一化频率位于Rad /样品中。

例子:W = [pi/4 pi/2]

数据类型:

频率,指定为具有至少两个元素的行或列向量。频率每单位时间循环。单位时间由采样率指定,FS..如果FS.有一个样本/秒,那么F单位是Hz。

例子:fs = 1000;f = [100 200]

数据类型:

PSD估计的频率范围,指定为一个'片面'双侧的, 或者“中心”.默认值是'片面'用于实值信号和双侧的用于复值信号。对应于每个选项的频率范围是

  • '片面'- 返回实值输入信号的单侧PSD估计,X.如果NFFT.是偶数,pxx有长度NFFT./2 + 1,在区间内计算[0,π]rad /样品。如果NFFT.是奇怪的,长度pxx是 (NFFT.+ 1)/ 2,间隔是[0,πrad /样品。什么时候FS.可选地指定,相应的间隔是[0,FS./2]周期/单位时间和[0,FS./ 2)偶数和奇数长度的循环/单位时间NFFT.分别。

  • 双侧的-返回实值或复数输入的双边PSD估计,X.在这种情况下,pxx有长度NFFT.是在区间内计算的[0, 2πrad /样品。什么时候FS.可选地指定,间隔是[0,FS.)周期/单位时间。

  • “中心”- 返回居住的双面PSD估计值,用于实值或复数输入的输入,X.在这种情况下,pxx有长度NFFT.是在区间内计算的(-ππ]rad /样品均匀长度NFFT.(-ππ奇数长度的Rad /sampleNFFT..什么时候FS.可选择指定,相应的间隔是( -FS./ 2,FS./2]周期/单位时间和(-FS./ 2,FS./ 2)偶数和奇数长度的循环/单位时间NFFT.分别。

功率谱缩放,指定为一个'psd'或者'力量'.省略这一点Spectrumtype.或指定'psd',返回功率谱密度。指定'力量'用窗口的等效噪声带宽对PSD的每个估计进行缩放。使用'力量'选择每个频率的功率估计的选项。

跟踪模式,指定为一个“的意思是”“maxhold”, 或者'minhold'.默认值是“的意思是”

  • “的意思是”-返回每个输入通道的Welch频谱估计。pwelch.通过平均所有段的功率谱估计来计算每个频率箱的Welch光谱估计。

  • “maxhold”-返回每个输入通道的最大保持频谱。pwelch.通过保持所有段的功率频谱估计中的最大值来计算每个频率仓处的最大保持频谱。

  • 'minhold'- 返回每个输入通道的最小保持频谱。pwelch.通过保持所有段的功率谱估计值的最小值来计算每个频率箱的最小保持频谱。

真正PSD的覆盖概率,指定为范围(0,1)的标量。输出,pxxc,包含下限和上限概率×100%的真实PSD间隔估计。

输出参数

全部折叠

PSD估计,以实值的非负列向量或矩阵返回。每一列的pxx是相应列的PSD估计X.PSD估计的单位是时间序列数据每单位频率的平方量级单位。例如,如果输入数据的单位是伏特,则PSD估计的单位是每单位频率的平方伏特。对于以伏特为单位的时间序列,如果您假定电阻为1 Ω并指定以赫兹为单位的采样率,则PSD估计的单位为瓦特/赫兹。

数据类型:单身的|

归一化频率,作为实值列向量返回。如果pxx是一个片面的PSD估计,W.跨越间隔[0,π]如果NFFT.甚至和[0,π如果NFFT.是奇数。如果pxx是一个双面的PSD估计,W.跨越间隔[0, 2π.对于以dc为中心的PSD估计,W.跨越间隔(-ππ]偶数NFFT.(-ππ对于奇数NFFT.

数据类型:

周期频率,作为实值列向量返回。对于一个片面的PSD估计,F跨越间隔[0,FS./ 2)当NFFT.偶数和[0,FS./ 2)NFFT.是奇数。对于双面PSD估计,F跨越间隔[0,FS.).对于以dc为中心的PSD估计,F跨越间隔( -FS./ 2,FS./ 2]甚至长度的循环/单位时间NFFT.和 (-FS./ 2,FS./ 2)奇数长度的循环/单位时间NFFT.

数据类型:|单身的

置信度限制,作为具有实值元素的矩阵。矩阵的行大小等于PSD估计的长度,pxxpxxc有两倍的列pxx.奇数列包含置信区间的下限,偶数列包含上限。因此,pxxc(m,2 * n-1)较低的置信限是和吗pxxc(m,2 * n)是与估计相对应的上置信度pxx(m,n).置信区间的覆盖概率由该值确定概率输入。

数据类型:单身的|

更多关于

全部折叠

Welch的重叠段平均谱估计

期间图不是广义固定过程的真正功率谱密度的一致估计器。Welch的技术来降低期限评论的方差,将时间序列中断到段中,通常重叠。

Welch的方法计算每个段的修改时间图,然后平均这些估计以产生功率谱密度的估计。由于该过程是宽的静止和Welch的方法,使用时间序列的不同段的PSD估计,所修改的时段代表真正的PSD的大致不相关估计,并且平均降低了变化。

这些分段通常乘以一个窗函数,比如汉明窗,因此Welch的方法相当于平均修正的周期图。因为线段通常重叠,数据值在线段的开始和结束锥形的窗口在一个线段,发生在远离相邻线段的结束。这可以防止窗口导致的信息丢失。

参考

[1] Hayes, Monson H。统计数字信号处理和建模.纽约:John Wiley&Sons,1996。

[2] Stoica,Betre和Randolph摩西。信号的光谱分析。上部马鞍河,NJ:Prentice Hall,2005。

扩展功能

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

之前介绍过的R2006a