メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

iscola

ウィンドウ-オーバーラップの組み合わせが COLA 準拠かどうかを決定します。

説明

tf = iscola(window,noverlap) は、指定したウィンドウとオーバーラップが定数オーバーラップ加算 (COLA) 制約を満たし、逆短時間フーリエ変換が変更されていないスペクトルの完全再構成になるようにします。

tf = iscola(window,noverlap,method) は使用する内挿法を指定します。

[tf,m] = iscola(___) は COLA 加算の中央値も返します。以前の任意の入力構文と共にこれらの出力引数を使用できます。

[tf,m,maxDeviation] = iscola(___) は、中央値 m から最大偏差を返します。

すべて折りたたむ

長さが 120 の周期的ルート-ハン ウィンドウを作成します。ウィンドウが 50% オーバーラップの COLA 準拠かどうかをテストします。

win = sqrt(hann(120,'periodic'));
noverlap = 60;

ウィンドウが 50% オーバーラップの COLA 準拠かどうかを確認します。

tf = iscola(win,noverlap)
tf = logical
   1

長さが 256 の周期的ハミング ウィンドウを作成します。オーバーラップ加算の方法を 'ola' として設定します。

window = hamming(256,'periodic');
method = 'ola';
noverlap = 128;

ウィンドウが 50% オーバーラップの COLA 準拠かどうかをテストします。COLA 加算の中央値とその加算からの最大偏差も計算します。

[tf,m,maxDeviation] =  iscola(window,noverlap,method)
tf = logical
   1

m = 
1.0800
maxDeviation = 
2.2204e-16

入力引数

すべて折りたたむ

解析ウィンドウ。ベクトルとして指定します。

例: win = bartlett(120) は長さが 120 のバートレット ウィンドウです。

データ型: double | single

window の長さより小さな正の整数として指定する、オーバーラップするサンプル数。

データ型: double | single

オーバーラップ加算の方法。以下として指定します。

  • 'wola' — 重み付きオーバーラップ加算。

  • 'ola'— オーバーラップ加算。

出力引数

すべて折りたたむ

COLA 準拠。logical スカラーとして返されます。関数が 1 (true) を返す場合、ウィンドウとオーバーラップの長さは COLA 制約を満たします。

COLA 加算の中央値。実数スカラーとして返されます。入力が COLA 準拠である場合は、m は COLA 加算定数と等しくなります。

中央値 m からの最大偏差。windownoverlap が COLA 準拠である場合、maxDeviation は COLA 加算の予測される数値精度誤差に近くなります。

メモ

m = 1maxDeviation が数値精度誤差に近い場合、強い COLA 準拠と結論付けることができます。

詳細

すべて折りたたむ

参照

[1] Allen, J. B. "Short Term Spectral Analysis, Synthesis, and Modification by Discrete Fourier Transform." IEEE Transactions on Acoustics, Speech and Signal Processing. Vol. 25, Number 3, June 1977, pp. 235–238.

[2] Griffin, Daniel W., and Jae S. Lim. "Signal Estimation from Modified Short-Time Fourier Transform." IEEE Transactions on Acoustics, Speech and Signal Processing. Vol. 32, Number 2, April 1984, pp. 236–243.

[3] Sharpe, Bruce. Invertibility of Overlap-Add Processing. https://gauss256.github.io/blog/cola.html, accessed July 2019.

[4] Smith, Julius Orion. Spectral Audio Signal Processing. https://ccrma.stanford.edu/~jos/sasp/, online book, 2011 edition, accessed Nov 2018.

拡張機能

すべて展開する

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2019a で導入

参考

関数