このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Window Function
ウィンドウの計算と入力信号への適用
ライブラリ:
DSP System Toolbox /
Signal Operations
説明
Window Function ブロックには 3 つの操作モードがあり、ウィンドウの適用、ウィンドウの計算、またはウィンドウの計算と入力信号への適用が可能です。モードは [Operation] パラメーターで選択できます。各モードで、ブロックは最初に [ウィンドウのタイプ] パラメーターで指定されたウィンドウをサンプリングして、ウィンドウ ベクトル w を作成します。
例
Generate and Apply Hamming Window
Generates and applies a Hamming window using Window Function block.
端子
入力
In — 入力信号
ベクトル | 行列 | N 次元配列
入力信号。ベクトル、行列、または N 次元配列として指定します。
入力が固定小数点の場合、勾配が 2 のべき乗でバイアスが 0 の符号付き整数または符号付き固定小数点値でなければなりません。
この端子は、[Operation] を [Apply window to input]
または [Generate and apply window]
に設定した場合にのみ有効になります。
この端子は、[Operation] を [Apply window to input]
に設定した場合は名前なしになります。
データ型: single
| double
| int8
| int16
| int32
| fixed point
出力
Out — 出力
ベクトル | 行列 | N 次元配列
出力信号。ベクトル、行列、または N 次元配列として返されます。
[Out] 端子は、[Operation] を次に設定した場合にのみ有効になります。
Apply window to input
–– ブロックは M 行 1 列のウィンドウ ベクトル w を計算し、それを M 行 N 列の入力に適用します。ここで、M は入力信号の行数です。Generate and apply window
–– ブロックは M 行 1 列のウィンドウ ベクトル w を生成して入力に適用します。
出力信号の次元は入力信号と同じです。詳細については、Operationを参照してください。
データ型: single
| double
| int8
| int16
| int32
| fixed point
Win — ウィンドウの出力
ベクトル
ウィンドウの出力。ベクトルとして返されます。[Operation] を [Apply window to input]
または [Generate and apply window]
に設定した場合、ウィンドウ ベクトルは入力信号の行数と同じ長さ長さになります。[Operation] を [Generate window]
に設定した場合、ウィンドウ ベクトルの長さは [ウィンドウの長さ] パラメーターによって決まります。
データ型: single
| double
| int8
| int16
| int32
| fixed point
パラメーター
メイン
Operation — 操作モード
Apply window to input
(既定値) | Generate window
| Generate and apply window
Window Function ブロックには、[Operation] パラメーターを使って選択できる 3 つの操作モードがあります。各モードで、ブロックは最初に M 離散点で [ウィンドウのタイプ] パラメーターで指定されたウィンドウをサンプリングして、ウィンドウ ベクトル w を作成します。操作モードは次のようになります。
Apply window to input
このモードでは、ブロックは M 行 1 列のウィンドウ ベクトル w を計算して入力に適用します。出力 y の次元は、常に入力と同じです。
入力が M 行 N 列の行列 u の場合、ウィンドウは入力行列 u の各 N チャネルで要素単位で乗算されます。これは、次の MATLAB® コードと等価です。
y = repmat(w,1,N) .* u % Equivalent MATLAB code
ウィンドウは常に最初の次元に適用されます。
長さ M の方向性をもたないベクトル入力は M 行 1 列のベクトルとして扱われます。
Generate window
このモードでは、ブロックは [ウィンドウの長さ] パラメーターで指定された長さ M の方向性をもたないウィンドウ ベクトル w を生成します。このモードでは、[In] 端子は無効になっています。
Generate and apply window
このモードでは、ブロックは M 行 1 列のウィンドウ ベクトル w を生成して入力に適用します。ブロックは次の 2 つの出力を生成します。
[Out] 端子では、ブロックは入力と同じ次元をもつ乗算の結果 y を生成します。
[Win] 端子では、ブロックは M 行 1 列のウィンドウ ベクトル w を生成します。
入力が M 行 N 列の行列 u の場合、ウィンドウは入力行列 u の各 N チャネルで要素単位で乗算されます。これは、次の MATLAB コードと等価です。
y = repmat(w,1,N) .* u % Equivalent MATLAB code
ウィンドウは常に最初の次元に適用されます。
長さ M の 1 次元ベクトル入力は M 行 1 列のベクトルとして扱われます。
ウィンドウのタイプ — ウィンドウのタイプ
ハミング
(既定値) | バートレット
| ブラックマン
| ...
次の表は、使用可能なウィンドウ タイプの一覧です。
ウィンドウ タイプ | 説明 |
---|---|
Bartlett | バートレット ウィンドウを計算します。 w = |
Blackman | ブラックマン ウィンドウを計算します。 w = |
Boxcar | 箱型ウィンドウを計算します。 w = |
Chebyshev | チェビシェフ ウィンドウを阻止帯域リップル w = |
Hamming | ハミング ウィンドウを計算します。 w = |
Hann | ハン ウィンドウ (ハニング ウィンドウとも呼ばれる) を計算します。 w = |
Hanning | 旧式です。このウィンドウ タイプは古いモデルとの互換性目的でのみ含まれています。可能な限り、 |
Kaiser | カイザー ウィンドウをカイザー パラメーター w = |
Taylor | テイラー ウィンドウを計算します。 w = |
Triang | 三角ウィンドウを計算します。 w = |
User Defined | [Window function name] パラメーター w = usrwin(M) % Window takes no extra parameters w = usrwin(M,x1,...,xn) % Window takes extra parameters {x1 ... xn} |
サンプリング — サンプリング タイプ
対称
(既定値) | 周期的
一般的なコサイン ウィンドウのウィンドウ サンプリングを指定します。
一般的なコサイン ウィンドウ ([ブラックマン]
、[ハミング]
、[ハン]
および [Hanning]
) では、ウィンドウ サンプルが周期的に計算されるか、対称的に計算されるかが [サンプリング] パラメーターによって決定されます。たとえば、[サンプリング] が [対称]
に設定されている場合、長さ M のハミング ウィンドウは次のように計算されます。
w = hamming(M) % Symmetric (aperiodic) window
[サンプリング] が Periodic
に設定されている場合、同じウィンドウは次のように計算されます。
w = hamming(M+1) % Periodic (asymmetric) window w = w(1:M)
シミュレーションでのみ調整可能 (Simulink)です。
依存関係
このパラメーターは、[ウィンドウのタイプ] パラメーターで [ブラックマン]
、[ハミング]
、[ハン]
または [Hanning]
を選択した場合にのみ表示されます。
サンプル モード — サンプル モード
連続
(既定値) | 離散
[Generate window]
モードの場合に、ブロックのサンプル モードに [連続]
または [離散]
を指定します。[Apply window to input]
および [Generate and apply window]
モードでは、ブロックはその駆動ブロックからサンプル モードを継承します。
依存関係
このパラメーターは、[Operation] パラメーターで [Generate window]
を選択した場合にのみ表示されます。
サンプル時間 — サンプル時間
1
(既定値) | 実数スカラー
[Operation] を [Generate window]
に設定し、[サンプル モード] を [離散]
に設定した場合に、ブロックのサンプル時間を指定します。[操作] を [Apply window to input]
および [Generate and apply window]
に設定した場合、ブロックはその駆動ブロックからサンプル時間を継承します。
依存関係
このパラメーターは、[サンプル モード] を [離散]
に設定した場合にのみ表示されます。
ウィンドウの長さ — ウィンドウの長さ
64
(既定値) | 正の整数
適用するウィンドウの長さを指定します。
依存関係
このパラメーターは、[Operation] パラメーターで [Generate window]
を選択した場合にのみ表示されます。そうでない場合は、ウィンドウ ベクトルの長さは入力の最初の次元の長さに一致するように計算されます。
阻止帯域の減衰量 (dB 単位) — 阻止帯域の減衰量 (dB 単位)
50
(既定値) | 非負のスカラー
阻止帯域の減衰量のレベル Rs をデシベル単位で指定します。
シミュレーションでのみ調整可能 (Simulink)です。
依存関係
このパラメーターは、[ウィンドウのタイプ] パラメーターで [チェビシェフ]
を選択した場合にのみ表示されます。
ベータ — カイザー ウィンドウの β パラメーター
10
(既定値) | 実数スカラー
[カイザー]
ウィンドウ β パラメーターを指定します。β が上昇するとメインローブが広がり、ウィンドウの周波数振幅応答でのウィンドウのサイドローブの振幅が減少します。
シミュレーションでのみ調整可能 (Simulink)です。
依存関係
このパラメーターは、[ウィンドウのタイプ] パラメーターで [カイザー]
を選択した場合にのみ表示されます。
サイドローブ数 — サイドローブ数
4 (既定値) | 正の整数
サイドローブの数をゼロより大きいスカラー整数値で指定します。
依存関係
このパラメーターは、[ウィンドウのタイプ] パラメーターで [テイラー]
を選択した場合にのみ表示されます。
Maximum sidelobe level relative to mainlobe (dB) — メインローブに対する最大サイドローブ レベル
-30
(既定値) | ゼロ以下のスカラー
メインローブに対するサイドローブの最大レベルをデシベル単位で指定します。このパラメーターはゼロ以下のスカラーでなければなりません。この既定値 –30 は、メインローブのピークから 30 dB 低い位置にピークがあるサイドローブを生成します。
依存関係
このパラメーターは、[ウィンドウのタイプ] パラメーターで [テイラー]
を選択した場合にのみ表示されます。
Window function name — ウィンドウ関数名
hamming
(既定値) | 文字ベクトル
ブロックで計算されるユーザー定義のウィンドウ関数の名前を指定します。カスタム ウィンドウ関数から返される出力ウィンドウ ベクトルのデータ型は double
でなければなりません。
依存関係
このパラメーターは、[ウィンドウのタイプ] パラメーターで [ユーザー定義]
を選択した場合にのみ表示されます。
Specify additional arguments to the hamming function — ウィンドウ関数に追加の引数を指定
オフ (既定値) | オン
ユーザー定義ウィンドウでウィンドウの長さ以外のパラメーターが必要な場合、[Cell array of additional arguments] パラメーターを有効にするためにオンにします。
依存関係
このパラメーターは、[ウィンドウのタイプ] パラメーターで [ユーザー定義]
を選択した場合にのみ表示されます。
Cell array of additional arguments — 追加の引数
{'symmetric'}
(既定値) | cell 配列
ユーザー定義ウィンドウ関数でウィンドウの長さ以外に必要とされる追加パラメーターを指定します。
依存関係
このパラメーターは、[Specify additional arguments to the hamming function] パラメーターを選択した場合にのみ使用できます。エントリは cell 配列でなければなりません。
データ型
[メイン] タブの [Operation] パラメーターを [Generate window]
に設定した場合、次のパラメーターが表示されます。
ウィンドウのデータ型 — ウィンドウのデータ型
double
(既定値) | single
| 固定小数点
| ユーザー定義
| 逆伝播による継承
ウィンドウのデータ型を次のいずれかの方法で指定します。
double
single
固定小数点
–– ウィンドウのデータ型とスケーリングを [符号付き]、[語長]、[出力での小数部の長さを次に設定] および [小数部の長さ] の各パラメーターで指定します。ユーザー定義
–– ウィンドウのデータ型とスケーリングを [User-defined data type]、[出力での小数部の長さを次に設定] および [小数部の長さ] の各パラメーターで指定します。逆伝播による継承
–– ウィンドウのデータ型とスケーリングを次のブロックに一致するように設定します。
符号付き — 符号付きウィンドウ出力
オン (既定値) | オフ
選択すると、符号付き固定小数点信号を出力します。それ以外の場合は、信号は符号なしになります。
依存関係
このパラメーターは、[ウィンドウのデータ型] を [Fixed-point]
に設定した場合にのみ表示されます。
語長 — 語長
16
(既定値) | [2 128] の範囲の正の整数
固定小数点のウィンドウ データ型の語長をビット数で指定します。
依存関係
このパラメーターは、[ウィンドウのデータ型] を [Fixed-point]
に設定した場合にのみ表示されます。
ユーザー定義のデータ型 (例: sfix(16)、float('single')) — ユーザー定義のデータ型
sfix(16)
(既定値) | 組み込みデータ型 | 固定小数点データ型
組み込みまたは固定小数点のデータ型を指定します。固定小数点のデータ型の指定には、関数 fixdt
(Simulink) を使用できます。
依存関係
このパラメーターは、[ウィンドウのデータ型] を [User-defined]
に設定した場合にのみ表示されます。
出力での小数部の長さを次に設定 — 固定小数点のウィンドウ データ型のスケーリング
最高精度
(既定値) | ユーザー定義
次のいずれかの方法を使用して、固定小数点のウィンドウ データ型のスケーリングを指定します。
[最高精度]
を選択すると、出力信号が可能な限り最高の精度となるよう、自動的にウィンドウのデータ型のスケーリングが行われます。[ユーザー定義]
を選択し、[小数部の長さ] パラメーターでウィンドウのデータ型のスケーリングを指定します。
依存関係
このパラメーターは、[ウィンドウのデータ型] を [Fixed-point]
または [User-defined]
に設定し、指定したウィンドウ データ型が固定小数点のデータ型である場合にのみ表示されます。
小数部の長さ — ユーザー定義の小数部の長さ
15
(既定値) | 整数
固定小数点のウィンドウ データ型の小数部の長さをビット数で指定します。
依存関係
このパラメーターは、[ウィンドウのデータ型] を [Fixed-point]
または [User-defined]
に設定し、[出力での小数部の長さを次に設定] を [User-defined]
に設定した場合にのみ表示されます。
[メイン] タブの [Operation] パラメーターを [Apply window to input]
または [Generate and apply window]
に設定した場合、次のパラメーターが表示されます。
丸めモード — 丸めモード
負方向
(既定値) | 正方向
| 最も近い偶数方向
| 最も近い正の整数方向
| 最も近い整数方向
| 最も簡潔
| ゼロ方向
固定小数点演算の丸めモードを選択します。
ウィンドウ ベクトル w はこのパラメーターに従いません。常に [最も近い正の整数方向]
に丸めます。
メモ
[丸めモード] と [オーバーフロー モード] の設定は、次の両方の条件が存在する場合、数値結果には影響しません。
[乗算出力] が
[内部ルールによる継承]
である。[出力] が
[乗算出力と同じ]
である
これらのデータ型設定を使用すると、ブロックは完全精度モードで効率的に動作します。
オーバーフロー モード — オーバーフロー モード
ラップ
(既定値) | 飽和
固定小数点演算のオーバーフロー モードを選択します。
ウィンドウ ベクトル w はこのパラメーターに従いません。常に飽和しています。
ウィンドウ — ウィンドウのデータ型
入力と同じ語長
(既定値) | 語長の指定
| 2 進小数点スケーリング
| 勾配とバイアスのスケーリング
ウィンドウ ベクトル w の語長と小数部の長さの指定方法を選択します。
次を選択する場合:
入力と同じ語長
–– ウィンドウ ベクトルの要素の語長は入力の語長と同じになります。小数部の長さは、可能な限り最高の精度に自動的に設定されます。語長の指定
–– ウィンドウ ベクトルの要素の語長をビット数で入力できます。小数部の長さは、可能な限り最高の精度に自動的に設定されます。2 進小数点スケーリング
–– ウィンドウ ベクトルの要素の語長と小数部の長さをビット数で入力できます。勾配とバイアスのスケーリング
–– ウィンドウ ベクトルの要素の語長 (ビット数) と勾配を入力できます。このブロックでは、勾配が 2 のべき乗でバイアスが 0 でなければなりません。
ウィンドウ ベクトルは [丸めモード] パラメーターと [オーバーフロー モード] パラメーターには従いません。常に飽和して、[最も近い正の整数方向]
に丸められます。
乗算出力 — 乗算出力のデータ型
内部ルールによる継承
(既定値) | 入力と同じ
| 2 進小数点スケーリング
| 勾配とバイアスのスケーリング
このパラメーターを使用して、乗算出力の語長と小数部の長さの指定方法を指定します。
次を選択する場合:
内部ルールによる継承
–– 乗算出力の語長と小数部の長さが自動的に計算されます。内部ルールの使用時に乗算出力の語長と小数部の長さを計算する方法の詳細については、内部ルールによる継承を参照してください。入力と同じ
–– これらの特性はブロックへの入力の特性と一致します。2 進小数点スケーリング
–– 乗算出力の語長と小数部の長さをビット数で入力できます。勾配とバイアスのスケーリング
–– 乗算出力の語長 (ビット数) と勾配を入力できます。このブロックでは、勾配が 2 のべき乗でバイアスが 0 でなければなりません。
出力 — 出力データ型
乗算出力と同じ
(既定値) | 入力と同じ
| 2 進小数点スケーリング
| 勾配とバイアスのスケーリング
ブロック出力の語長と小数部の長さの指定方法を選択します。
次を選択する場合:
乗算出力と同じ
–– これらの特性は乗算出力の特性と一致します。入力と同じ
–– これらの特性はブロックへの入力の特性と一致します。2 進小数点スケーリング
–– 出力の語長と小数部の長さをビット数で入力できます。勾配とバイアスのスケーリング
–– 出力の語長 (ビット数) と勾配を入力できます。このブロックでは、勾配が 2 のべき乗でバイアスが 0 でなければなりません。
固定小数点ツールによる変更に対してデータ型の設定をロックする — 固定小数点ツールによるデータ型のオーバーライドの回避
off
(既定値) | on
ブロック ダイアログ ボックスで指定するデータ型が固定小数点ツールによってオーバーライドされないようにするには、このパラメーターを選択します。
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
詳細
固定小数点データ型
次の図は、3 つの各操作モードについて、Window Function ブロック内で固定小数点信号に使用されるデータ型を示しています。
ブロックのダイアログ ボックスでウィンドウ、乗算出力および出力データ型を設定できます。
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
生成されたコードは特定の条件下で関数 memcpy
または関数 memset
(string.h
) に依存します。
固定小数点の変換
Fixed-Point Designer™ を使用して固定小数点システムの設計とシミュレーションを行います。
バージョン履歴
R2006a より前に導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)