win_right
例:win_right([2],[8],100,224,1);
- 機能:
- 時系列[i]の右片側のウィンドウ処理(種類:0〜5)
- 書式:
- win_right([i],[o],半幅,追加セル数,種類)
- 解説:
- 入力の時系列数値[i]の後部分に対し、指定の種類で指定の半幅を持つ右片側ウィンドウ関数による処理を行い、結果を数値組[o]に出力します。最後から指定の半幅より前の数値セルの値は変わらないです。但し、半幅が0の場合、ウィンドウ処理は行われません。
引数の追加セル数の指定が0より大きい場合、ウィンドウ処理の後に、その数の新数値セル(初期値は零)が出力波形[o]の後に挿入されます。
用途: fft()などの高速フーリエ変換関数では、計算個数が2の整数乗である条件があります。例えば、800個の数値セルに対して高速フーリエ変換を行う場合、その中の512個数値しか使用されないため、本関数で最後に1024-800=224個の零数値を追加すれば、800個全部を計算に利用させることができます(数が増えた分、スペクトルの分解能も上げられる)。更に、数値の数を増やす前、元の数値の後部分に対して右片側のウィンドウ処理を施すと、追加数値と元数値の不連続に起因するノイズを無くす効果があります。
ウィンドウ関数の種類の指定は次の通りです。
種類 ウィンドウ関数名 重み関数
0 Triangle 三角形
1 Hanning 0.5-0.5cos(x)
2 Hamming 0.54-0.46cos(x)
3 Blackman 0.42-0.5cos(x)+0.08cos(2x)
4 Three Sigma Gauss exp(-4.5sqrt(x-1))
5 Square 矩形
[i] ・・・・・・・・・・・・・・・ 入力数値組
[o] ・・・・・・・・・・・・・・・ 出力数値組
半幅 ・・・・・・・・・・・・・・・ ウィンドウの半幅
追加セル数 ・・・・・・・・・・・・・・・ ウィンドウ処理後に、出力波形[o]の後に追加される数値セルの数
種類 ・・・・・・・・・・・・・・・ ウィンドウの種類(0〜5)
return |