主要内容gydF4y2Ba

istftgydF4y2Ba

短时傅里叶反变换gydF4y2Ba

自从R2019agydF4y2Ba

描述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返回ISTFT使用样品时间gydF4y2BatsgydF4y2Ba。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赫兹gydF4y2Bat =gydF4y2Ba0和跨越300 HzgydF4y2Bat =gydF4y2Ba1秒。它有一个初始阶段等于45度。gydF4y2Ba

  2. 第二通道由一个凸二次啁啾与瞬时频率200赫兹gydF4y2Bat =gydF4y2Ba0和跨越600 HzgydF4y2Bat =gydF4y2Ba1秒。gydF4y2Ba

  3. 第三通道由一个对数线性调频与瞬时频率300赫兹gydF4y2Bat =gydF4y2Ba0和跨越500 HzgydF4y2Bat =gydF4y2Ba1秒。gydF4y2Ba

计算多道信号使用一个周期的STFT汉明窗的长度256和重叠长度15样品。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

图包含一个坐标轴对象。坐标轴对象包含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

阶段的信号声码器采用STFT分析跳窗的大小gydF4y2Ba RgydF4y2Ba 1gydF4y2Ba 然后执行一个ISTFT跳合成窗口的大小gydF4y2Ba RgydF4y2Ba 2gydF4y2Ba 。呼啦声码器从而利用的方法。时间信号,分析窗口使用大量的重叠比合成的样品。因此,有更多的样本输出比输入(gydF4y2Ba NgydF4y2Ba 年代gydF4y2Ba ,gydF4y2Ba 出gydF4y2Ba >gydF4y2Ba NgydF4y2Ba 年代gydF4y2Ba ,gydF4y2Ba 在gydF4y2Ba ),尽管频率内容是相同的。现在,你可以回到球场规模这个信号,采样率更高,产生一个信号与原来的时间但是更高的音调。gydF4y2Ba

加载一个音频文件包含一个片段韩德尔的“哈利路亚大合唱”采样在8192赫兹。gydF4y2Ba

负载gydF4y2Ba汉德尔gydF4y2Ba

设计一个root-Hann窗口长度为512。分析重叠长度设置为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%,类型soundsc (w, Fs),暂停(10),soundsc (iw, Fs);gydF4y2Ba

如果分析和合成窗口是相同的,但重叠长度改变,将会有一个额外的收益/损失,您将需要调整。这是一种常见的方法来实现一个阶段声码器。gydF4y2Ba

计算跳比和用它来调整重构信号的增益。也算pitch-shifted数据使用跳的频率比。gydF4y2Ba

hopRatio = (wlen-noverlapS) / (wlen-noverlapA);iyg = iy * hopRatio;Fp = f * hopRatio;gydF4y2Ba%,类型soundsc (iwg Fs),暂停(15),soundsc (iwg Fp);gydF4y2Ba

画出原始信号和时间拉伸信号固定收益。gydF4y2Ba

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

图包含一个坐标轴对象。坐标轴对象包含时间(s)包含2线类型的对象。这些对象表示与固定时间拉伸信号增益,原始信号。gydF4y2Ba

比较time-stretched信号和球场将信号在相同的情节。gydF4y2Ba

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

图包含一个坐标轴对象。坐标轴对象包含时间(s)包含2线类型的对象。这些对象代表时间拉伸信号,音调转变的信号。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

画出原始信号在一个情节和time-stretched音高转移信号在另一个。gydF4y2Ba

次要情节(2,1,1)情节((0:长度(ix) 1) / Fs,第九,gydF4y2Ba“线宽”gydF4y2Ba(2)包含gydF4y2Ba“时间(s)”gydF4y2Ba)ylabel (gydF4y2Ba信号幅度的gydF4y2Ba)xlim([0(长度(ix) 1) / Fs])传说(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轴对象。坐标轴对象1包含时间(s), ylabel信号幅度包含一个类型的对象。这个对象表示时间拉伸信号。坐标轴对象2包含时间(s), ylabel信号幅度包含2线类型的对象。这些对象代表原始信号,音调转变的信号。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和重叠的样本的数量设置为75。检查窗口和重叠长度的可乐合规。gydF4y2Ba

nwin = 100;赢得=损害(nwin,gydF4y2Ba“周期”gydF4y2Ba);noverlap = 75;tf = iscola(赢,noverlap)gydF4y2Ba
tf =gydF4y2Ba逻辑gydF4y2Ba1gydF4y2Ba

在信号消除边缘效应。为了避免截断,垫0这样的输入信号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;nPad xZero = [0 (1) x 0 (nPad)];fftlen = 128;s = stft (xZero fs,gydF4y2Ba“窗口”gydF4y2Ba,赢了,gydF4y2Ba“OverlapLength”gydF4y2Banoverlap,gydF4y2Ba“FFTLength”gydF4y2Ba,fftlen);gydF4y2Ba

计算逆短时傅里叶变换和删除完美重建的0。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“——”gydF4y2Ba0.5)xlim([0])包含(gydF4y2Ba“时间(s)”gydF4y2Ba)ylabel (gydF4y2Ba“振幅(V)”gydF4y2Ba)传说(gydF4y2Ba原始信号的gydF4y2Ba,gydF4y2Ba重构信号的gydF4y2Ba)举行gydF4y2Ba从gydF4y2Ba

图包含一个坐标轴对象。坐标轴对象包含时间(s), ylabel振幅(V)包含2线类型的对象。这些对象代表原始信号,重构信号。gydF4y2Ba

生成一个正弦信号采样2 kHz 1秒。gydF4y2Ba

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

设计一个周期120年汉明窗的长度。检查可乐约束的窗口重叠的80个样本。window-overlap组合是可乐兼容。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

图包含一个坐标轴对象。坐标轴对象与原有标题和重构信号,包含时间(s), ylabel振幅(V)包含2线类型的对象。这些对象代表原始信号,重构信号。gydF4y2Ba

输入参数gydF4y2Ba

全部折叠gydF4y2Ba

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

请注意gydF4y2Ba

如果你想要gydF4y2BaxgydF4y2Ba和gydF4y2Ba年代gydF4y2Ba的价值是相同的长度gydF4y2Ba(长度(gydF4y2BaxgydF4y2Ba)-noverlap) /(长度(窗口)-noverlap)gydF4y2Ba必须是一个整数。使用gydF4y2Ba窗口gydF4y2Ba指定的长度gydF4y2Ba窗口gydF4y2Ba和gydF4y2BaOverlapLengthgydF4y2Ba指定gydF4y2BanoverlapgydF4y2Ba。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

指定可选的双参数作为gydF4y2BaName1 = Value1,…,以=家gydF4y2Ba,在那里gydF4y2Ba的名字gydF4y2Ba参数名称和吗gydF4y2Ba价值gydF4y2Ba相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。gydF4y2Ba

例子:gydF4y2Baistft(年代,窗口=赢,OverlapLength = 50, FFTLength = 128)gydF4y2Bawindows窗口使用的数据gydF4y2Ba赢得gydF4y2Ba,50个样本重叠相邻段和DFT 128点。gydF4y2Ba

R2021a之前,用逗号来分隔每一个名称和值,并附上gydF4y2Ba的名字gydF4y2Ba在报价。gydF4y2Ba

例子:gydF4y2Baistft(年代,“窗口”,赢得“OverlapLength”, 50岁,FFTLength, 128)gydF4y2Bawindows窗口使用的数据gydF4y2Ba赢得gydF4y2Ba,50个样本重叠相邻段和DFT 128点。gydF4y2Ba

窗口函数,指定为一个向量。如果你不指定窗口或指定它是空的,函数使用一个周期损害窗口长度为128。的长度gydF4y2Ba窗口gydF4y2Ba必须大于或等于2。gydF4y2Ba

可用窗口的列表,请参阅gydF4y2Ba窗户gydF4y2Ba。gydF4y2Ba

例子:gydF4y2Ba损害(N + 1)gydF4y2Ba和gydF4y2Ba(1-cos(2 *π* (0:N) / N)) / 2gydF4y2Ba都指定一个损害窗口长度gydF4y2BaNgydF4y2Ba+ 1。gydF4y2Ba

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

重叠的样本数量,指定为一个正整数的长度小于gydF4y2Ba窗口gydF4y2Ba。如果您省略gydF4y2BaOverlapLengthgydF4y2Ba或指定它是空的,它被设置为最大的整数窗口的长度不到75%,这是96个样本为默认损害窗口。gydF4y2Ba

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

数量的DFT点,指定为一个正整数。达到完美的时域重建,你应该设置数量的DFT点匹配中使用gydF4y2BastftgydF4y2Ba。gydF4y2Ba

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

交叠相加的方法,指定为其中的一个:gydF4y2Ba

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

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

原始信号的共轭对称性,指定为gydF4y2Ba真正的gydF4y2Ba或gydF4y2Ba假gydF4y2Ba。如果将此选项设置gydF4y2Ba真正的gydF4y2Ba,gydF4y2BaistftgydF4y2Ba假定输入gydF4y2Ba年代gydF4y2Ba是对称的,否则不对称的假设。当gydF4y2Ba年代gydF4y2Ba并不完全共轭对称由于舍入误差,设置名称-值对吗gydF4y2Ba真正的gydF4y2Ba确保了STFT被视为如果共轭对称的。如果gydF4y2Ba年代gydF4y2Ba共轭对称,逆变换计算速度更快,和输出是真实的。gydF4y2Ba

STFT频率范围,指定为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作为一个双边STFT计算区间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“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

逆短时傅里叶变换是通过传输线的DFT计算向量的STFT和反向信号重叠相加。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 是跳连续阶之间的大小,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

确保成功的重建nonmodified光谱,分析窗口必须满足可乐约束。一般来说,如果满足条件的分析窗口gydF4y2Ba ∑gydF4y2Ba 米gydF4y2Ba =gydF4y2Ba −gydF4y2Ba ∞gydF4y2Ba ∞gydF4y2Ba ggydF4y2Ba 一个gydF4y2Ba +gydF4y2Ba 1gydF4y2Ba (gydF4y2Ba ngydF4y2Ba −gydF4y2Ba 米gydF4y2Ba RgydF4y2Ba )gydF4y2Ba =gydF4y2Ba cgydF4y2Ba ∀gydF4y2Ba ngydF4y2Ba ∈gydF4y2Ba ℤgydF4y2Ba ,被认为是COLA-compliant的窗口。另外,可乐合规可以被描述为或弱或强。gydF4y2Ba

  • 弱可乐遵从性暗示的傅里叶变换分析窗口有0的帧频谐波等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-compliant windows只要信号没有经历任何光谱的修改。gydF4y2Ba

  • 强劲可乐合规,窗口的傅里叶变换必须与将采样带宽受限的一贯的帧率等gydF4y2Ba

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

    这个方程表明,强劲的可乐不允许混叠的约束。此外,强劲可乐合规,常量的值gydF4y2Ba cgydF4y2Ba 必须等于1。一般来说,如果短时谱以任何方式修改,更可乐的窗口是首选。gydF4y2Ba

您可以使用gydF4y2BaiscolagydF4y2Ba函数来检查弱可乐合规。合计的数量用于检查可乐合规是由窗口长度和大小。一般来说,使用是很常见的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 加权交叠相加(呼啦)gydF4y2Ba 一个gydF4y2Ba =gydF4y2Ba 0gydF4y2Ba 交叠相加(OLA)。默认情况下,gydF4y2BaistftgydF4y2Ba使用呼啦方法,通过应用gydF4y2Ba合成窗口gydF4y2Ba在执行之前交叠相加的方法。gydF4y2Ba

一般来说,合成窗口是一样的分析窗口。你可以构造有用呼啦windows以√OLA窗口。您可以使用这种方法对所有非负OLA窗口。例如,root-Hann呼啦窗口的窗口是一个很好的例子。gydF4y2Ba

完美的重建gydF4y2Ba

一般来说,计算输入信号的STFT和反相这不会导致完美的重建。如果你想让ISTFT的输出尽可能匹配原始输入信号,信号和窗口必须满足下列条件:gydF4y2Ba

  • 输入大小——如果你反转的输出gydF4y2BastftgydF4y2Ba使用gydF4y2BaistftgydF4y2Ba和想要的结果是相同的长度作为输入信号gydF4y2BaxgydF4y2Ba的价值,gydF4y2Ba

    kgydF4y2Ba =gydF4y2Ba NgydF4y2Ba xgydF4y2Ba −gydF4y2Ba lgydF4y2Ba 米gydF4y2Ba −gydF4y2Ba lgydF4y2Ba

    必须是一个整数。的方程,gydF4y2BaNgydF4y2BaxgydF4y2Ba是信号的长度,gydF4y2Ba米gydF4y2Ba窗口的长度,gydF4y2BalgydF4y2Ba重叠长度。gydF4y2Ba

  • 可乐合规使用COLA-compliant windows,假设你没有修改了短时傅里叶变换的信号。gydF4y2Ba

  • 填充,如果输入信号的长度,这样的价值gydF4y2BakgydF4y2Ba不是一个整数,计算短时傅里叶变换在信号之前。反相的信号后去除多余的零。gydF4y2Ba

引用gydF4y2Ba

[1]Crochiere r E。“加权交叠相加的短时傅里叶分析方法/合成。”gydF4y2BaIEEE声学,演讲和信号处理。gydF4y2Ba1号卷28日,1980年2月,页99 - 102。gydF4y2Ba

[2]Gotzen, a D。,N。Bernardini, and D. Arfib. "Traditional Implementations of a Phase-Vocoder: The Tricks of the Trade."诉讼成本为数字音频会议效果(DAFX-00)gydF4y2Ba维罗纳,意大利,2000年12月7号到9号,。gydF4y2Ba

[3]格里芬,丹尼尔·W。,Jae Lim。“信号短时傅里叶变换估计从修改。”gydF4y2BaIEEE声学,演讲和信号处理。gydF4y2Ba32卷,2号,1984年4月,第236 - 243页。gydF4y2Ba

[4]Portnoff, m R。“时频表示的数字信号与系统基于短时傅里叶分析。”gydF4y2BaIEEE声学,演讲和信号处理。gydF4y2Ba1号卷28日,1980年2月,55 - 69页。gydF4y2Ba

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

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

扩展功能gydF4y2Ba

版本历史gydF4y2Ba

介绍了R2019agydF4y2Ba

另请参阅gydF4y2Ba

功能gydF4y2Ba

主题gydF4y2Ba