このペジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。gydF4y2Ba
istftgydF4y2Ba
逆短時間フリエ変換gydF4y2Ba
構文gydF4y2Ba
説明gydF4y2Ba
はgydF4y2BaxgydF4y2Ba
= istft (gydF4y2Ba年代gydF4y2Ba
)gydF4y2Ba年代gydF4y2Ba
のgydF4y2Ba逆短時間フリエ変換gydF4y2Ba(istft)を返します。gydF4y2Ba
は,サンプルレトgydF4y2BaxgydF4y2Ba
= istft (gydF4y2Ba年代gydF4y2Ba
,gydF4y2BafsgydF4y2Ba
)gydF4y2BafsgydF4y2Ba
を使用してgydF4y2Ba年代gydF4y2Ba
のistftを返します。gydF4y2Ba
は,サンプル時間gydF4y2BaxgydF4y2Ba
= istft (gydF4y2Ba年代gydF4y2Ba
,gydF4y2BatsgydF4y2Ba
)gydF4y2BatsgydF4y2Ba
を使用してistftを返します。gydF4y2Ba
は,名前と値のペアの引数を使用して追加オプションを指定します。オプションには,fftウィンドウの長さとオバラップされたサンプルの数が含まれます。これらの引数を前の入力構文のいずれかに追加できます。gydF4y2BaxgydF4y2Ba
= istft (gydF4y2Ba___gydF4y2Ba,gydF4y2Ba名称,值gydF4y2Ba
)gydF4y2Ba
[gydF4y2Ba
は,istftが評価される信号時間を返します。gydF4y2BaxgydF4y2Ba
,gydF4y2BatgydF4y2Ba
= istft(gydF4y2Ba___gydF4y2Ba)gydF4y2Ba
例gydF4y2Ba
マルチチャネル信号のistftgydF4y2Ba
1 kHzで1秒間サンプリングされた3つの異なるチャープで構成される3チャネルの信号を生成します。gydF4y2Ba
最初のチャネルは凹二次チャプで構成され,瞬時周波数はgydF4y2Bat =gydF4y2Ba0では100 Hzであり,gydF4y2Bat =gydF4y2Ba1秒では300 Hzになります。初期位相は45度です。gydF4y2Ba
2番目のチャネルは凸二次チャプで構成され,瞬時周波数はgydF4y2Bat =gydF4y2Ba0では200 Hzであり,gydF4y2Bat =gydF4y2Ba1秒では600 Hzになります。gydF4y2Ba
3番目のチャネルは対数チャプで構成され,瞬時周波数はgydF4y2Bat =gydF4y2Ba0では300 Hzであり,gydF4y2Bat =gydF4y2Ba1秒では500 Hzになります。gydF4y2Ba
256年長さがの周期的ハミングウィンドウと15サンプルのオーバーラップ長を使用して,マルチチャネル信号のSTFTを計算します。gydF4y2Ba
Fs = 1e3;T = 0:1/fs:1-1/fs;X =[啁啾(t,100, 1300,gydF4y2Ba“二次”gydF4y2Ba45岁的gydF4y2Ba“凹”gydF4y2Ba);唧唧声(t, 200, 1600,gydF4y2Ba“二次”gydF4y2Ba[],gydF4y2Ba“凸”gydF4y2Ba);唧唧声(t, 300, 1500,gydF4y2Ba“对数”gydF4y2Ba)];[S,F,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“原创第一频道”gydF4y2Ba,gydF4y2Ba“重建一号频道”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
フェズボコダは,ホップサgydF4y2Ba の解析ウィンドウを持STFTを実行してから,ホップサgydF4y2Ba の合成ウィンドウを持。ボコダはwola方法を利用します。信号のタイムストレッチを行うために,解析ウィンドウは合成よりも大きい数のオーバーラップサンプルを使用します。結果として,周波数成分が同じだけ残っているにもかかわらず,入力時点よりも出力時点でのサンプルが多くなります(gydF4y2Ba )。高いサンプルレトで再生することでこの信号のピッチスケリングができます。まり,元の持続時間のまま,より高いピッチで信号を作成します。gydF4y2Ba
8192赫兹でサンプリングされたヘンデルの”ハレルヤコーラス”の断章を含むオーディオファイルを読み込みます。gydF4y2Ba
负载gydF4y2Ba汉德尔gydF4y2Ba
長さが512のルのルト-ハンウィンドウを設計します。解析オバラップの長さを192,合成オラップの長さを166に設定します。gydF4y2Ba
Wlen = 512;Win =√(hann(wlen),gydF4y2Ba“周期”gydF4y2Ba));noverlapA = 192;noverlap = 166;gydF4y2Ba
192年オーバーラップの解析ウィンドウとオーバーラップ166の合成ウィンドウを使用して,フェーズボコーダーを実装します。gydF4y2Ba
S = stft(y,Fs,)gydF4y2Ba“窗口”gydF4y2Ba,赢了,gydF4y2Ba“OverlapLength”gydF4y2Ba, noverlapA);iy = istft(S,Fs,gydF4y2Ba“窗口”gydF4y2Ba,赢了,gydF4y2Ba“OverlapLength”gydF4y2Ba, noverlapS);gydF4y2Ba%听,键入soundsc(w,Fs), pause(10), soundsc(iw,Fs);gydF4y2Ba
解析ウィンドウと合成ウィンドウが同じでオーバーラップの長さが変更される場合,調整が必要になるゲイン/損失が追加されます。これは,フェズボコダを実装するための一般的な方法です。gydF4y2Ba
ホップ率を計算して、それを使用して再構成後の信号のゲ以及ンを調整します。ホップ率を使用して,ピッチシフトしたデタの周波数も計算します。gydF4y2Ba
hopRatio = (wlen-noverlap)/(wlen-noverlapA);iyg = iy*hopRatio;Fp = Fs*hopRatio;gydF4y2Ba%听,键入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(长度(iyg)-1)/Fs]) legend(gydF4y2Ba“固定增益时拉伸信号”gydF4y2Ba,gydF4y2Ba原始信号的gydF4y2Ba,gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“最佳”gydF4y2Ba)gydF4y2Ba
タ邮箱ムストレッチした信号とピッチシフトした信号を同じプロットで比較します。gydF4y2Ba
iy情节((0:长度()1)/ Fs, iy,(0:长度(iy) 1) / Fp, iy)包含(gydF4y2Ba“时间(s)”gydF4y2Ba) xlim([0(长度(iyg)-1)/Fs]) legend(gydF4y2Ba“时间拉长信号”gydF4y2Ba,gydF4y2Ba“调距信号”gydF4y2Ba,gydF4y2Ba“位置”gydF4y2Ba,gydF4y2Ba“最佳”gydF4y2Ba)gydF4y2Ba
ピッチシフトするデタの効果をより理解するには,2秒を超える次の周波数gydF4y2BaFsgydF4y2Ba
の正弦波にいて考えます。gydF4y2Ba
t = 0:1/Fs:2;X = sin(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)hold住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
ゼロパディングする複素信号のistftgydF4y2Ba
周波数1千赫,持続時間2秒間の複素正弦波を生成します。gydF4y2Ba
Fs = 1e3;Ts = 0:1/fs:2-1/fs;X = exp(2j* *100*cos(2* *2*ts));gydF4y2Ba
100年長さがの周期的ハンウィンドウを設計し,オーバーラップサンプルの数を75に設定します。可乐準拠に対するウィンドウとオバラップの長さを確認します。gydF4y2Ba
Nwin = 100;Win = hann(nwin,gydF4y2Ba“周期”gydF4y2Ba);诺弗拉普= 75;Tf = iscola(赢,重迭)gydF4y2Ba
tf =gydF4y2Ba逻辑gydF4y2Ba1gydF4y2Ba
信号をゼロパディングして,エッジの影響を除去します。切り捨てを避けるために,入力信号をゼロでパディングします。その結果,gydF4y2Ba
は整数になります。FFT長を128に設定します。複素信号の短時間フリエ変換を計算します。gydF4y2Ba
nPad = 100;xZero = [zero (1,nPad) x zero (1,nPad)];Fftlen = 128;s = stft(x0,fs,)gydF4y2Ba“窗口”gydF4y2Ba,赢了,gydF4y2Ba“OverlapLength”gydF4y2Banoverlap,gydF4y2Ba“FFTLength”gydF4y2Ba, fftlen);gydF4y2Ba
逆短時間フリエ変換を計算して,完全再構成のためにゼロを削除します。gydF4y2Ba
[is,ti] = istft(s,fs,)gydF4y2Ba“窗口”gydF4y2Ba,赢了,gydF4y2Ba“OverlapLength”gydF4y2Banoverlap,gydF4y2Ba“FFTLength”gydF4y2Ba, fftlen);is(1:nPad) = [];is(end- npad +1:end) = [];ti = ti(1:end-2*nPad);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
可乐準拠のウィンドウとオバラップを使用した実信号のistftgydF4y2Ba
2千赫で1秒間サンプリングされた正弦波を生成します。gydF4y2Ba
Fs = 2e3;T = 0:1/fs:1-1/fs;X = 5*sin(2* *10*t)gydF4y2Ba
長さが120の周期的ハミングウィンドウを設計します。オバラップが80サンプルのウィンドウの可乐制約を確認します。ウィンドウとオバラップの組み合わせは可乐準拠です。gydF4y2Ba
赢=汉明(120;gydF4y2Ba“周期”gydF4y2Ba);诺弗拉普= 80;Tf = iscola(赢,重迭)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(s,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
入力引数gydF4y2Ba
年代gydF4y2Ba
- - - - - -gydF4y2Ba短時間フリエ変換gydF4y2Ba
行列gydF4y2Ba|gydF4y2Ba3 次元配列gydF4y2Ba
短時間フリエ変換。行列または3 次元配列として指定します。単一チャネル信号の場合は、年代gydF4y2Ba
を列方向に時間が増加し,行方向に周波数が増加する行列として指定します。マルチチャネル信号の場合は,gydF4y2Ba年代gydF4y2Ba
を3番目の次元がチャネルに対応する3次元配列として指定します。周波数ベクトルと時間ベクトルはgydF4y2BastftgydF4y2Ba
の出力として取得されます。gydF4y2Ba
メモgydF4y2Ba
istftgydF4y2Ba
を使用してgydF4y2Ba年代gydF4y2Ba
を反転させて,その結果をgydF4y2BaxgydF4y2Ba
と同じ長さになるようにする場合,gydF4y2Ba长度(长度(x) -noverlap) /((窗口)-noverlap)gydF4y2Ba
の値は整数でなければなりません。gydF4y2Ba
デタ型:gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba单gydF4y2Ba
複素数のサポト:gydF4y2BaありgydF4y2Ba
fsgydF4y2Ba
- - - - - -gydF4y2BaサンプルレトgydF4y2Ba
2πgydF4y2Ba
(既定値) |gydF4y2Ba正のスカラgydF4y2Ba
サンプルレト(ヘル単位)。正のスカラとして指定します。gydF4y2Ba
デタ型:gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba单gydF4y2Ba
tsgydF4y2Ba
- - - - - -gydF4y2Baサンプル時間gydF4y2Ba
持续时间スカラgydF4y2Ba
サンプル時間。gydF4y2Ba持续时间gydF4y2Ba
スカラで指定します。gydF4y2Ba
例:gydF4y2Ba秒(1)gydF4y2Ba
は,連続する信号サンプル間の1秒間の時間差を表すgydF4y2Ba
スカラです。gydF4y2Ba持续时间gydF4y2Ba
デタ型:gydF4y2Ba持续时间gydF4y2Ba
名前と値の引数gydF4y2Ba
オプションの引数のペアをgydF4y2BaName1 = Value1,…,以=家gydF4y2Ba
として指定します。ここで,gydF4y2Ba的名字gydF4y2Ba
は引数名で,gydF4y2Ba价值gydF4y2Ba
は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
R2021aより前は,名前と値をそれぞれコンマを使って区切り,gydF4y2Ba的名字gydF4y2Ba
を引用符で囲みました。gydF4y2Ba
例:gydF4y2Baistft(年代,“窗口”,赢得“OverlapLength”,50岁,FFTLength, 128)gydF4y2Ba
は,隣接するセグメント間でのオバラップが50サンプル,dft点が128のウィンドウgydF4y2Ba赢得gydF4y2Ba
を使用してデタをウィンドウ処理します。gydF4y2Ba
窗口gydF4y2Ba
- - - - - -gydF4y2Baウィンドウ処理関数gydF4y2Ba
损害(128年,“周期性”)gydF4y2Ba
(既定値) |gydF4y2BaベクトルgydF4y2Ba
ウィンドウ処理関数。gydF4y2Ba“窗口”gydF4y2Ba
とベクトルから構成されるコンマ区切りのペアとして指定します。ウィンドウを指定しない場合、またはウィンドウを空として指定する場合、関数は長さが 128 の周期的ハン ウィンドウを使用します。窗口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
OverlapLengthgydF4y2Ba
- - - - - -gydF4y2Baオバラップするサンプル数gydF4y2Ba
ウィンドウの長さのgydF4y2Ba75%gydF4y2Ba
(既定値) |gydF4y2Ba非負の整数gydF4y2Ba
オバラップするサンプル数。gydF4y2Ba“OverlapLength”gydF4y2Ba
とgydF4y2Ba窗口gydF4y2Ba
の長さより小さな正の整数で構成されるコンマ区切りのペアとして指定します。gydF4y2Ba“OverlapLength”gydF4y2Ba
を省略するか,空として指定する場合,ウィンドウの長さが75%より少ない最大整数に設定されます。これは,既定のハンウィンドウの96サンプルになります。gydF4y2Ba
デタ型:gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba单gydF4y2Ba
FFTLengthgydF4y2Ba
- - - - - -gydF4y2BaDFT点の数gydF4y2Ba
128gydF4y2Ba
(既定値) |gydF4y2Ba正の整数gydF4y2Ba
DFT点の数。gydF4y2Ba“FFTLength”gydF4y2Ba
と正の整数で構成されるコンマ区切りのペアとして指定します。完全な時間領域の再構成を行うには,gydF4y2BastftgydF4y2Ba
で使用されるものに一致するようにDFT点の数を設定する必要があります。gydF4y2Ba
デタ型:gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba单gydF4y2Ba
方法gydF4y2Ba
- - - - - -gydF4y2Baオバラップ加算の方法gydF4y2Ba
“呼啦”gydF4y2Ba
(既定値) |gydF4y2Ba“ola”gydF4y2Ba
オバラップ加算の方法。gydF4y2Ba“方法”gydF4y2Ba
と以下のいずれかで構成されるコンマ区切りのペアとして指定します。gydF4y2Ba
“呼啦”gydF4y2Ba
—重み付きオバラップ加算gydF4y2Ba“ola”gydF4y2Ba
—オバラップ加算gydF4y2Ba
ConjugateSymmetricgydF4y2Ba
- - - - - -gydF4y2Ba元の信号の共役対称性gydF4y2Ba
假gydF4y2Ba
(既定値) |gydF4y2Ba真正的gydF4y2Ba
元の信号の共役対称性。gydF4y2Ba“ConjugateSymmetric”gydF4y2Ba
と,gydF4y2Ba真正的gydF4y2Ba
またはgydF4y2Ba假gydF4y2Ba
で構成されるコンマ区切りのペアとして指定します。このオプションをgydF4y2Ba真正的gydF4y2Ba
に設定する場合,gydF4y2BaistftgydF4y2Ba
は,入力gydF4y2Ba年代gydF4y2Ba
が対称であると仮定します。そうでない場合は,対称性の仮定は作成されません。gydF4y2Ba年代gydF4y2Ba
が丸め誤差のために厳密に共役対称性でない場合,名前と値のペアのgydF4y2Ba真正的gydF4y2Ba
への設定ではSTFTは共役対称として扱われます。gydF4y2Ba年代gydF4y2Ba
が共役対称である場合,逆変換の計算が速くなり,出力は実数になります。gydF4y2Ba
FrequencyRangegydF4y2Ba
- - - - - -gydF4y2BaSTFT周波数範囲gydF4y2Ba
“中心”gydF4y2Ba
(既定値) |gydF4y2Ba双侧的gydF4y2Ba
|gydF4y2Ba“单向的”gydF4y2Ba
STFT周波数範囲。gydF4y2Ba“FrequencyRange”gydF4y2Ba
と,gydF4y2Ba“中心”gydF4y2Ba
、gydF4y2Ba双侧的gydF4y2Ba
またはgydF4y2Ba“单向的”gydF4y2Ba
で構成されるコンマ区切りのペアとして指定します。gydF4y2Ba
“中心”gydF4y2Ba
- - - - - -gydF4y2Ba年代gydF4y2Ba
を中央揃えの両側STFTとして扱います。gydF4y2BanfftgydF4y2Ba
が偶数の場合,gydF4y2Ba年代gydF4y2Ba
は区間gydF4y2Ba(π-π)gydF4y2Baラジアン/サンプルで計算されたと見なされます。gydF4y2BanfftgydF4y2Ba
が奇数の場合,gydF4y2Ba年代gydF4y2Ba
は区間gydF4y2Ba(π-π)gydF4y2Baラジアン/サンプルで計算されたと見なされます。時間情報を指定すると,計算区間はそれぞれgydF4y2Ba(- fgydF4y2Ba年代gydF4y2BafgydF4y2Ba年代gydF4y2Ba/ 2)gydF4y2Baサクル/単位時間,gydF4y2Ba(- fgydF4y2Ba年代gydF4y2BafgydF4y2Ba年代gydF4y2Ba/ 2)gydF4y2Baサ邮箱クル/単位時間となります。ここで,fgydF4y2Ba年代gydF4y2Baはサンプルレトです。gydF4y2Ba双侧的gydF4y2Ba
- - - - - -gydF4y2Ba年代gydF4y2Ba
を区間gydF4y2Ba[0, 2π)gydF4y2Baラジアン/サンプルで計算された両側STFTとして扱います。時間情報を指定した場合,計算区間はgydF4y2Ba[0 fgydF4y2Ba年代gydF4y2Ba)gydF4y2Baサ邮箱クル/単位時間となります。gydF4y2Ba“单向的”gydF4y2Ba
- - - - - -gydF4y2Ba年代gydF4y2Ba
を片側STFTとして扱います。gydF4y2BanfftgydF4y2Ba
が偶数の場合,gydF4y2Ba年代gydF4y2Ba
は区間gydF4y2Ba[0,π]gydF4y2Baラジアン/サンプルで計算されたと見なされます。gydF4y2BanfftgydF4y2Ba
が奇数の場合,gydF4y2Ba年代gydF4y2Ba
は区間gydF4y2Ba[0,π)gydF4y2Baラジアン/サンプルで計算されたと見なされます。時間情報を指定すると,計算区間はそれぞれgydF4y2Ba[0 fgydF4y2Ba年代gydF4y2Ba/ 2)gydF4y2Baサクル/単位時間,gydF4y2Ba[0 fgydF4y2Ba年代gydF4y2Ba/ 2)gydF4y2Baサ邮箱クル/単位時間となります。ここで,fgydF4y2Ba年代gydF4y2Baはサンプルレトです。gydF4y2BaメモgydF4y2Ba
この引数がgydF4y2Ba
“单向的”gydF4y2Ba
に設定されている場合,gydF4y2BaistftgydF4y2Ba
は、正のナ。gydF4y2Ba
例にいては,gydF4y2BaSTFT周波数範囲gydF4y2Baを参照してください。gydF4y2Ba
デタ型:gydF4y2Ba字符gydF4y2Ba
|gydF4y2Ba字符串gydF4y2Ba
InputTimeDimensiongydF4y2Ba
- - - - - -gydF4y2Ba入力時間次元gydF4y2Ba
“acrosscolumns”gydF4y2Ba
(既定値) |gydF4y2Ba“downrows”gydF4y2Ba
入力時間次元。gydF4y2Ba“InputTimeDimension”gydF4y2Ba
と,gydF4y2Ba“acrosscolumns”gydF4y2Ba
またはgydF4y2Ba“downrows”gydF4y2Ba
から構成されるコンマ区切りのペアとして指定します。この値がgydF4y2Ba“downrows”gydF4y2Ba
に設定されている場合,gydF4y2BaistftgydF4y2Ba
はgydF4y2Ba年代gydF4y2Ba
の時間次元が行に沿い,周波数が列に沿うと見なします。この値がgydF4y2Ba“acrosscolumns”gydF4y2Ba
に設定されている場合,関数gydF4y2BaistftgydF4y2Ba
はgydF4y2Ba年代gydF4y2Ba
の時間次元が列に沿い,周波数次元が行に沿うと見なします。gydF4y2Ba
出力引数gydF4y2Ba
xgydF4y2Ba
-再構成後の信号gydF4y2Ba
ベクトル|行列gydF4y2Ba
時間領域の再構成後の信号。ベクトルまたは行列として返されます。
デタ型:gydF4y2Ba单gydF4y2Ba
|gydF4y2Ba双gydF4y2Ba
tgydF4y2Ba
-時点gydF4y2Ba
ベクトルgydF4y2Ba
時点。ベクトルとして返されます。gydF4y2Ba
サンプルレトgydF4y2Ba
fsgydF4y2Ba
が指定された場合,gydF4y2BatgydF4y2Ba
には時間値(秒単位)が含まれます。gydF4y2Ba持続時間gydF4y2Ba
tsgydF4y2Ba
が指定された場合,gydF4y2BatgydF4y2Ba
は,時間形式が入力持続時間と同じになり,持续时间配列になります。gydF4y2Ba時間情報が指定されない場合,gydF4y2Ba
tgydF4y2Ba
はサンプル数を含みます。gydF4y2Ba
デタ型:gydF4y2Ba双gydF4y2Ba
|gydF4y2Ba单gydF4y2Ba
詳細gydF4y2Ba
逆短時間フリエ変換gydF4y2Ba
逆短時間フーリエ変換は,STFTの各DFTベクトルの传输线を取り,逆変換した信号をオーバーラップ加算することで計算されます。Istftは次のように計算されます。gydF4y2Ba
ここで,gydF4y2Ba は連続するDFT間のホップサ,gydF4y2Ba は時間gydF4y2Ba とgydF4y2Ba 付近を中心としたウィンドウが適用されたデタのDFTです。逆STFTは,gydF4y2Ba“解析ウィンドウ”gydF4y2Ba が元の信号のウィンドウ処理に使用されてgydF4y2Ba が定数のgydF4y2Ba と同じ長さの元の信号の完全再構成です。次の図は,元の信号の再構成で使用されているステップを示しています。gydF4y2Ba
定数オバラップ加算(可乐)制約gydF4y2Ba
変更していないスペクトルを正しく再構成させるには,解析ウィンドウが可乐制約を満たさなければなりません。通常,解析ウィンドウが条件gydF4y2Ba を満たす場合,ウィンドウは可乐準拠であると見なされます。さらに,可乐準拠は弱いまたは強いのいずれかで説明されます。gydF4y2Ba
弱い可乐準拠とは,gydF4y2Ba
となるフレムレトの高調波で解析ウィンドウのフリエ変換がゼロであることを意味します。gydF4y2Ba
エ邮箱リアスのキャンセルはスペクトル変更によって妨害されます。弱い可乐は,周波数領域のエ可乐リアスのキャンセルに依存しています。したがって,信号に何らかのスペクトル変更が行われていなければ,弱い可乐準拠ウィンドウを使用して完全な再構成が可能です。gydF4y2Ba
強い可乐準拠の場合,ウィンドウのフリエ変換はgydF4y2Ba
となるフレムレトによってダウンサンプリングしながら常に帯域制限しなければなりません。この方程式は,強い可乐制約によって許可されるエ,リアシングがないことを示します。さらに,強い可乐準拠の場合,定数gydF4y2Ba の値は,1と等しくなければなりません。通常,短時間のスペクトルが何らかの方法で変更される場合,より強い可乐準拠ウィンドウが推奨されます。gydF4y2Ba
関数gydF4y2BaiscolagydF4y2Ba
を使用して,弱い可乐準拠を確認できます。可乐準拠を確認するために使用される加算数は,ウィンドウの長さとホップサイズによって決まります。通常,重み付きオバラップ加算(wola)には,gydF4y2Ba
のgydF4y2Ba
,オバラップ加算(ola)には,gydF4y2Ba
を使用するのが一般的です。既定では,gydF4y2BaistftgydF4y2Ba
は,オバラップ加算方法を実行する前にgydF4y2Ba“合成ウィンドウ”gydF4y2Baを適用して,沃拉方法を使用します。gydF4y2Ba
通常,合成ウィンドウは解析ウィンドウと同じです。強いolaウィンドウの平方根を取ることで有用なwolaウィンドウを構築できます。すべての非負のolaウィンドウに対してこの方法を使用できます。たとえば,ルトハンウィンドウは沃拉ウィンドウの良い例です。gydF4y2Ba
完全再構成gydF4y2Ba
一般に,入力信号のSTFTを計算して逆変換しても,完全再構成は行われません。ISTFTの出力を元の入力信号と可能な限り一致させるには,信号とウィンドウが以下の条件を満たす必要があります。gydF4y2Ba
入力サ邮箱ズ-gydF4y2Ba
istftgydF4y2Ba
を使用してgydF4y2BastftgydF4y2Ba
の出力を逆変換して,その結果を入力信号gydF4y2BaxgydF4y2Ba
と同じ長さにする場合,gydF4y2Ba の値は整数でなければなりません。gydF4y2Ba可乐準拠——可乐準拠ウィンドウを使用して,信号の短時間フーリエ変換を変更していないと仮定します。gydF4y2Ba
パディング- kの値が整数にならないような入力信号の長さの場合,短時間フーリエ変換を計算する前に信号をゼロパディングします。信号を逆変換した後に,余分なゼロを削除します。gydF4y2Ba
参照gydF4y2Ba
R.克罗奇埃尔短时傅里叶分析/合成的加权重叠加法。IEEE声学,语音和信号处理汇刊。第28卷第1期,1980年2月,第99-102页。gydF4y2Ba
[2]哥岑,A. D., N.贝尔纳迪尼,D.阿菲。相位声码器的传统实现:交易技巧。数字音频效果COST G-6会议记录(DAFX-00),意大利维罗纳,2000年12月7-9日。gydF4y2Ba
[3]格里芬,丹尼尔W.和杰S.林。修正短时傅里叶变换下的信号估计。IEEE声学,语音和信号处理汇刊。1984年4月,第32卷第2期,第236-243页。gydF4y2Ba
m.r.波特诺夫基于短时傅里叶分析的数字信号和系统时频表示。IEEE声学,语音和信号处理汇刊。1980年2月,第28卷第1期,第55-69页。gydF4y2Ba
史密斯,朱利叶斯·奥利翁。频谱音频信号处理。gydF4y2Bahttps://ccrma.stanford.edu/~jos/sasp/gydF4y2Ba,在线图书,2011年版,2018年11月访问。gydF4y2Ba
夏普,布鲁斯。重叠相加处理的可逆性。gydF4y2Bahttps://gauss256.github.io/blog/cola.htmlgydF4y2Ba,于2019年7月访问。gydF4y2Ba
拡張機能gydF4y2Ba
高配列gydF4y2Ba
メモリの許容量を超えるような多数の行を含む配列を計算します。gydF4y2Ba
使用上の注意および制限:gydF4y2Ba
“InputTimeDimension”gydF4y2Ba
は常に指定し,gydF4y2Ba“downrows”gydF4y2Ba
に設定しなければなりません。gydF4y2Ba
詳細にいては,gydF4y2Ba高配列gydF4y2Baを参照してください。gydF4y2Ba
C/ c++コド生成gydF4y2Ba
MATLAB®Coder™を使用してCおよびc++コドを生成します。gydF4y2Ba
使用上の注意および制限:gydF4y2Ba
“ConjugateSymmetric”gydF4y2Ba
引数は,コド生成でサポトされません。gydF4y2Ba
Gpuコド生成gydF4y2Ba
GPU编码器™を使用してNVIDIA GPU®のためのCUDA®コードを生成します。gydF4y2Ba
使用上の注意および制限:gydF4y2Ba
“ConjugateSymmetric”gydF4y2Ba
引数は,コド生成でサポトされません。gydF4y2Ba
スレッドベスの環境gydF4y2Ba
MATLAB®のgydF4y2BabackgroundPoolgydF4y2Ba
を使用してバックグラウンドでコードを実行するか,并行计算工具箱™のgydF4y2BaThreadPoolgydF4y2Ba
を使用してコドを高速化します。gydF4y2Ba
この関数は,スレッドベスの環境を完全にサポトします。詳細にいては,gydF4y2Baスレッドベスの環境でのmatlab関数の実行gydF4y2Baを参照してください。gydF4y2Ba
Gpu配列gydF4y2Ba
并行计算工具箱™を使用してグラフィックス処理装置(GPU)上で実行することにより,コードを高速化します。gydF4y2Ba
使用上の注意および制限:gydF4y2Ba
“ConjugateSymmetric”gydF4y2Ba
がgydF4y2Ba真正的gydF4y2Ba
に設定されていない限り,すべての虚数部がゼロであっても,出力gydF4y2BaxgydF4y2Ba
は常に複素数です。gydF4y2Ba
詳細にいては,gydF4y2BaGpuでのmatlab関数の実行gydF4y2Ba(并行计算工具箱)gydF4y2Baを参照してください。gydF4y2Ba
バジョン履歴gydF4y2Ba
R2019aで導入gydF4y2Ba
参考gydF4y2Ba
関数gydF4y2Ba
iscolagydF4y2Ba
|gydF4y2BapspectrumgydF4y2Ba
|gydF4y2BastftgydF4y2Ba
|gydF4y2Bastftmag2siggydF4y2Ba
トピックgydF4y2Ba
例を開くgydF4y2Ba
この例の変更されたバジョンがあります.編集された方の例を開きますか?gydF4y2Ba
MatlabコマンドgydF4y2Ba
次のmatlabコマンドに対応するリンクがクリックされました。gydF4y2Ba
コマンドをmatlabコマンドウィンドウに入力して実行してください。WebブラウザはMATLABコマンドをサポトしていません。gydF4y2Ba
选择一个网站gydF4y2Ba
选择一个网站,在可用的地方获得翻译的内容,并查看当地的活动和优惠。根据您的地理位置,我们建议您选择:gydF4y2Ba.gydF4y2Ba
您也可以从以下列表中选择网站:gydF4y2Ba
如何获得最佳的网站性能gydF4y2Ba
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。gydF4y2Ba
美洲gydF4y2Ba
- 美国拉丁gydF4y2Ba(西班牙语)gydF4y2Ba
- 加拿大gydF4y2Ba(英语)gydF4y2Ba
- 美国gydF4y2Ba(英语)gydF4y2Ba
欧洲gydF4y2Ba
- 比利时gydF4y2Ba(英语)gydF4y2Ba
- 丹麦gydF4y2Ba(英语)gydF4y2Ba
- 德国gydF4y2Ba(德语)gydF4y2Ba
- 西班牙gydF4y2Ba(西班牙语)gydF4y2Ba
- 芬兰gydF4y2Ba(英语)gydF4y2Ba
- 法国gydF4y2Ba(法语)gydF4y2Ba
- 爱尔兰gydF4y2Ba(英语)gydF4y2Ba
- 意大利gydF4y2Ba(意大利语)gydF4y2Ba
- 卢森堡gydF4y2Ba(英语)gydF4y2Ba
- 荷兰gydF4y2Ba(英语)gydF4y2Ba
- 挪威gydF4y2Ba(英语)gydF4y2Ba
- 奥地利gydF4y2Ba(德语)gydF4y2Ba
- 葡萄牙gydF4y2Ba(英语)gydF4y2Ba
- 瑞典gydF4y2Ba(英语)gydF4y2Ba
- 瑞士gydF4y2Ba
- 联合王国gydF4y2Ba(英语)gydF4y2Ba
亚太地区gydF4y2Ba
- 澳大利亚gydF4y2Ba(英语)gydF4y2Ba
- 印度gydF4y2Ba(英语)gydF4y2Ba
- 新西兰gydF4y2Ba(英语)gydF4y2Ba
- 中国gydF4y2Ba
- 日本gydF4y2Ba(日本語)gydF4y2Ba
- 한국gydF4y2Ba(한국어)gydF4y2Ba