stftgydF4y2Ba
短时傅里叶变换gydF4y2Ba
语法gydF4y2Ba
描述gydF4y2Ba
返回gydF4y2Ba短时傅里叶变换gydF4y2Ba(STFT)gydF4y2Ba年代gydF4y2Ba
= stft (gydF4y2BaxgydF4y2Ba
)gydF4y2BaxgydF4y2Ba
.gydF4y2Ba
返回的STFTgydF4y2Ba年代gydF4y2Ba
= stft (gydF4y2BaxgydF4y2Ba
,gydF4y2BafsgydF4y2Ba
)gydF4y2BaxgydF4y2Ba
使用采样率gydF4y2BafsgydF4y2Ba
.gydF4y2Ba
返回的STFTgydF4y2Ba年代gydF4y2Ba
= stft (gydF4y2BaxgydF4y2Ba
,gydF4y2BatsgydF4y2Ba
)gydF4y2BaxgydF4y2Ba
使用样品的时间gydF4y2BatsgydF4y2Ba
.gydF4y2Ba
使用名称-值参数指定其他选项。选项包括FFT窗口和长度。这些参数可以添加到前面的任何输入语法中。gydF4y2Ba年代gydF4y2Ba
= stft (gydF4y2Ba___gydF4y2Ba,gydF4y2Ba名称=值gydF4y2Ba
)gydF4y2Ba
[gydF4y2Ba
返回频率gydF4y2Ba年代gydF4y2Ba
,gydF4y2BafgydF4y2Ba
) = stft (gydF4y2Ba___gydF4y2Ba)gydF4y2BafgydF4y2Ba
计算STFT值。gydF4y2Ba
[gydF4y2Ba
返回计算STFT的时间。gydF4y2Ba年代gydF4y2Ba
,gydF4y2BafgydF4y2Ba
,gydF4y2BatgydF4y2Ba
) = stft (gydF4y2Ba___gydF4y2Ba)gydF4y2Ba
stft (gydF4y2Ba___gydF4y2Ba)gydF4y2Ba
没有输出参数的情况下,在当前图形窗口中绘制STFT的大小平方(以分贝为单位)。gydF4y2Ba
例子gydF4y2Ba
短时傅里叶变换gydF4y2Ba
产生一个频率正弦变化的啁啾。信号以10khz采样2秒。gydF4y2Ba
fs = 10 e3;t = 0:1 / fs: 2;X = vco(sin(2*pi*t),[0.1 0.4]*fs,fs);gydF4y2Ba
计算啁啾的短时傅里叶变换。将信号分成256个采样段,并使用带形状参数的Kaiser窗对每个采样段进行窗化gydF4y2BaβgydF4y2Ba= 5。指定220个相邻段之间的重叠样本,DFT长度为512。输出计算STFT时的频率和时间值。gydF4y2Ba
f (s, t) = stft (x, fs,凯泽窗= (256 5),OverlapLength = 220, FFTLength = 512);gydF4y2Ba
STFT的模的平方也被称为gydF4y2Ba光谱图gydF4y2Ba.用分贝绘制光谱图。指定跨度为60 dB的色谱仪,其最后一种颜色对应于光谱图的最大值。gydF4y2Ba
深发展= mag2db (abs (s));网格(t、f / 1000,深发展);Cc = max(sdb(:))+[-60 0];甘氨胆酸ax =;斧子。这一= cc;(2) colorbar视图gydF4y2Ba
方法获得相同的情节gydF4y2BastftgydF4y2Ba
没有输出参数的函数。gydF4y2Ba
stft (x, fs,窗口=凯瑟(256 5),OverlapLength = 220, FFTLength = 512)gydF4y2Ba
二次啁啾的STFTgydF4y2Ba
生成在1khz采样2秒的二次啁啾。瞬时频率为100hzgydF4y2Ba 穿过200hzgydF4y2Ba 第二。gydF4y2Ba
ts = 0:1/1e3:2;f0 = 100;f1 = 200;x =唧唧声(ts, f0 1 f1,gydF4y2Ba“二次”gydF4y2Ba[],gydF4y2Ba“凹”gydF4y2Ba);gydF4y2Ba
计算并显示持续时间为1 ms的二次啁啾的STFT。gydF4y2Ba
d =秒(1 e - 3);赢得=汉明(100gydF4y2Ba“周期”gydF4y2Ba);stft (x, d,窗口=赢,OverlapLength = 98, FFTLength = 128);gydF4y2Ba
比较gydF4y2Ba光谱图gydF4y2Ba
而且gydF4y2BastftgydF4y2Ba
功能gydF4y2Ba
产生一个信号组成的啁啾采样在1.4千赫2秒。在测量时间内,啁啾频率从600hz线性下降到100hz。gydF4y2Ba
fs = 1400;x =唧唧声(0:1 / fs: 2600、2100);gydF4y2Ba
stftgydF4y2Ba
违约gydF4y2Ba
计算信号的STFTgydF4y2Ba光谱图gydF4y2Ba
而且gydF4y2BastftgydF4y2Ba
功能。的默认值即可gydF4y2BastftgydF4y2Ba
功能:gydF4y2Ba
将信号分成128个采样段,对每个采样段进行周期性汉恩窗的窗化处理。gydF4y2Ba
指定相邻段之间重叠的96个样本。这个长度相当于窗口长度的75%。gydF4y2Ba
指定128个DFT点并将STFT以零频率居中,频率以赫兹表示。gydF4y2Ba
验证两个结果是否相等。gydF4y2Ba
M = 128;g =损害(M,gydF4y2Ba“周期”gydF4y2Ba);L = 0.75 * M;Ndft = 128;[sp, fp, tp) =光谱图(x, g, L, Ndft, fs,gydF4y2Ba“中心”gydF4y2Ba);[s、f t] = stft (x, fs);dff = max (max (abs (sp-s)))gydF4y2Ba
dff = 0gydF4y2Ba
使用gydF4y2Ba网gydF4y2Ba
函数绘制两个输出。gydF4y2Ba
次要情节(2,1,1)网格(tp、fp、abs (sp) ^ 2)标题(gydF4y2Ba“声谱图”gydF4y2Ba)(2),轴gydF4y2Ba紧gydF4y2Ba次要情节(2,1,2)网格(t、f、abs (s) ^ 2)标题(gydF4y2Ba“stft”gydF4y2Ba)(2),轴gydF4y2Ba紧gydF4y2Ba
光谱图gydF4y2Ba
违约gydF4y2Ba
类的默认值重复计算gydF4y2Ba光谱图gydF4y2Ba
功能:gydF4y2Ba
把信号分成长度的段gydF4y2Ba ,在那里gydF4y2Ba 是信号的长度。用汉明窗口窗口每个段。gydF4y2Ba
指定段之间50%的重叠。gydF4y2Ba
要计算FFT,使用gydF4y2Ba 点。只计算正归一化频率的谱图。gydF4y2Ba
M =地板(长度(x) / 4.5);g =汉明(M);L =地板(M / 2);Ndft = max (256 2 ^ nextpow2 (M));(sx,外汇,tx) =光谱图(x);(圣,英国《金融时报》,tt) = stft (x,窗口= g, OverlapLength = L, FFTLength = Ndft FrequencyRange =gydF4y2Ba“单向的”gydF4y2Ba);dff = max (max (sx-st))gydF4y2Ba
dff = 0gydF4y2Ba
使用gydF4y2BawaterplotgydF4y2Ba
函数绘制两个输出。频率轴除以gydF4y2Ba
在这两种情况下。为gydF4y2BastftgydF4y2Ba
输出,用样本数除以有效样本率,gydF4y2Ba
.gydF4y2Ba
次要情节(2,1,1)waterplot (sx, fx /π,tx)标题(gydF4y2Ba“声谱图”gydF4y2Ba) subplot(2,1,2) waterplot(st,ft/pi,tt/(2*pi))gydF4y2Ba“stft”gydF4y2Ba)gydF4y2Ba
函数gydF4y2Bawaterplot (s, t)gydF4y2Ba光谱图的瀑布图gydF4y2Ba瀑布(f t abs (s)”。^ 2)组(gca, XDir =gydF4y2Ba“反向”gydF4y2Ba、查看= 50[30])包含(gydF4y2Ba“频率/ \π”gydF4y2Ba) ylabel (gydF4y2Ba“样本”gydF4y2Ba)gydF4y2Ba结束gydF4y2Ba
STFT频率范围gydF4y2Ba
生成一个在5khz采样4秒的信号。该信号由一组持续时间递减的脉冲组成,脉冲之间被振荡幅值和波动频率的增加趋势区隔开。画出信号。gydF4y2Ba
fs = 5000;t = 0:1 / fs: 4 - 1 / f;x = besselj(0600 *(罪(2 *π* (t + 1)。^ 3/30)。^ 5));情节(t, x)gydF4y2Ba
计算信号的单边、双边和中心短时傅里叶变换。在所有情况下,使用带有形状因子的202样本Kaiser窗口gydF4y2Ba 对信号段进行窗口化。显示用于计算每个变换的频率范围。gydF4y2Ba
随机数生成器= [gydF4y2Ba“单向的”gydF4y2Ba“双侧”gydF4y2Ba“中心”gydF4y2Ba];gydF4y2Ba为gydF4y2BaKj = 1:长度(rngs) opts = {gydF4y2Ba“窗口”gydF4y2Ba凯瑟(202、10)gydF4y2Ba“FrequencyRange”gydF4y2Ba随机数生成器(kj)};[~ f] = stft (x, fs,选择{:});次要情节(长度(随机数生成器),1,kj) stft (x, fs,选择{}):标题(sprintf (gydF4y2Ba" '%s ": [%5.3f, %5.3f] kHz'gydF4y2Ba随机数生成器(kj), (f (1) f(结束)]/ 1000)gydF4y2Ba结束gydF4y2Ba
重复计算,但是现在将Kaiser窗口的长度更改为203,这是一个奇数。的gydF4y2Ba双侧的gydF4y2Ba
频率间隔不变。其他两个频率区间在较高的一端变得开放。gydF4y2Ba
为gydF4y2BaKj = 1:长度(rngs) opts = {gydF4y2Ba“窗口”gydF4y2Ba凯瑟(203、10)gydF4y2Ba“FrequencyRange”gydF4y2Ba随机数生成器(kj)};[~ f] = stft (x, fs,选择{:});次要情节(长度(随机数生成器),1,kj) stft (x, fs,选择{}):标题(sprintf (gydF4y2Ba" '%s ": [%5.3f, %5.3f] kHz'gydF4y2Ba随机数生成器(kj), (f (1) f(结束)]/ 1000)gydF4y2Ba结束gydF4y2Ba
多通道信号的STFTgydF4y2Ba
生成一个三通道信号,由三种不同的啁啾采样在1khz为一秒。gydF4y2Ba
第一通道由瞬时频率为100hz的凹二次啁啾组成gydF4y2Bat =gydF4y2Ba越过300hzgydF4y2Bat =gydF4y2Ba1秒。它的初相是45度。gydF4y2Ba
第二通道由瞬时频率为100hz的凸二次啁啾组成gydF4y2Bat =gydF4y2Ba0,越过500hzgydF4y2Bat =gydF4y2Ba1秒。gydF4y2Ba
第三通道由瞬时频率300hz的对数啁啾组成gydF4y2Bat =gydF4y2Ba0,越过500hzgydF4y2Bat =gydF4y2Ba1秒。gydF4y2Ba
使用长度为128的周期汉明窗和50个样本的重叠长度计算多通道信号的STFT。gydF4y2Ba
fs = 1 e3;t = 0:1 / fs: 1 - 1 / f;x =[唧唧声(t, 100, 1300,gydF4y2Ba“二次”gydF4y2Ba45岁的gydF4y2Ba“凹”gydF4y2Ba);唧唧声(t, 100, 1500,gydF4y2Ba“二次”gydF4y2Ba[],gydF4y2Ba“凸”gydF4y2Ba);唧唧声(t, 300, 1500,gydF4y2Ba“对数”gydF4y2Ba)];F (S, T) = stft (x, fs,gydF4y2Ba“窗口”gydF4y2Ba128年,汉明(gydF4y2Ba“周期”gydF4y2Ba),gydF4y2Ba“OverlapLength”gydF4y2Ba, 50);gydF4y2Ba
将每个通道的STFT可视化为一个瀑布图。使用helper函数控制轴的行为gydF4y2BahelperGraphicsOptgydF4y2Ba
.gydF4y2Ba
瀑布(F T abs (S (:,: 1))) helperGraphicsOpt (1)gydF4y2Ba
瀑布(F T abs (S (:,: 2))) helperGraphicsOpt (2)gydF4y2Ba
瀑布(F T abs (S (:,:, 3))) helperGraphicsOpt (3)gydF4y2Ba
这个助手函数设置当前轴的外观和行为。gydF4y2Ba
函数gydF4y2Bahelpergraphicopt (ChannelId) ax = gca;斧子。XDir =“反向”gydF4y2Ba;斧子。ZLim = [0 30];ax.Title.String = [gydF4y2Ba的输入通道:gydF4y2Banum2str (ChannelId)];ax.XLabel.String =gydF4y2Ba的频率(赫兹)gydF4y2Ba;ax.YLabel.String =gydF4y2Ba的时间(秒)gydF4y2Ba;斧子。View = [30 45];gydF4y2Ba结束gydF4y2Ba
输入参数gydF4y2Ba
xgydF4y2Ba
- - - - - -gydF4y2Ba输入信号gydF4y2Ba
向量gydF4y2Ba|gydF4y2Ba矩阵gydF4y2Ba|gydF4y2Ba时间表gydF4y2Ba
输入信号,指定为一个矢量,一个矩阵,或MATLABgydF4y2Ba®gydF4y2Ba时间表gydF4y2Ba
.gydF4y2Ba
请注意gydF4y2Ba
如果你想要gydF4y2BaxgydF4y2Ba
而且gydF4y2Ba年代gydF4y2Ba
的值为相同的长度gydF4y2Ba(长度(gydF4y2Ba
必须是整数。使用gydF4y2BaxgydF4y2Ba
) -noverlap) /(长度(窗口)-noverlap)gydF4y2Ba窗口gydF4y2Ba
指定…的长度gydF4y2Ba窗口gydF4y2Ba
而且gydF4y2BaOverlapLengthgydF4y2Ba
指定gydF4y2BanoverlapgydF4y2Ba
.gydF4y2Ba
如果输入有多个通道,则指定gydF4y2Ba
xgydF4y2Ba
作为一个矩阵,其中每一列对应一个通道。gydF4y2Ba对时间表的输入,gydF4y2Ba
xgydF4y2Ba
必须包含均匀递增的有限行次数。如果时间表有缺失或重复的时间点,您可以使用中的提示来修复它gydF4y2Ba干净的时间表,缺少,重复,或不一致的时间gydF4y2Ba.gydF4y2Ba对于多通道时间表输入,指定gydF4y2Ba
xgydF4y2Ba
作为单变量包含矩阵的时间表或包含多个变量的时间表,每个变量包含一个列向量。所有变量必须具有相同的精度。gydF4y2Ba
每个通道的gydF4y2BaxgydF4y2Ba
必须具有大于或等于窗口长度的长度。gydF4y2Ba
例子:gydF4y2Ba唧唧声(0:1/4e3:2,250, 1500,“二次”)gydF4y2Ba
指定单通道啁啾。gydF4y2Ba
例子:gydF4y2Ba时间表(兰德(5,2)SampleRate = 1)gydF4y2Ba
指定以1hz频率采样4秒的双通道随机变量。gydF4y2Ba
例子:gydF4y2Ba时间表(兰德(5,1),兰德(5、1),SampleRate = 1)gydF4y2Ba
指定以1hz频率采样4秒的双通道随机变量。gydF4y2Ba
数据类型:gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba单gydF4y2Ba
复数的支持:gydF4y2Ba是的gydF4y2Ba
fsgydF4y2Ba
- - - - - -gydF4y2Ba采样率gydF4y2Ba
2gydF4y2BaπgydF4y2Ba
(默认)|gydF4y2Ba积极的标量gydF4y2Ba
样本速率,指定为正标量。这个论点只适用于gydF4y2BaxgydF4y2Ba
是一个向量或矩阵。gydF4y2Ba
数据类型:gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba单gydF4y2Ba
tsgydF4y2Ba
- - - - - -gydF4y2Ba样品时间gydF4y2Ba
时间常数gydF4y2Ba
采样时间,指定为gydF4y2Ba持续时间gydF4y2Ba
标量。这个论点只适用于gydF4y2BaxgydF4y2Ba
是向量还是矩阵gydF4y2Ba
例子:gydF4y2Ba秒(1)gydF4y2Ba
是一个gydF4y2Ba
表示连续信号样本之间1秒时间差的标量。gydF4y2Ba持续时间gydF4y2Ba
数据类型:gydF4y2Ba持续时间gydF4y2Ba
名称-值参数gydF4y2Ba
指定可选参数对为gydF4y2BaName1 = Value1,…,以=家gydF4y2Ba
,在那里gydF4y2Ba的名字gydF4y2Ba
参数名称和gydF4y2Ba价值gydF4y2Ba
对应的值。名-值参数必须出现在其他参数之后,但对的顺序并不重要。gydF4y2Ba
例子:gydF4y2Ba窗口=汉明(100),OverlapLength = 50, FFTLength = 128gydF4y2Ba
使用100样本汉明窗对数据进行窗口处理,相邻段之间有50个重叠样本,128点FFT。gydF4y2Ba
在R2021a之前,名称和值之间用逗号隔开,并括起来gydF4y2Ba的名字gydF4y2Ba
在报价。gydF4y2Ba
例子:gydF4y2Ba“窗口”,汉明(100),“OverlapLength”,50岁' FFTLength ', 128gydF4y2Ba
使用100样本汉明窗对数据进行窗口处理,相邻段之间有50个重叠样本,128点FFT。gydF4y2Ba
窗口gydF4y2Ba
- - - - - -gydF4y2Ba光谱窗口gydF4y2Ba
损害(128年,“周期性”)gydF4y2Ba
(默认)|gydF4y2Ba向量gydF4y2Ba
光谱窗口,指定为矢量。如果不指定窗口或将其指定为空,则函数使用长度为128的Hann窗口。的长度gydF4y2Ba窗口gydF4y2Ba
必须大于或等于2。gydF4y2Ba
有关可用窗口的列表,请参见gydF4y2Ba窗户gydF4y2Ba.gydF4y2Ba
例子:gydF4y2Ba损害(N + 1)gydF4y2Ba
而且gydF4y2Ba(1-cos(2 *π* (0:N) / N)) / 2gydF4y2Ba
都指定了长度的Hann窗口gydF4y2BaNgydF4y2Ba
+ 1。gydF4y2Ba
数据类型:gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba单gydF4y2Ba
OverlapLengthgydF4y2Ba
- - - - - -gydF4y2Ba重叠样本数gydF4y2Ba
75%gydF4y2Ba
窗口长度的gydF4y2Ba(默认)|gydF4y2Ba非负整数gydF4y2Ba
重叠样本的数目,指定为小于的长度的正整数gydF4y2Ba窗口gydF4y2Ba
.如果您省略gydF4y2BaOverlapLengthgydF4y2Ba
或将其指定为空,则将其设置为小于窗口长度75%的最大整数,对于默认的Hann窗口,该值为96个样本。gydF4y2Ba
数据类型:gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba单gydF4y2Ba
FFTLengthgydF4y2Ba
- - - - - -gydF4y2BaDFT点数gydF4y2Ba
128gydF4y2Ba
(默认)|gydF4y2Ba正整数gydF4y2Ba
DFT点数,指定为正整数。该值必须大于或等于窗口长度。如果输入信号的长度小于DFT长度,则用零填充数据。gydF4y2Ba
数据类型:gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba单gydF4y2Ba
FrequencyRangegydF4y2Ba
- - - - - -gydF4y2BaSTFT频率范围gydF4y2Ba
“中心”gydF4y2Ba
(默认)|gydF4y2Ba“双侧”gydF4y2Ba
|gydF4y2Ba“单向的”gydF4y2Ba
STFT频率范围,指定为gydF4y2Ba“中心”gydF4y2Ba
,gydF4y2Ba“双侧”gydF4y2Ba
,或gydF4y2Ba“单向的”gydF4y2Ba
.gydF4y2Ba
“中心”gydF4y2Ba
-计算双面居中STFT。如果gydF4y2BaFFTLengthgydF4y2Ba
是偶数,那么gydF4y2Ba年代gydF4y2Ba
在区间内计算gydF4y2Ba(-gydF4y2BaπgydF4y2Ba,gydF4y2BaπgydF4y2Ba]gydF4y2Barad /样品。如果gydF4y2BaFFTLengthgydF4y2Ba
是奇数,那么gydF4y2Ba年代gydF4y2Ba
在区间内计算gydF4y2Ba(-gydF4y2BaπgydF4y2Ba,gydF4y2BaπgydF4y2Ba)gydF4y2Barad /样品。如果指定时间信息,则间隔为gydF4y2Ba(-gydF4y2BafgydF4y2Ba年代gydF4y2Ba,gydF4y2BafgydF4y2Ba年代gydF4y2Ba/ 2)gydF4y2Ba/单位时间和周期gydF4y2Ba(-gydF4y2BafgydF4y2Ba年代gydF4y2Ba,gydF4y2BafgydF4y2Ba年代gydF4y2Ba/ 2)gydF4y2Ba周期/单位时间,分别为gydF4y2BafgydF4y2Ba年代gydF4y2Ba为有效抽样率。gydF4y2Ba“双侧”gydF4y2Ba
—计算间隔内的双面STFTgydF4y2Ba[0, 2gydF4y2BaπgydF4y2Ba)gydF4y2Barad /样品。如果指定时间信息,则间隔为gydF4y2Ba[0,gydF4y2BafgydF4y2Ba年代gydF4y2Ba)gydF4y2Ba周期/单位时间。gydF4y2Ba“单向的”gydF4y2Ba
—计算单侧STFT。如果gydF4y2BaFFTLengthgydF4y2Ba
是偶数,那么gydF4y2Ba年代gydF4y2Ba
在区间内计算gydF4y2Ba[0,gydF4y2BaπgydF4y2Ba]gydF4y2Barad /样品。如果gydF4y2BaFFTLengthgydF4y2Ba
是奇数,那么gydF4y2Ba年代gydF4y2Ba
在区间内计算gydF4y2Ba[0,gydF4y2BaπgydF4y2Ba)gydF4y2Barad /样品。如果指定时间信息,则间隔为gydF4y2Ba[0,gydF4y2BafgydF4y2Ba年代gydF4y2Ba/ 2)gydF4y2Ba/单位时间和周期gydF4y2Ba[0,gydF4y2BafgydF4y2Ba年代gydF4y2Ba/ 2)gydF4y2Ba周期/单位时间,分别为gydF4y2BafgydF4y2Ba年代gydF4y2Ba为有效抽样率。此选项仅对实信号有效。gydF4y2Ba请注意gydF4y2Ba
当这个参数被设置为gydF4y2Ba
“单向的”gydF4y2Ba
,gydF4y2BastftgydF4y2Ba
输出正奈奎斯特范围内的值,不保留总功率。gydF4y2Ba
示例请参见gydF4y2BaSTFT频率范围gydF4y2Ba.gydF4y2Ba
数据类型:gydF4y2Ba字符gydF4y2Ba
|gydF4y2Ba字符串gydF4y2Ba
OutputTimeDimensiongydF4y2Ba
- - - - - -gydF4y2Ba输出时间维度gydF4y2Ba
“acrosscolumns”gydF4y2Ba
(默认)|gydF4y2Ba“downrows”gydF4y2Ba
输出时间维度,指定为gydF4y2Ba“acrosscolumns”gydF4y2Ba
或gydF4y2Ba“downrows”gydF4y2Ba
.将此值设置为gydF4y2Ba“downrows”gydF4y2Ba
如果你想要时间维度gydF4y2Ba年代gydF4y2Ba
从行到列的频率维度。将此值设置为gydF4y2Ba“acrosscolumns”gydF4y2Ba
如果你想要时间维度gydF4y2Ba年代gydF4y2Ba
从列到行的频率维度。如果调用函数时没有输出参数,则忽略此输入。gydF4y2Ba
输出参数gydF4y2Ba
年代gydF4y2Ba
-短时傅里叶变换gydF4y2Ba
矩阵|三维阵列gydF4y2Ba
短时傅里叶变换,以矩阵或三维数组的形式返回。的列的时间增加了gydF4y2Ba年代gydF4y2Ba
频率从上到下依次增加。如果存在第三维度,则对应于输入通道。gydF4y2Ba
如果信号gydF4y2Ba
xgydF4y2Ba
有gydF4y2BaNgydF4y2BaxgydF4y2Ba样品,然后gydF4y2Ba年代gydF4y2Ba
有gydF4y2BakgydF4y2Ba列,gydF4y2BakgydF4y2Ba=⌊(gydF4y2BaNgydF4y2BaxgydF4y2Ba- - - - - -gydF4y2BalgydF4y2Ba)/ (gydF4y2Ba米gydF4y2Ba- - - - - -gydF4y2BalgydF4y2Ba)⌋gydF4y2Ba,gydF4y2Ba米gydF4y2Ba的长度gydF4y2Ba窗口gydF4y2Ba
,gydF4y2BalgydF4y2Ba是gydF4y2BaOverlapLengthgydF4y2Ba
,⌊⌋表示楼层功能。gydF4y2Ba的行数gydF4y2Ba
年代gydF4y2Ba
等于gydF4y2BaFFTLengthgydF4y2Ba
.gydF4y2Ba
数据类型:gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba单gydF4y2Ba
fgydF4y2Ba
——频率gydF4y2Ba
向量gydF4y2Ba
计算STFT的频率,作为矢量返回。gydF4y2Ba
数据类型:gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba单gydF4y2Ba
tgydF4y2Ba
——时间瞬间gydF4y2Ba
向量gydF4y2Ba
时间瞬间,作为矢量返回。gydF4y2BatgydF4y2Ba
包含与用于计算短时功率谱估计的数据段的中心相对应的时间值。gydF4y2Ba
如果一个抽样率gydF4y2Ba
fsgydF4y2Ba
则该向量包含以秒为单位的时间值。gydF4y2Ba如果一个样本时间gydF4y2Ba
tsgydF4y2Ba
,则该向量是与输入具有相同时间格式的持续时间数组。gydF4y2Ba如果没有提供时间信息,则向量包含样本编号。gydF4y2Ba
数据类型:gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba单gydF4y2Ba
更多关于gydF4y2Ba
短时傅里叶变换gydF4y2Ba
利用短时傅里叶变换(STFT)分析非平稳信号的频率内容随时间的变化。STFT的大小平方称为gydF4y2Ba光谱图gydF4y2Ba信号的时频表示。有关频谱图的详细信息以及如何使用信号处理工具箱™函数计算频谱图,请参见gydF4y2Ba频谱图计算与信号处理工具箱gydF4y2Ba.gydF4y2Ba
信号的短时傅里叶变换是通过滑动gydF4y2Ba分析窗口gydF4y2BaggydF4y2Ba(gydF4y2BangydF4y2Ba)gydF4y2Ba的长度gydF4y2Ba米gydF4y2Ba并计算每段加窗数据的离散傅里叶变换(DFT)。窗口以的间隔跳过原始信号gydF4y2BaRgydF4y2Ba样品,相当于gydF4y2BalgydF4y2Ba=gydF4y2Ba米gydF4y2Ba- - - - - -gydF4y2BaRgydF4y2Ba相邻段之间重叠的样本。大多数窗口函数在边缘逐渐减少,以避免频谱振铃。每个加窗段的DFT被添加到一个复值矩阵中,该矩阵包含时间和频率上每个点的幅值和相位。STFT矩阵有gydF4y2Ba
列,gydF4y2BaNgydF4y2BaxgydF4y2Ba是信号的长度吗gydF4y2BaxgydF4y2Ba(gydF4y2BangydF4y2Ba)gydF4y2Ba和gydF4y2Ba⌊⌋gydF4y2Ba符号表示楼层功能。矩阵中的行数等于gydF4y2BaNgydF4y2BaDFTgydF4y2Ba, DFT点的个数,对于中心变换和双面变换,且奇数接近gydF4y2BaNgydF4y2BaDFTgydF4y2Ba/ 2gydF4y2Ba对于实值信号的单边变换。gydF4y2Ba
的gydF4y2Ba米gydF4y2BaSTFT矩阵的第th列gydF4y2Ba 包含以时间为中心的加窗数据的DFTgydF4y2Ba先生gydF4y2Ba:gydF4y2Ba
短时傅里叶变换是可逆的。反演过程重叠增加加窗段,以补偿窗口边缘的信号衰减。有关更多信息,请参见gydF4y2Ba短时傅里叶反变换gydF4y2Ba.gydF4y2Ba
的gydF4y2Ba
istftgydF4y2Ba
函数使信号的STFT颠倒。gydF4y2Ba在特定的环境下,实现信号的“完美重建”是可能的。有关更多信息,请参见gydF4y2Ba完美的重建gydF4y2Ba.gydF4y2Ba
的gydF4y2Ba
stftmag2siggydF4y2Ba
返回由其STFT的大小重建的信号的估计值。gydF4y2Ba
完美的重建gydF4y2Ba
一般来说,计算输入信号的STFT并对其进行反演不会得到完美的重构。如果希望ISTFT的输出与原始输入信号尽可能匹配,则信号和窗口必须满足以下条件:gydF4y2Ba
输入大小-如果你对的输出求倒数gydF4y2Ba
stftgydF4y2Ba
使用gydF4y2BaistftgydF4y2Ba
并希望结果与输入信号的长度相同gydF4y2BaxgydF4y2Ba
的价值。gydF4y2Ba必须是整数。的方程,gydF4y2BaNgydF4y2BaxgydF4y2Ba是信号的长度,gydF4y2Ba米gydF4y2Ba是窗户的长度,和gydF4y2BalgydF4y2Ba为重叠长度。gydF4y2Ba
COLA符合性——使用COLA符合性窗口,假设您没有修改信号的短时傅里叶变换。gydF4y2Ba
填充-如果输入信号的长度是这样的值gydF4y2BakgydF4y2Ba不是整数,在计算短时傅里叶变换之前对信号进行零填充。在对信号逆变后去掉多余的零。gydF4y2Ba
参考文献gydF4y2Ba
[1] Mitra, Sanjit K。gydF4y2Ba数字信号处理:基于计算机的方法gydF4y2Ba.第二版。纽约:麦格劳-希尔出版社,2001年。gydF4y2Ba
[2]夏普,布鲁斯。gydF4y2Ba重叠相加处理的可逆性gydF4y2Ba.gydF4y2Bahttps://gauss256.github.io/blog/cola.htmlgydF4y2Ba,于2019年7月访问。gydF4y2Ba
史密斯,朱利叶斯·奥利翁。gydF4y2Ba频谱音频信号处理gydF4y2Ba.gydF4y2Bahttps://ccrma.stanford.edu/~jos/sasp/gydF4y2Ba, 2011年版,2018年11月上线。gydF4y2Ba
扩展功能gydF4y2Ba
高大的数组gydF4y2Ba
使用行数超过内存容量的数组进行计算。gydF4y2Ba
使用注意事项和限制:gydF4y2Ba
OutputTimeDimensiongydF4y2Ba
必须始终指定并设置为gydF4y2Ba“downrows”gydF4y2Ba
.gydF4y2Ba
有关更多信息,请参见gydF4y2Ba高大的数组gydF4y2Ba.gydF4y2Ba
C / c++代码生成gydF4y2Ba
使用MATLAB®Coder™生成C和c++代码。gydF4y2Ba
GPU的代码生成gydF4y2Ba
使用GPU Coder™为NVIDIA GPU生成CUDA®代码。gydF4y2Ba
使用注意事项和限制:gydF4y2Ba
代码生成不支持时间表。gydF4y2Ba
线程环境gydF4y2Ba
在后台使用MATLAB®运行代码gydF4y2BabackgroundPoolgydF4y2Ba
或使用并行计算工具箱™加速代码gydF4y2BaThreadPoolgydF4y2Ba
.gydF4y2Ba
GPU数组gydF4y2Ba
通过使用并行计算工具箱™在图形处理单元(GPU)上运行来加速代码。gydF4y2Ba
该功能完全支持GPU阵列。有关更多信息,请参见gydF4y2Ba在图形处理器上运行MATLAB函数gydF4y2Ba(并行计算工具箱)gydF4y2Ba.gydF4y2Ba
版本历史gydF4y2Ba
介绍了R2019agydF4y2Ba
另请参阅gydF4y2Ba
功能gydF4y2Ba
dlstftgydF4y2Ba
|gydF4y2BaistftgydF4y2Ba
|gydF4y2BaiscolagydF4y2Ba
|gydF4y2BapspectrumgydF4y2Ba
|gydF4y2Ba光谱图gydF4y2Ba
|gydF4y2Bastftmag2siggydF4y2Ba
对象gydF4y2Ba
主题gydF4y2Ba
MATLAB命令gydF4y2Ba
你点击了一个对应于这个MATLAB命令的链接:gydF4y2Ba
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。gydF4y2Ba
选择一个网站gydF4y2Ba
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您的地理位置,我们建议您选择:gydF4y2Ba.gydF4y2Ba
您也可以从以下列表中选择网站:gydF4y2Ba
如何获得最佳的网站性能gydF4y2Ba
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。gydF4y2Ba
美洲gydF4y2Ba
- 美国拉丁gydF4y2Ba(西班牙语)gydF4y2Ba
- 加拿大gydF4y2Ba(英语)gydF4y2Ba
- 美国gydF4y2Ba(英语)gydF4y2Ba
欧洲gydF4y2Ba
- 比利时gydF4y2Ba(英语)gydF4y2Ba
- 丹麦gydF4y2Ba(英语)gydF4y2Ba
- 德国gydF4y2Ba(德语)gydF4y2Ba
- 西班牙gydF4y2Ba(西班牙语)gydF4y2Ba
- 芬兰gydF4y2Ba(英语)gydF4y2Ba
- 法国gydF4y2Ba(法语)gydF4y2Ba
- 爱尔兰gydF4y2Ba(英语)gydF4y2Ba
- 意大利gydF4y2Ba(意大利语)gydF4y2Ba
- 卢森堡gydF4y2Ba(英语)gydF4y2Ba
- 荷兰gydF4y2Ba(英语)gydF4y2Ba
- 挪威gydF4y2Ba(英语)gydF4y2Ba
- 奥地利gydF4y2Ba(德语)gydF4y2Ba
- 葡萄牙gydF4y2Ba(英语)gydF4y2Ba
- 瑞典gydF4y2Ba(英语)gydF4y2Ba
- 瑞士gydF4y2Ba
- 联合王国gydF4y2Ba(英语)gydF4y2Ba
亚太地区gydF4y2Ba
- 澳大利亚gydF4y2Ba(英语)gydF4y2Ba
- 印度gydF4y2Ba(英语)gydF4y2Ba
- 新西兰gydF4y2Ba(英语)gydF4y2Ba
- 中国gydF4y2Ba
- 日本gydF4y2Ba(日本語)gydF4y2Ba
- 한국gydF4y2Ba(한국어)gydF4y2Ba