文档

光谱图

短时傅里叶变换谱图

语法

S =谱图(x)
S =谱图(x,窗口)
S =谱图(x,窗口,重叠)
S =谱图(x,窗口,重叠,nfft)
[s,w,t] =谱图(___
[s,f,t] =谱图(___fs)
[s,w,t] =谱图(x,窗口,重叠,w)
[s,f,t] =频谱图(x,窗口,重叠,f,fs)
___,ps] =频谱图(___
___=谱图(___“重新分配”)
___,ps,fc,tc] =频谱图(___
___=谱图(___freqrange)
___=谱图(___spectrumtype)
___=谱图(___、“MinThreshold”打)
光谱图(___
光谱图(___freqloc)

描述

例子

年代=光谱图(x返回输入信号的短时傅里叶变换,x.的每一列年代的短期、时间局部化频率内容的估计值x

年代=光谱图(x窗口使用窗口将信号分割成段并进行加窗。

例子

年代=光谱图(x窗口noverlap使用noverlap相邻段之间重叠的样本。

例子

年代=光谱图(x窗口noverlapnfft使用nfft采样点来计算离散傅里叶变换。

年代wt=谱图(___返回一个归一化频率的向量,w,和时间瞬间向量,t,在此基础上计算谱图。此语法可以包括来自以前语法的输入参数的任何组合。

例子

年代ft=谱图(___fs返回一个周期频率的向量,f,用抽样率表示,fsfs必须是第五个输入光谱图.要输入一个采样率,并且仍然使用前面可选参数的默认值,请将这些参数指定为空,[]

年代wt=谱图(x窗口noverlapw返回中指定的归一化频率的频谱图w

年代ft=谱图(x窗口noverlapffs中指定的循环频率返回频谱图f

___ps=谱图(___也返回一个矩阵,ps,包含功率谱密度(PSD)或每段功率谱的估计值。

例子

___=谱图(___“重新分配”)将每个PSD或功率谱估计重新分配到其能量中心的位置。如果您的信号包含良好的局部时间或光谱成分,那么这个选项将生成更清晰的频谱图。

例子

___ps足球俱乐部tc=谱图(___也返回两个矩阵,足球俱乐部而且tc,包含每个PSD或功率谱估计的能量中心的频率和时间。

___=谱图(___freqrange返回指定频率范围内的PSD或功率谱估计值freqrange.有效的选项freqrange“单向的”双侧的,“中心”

___=谱图(___spectrumtype返回PSD估计ifspectrumtype指定为psd的并返回功率谱估计值spectrumtype指定为“权力”

例子

___=谱图(___“MinThreshold”,的元素设置为零ps这样10个日志10ps)≤.指定在分贝。

例子

光谱图(___在没有输出参数的情况下,在当前图形窗口中绘制频谱图。

例子

光谱图(___freqloc指定要在其上绘制频率的轴。

例子

全部折叠

生成由正弦信号和组成的信号样本。正弦波的归一化频率是rad /样本和rad /样品。频率较高的正弦信号的振幅是另一个正弦信号的10倍。

N = 1024;n = 0: n -1;W0 = 2*pi/5;X = sin(w0*n)+10*sin(2*w0*n);

用函数默认值计算短时傅里叶变换。绘制光谱图。

S =谱图(x);光谱图(x,“桠溪”

重复计算。

  • 把信号分成不同长度的部分

  • 使用汉明窗口将部分窗口化。

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

  • 要计算FFT,使用点,

验证两种方法得到的结果是否相同。

Nx =长度(x);nsc =下限(Nx/4.5);Nov =楼层(nsc/2);NFF = max(256,2^nextpow2(nsc));T =谱图(x,hamming(nsc),nov,nff);Maxerr = max(abs(abs(t(:)))-abs(s(:))))
Maxerr = 0

将信号分成8段等长,段与段之间重叠50%。指定与上一步相同的FFT长度。计算短时傅里叶变换,并验证它给出的结果与前两个过程相同。

Ns = 8;Ov = 0.5;lsc = floor(Nx/(ns-(ns-1)*ov));T =谱图(x,lsc,floor(ov*lsc),nff);Maxerr = max(abs(abs(t(:)))-abs(s(:))))
Maxerr = 0

生成二次啁啾,x,以1khz采样2秒。啁啾的频率最初是100赫兹,在200赫兹t= 1秒。

T = 0:0.001:2;X = chirp(t,100, 1200,“二次”);

的谱图计算和显示x

  • 将信号分成长度为128的部分,用汉明窗口进行窗口化。

  • 指定120个相邻截面之间的重叠样本。

  • 评估频谱频率和时间箱。

光谱图(x, 128120128年,1 e3)

将汉明窗替换为布莱克曼窗。将重叠减少到60个样本。绘制时间轴,使其值从上到下递增。

谱图(x,blackman(128),60,128,1e3) ax = gca;斧子。YDir =“反向”

计算并显示二次啁啾的每一段的PSD,该二次啁啾开始于100hz,在t= 1秒。指定1 kHz的采样率,128个样本的段长度和120个样本的重叠。使用128个DFT点和默认的汉明窗口。

T = 0:0.001:2;X = chirp(t,100, 1200,“二次”);1 e3光谱图(x, 128120128年,“桠溪”)标题(二次唧唧喳喳的

计算并显示线性啁啾的每一段的PSD,从DC开始,在t= 1秒。指定采样率为1khz,采样段长度为256个样本,重叠部分为250个样本。使用默认的汉明窗口和256 DFT点。

T = 0:0.001:2;X = chirp(t,0,1,150);1 e3光谱图(x, 256250256年,“桠溪”)标题(“线性啁啾”

计算和显示在1 kHz采样的对数啁啾的每个片段的PSD,从20 Hz开始,在60 Hz交叉t= 1秒。指定256个样本的段长度和250个样本的重叠。使用默认的汉明窗口和256 DFT点。

T = 0:0.001:2;X = chirp(t,20,1,60,“对数”);光谱图(x, 256250年,[],1 e3,“桠溪”)标题(对数唧唧喳喳的

频率轴使用对数刻度。光谱图变成了一条线。

Ax = gca;斧子。YScale =“日志”

使用光谱图函数测量和跟踪信号的瞬时频率。

产生一个二次啁啾在1千赫采样两秒。指定chirp,使其频率最初为100hz,一秒钟后增加到200hz。

Fs = 1000;t = 0:1/Fs:2-1/Fs;Y = chirp(t,100, 1200,“二次”);

估计频谱的啁啾使用短时间傅里叶变换实现在光谱图函数。将信号分割成长度为100的部分,用汉明窗口进行窗口化。指定相邻剖面之间重叠的80个样本,并在频率。抑制默认的颜色条。

Fs光谱图(y, 100年,80100年,“桠溪”)视图(-77,72)阴影插值函数colorbar

跟踪啁啾频率找到最大的功率谱密度在每个时间点。将光谱图视为二维图形。恢复颜色条。

[s,f,t,p] =谱图(y,100,80,100,Fs);[q,nd] = max(10*log10(p));持有plot3 (t、f (nd)问,“r”“线宽”, 4)colorbar视图(2)

产生一个啁啾信号采样2秒在1千赫。指定啁啾,使其频率最初为100hz,并在1秒后增加到200hz。

Fs = 1000;t = 0:1/Fs:2;Y = chirp(t,100, 1200,“二次”);

估计信号的重新分配谱图。

  • 将信号分割成长度为128的部分,使用带有形状参数的Kaiser窗口进行窗口化

  • 指定120个相邻截面之间的重叠样本。

  • 评估频谱频率和时间箱。

光谱图(y,凯瑟(128年,18),120128年,Fs,“重新分配”“桠溪”

产生一个啁啾信号采样2秒在1千赫。指定啁啾,使其频率最初为100hz,并在1秒后增加到200hz。

Fs = 1000;t = 0:1/Fs:2;Y = chirp(t,100, 1200,“二次”);

估计信号随时间变化的功率谱密度(PSD)。

  • 将信号分割成长度为128的部分,使用带有形状参数的Kaiser窗口进行窗口化

  • 指定120个相邻截面之间的重叠样本。

  • 评估频谱频率和时间箱。

输出每个PSD估计的重心的频率和时间。将PSD小于的那些元素设置为零dB。

[~, ~, ~, pxx, fc, tc) =光谱图(y,凯瑟(128年,18),120128年,Fs,...“MinThreshold”, -30);

绘制非零元素作为重心频率和时间的函数。

情节(tc (pxx > 0), fc (pxx > 0),“。”

生成以1024hz采样的信号,持续2秒。

nSamp = 2048;Fs = 1024;t = (0:nSamp-1)'/Fs;

在第一秒内,信号由一个400hz正弦波和一个凹二次啁啾组成。指定啁啾,使其与间隔中点对称,起始和结束频率为250 Hz,最小值为150 Hz。

t1 = t(1:nSamp/2);X11 = sin(2*pi*400*t1);x12 = chirp(t1-t1(nSamp/4),150,nSamp/Fs,1750,“二次”);X1 = x11+x12;

信号的其余部分由两个频率递减的线性啁啾组成。一个啁啾有250赫兹的初始频率,降低到100赫兹。另一种啁啾的初始频率为400hz,后来降低到250hz。

t2 = t(nSamp/2+1:nSamp);x21 = chirp(t2400,nSamp/Fs,100);x22 = chirp(t2,550,nSamp/Fs,250);X2 = x21+x22;

在信号中加入高斯白噪声。指定信噪比为20 dB。重置随机数发生器可重现的结果。

信噪比= 20;rng (“默认”) sig = [x1;x2];sig = sig + randn(size(sig))*std(sig)/db2mag(SNR);

计算并绘制信号的频谱图。使用形状参数指定一个长度为63的Kaiser窗口,相邻部分之间重叠的样本减少10个,FFT长度为256。

Nwin = 63;风= kaiser(nwin,17);Nlap = nwin-10;NFFT = 256;光谱图(团体、风、nlap nfft, Fs,“桠溪”

阈值的频谱图,使任何元素的值小于信噪比设置为零。

光谱图(团体、风、nlap nfft, Fs,“MinThreshold”信噪比,“桠溪”

重新分配每个PSD估计到其能量中心的位置。

光谱图(团体、风、nlap nfft, Fs,“再分配”“桠溪”

阈值重新分配的光谱图,使任何值小于信噪比的元素被设置为零。

光谱图(团体、风、nlap nfft, Fs,“再分配”“MinThreshold”信噪比,“桠溪”

加载包含两个递减啁啾和宽带飞溅声音的音频信号。计算短时傅里叶变换。将波形分成400个采样段,300个采样重叠。绘制光谱图。

负载长条木板输入soundsc(y,Fs)Sg = 400;Ov = 300;光谱图(y, sg, ov [], Fs,“桠溪”) colormap

使用光谱图函数输出信号功率谱密度(PSD)。

[s,f,t,p] =谱图(y,sg,ov,[],Fs);

跟踪两个啁啾使用medfreq函数。为了找到更强的低频啁啾,将搜索限制在100赫兹以上的频率和宽带声音开始之前的时间。

F1 = f > 100;T1 = t < 0.75;M1 = medfreq(p(f1,t1),f(f1));

为了找到微弱的高频啁啾,将搜索限制在2500赫兹以上的频率和0.3秒到0.65秒之间的时间。

F2 = f > 2500;T2 = t > 0.3 & t < 0.65;M2 = medfreq(p(f2,t2),f(f2));

把结果叠加在谱图上。频率值除以1000以千赫表示。

持有情节(t (t1)、m1/1000“线宽”4)图(t (t2)、m2/1000,“线宽”, 4)

产生两秒的10千赫采样信号。指定信号的瞬时频率为时间的三角函数。

Fs = 10e3;T = 0:1/fs:2;X1 = vco(锯齿(2*pi*t,0.5),[0.1 0.4]*fs,fs);

计算并绘制信号的频谱图。使用长度为256的Kaiser窗口和形状参数.指定220个剖面到剖面重叠的样本和512个DFT点。把频率画在y设在。使用默认的颜色贴图和视图。

光谱图(x1,凯瑟(256 5),220512年,fs,“桠溪”

改变视图,将光谱图显示为瀑布图。将颜色映射设置为

colormap视图(-45、65)

输入参数

全部折叠

输入信号,指定为行或列向量。

例子:因为(π/ 4 * (0:159))+ randn (1160)指定嵌入高斯白噪声中的正弦波。

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

窗口,指定为整数或行或列向量。使用窗口把信号分成几段:

  • 如果窗口是整数吗光谱图x分成长度的片段窗口并在每个段上设置相同长度的汉明窗口。

  • 如果窗口是向量吗光谱图x成段长度相同的矢量和Windows每个段使用窗口

如果的长度x不能精确地分成整数个段noverlap重叠样本,那么x相应地被截断。

如果你指定窗口空的,那么光谱图使用汉明窗,使x分为八个部分用noverlap重叠的样本。

有关可用窗口的列表,请参见窗户

例子:损害(N + 1)而且(1-cos(2 *π* (0:N) / N)) / 2都指定了长度的汉恩窗口N+ 1。

数据类型:|

重叠样本数,指定为正整数。

  • 如果窗口是标量,那么noverlap必须小于窗口

  • 如果窗口是向量吗noverlap一定要小于的长度窗口

如果你指定noverlap空的,那么光谱图使用在段之间产生50%重叠的数字。如果段长度未指定,则函数设置noverlap对⌊Nx/ 4.5⌋,Nx是输入信号的长度。

数据类型:|

DFT点的数目,指定为正整数标量。如果你指定nfft空的,那么光谱图将参数设置为马克斯(256 2p,在那里p=⌈日志2Nx对于长度的输入信号Nx

数据类型:|

归一化的频率,指定为向量。w必须至少有两个元素。归一化频率以弧度/样本为单位。

例子:π。/ [2 - 4]

数据类型:|

循环频率,以矢量表示。f必须至少有两个元素。的单位f由抽样率,fs

数据类型:|

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

数据类型:|

PSD估计的频率范围,指定为“单向的”双侧的,或“中心”.对于实值信号,默认值为“单向的”.对于复值信号,默认值为双侧的,并指定“单向的”导致错误。

  • “单向的”-返回真实输入信号的单边谱图。如果nfft是偶数,那么psnfft/2 + 1行,在间隔内计算[0,πrad /样品。如果nfft是奇怪的ps有(nfft+ 1)/2行,间隔为[0,πrad /样品。如果你指定fs,则区间分别为[0,fs/2]周期/单位时间和[0,fs/2)周期/单位时间。

  • 双侧的-返回实信号或复信号的双面谱图。psnfft行,并在间隔内计算[0, 2πrad /样品。如果你指定fs,则区间为[0,fs)周期/单位时间。

  • “中心”-返回实数或复数信号的中心双面谱图。psnfft行。如果nfft是偶数,那么ps在区间上计算(-ππrad /样品。如果nfft是奇怪的ps被计算过(-ππrad /样品。如果你指定fs,则区间分别为(-fs/ 2,fs/2]周期/单位时间和(-fs/ 2,fs/2)周期/单位时间。

数据类型:字符

功率谱缩放,指定为psd的“权力”

  • 省略spectrumtype,或指定psd的,返回功率谱密度。

  • 指定“权力”通过窗口的等效噪声带宽缩放PSD的每个估计。结果是每个频率下功率的估计值。如果“重新分配”选项开启时,该函数在重新分配之前在每个频率仓的宽度上集成PSD。

数据类型:字符

阈值,指定为以分贝表示的实标量。光谱图的元素设置为零ps这样10个日志10ps)≤

频率显示轴,指定为“xaxis”“桠溪”

  • “xaxis”-显示频率x的-轴和时间y设在。

  • “桠溪”-显示频率y的-轴和时间x设在。

如果调用,则忽略此参数光谱图输出参数。

数据类型:字符

输出参数

全部折叠

短时间傅里叶变换,以矩阵形式返回。的列中时间增加年代频率从零开始,逐行递增。

  • 如果x是长度的信号吗Nx,然后年代k列,

    • k=⌊(Nx- - - - - -noverlap) / (窗口- - - - - -noverlap)⌋如果窗口是标量

    • k=⌊(Nx- - - - - -noverlap) / (长度(窗口)- - - - - -noverlap)⌋如果窗口是一个向量。

  • 如果x是真实的nfft是偶数,那么年代有(nfft/2 + 1)行。

  • 如果x是真实的nfft是奇怪的年代有(nfft+ 1)/2行。

  • 如果x是复杂的年代nfft行。

数据类型:|

归一化频率,作为向量返回。w长度是否等于的行数年代

数据类型:|

时间瞬间,以矢量形式返回。的时间值t对应于每段的中点。

数据类型:|

循环频率,以矢量形式返回。f长度是否等于的行数年代

数据类型:|

功率谱密度(PSD)或功率谱,以矩阵形式返回。

  • 如果x是真的,那么ps包含每段PSD或功率谱的单侧修正周期图估计。

  • 如果x是复数的,或者如果你指定一个频率向量,那么ps包含每段PSD或功率谱的双面修正周期图估计。

数据类型:|

能量中心频率和时间,作为与短时傅里叶变换相同大小的矩阵返回。如果不指定采样率,则元素的足球俱乐部作为归一化频率返回。

提示

如果一个短时傅里叶变换有零,它转换到分贝的结果是不能被绘制的负无穷。为了避免这种潜在的困难,光谱图增加了每股收益到短时间的傅里叶变换当你没有输出参数的时候。

参考文献

奥本海姆、艾伦五世、罗纳德·w·谢弗和约翰·r·巴克。离散时间信号处理.第二版。上马鞍河,新泽西州:普伦蒂斯大厅,1999年。

Rabiner, Lawrence R.和Ronald W. Schafer。语音信号的数字处理.恩格尔伍德悬崖,新泽西州:Prentice-Hall, 1978。

[3] Chassande-Motin, Éric, François Auger和Patrick Flandrin。“重新分配”。在时频分析:概念与方法.弗朗茨·赫拉瓦奇和François奥格编辑。伦敦:ISTE/John Wiley and Sons, 2008。

[4]富洛普,肖恩·A.和凯利·菲兹。计算经时间校正的瞬时频率(重新分配)谱图的算法及其应用。美国声学学会杂志.第119卷,2006年1月,360-371页。

R2006a之前介绍

这个话题有用吗?