最新のリリースでは,このページがまだ翻訳されていません。gydF4y2Baこのページの最新版は英語でご覧になれます。gydF4y2Ba

istftgydF4y2Ba

逆短时间フーリエ変换gydF4y2Ba

説明gydF4y2Ba

xgydF4y2Ba= istft (gydF4y2Ba年代gydF4y2Ba)gydF4y2Baは,gydF4y2Ba年代gydF4y2Baの逆短時間フーリエ変換(ISTFT)を返します。gydF4y2Ba

例gydF4y2Ba

xgydF4y2Ba= istft (gydF4y2Ba年代gydF4y2Ba,gydF4y2BafsgydF4y2Ba)gydF4y2Baは,サンプルレートgydF4y2BafsgydF4y2Baを使用してgydF4y2Ba年代gydF4y2BaのISTFTを返します。gydF4y2Ba

xgydF4y2Ba= istft (gydF4y2Ba年代gydF4y2Ba,gydF4y2BatsgydF4y2Ba)gydF4y2Baは,サンプル時間gydF4y2BatsgydF4y2Baを使用してISTFTを返します。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秒間サンプリングされた3つの異なるチャープで構成される3チャネルの信号を生成します。gydF4y2Ba

  1. 最初のチャネルは凹二次チャープで構成され,瞬時周波数はgydF4y2BaT =gydF4y2Ba0では100赫兹であり,gydF4y2BaT =gydF4y2Ba1秒では300 Hzになります。初期位相は45度です。gydF4y2Ba

  2. 2番目のチャネルは凸二次チャープで構成され,瞬時周波数はgydF4y2BaT =gydF4y2Ba0では200 Hzであり,gydF4y2BaT =gydF4y2Ba1秒では600赫兹になります。gydF4y2Ba

  3. 3番目のチャネルは対数チャープで构成され,瞬时周波数はgydF4y2BaT =gydF4y2Ba0では300 Hzであり,gydF4y2BaT =gydF4y2Ba1秒では500 Hzになります。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

最初と2番目のチャネルについて,元のバージョンと再構成されたバージョンをプロットします。gydF4y2Ba

[IX,TI] = ISTFT(S,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

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

フェーズボコーダーは周波数領域にオーディオを変換することによってタイムストレッチとピッチスケーリングを実行します。この図は,フェーズボコーダーの実装に関連する操作を示します。gydF4y2Ba

フェーズボコーダーは,ホップサイズgydF4y2Ba RgydF4y2Ba 1gydF4y2Ba の解析ウィンドウを持つ信号のSTFTを実行してから,ホップサイズgydF4y2Ba RgydF4y2Ba 2gydF4y2Ba の合成ウィンドウを持つISTFTを実行します。ボコーダーは呼啦方法を利用します。信号のタイムストレッチを行うために,解析ウィンドウは合成よりも大きい数のオーバーラップサンプルを使用します。結果として,周波数成分が同じだけ残っているにもかかわらず,入力時点よりも出力時点でのサンプルが多くなります(gydF4y2Ba NgydF4y2Ba 年代gydF4y2Ba ,gydF4y2Ba 出gydF4y2Ba >gydF4y2Ba NgydF4y2Ba 年代gydF4y2Ba ,gydF4y2Ba 在gydF4y2Ba )。高いサンプルレートで再生することでこの信号のピッチスケーリングができまつす。まり,元の持続時間のまま,より高いピッチで信号を作成します。gydF4y2Ba

8192赫兹でサンプリングされたヘンデルの”ハレルヤコーラス”の断章を含むオーディオファイルを読み込みます。gydF4y2Ba

负载gydF4y2Ba汉德尔gydF4y2Ba

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), pause(10), soundsc(iw,Fs);gydF4y2Ba

解析ウィンドウと合成ウィンドウが同じでオーバーラップの長さが変更される場合,調整が必要になるゲイン/損失が追加されます。これは,フェーズボコーダーを実装するための一般的な方法です。gydF4y2Ba

ホップ率を計算して,それを使用して再構成後の信号のゲインを調整します。ホップ率を使用して,ピッチシフトしたデータの周波数も計算します。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 (length(iyg)-1)/Fs])gydF4y2Ba“时间拉伸信号与固定增益”gydF4y2Ba,gydF4y2Ba“原始信号”gydF4y2Ba,gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“最佳”gydF4y2Ba)gydF4y2Ba

タイムストレッチした信号とピッチシフトした信号を同じプロットで比較します。gydF4y2Ba

积((0:长度(IY)-1)/ Fs的,IY,(0:长度(IY)-1)/ Fp的,IY)xlabel(gydF4y2Ba“时间(s)”gydF4y2Ba) xlim([0 (length(iyg)-1)/Fs])gydF4y2Ba“时间拉伸信号”gydF4y2Ba,gydF4y2Ba“球场转移信号”gydF4y2Ba,gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“最佳”gydF4y2Ba)gydF4y2Ba

ピッチシフトするデータの効果をより理解するには,2秒を超える次の周波数gydF4y2BaFsgydF4y2Baの正弦波について考えます。gydF4y2Ba

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

オーバーラップの長さが192の短時間フーリエ変換と166の逆短時間フーリエ変換を計算します。gydF4y2Ba

Sx = stft (x, Fs,gydF4y2Ba“窗口”gydF4y2Ba,赢了,gydF4y2Ba“OverlapLength”gydF4y2Ba,noverlapA);IX = ISTFT(SX,FS,gydF4y2Ba“窗口”gydF4y2Ba,赢了,gydF4y2Ba“OverlapLength”gydF4y2Ba,noverlapS);gydF4y2Ba

1つのプロットに元の信号,別のプロットにタイムストレッチした信号とピッチシフトした信号をプロットします。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从gydF4y2Baxlabel(gydF4y2Ba“时间(s)”gydF4y2Ba)ylabel (gydF4y2Ba信号幅度的gydF4y2Ba)xlim([0(长度(ix) 1) / Fs])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に設定します.COLA準拠に対するウィンドウとオーバーラップの長さを確認します。gydF4y2Ba

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

信号をゼロパディングして,エッジの影响を除去します。切り舍てを避けるために,gydF4y2Ba (gydF4y2Ba 长度gydF4y2Ba (gydF4y2Ba xZerogydF4y2Ba )gydF4y2Ba -gydF4y2Ba noverlapgydF4y2Ba )gydF4y2Ba (gydF4y2Ba nwingydF4y2Ba -gydF4y2Ba noverlapgydF4y2Ba )gydF4y2Ba が整数になるように入力信号をゼロでパディングします.FFT长を128に设定します。复素信号の短时间フーリエ変换を计算します。gydF4y2Ba

xZero = [zeros(1,nwin) x zeros(1,nwin)];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:nwin) = [];(end-nwin + 1:结束)= [];ti = ti (1: end-2 * nwin);gydF4y2Ba

元の信号と再構成後の信号の実数部をプロットします。信号の虚数部も完全に再構成されます。gydF4y2Ba

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

2千赫で1秒間サンプリングされた正弦波を生成します。gydF4y2Ba

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

120年長さがの周期的ハミングウィンドウを設計します。オーバーラップが80サンプルのウィンドウの可乐制約を確認します。ウィンドウとオーバーラップの組み合わせは可乐準拠です。gydF4y2Ba

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

512年FFT長をに設定します。短時間フーリエ変換を計算します。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”gydF4y2Ba,fftlen,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

入力引数gydF4y2Ba

すべて折りたたむgydF4y2Ba

短時間フーリエ変換。行列または3次元配列として指定します。単一チャネル信号の場合は,gydF4y2Ba年代gydF4y2Baを列方向に時間が増加し,行方向に周波数が増加する行列として指定します。マルチチャネル信号の場合は,gydF4y2Ba年代gydF4y2Baを3番目の次元がチャネルに対応する3次元配列として指定します。周波数ベクトルと時間ベクトルはgydF4y2BastftgydF4y2Baの出力として取得されます。gydF4y2Ba

メモgydF4y2Ba

istftgydF4y2Baを使用してgydF4y2Ba年代gydF4y2Baを反転させて,その結果をgydF4y2BaxgydF4y2Baと同じ長さになるようにする場合,gydF4y2Ba长度(长度(x) -noverlap) /((窗口)-noverlap)gydF4y2Baの値は整数でなければなりません。gydF4y2Ba

データ型:gydF4y2Ba双gydF4y2Ba|gydF4y2Ba单gydF4y2Ba
複素数のサポート:gydF4y2BaありgydF4y2Ba

サンプルレート(ヘルツ単位)。正のスカラーとして指定します。gydF4y2Ba

データ型:gydF4y2Ba双gydF4y2Ba|gydF4y2Ba单gydF4y2Ba

サンプル时间。gydF4y2Ba持续时间gydF4y2Baスカラーで指定します。gydF4y2Ba

例:gydF4y2Ba秒(1)gydF4y2Baは,連続する信号サンプル間の1秒間の時間差を表すgydF4y2Ba持续时间gydF4y2Baスカラーです。gydF4y2Ba

データ型:gydF4y2Ba持续时间gydF4y2Ba

名前と値のペアの引数gydF4y2Ba

オプションのgydF4y2Ba名称,值gydF4y2Ba引数のコンマ区切りペアを指定します。gydF4y2Ba的名字gydF4y2Baは引数名で,gydF4y2Ba价值gydF4y2Baは対応する値です。gydF4y2Ba的名字gydF4y2Baは引用符で囲まなければなりません。gydF4y2Ba名1,值1,...,NameN,值NgydF4y2Baのように,複数の名前と値のペアの引数を,任意の順番で指定できます。gydF4y2Ba

例:gydF4y2Baistft(年代,“窗口”,赢得“OverlapLength”, 50岁,FFTLength, 128)gydF4y2Baは,隣接するセグメント間で50サンプルがオーバーラップし128点FFTをもつウィンドウgydF4y2Ba赢得gydF4y2Baを使用してデータをウィンドウ処理します。gydF4y2Ba

ウィンドウ処理関数。gydF4y2Ba“窗口”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

オーバーラップするサンプル数。gydF4y2BaOverlapLengthgydF4y2BaとgydF4y2Ba窗口gydF4y2Baの長さより小さな正の整数で構成されるコンマ区切りのペアとして指定します。gydF4y2Ba“OverlapLength”gydF4y2Baを省略するか,空として指定する場合,ウィンドウの長さが75%より少ない最大整数に設定されます。これは,既定のハンウィンドウの96サンプルになります。gydF4y2Ba

データ型:gydF4y2Ba双gydF4y2Ba|gydF4y2Ba单gydF4y2Ba

DFT点の数。gydF4y2BaFFTLengthgydF4y2Baと正の整数で構成されるコンマ区切りのペアとして指定します。完全な時間領域の再構成を行うには,gydF4y2BastftgydF4y2Baで使用されるものに一致するようにgydF4y2BaFFTLengthgydF4y2Baを設定する必要があります。gydF4y2Ba

データ型:gydF4y2Ba双gydF4y2Ba|gydF4y2Ba单gydF4y2Ba

オーバーラップ加算の方法。gydF4y2Ba方法gydF4y2Baと以下のいずれかで構成されるコンマ区切りのペアとして指定します。gydF4y2Ba

  • “呼啦”gydF4y2Ba——重み付きオーバーラップ加算gydF4y2Ba

  • “ola”gydF4y2Ba——オーバーラップ加算gydF4y2Ba

元の信号の共役対称性。gydF4y2BaConjugateSymmetricgydF4y2Baと,gydF4y2Ba真正的gydF4y2BaまたはgydF4y2Ba假gydF4y2Baで構成されるコンマ区切りのペアとして指定します。このオプションをgydF4y2Ba真正的gydF4y2Baに設定する場合,gydF4y2BaistftgydF4y2Baは,入力gydF4y2Ba年代gydF4y2Baが対称であると仮定します。そうでない场合は,対称性の仮定は作成されません。gydF4y2Ba年代gydF4y2Baが丸め誤差のために厳密に共役対称性でない場合,名前と値のペアのgydF4y2Ba真正的gydF4y2Baへの設定ではSTFTは共役対称として扱われます。gydF4y2Ba年代gydF4y2Baが共役対称である場合,逆変換の計算が速くなり,出力は実数になります。gydF4y2Ba

周波数範囲。gydF4y2Ba为中心的gydF4y2Baと,gydF4y2Ba真正的gydF4y2BaまたはgydF4y2Ba假gydF4y2Baで構成されるコンマ区切りのペアとして指定します。このオプションをgydF4y2Ba真正的gydF4y2Baに设定した场合,スペクトルは中央揃えになり,计算区间は-π〜πです。そうでない场合,スペクトルの计算区间は0〜2πです。gydF4y2Ba

入力時間次元。gydF4y2BaInputTimeDimensiongydF4y2Baと,gydF4y2BaacrosscolumnsgydF4y2BaまたはgydF4y2BadownrowsgydF4y2Baから構成されるコンマ区切りのペアとして指定します。この値がgydF4y2BadownrowsgydF4y2Baに設定されている場合,gydF4y2BaistftgydF4y2BaはgydF4y2Ba年代gydF4y2Baの時間次元が行に沿い,周波数が列に沿うと見なします。この値がgydF4y2BaacrosscolumnsgydF4y2Baに设定されている场合,关数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ベクトルの传输线を取り,逆変換した信号をオーバーラップ加算することで計算されます.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 は時間gydF4y2Ba 米gydF4y2Ba RgydF4y2Ba とgydF4y2Ba xgydF4y2Ba 米gydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba =gydF4y2Ba xgydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba ggydF4y2Ba (gydF4y2Ba ngydF4y2Ba •gydF4y2Ba 米gydF4y2Ba RgydF4y2Ba )gydF4y2Ba 付近を中心としたウィンドウが適用されたデータのDFTです。逆STFTは,gydF4y2Ba“解析ウィンドウ”gydF4y2Ba ggydF4y2Ba (gydF4y2Ba ngydF4y2Ba )gydF4y2Ba が元の信号のウィンドウ処理に使用されてgydF4y2Ba cgydF4y2Ba が定数の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 ∑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

    となるフレームレートの高調波で解析ウィンドウのフーリエ変換がゼロであることを意味します。gydF4y2Ba

    エイリアスのキャンセルはスペクトル変更によって妨害されます。弱いCOLAは,周波数领域のエイリアスのキャンセルに依存しています。したがって,信号に何らかのスペクトル変更が行われていなければ,弱いCOLA准拠ウィンドウを使用して完全な再构成が可能です。gydF4y2Ba

  • 強い可乐準拠の場合,ウィンドウのフーリエ変換はgydF4y2Ba

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

    となるフレームレートによってダウンサンプリングしながら常に帯域制限しなければなりません。この方程式は,强いCOLA制约によって许可されるエイリアシングがないことを示します。さらに,强いCOLA准拠の场合,定数gydF4y2Ba cgydF4y2Ba の値は1と等しくなければなりません。通常,短時間のスペクトルが何らかの方法で変更される場合,より強い可乐準拠ウィンドウが推奨されます。gydF4y2Ba

関数gydF4y2BaiscolagydF4y2Baを使用して,弱いCOLA准拠を确认できます.COLA准拠を确认するために使用される加算数は,ウィンドウの长さとホップサイズによって决まります。通常,重み付きオーバーラップ加算(WOLA)には,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 1gydF4y2Ba ,オーバーラップ加算(OLA)には,gydF4y2Ba 一个gydF4y2Ba =gydF4y2Ba 0gydF4y2Ba を使用するのが一般的です。既定では,gydF4y2BaistftgydF4y2Baは,オーバーラップ加算方法を実行する前にgydF4y2Ba“合成ウィンドウ”gydF4y2Baを適用して,呼啦方法を使用します。gydF4y2Ba

通常,合成ウィンドウは解析ウィンドウと同じです。强いOLAウィンドウの平方根を取ることで有用なWOLAウィンドウを构筑できます。すべての非负のOLAウィンドウに対してこの方法を使用できます。たとえば,ルートーハンウィンドウはWOLAウィンドウの良い例です。gydF4y2Ba

完全再構成gydF4y2Ba

一般に,入力信号のSTFTを計算して逆変換しても,完全再構成は行われません.ISTFTの出力を元の入力信号と可能な限り一致させるには,信号とウィンドウが以下の条件を満たす必要があります。gydF4y2Ba

  • 入力サイズ -gydF4y2BaistftgydF4y2Baを使用してgydF4y2BastftgydF4y2Baの出力を逆変换して,その结果を入力信号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

  • パディング- kの値が整数にならないような入力信号の長さの場合,短時間フーリエ変換を計算する前に信号をゼロパディングします。信号を逆変換した後に,余分なゼロを削除します。gydF4y2Ba

参照gydF4y2Ba

短时傅里叶分析/合成的加权叠加叠加法。《IEEE声学、语音和信号处理会刊》。1980年2月,第28卷第1号,第99-102页。gydF4y2Ba

[2]格里芬,D. W.,和J. S.林。改进的短时傅里叶变换的信号估计。《IEEE声学、语音和信号处理会刊》。第32卷,第2期,1984年4月,第236-243页。gydF4y2Ba

基于短时傅里叶分析的数字信号和系统时频表示。《IEEE声学、语音和信号处理会刊》。1980年2月,第28卷第1号,第55-69页。gydF4y2Ba

[4]史密斯,J. O.频谱音频信号处理。gydF4y2Bahttps://ccrma.stanford.edu/~jos/sasp/gydF4y2Ba, 2011年版,已于2018年11月通过。gydF4y2Ba

郭德昌,“数位声码器的传统应用:交易的技巧”,第七届数位声码器与数位声码器研讨会论文集,2005年4月。gydF4y2Ba

[6]夏普,布鲁斯。覆加处理的可逆性。gydF4y2Bahttps://gauss256.github.io/blog/cola.htmlgydF4y2Ba, 2019年7月开始。gydF4y2Ba

拡张机能gydF4y2Ba

参考gydF4y2Ba

関数gydF4y2Ba

R2019aで導入gydF4y2Ba