stftgydF4y2Ba

短时傅里叶变换gydF4y2Ba

描述gydF4y2Ba

年代gydF4y2Ba= stft(gydF4y2BaxgydF4y2Ba)gydF4y2Ba返回短时傅里叶变换(Stft)gydF4y2BaxgydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

年代gydF4y2Ba= stft(gydF4y2BaxgydF4y2Ba,gydF4y2BafsgydF4y2Ba)gydF4y2Ba返回stftgydF4y2BaxgydF4y2Ba使用抽样率gydF4y2BafsgydF4y2Ba.gydF4y2Ba

年代gydF4y2Ba= stft(gydF4y2BaxgydF4y2Ba,gydF4y2BaTS.gydF4y2Ba)gydF4y2Ba返回stftgydF4y2BaxgydF4y2Ba使用样品的时间gydF4y2BaTS.gydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

年代gydF4y2Ba= stft(gydF4y2Ba___gydF4y2Ba,gydF4y2Ba名称,值gydF4y2Ba)gydF4y2Ba使用名称-值对参数指定其他选项。选项包括FFT窗口和长度。这些参数可以添加到以前的任何输入语法中。gydF4y2Ba

例子gydF4y2Ba

[gydF4y2Ba年代gydF4y2Ba,gydF4y2BafgydF4y2Ba] = stft(gydF4y2Ba___gydF4y2Ba)gydF4y2Ba返回频率gydF4y2BafgydF4y2Ba进行短时傅立叶变换的评估。gydF4y2Ba

例子gydF4y2Ba

[gydF4y2Ba年代gydF4y2Ba,gydF4y2BafgydF4y2Ba,gydF4y2BatgydF4y2Ba] = stft(gydF4y2Ba___gydF4y2Ba)gydF4y2Ba返回评估STFT的时间。gydF4y2Ba

Stft(gydF4y2Ba___gydF4y2Ba)gydF4y2Ba在没有输出参数的情况下,绘制当前图形窗口中STFT的大小。gydF4y2Ba

例子gydF4y2Ba

全部折叠gydF4y2Ba

产生2秒的电压控制振荡器输出,由一个采样在10 kHz的正弦信号控制。gydF4y2Ba

fs=10e3;t=0:1/fs:2;x=vco(sin(2*pi*t),[0.10.4]*fs,fs);gydF4y2Ba

计算并绘制信号的短时傅立叶变换。使用长度为256的Kaiser窗口和形状参数gydF4y2Ba βgydF4y2Ba =gydF4y2Ba 5gydF4y2Ba .将重叠长度指定为220个样本和DFT长度为512点。用默认ColorMap和视图绘制Stft。gydF4y2Ba

stft (x, fs,gydF4y2Ba“窗口”gydF4y2Ba,凯撒(256,5),gydF4y2Ba'overlaplencth'gydF4y2Ba, 220,gydF4y2Ba'fftlength'gydF4y2Ba,512);gydF4y2Ba

更改视图以将STFT显示为瀑布图。将颜色贴图设置为gydF4y2Ba喷射gydF4y2Ba.gydF4y2Ba

查看(-45,65)ColormapgydF4y2Ba喷射gydF4y2Ba

产生一个二次啁啾采样在1 kHz 2秒。瞬时频率为100hzgydF4y2Ba tgydF4y2Ba =gydF4y2Ba 0gydF4y2Ba 通过200hzgydF4y2Ba tgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba 第二gydF4y2Ba

ts = 0:1/1e3:2;f0 = 100;f1 = 200;x =唧唧声(ts, f0 1 f1,gydF4y2Ba“二次”gydF4y2Ba,[],gydF4y2Ba“凹”gydF4y2Ba);gydF4y2Ba

计算并显示二次啁啾的STFT,持续1毫秒。gydF4y2Ba

d=秒(1e-3);win=汉明(100,gydF4y2Ba“周期”gydF4y2Ba);stft (x, d,gydF4y2Ba“窗口”gydF4y2Ba赢gydF4y2Ba'overlaplencth'gydF4y2Ba,98,gydF4y2Ba'fftlength'gydF4y2Ba, 128);gydF4y2Ba

产生一个信号采样5千赫为4秒。信号由一组持续时间减小的脉冲组成,被振幅振荡和频率波动区域隔开,并有增加的趋势。画出信号。gydF4y2Ba

fs=5000;t=0:1/fs:4-1/fs;x=besselj(0600*(sin(2*pi*(t+1)。^3/30)。^5));绘图(t,x)gydF4y2Ba

计算信号的单侧,双面和居中的短时傅里叶变换。在所有情况下,使用带有形状因子的202样本kaiser窗口gydF4y2Ba βgydF4y2Ba =gydF4y2Ba 10.gydF4y2Ba 屏蔽信号段。显示用于计算每个变换的频率范围。gydF4y2Ba

rngs = [gydF4y2Ba“单向的”gydF4y2Ba“双面的”gydF4y2Ba“中心”gydF4y2Ba];gydF4y2Ba为gydF4y2BaKj = 1:length(rgs) opts = {gydF4y2Ba“窗口”gydF4y2Ba凯瑟(202、10)gydF4y2Ba“频率范围”gydF4y2Ba,rngs(kj)};[~,f]=stft(x,fs,opts{:});子地块(长度(rngs),1,kj)stft(x,fs,opts{:})标题(sprintf(gydF4y2Ba“%s”:[%5.3f, %5.3f] kHz”gydF4y2Ba随机数生成器(kj), (f (1) f(结束)]/ 1000)gydF4y2Ba结束gydF4y2Ba

重复计算,但现在将kaiser窗口的长度更改为203,是一个奇数。这gydF4y2Ba双侧的gydF4y2Ba频率间隔不变。其他两个频率间隔在较高端变为开放。gydF4y2Ba

为gydF4y2BaKj = 1:length(rgs) opts = {gydF4y2Ba“窗口”gydF4y2Ba凯瑟(203、10)gydF4y2Ba“频率范围”gydF4y2Ba,rngs(kj)};[~,f]=stft(x,fs,opts{:});子地块(长度(rngs),1,kj)stft(x,fs,opts{:})标题(sprintf(gydF4y2Ba“%s”:[%5.3f, %5.3f] kHz”gydF4y2Ba随机数生成器(kj), (f (1) f(结束)]/ 1000)gydF4y2Ba结束gydF4y2Ba

生成三声道信号,由三个不同的啁啾在1 kHz上采样一秒钟。gydF4y2Ba

  1. 第一通道由一个瞬时频率为100hz的凹二次啁啾组成gydF4y2Bat=gydF4y2Ba0,并以300 Hz的频率交叉gydF4y2Bat=gydF4y2Ba1秒。它的初始相位等于45度。gydF4y2Ba

  2. 第二个信道由瞬时频率为200 Hz的凸二次啁啾组成gydF4y2Bat=gydF4y2Ba0并跨越600赫兹gydF4y2Bat=gydF4y2Ba1秒。gydF4y2Ba

  3. 第三通道由瞬时频率为300hz的对数啁啾组成gydF4y2Bat=gydF4y2Ba0并跨过500赫兹gydF4y2Bat=gydF4y2Ba1秒。gydF4y2Ba

使用长度为128的周期汉明窗和50个样本的重叠长度计算多通道信号的STFT。gydF4y2Ba

FS = 1E3;T = 0:1 / FS:1-1 / FS;x = [chirp(t,100,1,300,gydF4y2Ba“二次”gydF4y2Ba,45,gydF4y2Ba“凹”gydF4y2Ba);唧唧声(t, 200, 1600,gydF4y2Ba“二次”gydF4y2Ba,[],gydF4y2Ba“凸”gydF4y2Ba);啁啾(t,300,1500,gydF4y2Ba'logarithmic'gydF4y2Ba)]';[s,f,t] = stft(x,fs,gydF4y2Ba“窗口”gydF4y2Ba,汉明(128,gydF4y2Ba“周期”gydF4y2Ba),gydF4y2Ba'overlaplencth'gydF4y2Ba,50);gydF4y2Ba

将每个通道的短时傅立叶变换形象化为瀑布图。使用辅助函数控制坐标轴的行为gydF4y2BaHelperGraphicsopt.gydF4y2Ba.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

功能gydF4y2BaHelperGraphicsopt(ChannelID)AX = GCA;ax.xdir =.gydF4y2Ba“反向”gydF4y2Ba;斧子。ZLim = [0 30];ax.Title.String = [gydF4y2Ba'输入频道:'gydF4y2Banum2str(ChannelId)];ax.XLabel.String=gydF4y2Ba的频率(赫兹)gydF4y2Ba;ax.YLabel.String =gydF4y2Ba'时间(秒)'gydF4y2Ba;斧子。视图= [30 45];gydF4y2Ba结束gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

输入信号,指定为向量、矩阵或MATLABgydF4y2Ba®gydF4y2Ba时间表gydF4y2Ba.gydF4y2Ba

请注意gydF4y2Ba

如果你反gydF4y2Ba年代gydF4y2Ba使用gydF4y2Ba伊斯特夫特gydF4y2Ba并且希望结果与gydF4y2BaxgydF4y2Ba的价值gydF4y2Ba(长度(x)-noverlap)/(长度(窗口)-noverlap)gydF4y2Ba必须是一个整数。gydF4y2Ba

  • 如果输入有多个通道,请指定gydF4y2BaxgydF4y2Ba作为一个矩阵,其中每一列对应一个通道。gydF4y2Ba

  • 对于时间表输入,gydF4y2BaxgydF4y2Ba必须包含一致递增的有限行时间。如果一个时间表有缺失或重复的时间点,你可以使用提示来修正它gydF4y2Ba清洁时间表,缺失,重复或不均匀的时间gydF4y2Ba.gydF4y2Ba

  • 对于多通道时间表输入,请指定gydF4y2BaxgydF4y2Ba作为包含一个矩阵的单个变量的时间表或包含多个变量的时间表,每个变量都包含一个列向量。所有变量必须具有相同的精度。gydF4y2Ba

每个频道gydF4y2BaxgydF4y2Ba长度必须大于窗口长度。gydF4y2Ba

例子:gydF4y2Ba唧唧声(0:1/4e3:2,250, 1500,“二次”)gydF4y2Ba指定单通道啁啾。gydF4y2Ba

例子:gydF4y2Ba时间表(兰特(5,2),“采样器”,1)gydF4y2Ba指定一个双通道随机变量,采样频率为1hz,采样时间为4秒。gydF4y2Ba

例子:gydF4y2Ba时间表(兰德(5,1),兰特(5,1),'Samplere',1)gydF4y2Ba指定一个双通道随机变量,采样频率为1hz,采样时间为4秒。gydF4y2Ba

数据类型:gydF4y2Ba双重的gydF4y2Ba|gydF4y2Ba单身的gydF4y2Ba
复数的支持:金宝appgydF4y2Ba对gydF4y2Ba

采样率,指定为正标量。此参数仅在gydF4y2BaxgydF4y2Ba是矢量或矩阵。gydF4y2Ba

数据类型:gydF4y2Ba双重的gydF4y2Ba|gydF4y2Ba单身的gydF4y2Ba

采样时间,指定为gydF4y2Ba持续时间gydF4y2Ba标量。此论点仅适用于什么时候gydF4y2BaxgydF4y2Ba是向量还是矩阵gydF4y2Ba

例子:gydF4y2Ba秒(1)gydF4y2Ba是一个gydF4y2Ba持续时间gydF4y2Ba标量表示连续信号样本之间的1秒钟差异。gydF4y2Ba

数据类型:gydF4y2Ba持续时间gydF4y2Ba

名称-值对的观点gydF4y2Ba

指定可选的逗号分隔的对gydF4y2Ba名称,值gydF4y2Ba论据。gydF4y2Ba姓名gydF4y2Ba参数名和gydF4y2Ba价值gydF4y2Ba是相应的价值。gydF4y2Ba姓名gydF4y2Ba必须出现在引号内。您可以以任何顺序指定多个名称和值对参数gydF4y2BaName1, Value1,…,的家gydF4y2Ba.gydF4y2Ba

例子:gydF4y2Bastft('win','OVERLAPTLENGTH',50,'FFTLENGHT',128)gydF4y2Ba使用该窗口操作数据gydF4y2Ba赢得gydF4y2Ba,相邻段和128点FFT之间有50个样本重叠。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

重叠样本的数量,指定为由逗号分隔的对组成gydF4y2Ba'overlaplencth'gydF4y2Ba并且正整数小于长度gydF4y2Ba“窗口”gydF4y2Ba.如果你忽略了gydF4y2Ba'overlaplencth'gydF4y2Ba或者将其指定为空,将其设置为小于窗口长度75%的最大整数,对于默认Hann窗口为96个样本。gydF4y2Ba

数据类型:gydF4y2Ba双重的gydF4y2Ba|gydF4y2Ba单身的gydF4y2Ba

DFT点数,指定为逗号分隔的配对组成gydF4y2Ba'fftlength'gydF4y2Ba和正整数。该值必须大于或等于窗口长度。如果输入信号的长度小于DFT长度,则用零填充数据。gydF4y2Ba

数据类型:gydF4y2Ba双重的gydF4y2Ba|gydF4y2Ba单身的gydF4y2Ba

STFT频率范围,指定为逗号分隔对组成gydF4y2Ba“频率范围”gydF4y2Ba和gydF4y2Ba'中心'gydF4y2Ba,gydF4y2Ba双侧的gydF4y2Ba, 或者gydF4y2Ba'片面'gydF4y2Ba.gydF4y2Ba

  • '中心'gydF4y2Ba-计算双面居中标准英尺。如果gydF4y2BanfftgydF4y2Ba那么,甚至是gydF4y2Ba年代gydF4y2Ba是在区间内计算的吗gydF4y2Ba(-gydF4y2BaπgydF4y2Ba,gydF4y2BaπgydF4y2Ba]gydF4y2Barad /样品。如果gydF4y2BanfftgydF4y2Ba是奇数,那么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。如果gydF4y2BanfftgydF4y2Ba那么,甚至是gydF4y2Ba年代gydF4y2Ba是在区间内计算的吗gydF4y2Ba[0,gydF4y2BaπgydF4y2Ba]gydF4y2Barad /样品。如果gydF4y2BanfftgydF4y2Ba是奇数,那么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

输出时间尺寸,指定为逗号分隔对组成gydF4y2Ba'OutputTimedimension'gydF4y2Ba和gydF4y2Ba'跨大都会'gydF4y2Ba或者gydF4y2Ba“downrows”gydF4y2Ba.将此值设置为gydF4y2Ba“downrows”gydF4y2Ba如果你想要时间维度gydF4y2Ba年代gydF4y2Ba在列中向下行和频率维度。将此值设置为gydF4y2Ba'跨大都会'gydF4y2Ba如果你想要时间维度gydF4y2Ba年代gydF4y2Ba横跨列和频率维度下行。如果在没有输出参数的情况下调用函数,则忽略此输入。gydF4y2Ba

输出参数gydF4y2Ba

全部折叠gydF4y2Ba

短时傅里叶变换,以矩阵或三维数组的形式返回。时间在gydF4y2Ba年代gydF4y2Ba并且频率在行的下方增加。第三维(如果存在)对应于输入通道。gydF4y2Ba

  • 如果信号gydF4y2BaxgydF4y2Ba已gydF4y2BaNgydF4y2BaxgydF4y2Ba那么时间样本呢gydF4y2Ba年代gydF4y2Ba已gydF4y2BakgydF4y2Ba列,gydF4y2BakgydF4y2Ba=⌊(gydF4y2BaNgydF4y2BaxgydF4y2Ba- - - - - -gydF4y2BalgydF4y2Ba)/ (gydF4y2Ba米gydF4y2Ba- - - - - -gydF4y2BalgydF4y2Ba)⌋gydF4y2Ba,gydF4y2Ba米gydF4y2Ba为长度gydF4y2Ba“窗口”gydF4y2Ba,gydF4y2BalgydF4y2Ba是个gydF4y2Ba'overlaplencth'gydF4y2Ba数组元素的值表示层的功能。gydF4y2Ba

  • 中的行数gydF4y2Ba年代gydF4y2Ba等于中指定的值gydF4y2Ba'fftlength'gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba双重的gydF4y2Ba|gydF4y2Ba单身的gydF4y2Ba

计算STFT的频率,返回为矢量。gydF4y2Ba

数据类型:gydF4y2Ba双重的gydF4y2Ba|gydF4y2Ba单身的gydF4y2Ba

时间瞬间,作为向量返回。gydF4y2BatgydF4y2Ba包含用于计算短时功率谱估计的数据段的中心对应的时间值。gydF4y2Ba

  • 如果采样率gydF4y2BafsgydF4y2Ba则向量包含以秒为单位的时间值。gydF4y2Ba

  • 如果是样本时间gydF4y2BaTS.gydF4y2Ba则向量是与输入具有相同时间格式的持续时间数组。gydF4y2Ba

  • 如果没有提供时间信息,则向量包含样本编号。gydF4y2Ba

数据类型:gydF4y2Ba双重的gydF4y2Ba|gydF4y2Ba单身的gydF4y2Ba

更多关于gydF4y2Ba

全部折叠gydF4y2Ba

短时傅里叶变换gydF4y2Ba

短时傅里叶变换(STFT)用于分析非间断信号的频率内容随时间变化的方式。gydF4y2Ba

信号的短时傅立叶变换是通过滑动an来计算的gydF4y2Ba分析窗口gydF4y2Ba长度gydF4y2Ba 米gydF4y2Ba 并计算加窗数据的离散傅里叶变换。该窗口以以下间隔跳过原始信号:gydF4y2Ba RgydF4y2Ba 样本。大多数窗口函数在边缘逐渐减小,以避免光谱振铃。如果重叠长度非零gydF4y2Ba lgydF4y2Ba 指定,重叠添加窗口段补偿窗口边缘处的信号衰减。每个窗口段的DFT被添加到包含每个时间点和频率的幅度和相位的矩阵。STFT矩阵中的行的数量等于DFT点的数量,并且逐列的数量给出gydF4y2Ba

kgydF4y2Ba =gydF4y2Ba ⌊gydF4y2Ba NgydF4y2Ba xgydF4y2Ba -gydF4y2Ba lgydF4y2Ba 米gydF4y2Ba -gydF4y2Ba lgydF4y2Ba ⌋gydF4y2Ba ,gydF4y2Ba

在哪里gydF4y2Ba NgydF4y2Ba xgydF4y2Ba 是原始信号的长度吗gydF4y2Ba xgydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba 和gydF4y2Ba⌊⌋gydF4y2Ba符号表示楼层功能。gydF4y2Ba

STFT矩阵由gydF4y2Ba XgydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba =gydF4y2Ba [gydF4y2Ba XgydF4y2Ba 1gydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba XgydF4y2Ba 2gydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba XgydF4y2Ba 3.gydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba ⋯gydF4y2Ba XgydF4y2Ba kgydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba ]gydF4y2Ba 以致gydF4y2Ba 米gydF4y2Ba 这个矩阵的第个元素是gydF4y2Ba

XgydF4y2Ba 米gydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba =gydF4y2Ba σ.gydF4y2Ba ngydF4y2Ba =gydF4y2Ba -gydF4y2Ba ∞gydF4y2Ba ∞gydF4y2Ba xgydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba ggydF4y2Ba (gydF4y2Ba ngydF4y2Ba -gydF4y2Ba 米gydF4y2Ba RgydF4y2Ba )gydF4y2Ba egydF4y2Ba -gydF4y2Ba jgydF4y2Ba 2gydF4y2Ba πgydF4y2Ba fgydF4y2Ba ngydF4y2Ba ,gydF4y2Ba

在哪里gydF4y2Ba

  • ggydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba -窗函数的长度gydF4y2Ba 米gydF4y2Ba .gydF4y2Ba

  • XgydF4y2Ba 米gydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba - 以时间为中心的窗口数据DFTgydF4y2Ba 米gydF4y2Ba RgydF4y2Ba .gydF4y2Ba

  • RgydF4y2Ba -连续dft之间的跳数大小。跃点大小是窗口长度之间的差值gydF4y2Ba 米gydF4y2Ba 和重叠长度gydF4y2Ba lgydF4y2Ba .gydF4y2Ba

短时傅里叶变换的幅值的平方得到gydF4y2Ba光谱图gydF4y2Ba表示函数的功率谱密度。gydF4y2Ba

完美的重建gydF4y2Ba

一般来说,计算输入信号的STFT并将其反转并不能实现完美的重建。如果希望ISTFT的输出与原始输入信号尽可能接近,则信号和窗口必须满足以下条件:gydF4y2Ba

  • 输入大小-如果将gydF4y2BastftgydF4y2Ba使用gydF4y2Ba伊斯特夫特gydF4y2Ba并且希望结果与输入信号相同的长度gydF4y2BaxgydF4y2Ba的价值gydF4y2Ba kgydF4y2Ba =gydF4y2Ba (gydF4y2Ba lgydF4y2Ba egydF4y2Ba ngydF4y2Ba ggydF4y2Ba tgydF4y2Ba hgydF4y2Ba (gydF4y2Ba xgydF4y2Ba )gydF4y2Ba -gydF4y2Ba ngydF4y2Ba ogydF4y2Ba vgydF4y2Ba egydF4y2Ba rgydF4y2Ba lgydF4y2Ba 一个gydF4y2Ba pgydF4y2Ba )gydF4y2Ba (gydF4y2Ba lgydF4y2Ba egydF4y2Ba ngydF4y2Ba ggydF4y2Ba tgydF4y2Ba hgydF4y2Ba (gydF4y2Ba wgydF4y2Ba 我gydF4y2Ba ngydF4y2Ba dgydF4y2Ba ogydF4y2Ba wgydF4y2Ba )gydF4y2Ba -gydF4y2Ba ngydF4y2Ba ogydF4y2Ba vgydF4y2Ba egydF4y2Ba rgydF4y2Ba lgydF4y2Ba 一个gydF4y2Ba pgydF4y2Ba )gydF4y2Ba 必须是一个整数。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

[3] 史密斯,朱利叶斯·奥里恩。gydF4y2Ba频谱音频信号处理gydF4y2Ba.gydF4y2Bahttps://ccrma.stanford.edu/~jos/sasp/gydF4y2Ba,在线预订2011年第2018年第2018年。gydF4y2Ba

扩展能力gydF4y2Ba

另请参阅gydF4y2Ba

功能gydF4y2Ba

主题gydF4y2Ba

介绍了R2019agydF4y2Ba