主要内容gydF4y2Ba

istftgydF4y2Ba

短时傅里叶反变换gydF4y2Ba

描述gydF4y2Ba

xgydF4y2Ba= istft (gydF4y2Ba年代gydF4y2Ba)gydF4y2Ba返回gydF4y2Ba短时傅里叶反变换gydF4y2Ba(ISTFT)gydF4y2Ba年代gydF4y2Ba.gydF4y2Ba

例子gydF4y2Ba

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

xgydF4y2Ba= istft (gydF4y2Ba年代gydF4y2Ba,gydF4y2BatsgydF4y2Ba)gydF4y2Ba使用示例时间返回ISTFTgydF4y2BatsgydF4y2Ba.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. 第一通道由一个瞬时频率为100hz的凹二次啁啾组成gydF4y2Bat =gydF4y2Ba0和过300hz在gydF4y2Bat =gydF4y2Ba1秒。它的初始相位等于45度。gydF4y2Ba

  2. 第二通道由瞬时频率为200hz的凸二次啁啾组成gydF4y2Bat =gydF4y2Ba0和过600赫兹在gydF4y2Bat =gydF4y2Ba1秒。gydF4y2Ba

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

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

fs = 1 e3;t = 0:1 / fs: 1 - 1 / f;x =[唧唧声(t, 100, 1300,gydF4y2Ba“二次”gydF4y2Ba45岁的gydF4y2Ba“凹”gydF4y2Ba);唧唧声(t, 200, 1600,gydF4y2Ba“二次”gydF4y2Ba[],gydF4y2Ba“凸”gydF4y2Ba);唧唧声(t, 300, 1500,gydF4y2Ba“对数”gydF4y2Ba)];F (S, T) = stft (x, fs,gydF4y2Ba“窗口”gydF4y2Ba256年,汉明(gydF4y2Ba“周期”gydF4y2Ba),gydF4y2Ba“OverlapLength”gydF4y2Ba15);gydF4y2Ba

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

(第九,ti) = istft(年代,fs,gydF4y2Ba“窗口”gydF4y2Ba256年,汉明(gydF4y2Ba“周期”gydF4y2Ba),gydF4y2Ba“OverlapLength”gydF4y2Ba15);情节(t) x(: 1)”,gydF4y2Ba“线宽”gydF4y2Ba, 1.5)gydF4y2Ba在gydF4y2Ba情节(ti,第九(:1)”,gydF4y2Ba“r——”gydF4y2Ba)举行gydF4y2Ba从gydF4y2Ba传奇(gydF4y2Ba“原始通道1”gydF4y2Ba,gydF4y2Ba“重建通道1”gydF4y2Ba)gydF4y2Ba

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象表示原始信道1,重建信道1。gydF4y2Ba

情节(t) x(:, 2)”,gydF4y2Ba“线宽”gydF4y2Ba, 1.5)gydF4y2Ba在gydF4y2Ba情节(ti,第九(:,2)”,gydF4y2Ba“r——”gydF4y2Ba)传说(gydF4y2Ba《原始通道2》gydF4y2Ba,gydF4y2Ba《重建通道2》gydF4y2Ba)gydF4y2Ba

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

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

相位声码器对具有跳数大小的分析窗口的信号进行短时傅里叶变换gydF4y2Ba RgydF4y2Ba 1gydF4y2Ba 然后用单跳大小的合成窗口进行ISTFTgydF4y2Ba RgydF4y2Ba 2gydF4y2Ba .声码器因此利用了WOLA方法。为了对信号进行时间拉伸,分析窗口比合成窗口使用更多的重叠样本。因此,输出处的样本比输入处的样本要多(gydF4y2Ba NgydF4y2Ba 年代gydF4y2Ba ,gydF4y2Ba 出gydF4y2Ba >gydF4y2Ba NgydF4y2Ba 年代gydF4y2Ba ,gydF4y2Ba 在gydF4y2Ba ),尽管频率内容保持不变。现在,你可以通过用更高的采样率播放这个信号来确定音高,这就产生了一个具有原始持续时间但音调更高的信号。gydF4y2Ba

加载一个音频文件,其中包含以8192hz采样的汉德尔的“哈利路亚合唱”片段。gydF4y2Ba

负载gydF4y2Ba汉德尔gydF4y2Ba

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

wlen = 512;赢得=√损害wlen,gydF4y2Ba“周期”gydF4y2Ba));noverlapA = 192;noverlapS = 166;gydF4y2Ba

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

S = stft (y, Fs,gydF4y2Ba“窗口”gydF4y2Ba,赢了,gydF4y2Ba“OverlapLength”gydF4y2Ba, noverlapA);Fs iy = istft(年代,gydF4y2Ba“窗口”gydF4y2Ba,赢了,gydF4y2Ba“OverlapLength”gydF4y2Ba, noverlapS);gydF4y2Ba%To hear, type soundsc(w,Fs), pause(10), soundsc(iw,Fs);gydF4y2Ba

如果分析和合成窗口是相同的,但是重叠长度发生了变化,那么你就需要调整额外的增益/损失。这是实现相位声码器的常用方法。gydF4y2Ba

计算跳比,并利用它来调整重建信号的增益。也计算频率的俯仰偏移数据使用跳比。gydF4y2Ba

hopRatio = (wlen-noverlapS) / (wlen-noverlapA);iyg = iy * hopRatio;Fp = f * hopRatio;gydF4y2Ba%To hear, type soundsc(iwg,Fs), pause(15), soundsc(iwg,Fp);gydF4y2Ba

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

情节((0:长度(iyg) 1) / Fs, iyg,(0:长度(y) 1) / Fs, y)包含(gydF4y2Ba“时间(s)”gydF4y2Ba) xlim([0 (length(iyg)-1)/Fs]) legend(gydF4y2Ba“固定增益的时间拉长信号”gydF4y2Ba,gydF4y2Ba原始信号的gydF4y2Ba,gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“最佳”gydF4y2Ba)gydF4y2Ba

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象表示固定增益的时间拉长信号,原始信号。gydF4y2Ba

在同一图上比较时间延长的信号和音调改变的信号。gydF4y2Ba

iy情节((0:长度()1)/ Fs, iy,(0:长度(iy) 1) / Fp, iy)包含(gydF4y2Ba“时间(s)”gydF4y2Ba) xlim([0 (length(iyg)-1)/Fs]) legend(gydF4y2Ba“时间拉伸信号”gydF4y2Ba,gydF4y2Ba“球场转移信号”gydF4y2Ba,gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“最佳”gydF4y2Ba)gydF4y2Ba

图中包含一个轴对象。轴对象包含两个类型为line的对象。这些对象代表时间拉长信号,俯仰移位信号。gydF4y2Ba

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

t = 0:1 / Fs: 2;x =罪(2 *π* 10 * t);gydF4y2Ba

分别计算重叠长度为192和166的短时傅里叶变换和短时傅里叶反变换。gydF4y2Ba

Sx = stft (x, Fs,gydF4y2Ba“窗口”gydF4y2Ba,赢了,gydF4y2Ba“OverlapLength”gydF4y2Ba, noverlapA);第九= istft (Sx, Fs,gydF4y2Ba“窗口”gydF4y2Ba,赢了,gydF4y2Ba“OverlapLength”gydF4y2Ba, noverlapS);gydF4y2Ba

在一张图上画出原始信号,在另一张图上画出时间延长和音调改变的信号。gydF4y2Ba

次要情节(2,1,1)情节((0:长度(ix) 1) / Fs,第九,gydF4y2Ba“线宽”gydF4y2Ba(2)包含gydF4y2Ba“时间(s)”gydF4y2Ba) ylabel (gydF4y2Ba信号幅度的gydF4y2Ba) xlim([0 (length(ix)-1)/Fs]) legend(gydF4y2Ba“时间拉伸信号”gydF4y2Ba次要情节(2,1,2)gydF4y2Ba在gydF4y2Ba情节((0:长度(x) 1) / Fs, x)图((0:长度(ix) 1) / Fp,第九,gydF4y2Ba“——”gydF4y2Ba,gydF4y2Ba“线宽”gydF4y2Ba2)传说(gydF4y2Ba原始信号的gydF4y2Ba,gydF4y2Ba“球场转移信号”gydF4y2Ba,gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“最佳”gydF4y2Ba)举行gydF4y2Ba从gydF4y2Ba包含(gydF4y2Ba“时间(s)”gydF4y2Ba) ylabel (gydF4y2Ba信号幅度的gydF4y2Ba) xlim([0(长度(ix) 1) / Fs])gydF4y2Ba

图中包含2个轴对象。axis对象1包含一个类型为line的对象。这个对象表示时间拉长的信号。axis对象2包含2个类型为line的对象。这些对象分别代表原始信号、音高移位信号。gydF4y2Ba

产生一个复杂的正弦波频率为1 kHz,持续时间为2秒。gydF4y2Ba

fs = 1 e3;ts = 0:1 / fs: 2 - 1 / f;x = exp (2 j *π* 100 * cos(2 *π* 2 * ts));gydF4y2Ba

设计一个长度为100的周期Hann窗口,设置重叠样本数为75。检查窗口和重叠长度是否符合COLA。gydF4y2Ba

nwin = 100;赢得=损害(nwin,gydF4y2Ba“周期”gydF4y2Ba);noverlap = 75;tf = iscola(赢,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 = [zeros(1,nPad) x zeros(1,nPad)];fftlen = 128;s = stft (xZero fs,gydF4y2Ba“窗口”gydF4y2Ba,赢了,gydF4y2Ba“OverlapLength”gydF4y2Banoverlap,gydF4y2Ba“FFTLength”gydF4y2Ba, fftlen);gydF4y2Ba

计算短时间傅里叶反变换并去除零点,以实现完美的重构。gydF4y2Ba

(是,ti) = istft(年代,fs,gydF4y2Ba“窗口”gydF4y2Ba,赢了,gydF4y2Ba“OverlapLength”gydF4y2Banoverlap,gydF4y2Ba“FFTLength”gydF4y2Ba, fftlen);(1: nPad) = [];(end-nPad + 1:结束)= [];ti = ti (1: end-2 * nPad);gydF4y2Ba

绘制原始信号和重建信号的实部。信号的虚部也被完美地重建了。gydF4y2Ba

情节(ts,真正的(x))gydF4y2Ba在gydF4y2Ba情节(ti,真正的(是),gydF4y2Ba“——”gydF4y2Ba) xlim([0 0.5])gydF4y2Ba“时间(s)”gydF4y2Ba) ylabel (gydF4y2Ba“振幅(V)”gydF4y2Ba)传说(gydF4y2Ba原始信号的gydF4y2Ba,gydF4y2Ba重构信号的gydF4y2Ba)举行gydF4y2Ba从gydF4y2Ba

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

生成一个正弦信号,采样频率为2 kHz,持续1秒。gydF4y2Ba

fs = 2 e3;t = 0:1 / fs: 1 - 1 / f;x = 5 * sin(2 *π* 10 * t);gydF4y2Ba

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

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

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

fftlen = 512;s = stft (x, fs,gydF4y2Ba“窗口”gydF4y2Ba,赢了,gydF4y2Ba“OverlapLength”gydF4y2Banoverlap,gydF4y2Ba“FFTLength”gydF4y2Ba, fftlen);gydF4y2Ba

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

[X, T] = istft(年代,fs,gydF4y2Ba“窗口”gydF4y2Ba,赢了,gydF4y2Ba“OverlapLength”gydF4y2Banoverlap,gydF4y2Ba“FFTLength”gydF4y2Bafftlen,gydF4y2Ba“方法”gydF4y2Ba,gydF4y2Ba“ola”gydF4y2Ba,gydF4y2Ba“ConjugateSymmetric”gydF4y2Ba,真正的);gydF4y2Ba

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

情节(t x,gydF4y2Ba“b”gydF4y2Ba)举行gydF4y2Ba在gydF4y2Ba情节(T X,gydF4y2Ba“r”gydF4y2Ba)包含(gydF4y2Ba“时间(s)”gydF4y2Ba) ylabel (gydF4y2Ba“振幅(V)”gydF4y2Ba)标题(gydF4y2Ba“原始和重建信号”gydF4y2Ba)传说(gydF4y2Ba原始信号的gydF4y2Ba,gydF4y2Ba重构信号的gydF4y2Ba)举行gydF4y2Ba从gydF4y2Ba

图中包含一个轴对象。标题为Original和reconstruction Signal的轴对象包含两个类型为line的对象。这些对象分别代表原始信号和重构信号。gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

短时间傅里叶变换,指定为矩阵或三维数组。对于单通道信号,请指定gydF4y2Ba年代gydF4y2Ba作为一个矩阵,随着时间在列上增加,随着频率在行上增加。对于多通道信号,请指定gydF4y2Ba年代gydF4y2Ba为三维阵列,其第三维与通道相对应。得到频率和时间向量为的输出gydF4y2BastftgydF4y2Ba.gydF4y2Ba

请注意gydF4y2Ba

如果你反gydF4y2Ba年代gydF4y2Ba使用gydF4y2BaistftgydF4y2Ba希望结果和gydF4y2BaxgydF4y2Ba的价值gydF4y2Ba长度(长度(x) -noverlap) /((窗口)-noverlap)gydF4y2Ba必须是整数。gydF4y2Ba

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

以赫兹为单位的采样率,指定为一个正标量。gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba|gydF4y2Ba单gydF4y2Ba

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

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

数据类型:gydF4y2Ba持续时间gydF4y2Ba

名称-值参数gydF4y2Ba

指定可选的逗号分隔的对gydF4y2Ba名称,值gydF4y2Ba参数。gydF4y2Ba的名字gydF4y2Ba参数名和gydF4y2Ba价值gydF4y2Ba为对应值。gydF4y2Ba的名字gydF4y2Ba必须出现在引号内。可以以任意顺序指定多个名称和值对参数gydF4y2BaName1, Value1,…,的家gydF4y2Ba.gydF4y2Ba

例子:gydF4y2Baistft(年代,“窗口”,赢得“OverlapLength”,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“OverlapLength”gydF4y2Ba一个正整数小于gydF4y2Ba窗口gydF4y2Ba.如果您省略gydF4y2Ba“OverlapLength”gydF4y2Ba或者将其指定为空,则将其设置为小于窗口长度75%的最大整数,即默认Hann窗口的96个样本。gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba|gydF4y2Ba单gydF4y2Ba

DFT点的数目,指定为逗号分隔对,由gydF4y2Ba“FFTLength”gydF4y2Ba一个正整数。为了实现完美的时域重构,您应该设置DFT点的数量来匹配gydF4y2BastftgydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba双gydF4y2Ba|gydF4y2Ba单gydF4y2Ba

重叠添加方法,指定为逗号分隔的对,由gydF4y2Ba“方法”gydF4y2Ba其中之一是:gydF4y2Ba

  • “呼啦”gydF4y2Ba加权交叠相加gydF4y2Ba

  • “ola”gydF4y2Ba——交叠相加gydF4y2Ba

原始信号的共轭对称,指定为逗号分隔对组成gydF4y2Ba“ConjugateSymmetric”gydF4y2Ba和gydF4y2Ba真正的gydF4y2Ba或gydF4y2Ba假gydF4y2Ba.如果该选项设置为gydF4y2Ba真正的gydF4y2Ba,gydF4y2BaistftgydF4y2Ba假设输入gydF4y2Ba年代gydF4y2Ba是对称的,否则不作对称假设。当gydF4y2Ba年代gydF4y2Ba由于舍入错误,是否将名称-值对设置为gydF4y2Ba真正的gydF4y2Ba确保STFT被视为共轭对称。如果gydF4y2Ba年代gydF4y2Ba为共轭对称,则逆变换计算速度快,且输出为实数。gydF4y2Ba

STFT频率范围,指定为逗号分隔对组成gydF4y2Ba“FrequencyRange”gydF4y2Ba和gydF4y2Ba“中心”gydF4y2Ba,gydF4y2Ba双侧的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

  • 双侧的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,gydF4y2BaistftgydF4y2Ba假定在正奈奎斯特范围内的值是在不保存总功率的情况下计算的。gydF4y2Ba

例如,请参见gydF4y2BaSTFT频率范围gydF4y2Ba.gydF4y2Ba

数据类型:gydF4y2Ba字符gydF4y2Ba|gydF4y2Ba字符串gydF4y2Ba

输入时间维度,指定为逗号分隔对组成gydF4y2Ba“InputTimeDimension”gydF4y2Ba和gydF4y2Ba“acrosscolumns”gydF4y2Ba或gydF4y2Ba“downrows”gydF4y2Ba.如果该值设置为gydF4y2Ba“downrows”gydF4y2Ba,gydF4y2BaistftgydF4y2Ba假设时间维度gydF4y2Ba年代gydF4y2Ba是沿行向下的频率是跨列的。如果该值设置为gydF4y2Ba“acrosscolumns”gydF4y2Ba,函数gydF4y2BaistftgydF4y2Ba假设时间维度gydF4y2Ba年代gydF4y2Ba是跨列的频率维度是沿着行的。gydF4y2Ba

输出参数gydF4y2Ba

全部折叠gydF4y2Ba

在时域中重建的信号,以向量或矩阵的形式返回。gydF4y2Ba

数据类型:gydF4y2Ba单gydF4y2Ba|gydF4y2Ba双gydF4y2Ba

时间瞬间,返回为矢量。gydF4y2Ba

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

  • 如果一个时间gydF4y2BatsgydF4y2Ba提供,然后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

常数重叠-添加(COLA)约束gydF4y2Ba

为了保证非修饰谱的成功重构,分析窗口必须满足COLA约束。一般情况下,如果分析窗口满足条件gydF4y2Ba ∑gydF4y2Ba 米gydF4y2Ba =gydF4y2Ba −gydF4y2Ba ∞gydF4y2Ba ∞gydF4y2Ba ggydF4y2Ba 一个gydF4y2Ba +gydF4y2Ba 1gydF4y2Ba (gydF4y2Ba ngydF4y2Ba −gydF4y2Ba 米gydF4y2Ba RgydF4y2Ba )gydF4y2Ba =gydF4y2Ba cgydF4y2Ba ∀gydF4y2Ba ngydF4y2Ba ∈gydF4y2Ba ℤgydF4y2Ba ,窗户被认为是符合可乐。另外,可乐依从性可以分为弱遵从性和强遵从性。gydF4y2Ba

  • 弱COLA顺应性意味着分析窗口的傅立叶变换在帧率谐波下为零,因此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依赖于频域的混叠抵消。因此,只要信号没有经过任何光谱修改,使用弱cola顺应窗就可以实现完美重构。gydF4y2Ba

  • 对于强的COLA遵从性,窗口的傅里叶变换必须与帧速率下采样的带宽限制一致gydF4y2Ba

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

    该方程表明,强COLA约束不允许混叠。另外,对于强可乐顺应性,该常数的值gydF4y2Ba cgydF4y2Ba 必须等于1。一般来说,如果以任何方式修改短时谱,则首选更强的COLA顺应窗。gydF4y2Ba

你可以使用gydF4y2BaiscolagydF4y2Ba功能检查弱可乐符合性。用于检查COLA合规性的求和数由窗口长度和跳数决定。一般来说,它是常用的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)。默认情况下,gydF4y2BaistftgydF4y2Ba采用WOLA方法,通过应用agydF4y2Ba合成窗口gydF4y2Ba在执行重叠添加方法之前。gydF4y2Ba

一般情况下,合成窗口与分析窗口是相同的。通过对强OLA窗口取平方根,可以构建有用的WOLA窗口。您可以对所有非负OLA窗口使用此方法。例如,根- hann窗口就是一个很好的WOLA窗口示例。gydF4y2Ba

完美的重建gydF4y2Ba

一般来说,计算输入信号的短时傅立叶变换并对其进行反变换并不能得到完美的重构。如果想要ISTFT的输出与原始输入信号尽可能的匹配,信号和窗口必须满足以下条件:gydF4y2Ba

  • 输入大小-如果你反转的输出gydF4y2BastftgydF4y2Ba使用gydF4y2BaistftgydF4y2Ba希望结果和输入信号的长度相同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

  • 符合可乐-使用符合可乐的窗口,假设您没有修改信号的短时间傅里叶变换。gydF4y2Ba

  • 填充-如果输入信号的长度等于gydF4y2BakgydF4y2Ba不是整数,在计算短时间傅里叶变换之前对信号进行零填充。在反转信号后去掉多余的零。gydF4y2Ba

参考文献gydF4y2Ba

R. E. Crochiere短时傅立叶分析/合成的加权叠加法。gydF4y2BaIEEE声学、语音和信号处理汇刊。gydF4y2Ba第28卷第1期,1980年2月,99-102页。gydF4y2Ba

[2] Gotzen, a.d., N. Bernardini, and D. Arfib。《相位声码器的传统实现:行业技巧》gydF4y2Ba数字音频效果COST G-6会议记录(DAFX-00)gydF4y2Ba2000年12月7-9日,意大利维罗纳。gydF4y2Ba

[3] Griffin, Daniel W.和Jae S. Lim。“修正短时傅里叶变换的信号估计”。gydF4y2BaIEEE声学、语音和信号处理汇刊。gydF4y2Ba第32卷第2期,1984年4月,236-243页。gydF4y2Ba

波特诺夫,m.r。基于短时傅立叶分析的数字信号和系统时频表示。gydF4y2BaIEEE声学、语音和信号处理汇刊。gydF4y2Ba1980年2月,第28卷第1期,55-69页。gydF4y2Ba

史密斯,我是朱利叶斯·奥里翁。gydF4y2Ba频谱音频信号处理gydF4y2Ba.gydF4y2Bahttps://ccrma.stanford.edu/~jos/sasp/gydF4y2Ba,在线图书,2011版,访问2018年11月。gydF4y2Ba

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

扩展功能gydF4y2Ba

另请参阅gydF4y2Ba

功能gydF4y2Ba

主题gydF4y2Ba

介绍了R2019agydF4y2Ba