主要内容gydF4y2Ba

istft.gydF4y2Ba

逆短时傅里叶变换gydF4y2Ba

描述gydF4y2Ba

xgydF4y2Ba= istft(gydF4y2Ba年代gydF4y2Ba)gydF4y2Ba返回逆行短时傅立叶变换(ISTFT)gydF4y2Ba年代gydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

xgydF4y2Ba= istft(gydF4y2Ba年代gydF4y2Ba,gydF4y2BafsgydF4y2Ba)gydF4y2Ba返回istft的gydF4y2Ba年代gydF4y2Ba使用采样率gydF4y2BafsgydF4y2Ba.gydF4y2Ba

xgydF4y2Ba= istft(gydF4y2Ba年代gydF4y2Ba,gydF4y2BaTS.gydF4y2Ba)gydF4y2Ba返回使用样本时间的ISTFTgydF4y2BaTS.gydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

xgydF4y2Ba= istft(gydF4y2Ba___gydF4y2Ba,gydF4y2Ba名称,价值gydF4y2Ba)gydF4y2Ba使用名称-值对参数指定其他选项。选项包括FFT窗口长度和重叠样本的数量。这些参数可以添加到前面的任何输入语法中。gydF4y2Ba

例子gydF4y2Ba

[gydF4y2BaxgydF4y2Ba,gydF4y2BatgydF4y2Ba] = istft(gydF4y2Ba___gydF4y2Ba)gydF4y2Ba返回ISTFT被计算的信号时间。gydF4y2Ba

例子gydF4y2Ba

全部收缩gydF4y2Ba

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

  1. 第一通道由凹入二次啁啾组成,具有瞬时频率100 HzgydF4y2Bat =gydF4y2Ba0并跨过300赫兹gydF4y2Bat =gydF4y2Ba1秒。它具有等于45度的初始相位。gydF4y2Ba

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

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

使用长度256的周期性汉明窗和15个样本的重叠长度计算多通道信号的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);Chirp(T,300,1500,gydF4y2Ba'logarithmic'gydF4y2Ba)]';[s,f,t] = stft(x,fs,gydF4y2Ba'窗户'gydF4y2Ba,汉明(256,gydF4y2Ba“周期”gydF4y2Ba),gydF4y2Ba'overlaplencth'gydF4y2Ba15);gydF4y2Ba

绘制第一和第二频道的原始和重建版本。gydF4y2Ba

[ix,ti] = istft(s,fs,gydF4y2Ba'窗户'gydF4y2Ba,汉明(256,gydF4y2Ba“周期”gydF4y2Ba),gydF4y2Ba'overlaplencth'gydF4y2Ba15);绘图(t,x(:,1)',gydF4y2Ba'行宽'gydF4y2Ba, 1.5)gydF4y2Ba上gydF4y2Ba绘图(TI,IX(:,1)',gydF4y2Ba'r--'gydF4y2Ba) 抓住gydF4y2Ba离开gydF4y2Ba传奇(gydF4y2Ba“原始通道1”gydF4y2Ba,gydF4y2Ba'重建频道1'gydF4y2Ba)gydF4y2Ba

图中包含一个轴。轴包含2个类型的型号。这些对象代表原始通道1,重建信道1。gydF4y2Ba

绘图(t,x(:,2)',gydF4y2Ba'行宽'gydF4y2Ba, 1.5)gydF4y2Ba上gydF4y2Ba情节(ti,第九(:,2)”,gydF4y2Ba'r--'gydF4y2Ba) 传奇(gydF4y2Ba《原始通道2》gydF4y2Ba,gydF4y2Ba'重建频道2'gydF4y2Ba)gydF4y2Ba

图中包含一个轴。轴包含2个类型的型号。这些对象代表原始信道2,重建信道2。gydF4y2Ba

相位声码器通过将音频转换为频域来执行时间拉伸和间距缩放。此图显示了相位声码器实现中涉及的操作。gydF4y2Ba

相位声码器以跳数大小为分析窗口对信号进行短时傅里叶变换gydF4y2Ba RgydF4y2Ba 1gydF4y2Ba 然后使用跳尺寸的合成窗口执行istftgydF4y2Ba RgydF4y2Ba 2gydF4y2Ba .因此,声码器利用了WOLA方法。要时间拉伸信号,分析窗口使用比合成更大的重叠样本。结果,输出中的样本更多的样本比输入端(gydF4y2Ba NgydF4y2Ba 年代gydF4y2Ba ,gydF4y2Ba 出去gydF4y2Ba >gydF4y2Ba NgydF4y2Ba 年代gydF4y2Ba ,gydF4y2Ba 在gydF4y2Ba ),但频率内容保持不变。现在,您可以通过以更高的采样率播放来播放此信号,从而产生具有原始持续时间但更高音高的信号。gydF4y2Ba

加载包含亨德尔“Hallelujah Chorus”片段的音频文件,以8192 Hz采样。gydF4y2Ba

负载gydF4y2Ba亨德尔gydF4y2Ba

设计一个长度为512的root-Hann窗口。将分析重叠长度设为192,合成重叠长度设为166。gydF4y2Ba

Wlen = 512;win = sqrt(hann(wlen,gydF4y2Ba“周期”gydF4y2Ba));noverlapa = 192;Noverlaps = 166;gydF4y2Ba

通过使用重叠192的分析窗口和重叠166的合成窗口来实现相位声码器。gydF4y2Ba

S = stft (y, Fs,gydF4y2Ba'窗户'gydF4y2Ba,赢,gydF4y2Ba'overlaplencth'gydF4y2Ba, noverlapA);Fs iy = istft(年代,gydF4y2Ba'窗户'gydF4y2Ba,赢,gydF4y2Ba'overlaplencth'gydF4y2Ba,noverlaps);gydF4y2Ba%听到,键入soundsc(w,fs),暂停(10),soundsc(iw,fs);gydF4y2Ba

如果分析和合成窗口相同但重叠长度已更改,则将有一个额外的增益/丢失,您需要调整。这是实现相位声码器的常见方法。gydF4y2Ba

计算跳数并使用它来调整重建信号的增益。还使用跳数计算间距移位数据的频率。gydF4y2Ba

hopratio =(Wlen-noverlaps)/(Wlen-noverlapa);iyg = iy * hopratio;fp = fs * hopratio;gydF4y2Ba%听到,键入soundsc(iwg,fs),暂停(15),soundsc(iwg,fp);gydF4y2Ba

绘制原始信号和具有固定增益的时间拉伸信号。gydF4y2Ba

情节((0:长度(iyg) 1) / Fs, iyg,(0:长度(y) 1) / Fs, y)包含(gydF4y2Ba'时间''gydF4y2Ba) xlim([0 (length(iyg)-1)/Fs]) legend(gydF4y2Ba'具有固定增益的时间拉伸信号'gydF4y2Ba,gydF4y2Ba'原始信号'gydF4y2Ba,gydF4y2Ba'地点'gydF4y2Ba,gydF4y2Ba'最好的'gydF4y2Ba)gydF4y2Ba

图中包含一个轴。轴包含2个类型的型号。这些对象表示具有固定增益,原始信号的时间拉伸信号。gydF4y2Ba

在同一幅图上比较时间延伸信号和音调移位信号。gydF4y2Ba

绘图((0:长度(IY)-1)/ FS,IY,(0:长度(IY)-1)/ fp,iy)xlabel(gydF4y2Ba'时间''gydF4y2Ba) xlim([0 (length(iyg)-1)/Fs]) legend(gydF4y2Ba'时间拉伸信号'gydF4y2Ba,gydF4y2Ba'音高移位信号'gydF4y2Ba,gydF4y2Ba'地点'gydF4y2Ba,gydF4y2Ba'最好的'gydF4y2Ba)gydF4y2Ba

图中包含一个轴。轴包含2个类型的型号。这些对象表示时间拉伸信号,俯仰偏移信号。gydF4y2Ba

为了更好地理解俯仰位移数据的影响,考虑下面的频率正弦gydF4y2BaFsgydF4y2Ba/ 2秒。gydF4y2Ba

T = 0:1 / FS:2;X = SIN(2 * PI * 10 * T);gydF4y2Ba

计算短时傅里叶变换和具有重叠长度192和166的逆短时傅里叶变换。gydF4y2Ba

Sx = stft (x, Fs,gydF4y2Ba'窗户'gydF4y2Ba,赢,gydF4y2Ba'overlaplencth'gydF4y2Ba, noverlapA);ix = istft(sx,fs,gydF4y2Ba'窗户'gydF4y2Ba,赢,gydF4y2Ba'overlaplencth'gydF4y2Ba,noverlaps);gydF4y2Ba

将原始信号绘制在一个图上,另一个绘图和俯仰偏移信号另一个。gydF4y2Ba

子图(2,1,1)绘图((0:长度(ix)-1)/ fs,ix,gydF4y2Ba'行宽'gydF4y2Ba(2)包含gydF4y2Ba'时间''gydF4y2Ba)ylabel(gydF4y2Ba信号幅度的gydF4y2Ba)XLIM([0(长度(ix)-1)/ fs])传奇(gydF4y2Ba'时间拉伸信号'gydF4y2Ba)子图(2,1,2)持有gydF4y2Ba上gydF4y2Ba绘图((0:长度(x)-1)/ fs,x)图((0:length(ix)-1)/ fp,ix,gydF4y2Ba' - 'gydF4y2Ba,gydF4y2Ba'行宽'gydF4y2Ba,2)传奇(gydF4y2Ba'原始信号'gydF4y2Ba,gydF4y2Ba'音高移位信号'gydF4y2Ba,gydF4y2Ba'地点'gydF4y2Ba,gydF4y2Ba'最好的'gydF4y2Ba) 抓住gydF4y2Ba离开gydF4y2BaXlabel(gydF4y2Ba'时间''gydF4y2Ba)ylabel(gydF4y2Ba信号幅度的gydF4y2Ba)XLIM([0(长度(ix)-1)/ fs])gydF4y2Ba

图包含2个轴。轴1包含类型线的对象。该对象表示时间拉伸信号。轴2包含2个类型的2个物体。这些对象代表原始信号,俯仰偏移信号。gydF4y2Ba

产生一个复杂的正弦频率1千赫和持续时间2秒。gydF4y2Ba

FS = 1E3;TS = 0:1 / FS:2-1 / FS;x = exp(2j * pi * 100 * cos(2 * pi * 2 * ts));gydF4y2Ba

设计一个长度100的周期Hann窗口,并将重叠样本的数量设置为75.检查窗口并重叠可乐合规性。gydF4y2Ba

nwin = 100;Win = Hann(Nwin,gydF4y2Ba“周期”gydF4y2Ba);noverlap = 75;tf = iscola(win,noverlap)gydF4y2Ba
tf =gydF4y2Ba逻辑gydF4y2Ba1gydF4y2Ba

零焊接信号以去除边缘效果。为避免截断,请使用零填充输入信号gydF4y2Ba

lgydF4y2Ba egydF4y2Ba ngydF4y2Ba ggydF4y2Ba tgydF4y2Ba hgydF4y2Ba (gydF4y2Ba xgydF4y2Ba ZgydF4y2Ba egydF4y2Ba rgydF4y2Ba ogydF4y2Ba )gydF4y2Ba -gydF4y2Ba ngydF4y2Ba ogydF4y2Ba vgydF4y2Ba egydF4y2Ba rgydF4y2Ba lgydF4y2Ba 一个gydF4y2Ba pgydF4y2Ba ngydF4y2Ba wgydF4y2Ba 我gydF4y2Ba ngydF4y2Ba -gydF4y2Ba ngydF4y2Ba ogydF4y2Ba vgydF4y2Ba egydF4y2Ba rgydF4y2Ba lgydF4y2Ba 一个gydF4y2Ba pgydF4y2Ba 信号长度减去重叠除以窗口长度减去重叠gydF4y2Ba

是一个整数。设置FFT长度为128。计算复信号的短时傅里叶变换。gydF4y2Ba

npad = 100;xzero = [零(1,npad)x zeros(1,npad)];fftlen = 128;s = stft(xzero,fs,gydF4y2Ba'窗户'gydF4y2Ba,赢,gydF4y2Ba'overlaplencth'gydF4y2Ba,noverlap,gydF4y2Ba'fftlength'gydF4y2Ba,fftlen);gydF4y2Ba

计算逆短时傅里叶变换并拆下零以获得完美的重建。gydF4y2Ba

[是,ti] = istft(s,fs,gydF4y2Ba'窗户'gydF4y2Ba,赢,gydF4y2Ba'overlaplencth'gydF4y2Ba,noverlap,gydF4y2Ba'fftlength'gydF4y2Ba,fftlen);是(1:npad)= [];是(结束-npad + 1:结束)= [];ti = ti(1:end-2 * npad);gydF4y2Ba

绘制原始和重建信号的实部。信号的虚部也得到了很好的重构。gydF4y2Ba

绘图(TS,Real(x))持有gydF4y2Ba上gydF4y2Ba绘图(TI,Real(是),gydF4y2Ba' - 'gydF4y2Ba)xlim([0 0.5])xlabel(gydF4y2Ba'时间''gydF4y2Ba)ylabel(gydF4y2Ba“振幅(V)”gydF4y2Ba) 传奇(gydF4y2Ba'原始信号'gydF4y2Ba,gydF4y2Ba'重建信号'gydF4y2Ba) 抓住gydF4y2Ba离开gydF4y2Ba

图中包含一个轴。轴包含2个类型的型号。这些对象分别代表原始信号、重构信号。gydF4y2Ba

产生在2kHz的窦上取样1秒。gydF4y2Ba

fs = 2e3;T = 0:1 / FS:1-1 / FS;x = 5 * sin(2 * pi * 10 * t);gydF4y2Ba

设计一个长度为120的周期汉明窗。检查有80个样本重叠的窗口的COLA约束。窗口-重叠组合是符合可乐。gydF4y2Ba

Win =汉明(120,gydF4y2Ba“周期”gydF4y2Ba);noverlap = 80;tf = iscola(win,noverlap)gydF4y2Ba
tf =gydF4y2Ba逻辑gydF4y2Ba1gydF4y2Ba

将FFT长度设置为512.计算短时傅里叶变换。gydF4y2Ba

FFTLEN = 512;s = stft(x,fs,gydF4y2Ba'窗户'gydF4y2Ba,赢,gydF4y2Ba'overlaplencth'gydF4y2Ba,noverlap,gydF4y2Ba'fftlength'gydF4y2Ba,fftlen);gydF4y2Ba

计算逆短时傅里叶变换。gydF4y2Ba

[X, T] = istft(年代,fs,gydF4y2Ba'窗户'gydF4y2Ba,赢,gydF4y2Ba'overlaplencth'gydF4y2Ba,noverlap,gydF4y2Ba'fftlength'gydF4y2Ba,fftlen,gydF4y2Ba'方法'gydF4y2Ba,gydF4y2Ba'ola'gydF4y2Ba,gydF4y2Ba'缀合致密的'gydF4y2Ba,真的);gydF4y2Ba

绘制原始信号和重建信号。gydF4y2Ba

绘图(t,x,gydF4y2Ba'B'gydF4y2Ba) 抓住gydF4y2Ba上gydF4y2Ba绘图(t,x,gydF4y2Ba'-.r'gydF4y2Ba)Xlabel(gydF4y2Ba'时间''gydF4y2Ba)ylabel(gydF4y2Ba“振幅(V)”gydF4y2Ba) 标题(gydF4y2Ba'原始和重建信号'gydF4y2Ba) 传奇(gydF4y2Ba'原始信号'gydF4y2Ba,gydF4y2Ba'重建信号'gydF4y2Ba) 抓住gydF4y2Ba离开gydF4y2Ba

图中包含一个轴。标题为“原始信号”和“重建信号”的坐标轴包含两个线型物体。这些对象分别代表原始信号、重构信号。gydF4y2Ba

输入参数gydF4y2Ba

全部收缩gydF4y2Ba

短时傅里叶变换,指定为矩阵或3-D阵列。对于单通道信号,请指定gydF4y2Ba年代gydF4y2Ba作为矩阵随着时间的推移,跨越列的跨度和频率越来越低于行。对于多通道信号,请指定gydF4y2Ba年代gydF4y2Ba作为三维阵列,具有与通道对应的第三维度。获得频率和时间向量作为输出gydF4y2BastgydF4y2Ba.gydF4y2Ba

请注意gydF4y2Ba

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

数据类型:gydF4y2Ba双倍的gydF4y2Ba|gydF4y2Ba单身的gydF4y2Ba
复数的支持:万博1manbetxgydF4y2Ba是的gydF4y2Ba

赫兹的采样率指定为正标量。gydF4y2Ba

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

采样时间,指定为gydF4y2Ba持续时间gydF4y2Ba标量。gydF4y2Ba

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

数据类型:gydF4y2Ba持续时间gydF4y2Ba

名称值对参数gydF4y2Ba

指定可选的逗号分隔对gydF4y2Ba名称,价值gydF4y2Ba论点。gydF4y2Ba名称gydF4y2Ba参数名和gydF4y2Ba价值gydF4y2Ba是相应的价值。gydF4y2Ba名称gydF4y2Ba必须出现在引号内。您可以以任何顺序指定多个名称和值对参数gydF4y2Baname1,value1,...,namen,valuengydF4y2Ba.gydF4y2Ba

例子:gydF4y2BaISTFT(s,'窗口',赢,'vertaplencth',50,'fftlength',128)gydF4y2Ba使用窗口操作数据gydF4y2Ba赢gydF4y2Ba,50个样本在相邻的段和128个DFT点之间重叠。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或者将其指定为空,设置为窗口长度的最大整数,这使得默认HANN窗口的96个样本。gydF4y2Ba

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

DFT点数,指定为逗号分隔的配对组成gydF4y2Ba'fftlength'gydF4y2Ba和一个正整数。为了实现完美的时域重建,您应该设置用于匹配的DFT点数gydF4y2BastgydF4y2Ba.gydF4y2Ba

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

重叠的方法 - 添加为逗号分隔的配对gydF4y2Ba'方法'gydF4y2Ba其中一个:gydF4y2Ba

  • 'Wola'gydF4y2Ba加权交叠相加gydF4y2Ba

  • 'ola'gydF4y2Ba——交叠相加gydF4y2Ba

原始信号的共轭对称性,指定为逗号分隔的对组成gydF4y2Ba'缀合致密的'gydF4y2Ba和gydF4y2Ba真的gydF4y2Ba或者gydF4y2Ba假gydF4y2Ba.如果此选项设置为gydF4y2Ba真的gydF4y2Ba,gydF4y2Baistft.gydF4y2Ba假设输入gydF4y2Ba年代gydF4y2Ba是对称的,否则没有对对称的假设进行。什么时候gydF4y2Ba年代gydF4y2Ba是否由于舍入错误而导致共轭对称,将名称-值对设置为gydF4y2Ba真的gydF4y2Ba确保STFT被当作共轭对称处理。如果gydF4y2Ba年代gydF4y2Ba缀合物对称,然后逆变换计算更快,输出是真实的。gydF4y2Ba

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

  • '中心'gydF4y2Ba-治疗gydF4y2Ba年代gydF4y2Ba作为双面,居中的stft。如果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

  • 'twosiding'gydF4y2Ba-治疗gydF4y2Ba年代gydF4y2Ba作为在区间上计算的双边短时傅里叶变换gydF4y2Ba[0, 2gydF4y2BaπgydF4y2Ba)gydF4y2Barad /样品。如果指定时间信息,则间隔为gydF4y2Ba[0,gydF4y2BafgydF4y2Ba年代gydF4y2Ba)gydF4y2Ba循环/单位时间。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,gydF4y2Baistft.gydF4y2Ba假设计算正奈奎斯特范围中的值,而不会降低总功率。gydF4y2Ba

例如,看到gydF4y2BaStft频率范围gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2BachargydF4y2Ba|gydF4y2Ba细绳gydF4y2Ba

输入时间维度,指定为逗号分隔对gydF4y2Ba“InputTimeDimension”gydF4y2Ba和gydF4y2Ba'跨大都会'gydF4y2Ba或者gydF4y2Ba“downrows”gydF4y2Ba.如果此值设置为gydF4y2Ba“downrows”gydF4y2Ba,gydF4y2Baistft.gydF4y2Ba假设时间维度gydF4y2Ba年代gydF4y2Ba沿着行,频率跨越列。如果此值设置为gydF4y2Ba'跨大都会'gydF4y2Ba, 功能gydF4y2Baistft.gydF4y2Ba假设时间维度gydF4y2Ba年代gydF4y2Ba是跨列的,而频率维度是沿行的。gydF4y2Ba

输出参数gydF4y2Ba

全部收缩gydF4y2Ba

时域中的重建信号,作为向量或矩阵返回。gydF4y2Ba

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

时间瞬间,作为向量返回。gydF4y2Ba

  • 如果采样率gydF4y2BafsgydF4y2Ba提供,然后提供gydF4y2BatgydF4y2Ba包含以秒为单位的时间值。gydF4y2Ba

  • 如果是持续时间gydF4y2BaTS.gydF4y2Ba提供,然后提供gydF4y2BatgydF4y2Ba具有与输入持续时间相同的时间格式,是持续时间阵列。gydF4y2Ba

  • 如果没有提供时间信息,那么gydF4y2BatgydF4y2Ba包含样品号。gydF4y2Ba

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

更多关于gydF4y2Ba

全部收缩gydF4y2Ba

逆短时傅里叶变换gydF4y2Ba

通过拍摄STFT的每个DFT向量的IFFT和重叠添加反相信号来计算逆短时傅里叶变换。ISTFT计算如下:gydF4y2Ba

xgydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba =gydF4y2Ba ∫gydF4y2Ba -gydF4y2Ba 1gydF4y2Ba /gydF4y2Ba 2gydF4y2Ba 1gydF4y2Ba /gydF4y2Ba 2gydF4y2Ba σ.gydF4y2Ba 米gydF4y2Ba =gydF4y2Ba -gydF4y2Ba ∞gydF4y2Ba ∞gydF4y2Ba XgydF4y2Ba 米gydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba egydF4y2Ba jgydF4y2Ba 2gydF4y2Ba πgydF4y2Ba fgydF4y2Ba ngydF4y2Ba dgydF4y2Ba fgydF4y2Ba =gydF4y2Ba σ.gydF4y2Ba 米gydF4y2Ba =gydF4y2Ba -gydF4y2Ba ∞gydF4y2Ba ∞gydF4y2Ba ∫gydF4y2Ba -gydF4y2Ba 1gydF4y2Ba /gydF4y2Ba 2gydF4y2Ba 1gydF4y2Ba /gydF4y2Ba 2gydF4y2Ba XgydF4y2Ba 米gydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba egydF4y2Ba jgydF4y2Ba 2gydF4y2Ba πgydF4y2Ba fgydF4y2Ba ngydF4y2Ba dgydF4y2Ba fgydF4y2Ba =gydF4y2Ba σ.gydF4y2Ba 米gydF4y2Ba =gydF4y2Ba -gydF4y2Ba ∞gydF4y2Ba ∞gydF4y2Ba xgydF4y2Ba 米gydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba

在哪里gydF4y2Ba RgydF4y2Ba 为连续dft之间的跳数大小,gydF4y2Ba XgydF4y2Ba 米gydF4y2Ba 是窗口数据的DFT以时间为中心gydF4y2Ba 米gydF4y2Ba RgydF4y2Ba 和gydF4y2Ba xgydF4y2Ba 米gydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba =gydF4y2Ba xgydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba ggydF4y2Ba (gydF4y2Ba ngydF4y2Ba -gydF4y2Ba 米gydF4y2Ba RgydF4y2Ba )gydF4y2Ba .逆stft只要是原始信号的完美重建gydF4y2Ba σ.gydF4y2Ba 米gydF4y2Ba =gydF4y2Ba -gydF4y2Ba ∞gydF4y2Ba ∞gydF4y2Ba ggydF4y2Ba 一个gydF4y2Ba +gydF4y2Ba 1gydF4y2Ba (gydF4y2Ba ngydF4y2Ba -gydF4y2Ba 米gydF4y2Ba RgydF4y2Ba )gydF4y2Ba =gydF4y2Ba cgydF4y2Ba ∀gydF4y2Ba ngydF4y2Ba ∈gydF4y2Ba ℤgydF4y2Ba 那里gydF4y2Ba分析窗口gydF4y2Ba ggydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba 用于窗口原始信号和gydF4y2Ba cgydF4y2Ba 是一个常数。下图描绘了重建原始信号之后的步骤。gydF4y2Ba

恒定重叠 - 添加(可乐)约束gydF4y2Ba

为了确保成功重建非型光谱,分析窗口必须满足可乐约束。通常,如果分析窗口满足条件gydF4y2Ba σ.gydF4y2Ba 米gydF4y2Ba =gydF4y2Ba -gydF4y2Ba ∞gydF4y2Ba ∞gydF4y2Ba ggydF4y2Ba 一个gydF4y2Ba +gydF4y2Ba 1gydF4y2Ba (gydF4y2Ba ngydF4y2Ba -gydF4y2Ba 米gydF4y2Ba RgydF4y2Ba )gydF4y2Ba =gydF4y2Ba cgydF4y2Ba ∀gydF4y2Ba ngydF4y2Ba ∈gydF4y2Ba ℤgydF4y2Ba ,窗口被认为是符合可乐的。另外,可含可氧顺应性可以描述为弱或强。gydF4y2Ba

  • 弱可乐遵守意味着分析窗口的傅里叶变换在帧速率谐波中具有零零gydF4y2Ba

    GgydF4y2Ba (gydF4y2Ba fgydF4y2Ba kgydF4y2Ba )gydF4y2Ba =gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba kgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba ,gydF4y2Ba 2gydF4y2Ba ,gydF4y2Ba ...gydF4y2Ba ,gydF4y2Ba RgydF4y2Ba -gydF4y2Ba 1gydF4y2Ba ,gydF4y2Ba fgydF4y2Ba kgydF4y2Ba ≜gydF4y2Ba kgydF4y2Ba RgydF4y2Ba .gydF4y2Ba

    别名取消受光谱修改的干扰。弱可乐依赖于频域中的别名消除。因此,只要信号没有经历任何频谱修改,可以使用弱Cola标准的窗口来实现完美的重建。gydF4y2Ba

  • 对于强大的可乐合规性,窗口的傅立叶变换必须符合帧速率的下采样,使其一致gydF4y2Ba

    GgydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba =gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba fgydF4y2Ba ≥gydF4y2Ba 1gydF4y2Ba 2gydF4y2Ba RgydF4y2Ba .gydF4y2Ba

    该等式表明,强大的可乐约束不允许别名。另外,对于强大的可乐遵从性,常数的价值gydF4y2Ba cgydF4y2Ba 必须等于1.一般情况下,如果以任何方式修改短时间频谱,则优选柔顺窗口更强的可乐。gydF4y2Ba

你可以使用gydF4y2Baiscra.gydF4y2Ba函数检查弱可乐符合性。用于检查可乐合规性的求和数由窗口长度和跳尺寸决定。一般来说,它是常用的gydF4y2Ba 一个gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba 在gydF4y2Ba σ.gydF4y2Ba 米gydF4y2Ba =gydF4y2Ba -gydF4y2Ba ∞gydF4y2Ba ∞gydF4y2Ba ggydF4y2Ba 一个gydF4y2Ba +gydF4y2Ba 1gydF4y2Ba (gydF4y2Ba ngydF4y2Ba -gydF4y2Ba 米gydF4y2Ba RgydF4y2Ba )gydF4y2Ba =gydF4y2Ba cgydF4y2Ba ∀gydF4y2Ba ngydF4y2Ba ∈gydF4y2Ba ℤgydF4y2Ba 对于加权重叠 - 添加(WOLA),和gydF4y2Ba 一个gydF4y2Ba =gydF4y2Ba 0gydF4y2Ba 用于重叠 - 添加(OLA)。默认,gydF4y2Baistft.gydF4y2Ba采用WOLA方法,通过应用agydF4y2Ba合成窗口gydF4y2Ba在执行重叠添加方法之前。gydF4y2Ba

通常,合成窗口与分析窗口相同。您可以通过拍摄强大的OLA窗口的平方根来构建有用的Wola Windows。您可以使用此方法所有非负OLA Windows。例如,根 - HANN窗口是WOLA窗口的一个很好的例子。gydF4y2Ba

完美的重建gydF4y2Ba

通常,计算输入信号的STFT并反转它不会导致完美的重建。如果希望ISTFT的输出尽可能地匹配原始输入信号,则信号和窗口必须满足以下条件:gydF4y2Ba

  • 输入大小 - 如果逆变输出gydF4y2BastgydF4y2Ba使用gydF4y2Baistft.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 Compliance - 使用符合可乐标准的窗口,假设您没有修改信号的短时傅立叶变换。gydF4y2Ba

  • 填充 - 如果输入信号的长度是这样的值gydF4y2BakgydF4y2Ba不是整数,在计算短时傅里叶变换之前返回信号。在反转信号后取出额外的零。gydF4y2Ba

参考gydF4y2Ba

[1] Crochiere,R.E。“一种加权重叠 - 添加方法短时傅里叶分析/合成。”gydF4y2BaIEEE声学、语音和信号处理汇刊。gydF4y2Ba第28卷,第1号,1980年2月,第99-102页。gydF4y2Ba

[2] gozen, A. D. Bernardini,和D. Arfib。相位声码器的传统实现:交易技巧gydF4y2Ba成本G-6数字音频效应会议的诉讼程序(DAFX-00)gydF4y2Ba,维罗纳,意大利,2000年12月7日至9日。gydF4y2Ba

[3] Griffin, Daniel W.和Jae S. Lim。基于改进短时傅里叶变换的信号估计gydF4y2BaIEEE声学、语音和信号处理汇刊。gydF4y2Ba卷。32,第2名,1984年4月,第236.243页。gydF4y2Ba

[4] PortNoff,M. R.“基于短时傅里叶分析的数字信号和系统的时频表示”。gydF4y2BaIEEE声学、语音和信号处理汇刊。gydF4y2Ba卷。28,第1号,1980年2月,第55-69页。gydF4y2Ba

[5]史密斯,朱利叶斯猎户座。gydF4y2Ba光谱音频信号处理gydF4y2Ba.gydF4y2Bahttps://ccrma.stanford.edu/~jos/sasp/gydF4y2Ba,在线图书,2011年版,2018年11月接入。gydF4y2Ba

[6]夏普,布鲁斯。gydF4y2Ba可处于重叠添加处理的可逆性gydF4y2Ba.gydF4y2Bahttps://gauss256.github.io/blog/cola.html.gydF4y2Ba,2019年7月访问。gydF4y2Ba

扩展能力gydF4y2Ba

另请参阅gydF4y2Ba

功能gydF4y2Ba

主题gydF4y2Ba

介绍了R2019agydF4y2Ba