周期图

周期图功率谱密度估计

描述

例子

pxx=周期图(x返回周期图功率谱密度估计值,pxx,输入信号,x,使用矩形窗口找到。当x是一个向量,它被视为单个通道。当x是一个矩阵,PSD独立计算每一列,并存储在pxx如果x是实值的,,pxx是片面的PSD估计。如果x是复数,pxx是一个双边PSD估计值。点数,nfft,在离散傅里叶变换(DFT)中,最大值为256或下一次幂次方,大于信号长度。

例子

pxx=周期图(x使用窗口返回修改后的周期图PSD估计值,向量的长度是否等于x

例子

pxx=周期图(xnfft使用nfft离散傅里叶变换(DFT)中的点。如果nfft大于信号长度,x零填充到长度nfft如果nfft小于信号长度时,信号被模包裹nfft并使用datawrap. 例如,输入信号[1 2 3 4 5 6 7 8]具有nfft等于4的结果是周期图总和([15;26;37;48],2)

pxxw]=周期图(___返回归一化频率向量,w如果pxx是单侧周期图,w跨越区间[0,π如果nfft均匀[0,π如果nfft这很奇怪,如果pxx是一个双面周期图,w跨越区间[0,2π

例子

pxxf]=周期图(___财政司司长返回一个频率向量,f,单位为单位时间的循环数。抽样率,财政司司长,是每单位时间的样本数。如果时间单位为秒,则f以周期/秒(Hz)为单位。对于实值信号,f跨越区间[0,财政司司长/2] 什么时候nfft为偶数,[0,财政司司长/2) 什么时候nfft是奇数。为复值信号,f跨越区间[0,财政司司长).财政司司长必须是的第四个输入周期图.若要输入一个抽样率并且仍然使用前面可选参数的默认值,请将这些参数指定为空,[]

例子

pxxw]=周期图(xw返回向量中指定的标准化频率下的双边周期图估计值,ww必须至少包含两个元素,否则函数将其解释为nfft

例子

pxxf]=周期图(xf财政司司长返回向量中指定频率下的双边周期图估计值。向量f必须至少包含两个元素,否则函数将其解释为nfft.使用的频率f单位时间内的循环数。抽样率,财政司司长,是每单位时间的样本数。如果时间单位为秒,则f以周期/秒(Hz)为单位。

例子

___]=周期图(x___频率范围返回指定频率范围内的周期图频率范围.有效选项频率范围是:“片面的”“双面的”“居中”

例子

___pxxc]=周期图(___“ConfidenceLevel”,可能性返回可能性x中PSD估计值的100%置信区间pxxc

rpxxf]=周期图(___,“重新分配”)重新分配每个PSD估计到最接近其能量中心的频率。rpxx包含重新分配给每个要素的估算值之和f

例子

rpxxfpxx足球俱乐部]=周期图(___,“重新分配”)也返回未分配的PSD估计,pxx,以及能量频率的中心,足球俱乐部.如果你使用“重新分配”标志,则不能指定可能性置信区间。

例子

___]=周期图(___spectrumtype如果需要,返回PSD估计值spectrumtype指定为psd的并返回功率谱,如果spectrumtype指定为“权力”

例子

周期图(___无输出参数时,在当前图形窗口中绘制周期图PSD估计值,单位为dB/单位频率。

例子

全部崩溃

获取由角频率为的离散时间正弦波组成的输入信号的周期图 π / 4 rad/含添加剂的样品 N 0 1 白噪声。

创建角度频率为的正弦波 π / 4 rad/含添加剂的样品 N 0 1 白噪声。信号长度为320个样本。使用默认矩形窗口和DFT长度获取周期图。DFT长度是比信号长度大2的次幂,或512个点。由于信号为实值且长度为偶数,因此周期图为单侧,有512/2+1个点。

n=0:319;x=cos(pi/4*n)+randn(size(n));[pxx,w]=周期图(x);绘图(w,10*log10(pxx))

使用以下命令重复绘图:周期图没有输出。

周期图(x)

获得由角频率为的离散时间正弦波组成的输入信号的修正周期图 π / 4 弧度/样本与添加剂 N 0 1 白噪声。

创建角度频率为的正弦波 π / 4 弧度/样本与添加剂 N 0 1 白噪声。信号长度为320个样本。使用汉明窗口和默认DFT长度获取修改后的周期图。DFT长度是比信号长度大2的次幂,或512个点。由于信号为实值且长度为偶数,因此周期图为单侧,有512/2+1个点。

n = 0:319;x = cos(π/ 4 * n) + randn(大小(n));周期图(x,汉明(长度(x)))

获取由角频率为的离散时间正弦波组成的输入信号的周期图 π / 4 弧度/样本与添加剂 N 0 1 白噪声。使用与信号长度相等的DFT长度。

创建角度频率为的正弦波 π / 4 弧度/样本与添加剂 N 0 1 白噪声。信号长度为320个样本。使用默认矩形窗口和DFT长度等于信号长度获得周期图。因为信号是实数,默认情况下返回单侧周期图,长度为320/2+1。

n = 0:319;x = cos(π/ 4 * n) + randn(大小(n));nfft =长度(x);周期图(x, [], nfft)

获得1700 - 1987年期间每年采样的沃尔夫(相对太阳黑子)数数据的周期图。

载入相对太阳黑子数数据。使用默认矩形窗口和DFT点(本例中为512)获取周期图。这些数据的抽样率为1个样本/年。绘制周期图。

负载太阳黑子relNums =太阳黑子(:,2);[pxx f] =周期图(relNums, [] [], 1);情节(f, 10 * log10 (pxx))包含(“周期/年”)伊拉贝尔(‘dB/(周期/年)’)头衔(“相对太阳黑子数数据的周期图”

您可以在上图中看到,周期图中有一个峰值,约为0.1个周期/年,这表明周期约为10年。

获取由两个角频率为的离散时间正弦波组成的输入信号的周期图 π / 4 π / 2 rad/添加剂中的样品 N 0 1 白噪声。在以下位置获得双侧周期图估计值: π / 4 π / 2 rad/样本。将结果与单侧周期图进行比较。

n=0:319;x=cos(pi/4*n)+0.5*sin(pi/2*n)+randn(size(n));[pxx,w]=周期图(x,[],[pi/4 pi/2]);pxx
pxx=1×214.0589 2.8872
[pxx1, w1] =周期图(x);情节(w1 /πpxx1 w /π,2 * pxx,“哦”)传奇(“pxx1”“2*pxx”)xlabel(“\omega/\pi”

得到的周期图值是单边周期图值的1/2。当您在特定的频率集上计算周期图时,输出是一个双边估计。

创建由两个频率分别为100和200 Hz的正弦波组成的信号N(0,1)白色加性噪声。采样频率为1khz。获得在100hz和200hz的双边周期图。

fs=1000;t=0:0.001:1-0.001;x=cos(2*pi*100*t)+sin(2*pi*200*t)+randn(大小(t));freq=[100 200];pxx=周期图(x,[],freq,fs)
pxx=1×20.2647 0.2313

以下示例说明了置信区间与周期图的使用。虽然不是统计显著性的必要条件,但周期图中置信下限超过周围PSD估计置信上限的频率清楚地表明时间序列中的显著振荡。

创建一个由100 Hz和150 Hz正弦波叠加而成的加性白色信号N(0,1)噪音。两个正弦波的振幅为1。采样频率为1 kHz。

fs=1000;t=0:1/fs:1-1/fs;x=cos(2*pi*100*t)+sin(2*pi*150*t)+randn(大小(t));

获得95%置信区间的周期图PSD估计值。绘制周期图和置信区间,并放大100和150 Hz附近的感兴趣频率区域。

[pxx,f,pxxc]=周期图(x,rectwin(长度(x)),长度(x),fs,...“信心水平”,0.95);图(f,10*log10(pxx))保持在…上图(f,10*log10(pxxc),'-.')xlim([85 175])xlabel(“赫兹”)伊拉贝尔(“dB/Hz”)头衔(“具有95%置信限的周期图”

100和150 Hz附近的置信下限明显高于100和150 Hz附近以外的置信上限。

以加法获得100 Hz正弦波的周期图 N 0 1 噪声。数据采样频率为1 kHz。使用“居中”选项以获取以DC为中心的周期图并绘制结果。

fs = 1000;t = 0:0.001:1 - 0.001;x = cos(2 *π* 100 * t) + randn(大小(t));周期图(x,[],长度(x), fs,“居中”

生成一个信号,该信号由嵌入高斯白噪声中的200 Hz正弦波组成。该信号以1 kHz的频率采样1秒。该噪声的方差为0.01²。重置随机数生成器以获得可再现的结果。

rng(“默认”)Fs=1000;t=0:1/Fs:1-1/Fs;N=长度(t);x=sin(2*pi*t*200)+0.01*randn(尺寸(t));

使用FFT计算信号的功率谱,通过信号长度进行归一化。正弦波在箱子里,所以所有的能量都集中在一个单一的频率样本中。绘制单侧光谱图。放大到山顶附近。

q = fft (x, N);ff = 0: Fs / N: Fs-Fs / N;fft算法= q * q ' / N ^ 2
fft算法= 0.4997
ff=ff(1:楼层(N/2)+1);q=q(1:楼层(N/2)+1);阀杆(ff、abs(q)/N、,'*')轴([190 210 0 0.55])

使用周期图计算信号的功率谱。指定一个Hann窗口和1024的FFT长度。找出200 Hz时估计功率与实际值之间的百分比差。

风=hann(N);[双关,fr]=周期图(x,风,1024,Fs,“权力”); 持有在…上阀杆(fr,双关)

periodogErr = abs (max(双关语)fft算法)/ fft算法* 100
periodogErr=4.7349

重新计算功率谱,但这次使用重新分配。绘制新的估计值,并将其最大值与FFT值进行比较。

[pre,ft,pxx,fx]=周期图(x,风,1024,Fs,“权力”“重新分配”);茎(外汇、前)传奇(“原件”“周期图”“重新分配”

重新分配=abs(最大(预)-ffts)/ffts*100
reassignErr = 0.0779

估计在特定频率正弦信号的功率使用“权力”选项

在1kHz的采样频率下,创建一个持续1秒的100Hz正弦波。正弦波的振幅为1.8,相当于1.8²/2=1.62的功率。使用“权力”选项

fs=1000;t=0:1/fs:1-1/fs;x=1.8*cos(2*pi*100*t);[pxx,f]=周期图(x,hamming(长度(x)),长度(x),fs,“权力”); [pwrest,idx]=max(pxx);fprintf('最大功率出现在%3.1f Hz\n',f(idx))
最大功率出现在100.0 Hz时
流(“功率估计为%2.2f\n”,pwrest)
估计功率为1.62

生成由三个正弦波组成的多通道信号的1024个样本 N 0 1 高斯白噪声。正弦信号的频率是 π / 2 π / 3. π / 4 rad/sample。使用周期图估计信号的PSD并绘制它。

N=1024;N=0:N-1;w=pi./[2;3;4];x=cos(w*N')+randn(长度(N),3);周期图(x)

创建一个函数周期图数据它使用窗口返回输入信号的修改周期图功率谱密度(PSD)估计值。该函数指定的离散傅里叶变换点数量等于输入信号的长度。

类型周期图数据
函数[pxx,f]=周期图数据(输入数据,窗口)%#codegen nfft=长度(输入数据);[pxx,f]=周期图(输入数据,窗口,nfft);终止

使用编码基因生成一个MEX函数。

  • %#编码基因指令表示MATLAB®代码是用于代码生成的。

  • arg游戏选项指定定义MEX文件输入的大小、类和复杂性的示例参数。对于本例,请指定输入数据作为1024×1双精度随机向量和作为长度为1024的汉明窗口。在对MEX函数的后续调用中,使用1024个样本输入信号和窗口。

  • 如果希望MEX函数具有不同的名称,请使用-o选项

  • 如果要查看代码生成报告,请添加-报告选项位于编码基因命令

编码基因周期图数据arg游戏{randn(1024,1),hamming(1024)}

使用生成的周期图函数和MEX函数计算1024个样本噪声正弦波的PSD估计值。指定正弦波归一化频率为 2 π / 5 rad/sample和Hann窗。绘制两个估计值以验证它们是否一致。

N=1024;x=2*cos(2*pi/5*(0:N-1))+randn(N,1);周期图(x,hann(N))[pxMex,fMex]=周期图数据(x,hann(N));保持在…上绘图(fMex/pi、pow2db(pxMex),':'“颜色”,[0 0.4 0])保持网格在…上传奇(“周期图”“墨西哥人函数”

输入参数

全部崩溃

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

例子:因为(π/ 4 * (0:159))+ randn (1160)是单通道行矢量信号。

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

数据类型:仅有一个的|双重的
复数支持:金宝app

窗口,指定为与输入信号长度相同的行或列向量。如果指定那就空着吧周期图使用矩形窗口。如果指定“重新分配”标志和空,然后该函数使用一个Kaiser窗口β= 38

数据类型:仅有一个的|双重的

DFT点数,指定为正整数。对于实值输入信号,x,PSD估计,pxx有长度(nfft/2+1)如果nfft是平的,而且(nfft+1)/2如果nfft是奇数。对于复数输入信号,x,PSD估计值始终具有长度nfft如果nfft指定为空,为默认值nfft使用。

数据类型:仅有一个的|双重的

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

标准化频率,指定为至少包含两个元素的行或列向量。标准化频率以rad/sample为单位。

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

数据类型:双重的

频率,指定为至少包含两个元素的行或列向量。频率以每单位时间的周期为单位。单位时间由采样率指定,财政司司长如果财政司司长具有采样单位/秒,然后f有赫兹的单位。

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

数据类型:双重的

PSD估计的频率范围,指定为之一“片面的”“双面的”“居中”。默认值为“片面的”对于实值信号和“双面的”对于复值信号。每个选项对应的频率范围为

  • “片面的”-返回实值输入信号的单边PSD估计值,x如果nfft甚至,pxx有长度nfft/2+1,并在整个时间间隔内进行计算[0,πrad/样本。如果nfft是奇数,长度为pxx是(nfft+1)/2,间隔为[0,πrad/样本。何时财政司司长时,对应的间隔为[0,财政司司长/2] 周期/单位时间和[0,财政司司长/2) 偶数和奇数长度的周期/单位时间nfft分别地

  • “双面的”-返回实值或复数输入的双边PSD估计值,x.在这种情况下,pxx有长度nfft并在时间间隔内进行计算[0,2πrad/样本。何时财政司司长是可选指定的,间隔为[0,财政司司长)周期/单位时间。

  • “居中”-返回实值或复数输入的中心双边PSD估计值,x.在这种情况下,pxx有长度nfft并在时间间隔内进行计算(–ππrad/均匀长度样品nfft(–ππ奇数长度的rad/样本nfft.当财政司司长如果可以选择指定,则相应的间隔为–财政司司长/2,财政司司长/2] 周期/单位时间和(–财政司司长/2,财政司司长/2) 偶数和奇数长度的周期/单位时间nfft分别地

功率谱缩放,指定为psd的“权力”.若要返回功率谱密度,请省略spectrumtype或指定psd的.要获得每个频率的功率的估计,请使用“权力”而是。指定“权力”按窗口的等效噪声带宽缩放PSD的每个估计值,但以下情况除外:“重新分配”使用国旗。

真实PSD的覆盖概率,指定为范围(0,1)中的标量。输出,pxxc的下界和上界可能性× 100%的真实PSD区间估计。

输出参数

全部崩溃

PSD估计,作为实值、非负列向量或矩阵返回。每列pxx是对应列的PSD估计值x。PSD估计的单位为每单位频率时间序列数据的平方幅度单位。例如,如果输入数据以伏特为单位,PSD估计的单位为每单位频率的平方伏特。对于以伏特为单位的时间序列,如果假设电阻为1Ω,并指定以赫兹为单位的采样率,PSD估计的单位为瓦特pe赫兹。

数据类型:仅有一个的|双重的

循环频率,作为实值列向量返回。对于单边PSD估计,f跨越区间[0,财政司司长/2] 什么时候nfft为偶数,[0,财政司司长/2) 什么时候nfft是奇数。对于双边PSD估计,f跨越区间[0,财政司司长).对于以DC为中心的PSD估算,f跨越间隔(-财政司司长/2,财政司司长/2] 偶数长度的周期/单位时间nfft和(-财政司司长/2,财政司司长/2) 奇数长度的周期/单位时间nfft

数据类型:双重的|仅有一个的

标准化频率,作为实值列向量返回。如果pxx是片面的PSD估计,w跨越区间[0,π如果nfft均匀[0,π如果nfft这很奇怪,如果pxx是一个双边PSD估计,w跨越区间[0,2π.对于以DC为中心的PSD估算,w跨越区间(–ππ平分nfft(–ππ奇数nfft

数据类型:双重的

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

数据类型:仅有一个的|双重的

重新分配的PSD估计值,作为实值、非负列向量或矩阵返回rpxx重新分配的PSD估算是对应列的吗x

能量中心频率,指定为向量或矩阵。

更多关于

全部崩溃

周期图

周期图是广义平稳随机过程功率谱密度(PSD)的非参数估计。周期图是自相关序列有偏估计的傅里叶变换。对于信号xn取样于财政司司长每单位时间采样,周期图定义为

P f Δ t N | n 0 N 1 x n e j 2 π f Δ t n | 2 1 / 2 Δ t < f 1 / 2 Δ t

哪里Δt是采样间隔。对于单边周期图,除0和奈奎斯特外的所有频率的值,1/2Δt,乘以2,以节省总功率。

如果频率以弧度/采样为单位,则周期图定义为

P ω 1 2 π N | n 0 N 1 x n e j ω n | 2 π < ω π

上述方程式中的频率范围随频率值的变化而变化频率范围参数。请参见的说明频率范围在里面输入参数

真实PSD的积分,Pf,在一段时间内,1/Δt对于周期频率和2π对于归一化频率,等于广义平稳随机过程的方差:

σ 2 1 / 2 Δ t 1 / 2 Δ t P f d f

对于归一化频率,适当替换积分极限。

改进的周期图

修改后的周期图将输入时间序列乘以一个窗口函数。合适的窗函数是非负的,并且在开始和结束时衰减为零。将时间序列乘以窗口函数逐渐变细数据逐渐打开和关闭,有助于缓解周期图中的泄漏。请参阅周期图中的偏差和变化举个例子。

如果hn是一个窗口函数,修改后的周期图由

P f Δ t N | n 0 N 1 h n x n e j 2 π f Δ t n | 2 1 / 2 Δ t < f 1 / 2 Δ t

哪里Δt是采样间隔。

如果频率以弧度/样本为单位,则修改后的周期图定义为

P ω 1 2 π N | n 0 N 1 h n x n e j ω n | 2 π < ω π

上述方程式中的频率范围随频率值的变化而变化频率范围参数。请参见的说明频率范围在里面输入参数

重新分配周期图

重新分配技术使光谱估计的定位更加精确,并生成更易于阅读和解释的周期图。该技术将每个PSD估计重新分配到其料仓的能量中心,远离料仓的几何中心。它为啁啾和脉冲提供精确定位。

工具书类

[1] 通过重新分配方法提高时频和时标表示的可读性IEEE®信号处理事务. 第43卷,1995年5月,第1068-1089页。

[2] 计算时间校正瞬时频率(重新分配)谱图的算法及其应用美国声学学会杂志. 第119卷,2006年1月,第360-371页。

扩展能力

C/C++代码生成
使用Matlab®编码器生成C和C++代码™.

在R2006a之前引入