このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
Highpass Filter
FIR または IIR ハイパス フィルターの設計

ライブラリ:
DSP System Toolbox /
Filtering /
Filter Designs
説明
Highpass Filter ブロックは、指定された設計仕様を使用して、経時的に入力信号の各チャネルを個別にフィルター処理します。[フィルター タイプ] パラメーターを使用して、IIR と FIR のどちらのハイパス フィルターをブロックで実装するのかを制御できます。通過帯域および阻止帯域のエッジ周波数は、Hz 単位または正規化周波数単位 (R2023a 以降)で指定できます。
このブロックは ARM® Cortex® コード生成をサポートします。このブロックは、特定の状況下で SIMD コード生成もサポートします。詳細については、コード生成を参照してください。
例
Highpass Filter ブロックを使用して、正弦波信号をハイパス フィルター処理します。元の信号とフィルター処理された信号のスペクトルをスペクトル アナライザーでプロットします。
HighpassFilterSinusoid.slx
モデルを開いて検証します。入力は 1 kHz と 15 kHz のトーンおよびノイズを含んだ正弦波信号です。入力信号のサンプル レートは 44.1 kHz です。追加されたノイズは、平均 0、分散 0.05 のホワイト ガウスです。
ハイパス フィルターは、阻止帯域エッジ周波数 8 kHz、通過帯域エッジ周波数 12 kHz の最小次数フィルターです。ブロック ダイアログ ボックスで入力信号のサンプル レートを指定します。
モデルを実行し、フィルター処理された出力をスペクトル アナライザーで表示します。1 kHz のトーンは減衰されますが、15 kHz のトーンは影響を受けません。
サンプル レートが固定であるものの不明なオーディオ信号から 1.5 kHz 未満のすべての周波数をフィルター処理します。
HighpassFilterAudioSignal.slx
モデルを開いて検証します。入力はサンプル レートが不明な音声信号です。Highpass Filter ブロックは 1.5 kHz の通過帯域エッジ周波数をもちます。ブロック ダイアログ ボックスの [サンプル レート モード] パラメーターは既定で Inherit from input port
に設定されています。そのため、ブロックは入力ポートから音声信号のサンプル レートを継承します。
モデルを実行します。入力信号とフィルター処理された出力のスペクトルをスペクトル アナライザーで表示します。
シミュレーション中にサンプル レートとフレーム サイズが変化する正弦波信号をハイパス フィルター処理します。
HighpassFilterVarSizeSinSignal.slx
モデルを開いて検証します。入力は 2 つの正弦波信号のいずれかです。最初の正弦波信号は、サンプル レートが 44100 Hz でフレーム サイズが 256 である 1 kHz の正弦波です。2 番目の正弦波信号は、サンプル レートが 22050 Hz でフレーム サイズが 128 である 10 kHz の正弦波です。いずれの信号もフレーム周期は同じです (256/44100 または 128/22050)。サンプル レートとフレーム周期の詳細については、サンプルベースおよびフレームベースの概念を参照してください。手動スイッチを使用して、どの正弦波を Highpass Filter ブロックへの入力とするかを制御できます。
シミュレーション中に入力サンプル レートが変化するため、Highpass Filter ブロックの周波数仕様を正規化された周波数単位で指定します。これを行うには、Highpass Filter ブロック ダイアログ ボックスの [サンプル レート モード] パラメーターを Use normalized frequency (0 to 1)
に設定します。ここで、ハイパス フィルターの通過帯域エッジ周波数を、正規化された周波数単位で 0.5 に設定します。
モデルを実行します。入力とフィルター処理された出力のスペクトルをスペクトル アナライザーで表示します。
これは、2 番目の正弦波信号を選択したときのフィルター処理された出力です。
端子
入力
実数値または複素数値の列ベクトルまたは行列として指定される入力信号。入力信号が行列の場合、行列の各列は独立したチャネルとして扱われます。入力信号の行数はチャネル長を表します。
データ型: single
| double
| fixed point
複素数のサポート: あり
出力
フィルター処理された信号。ベクトルまたは行列として返されます。出力は入力と同じサイズおよび実数/複素数の特性をもちます。出力に小数点データ型が含まれている場合、常に符号付きです。
データ型: single
| double
| fixed point
複素数のサポート: あり
パラメーター
メイン
ブロックが FIR ハイパス フィルターと IIR ハイパス フィルターのどちらを実装するのかを指定します。
このチェック ボックスをオンにすると、ブロックは最小次数を使ってフィルターを設計します。このチェック ボックスをオフにすると、[フィルター次数] を正の整数として指定できます。
ハイパス フィルターの次数を正の整数として指定します。
依存関係
このパラメーターを有効にするには、[最小次数フィルターの設計] チェック ボックスをオフにします。
ハイパス フィルターの阻止帯域エッジ周波数を、正の実数のスカラー (Hz 単位または正規化周波数単位 (R2023a 以降)) として指定します。
[サンプル レート モード] パラメーターを次のように設定します。
[ダイアログで指定]
または[入力端子から継承]
–– 阻止帯域エッジ周波数の値は Hz 単位となります。この値は通過帯域エッジ周波数より小さくなければなりません。[Use normalized frequency (0 to 1)]
–– 阻止帯域エッジ周波数の値は正規化周波数単位となります。値は、通過帯域エッジ周波数未満の正のスカラーでなければなりません。
(R2023a 以降)
依存関係
このパラメーターを有効にするには、[最小次数フィルターの設計] チェック ボックスをオンにします。
ハイパス フィルターの通過帯域エッジ周波数を、正の実数のスカラー (Hz 単位または正規化周波数単位 (R2023a 以降)) として指定します。
[サンプル レート モード] パラメーターを次のように設定します。
[ダイアログで指定]
または[入力端子から継承]
–– 通過帯域エッジ周波数の値は Hz 単位となります。この値は入力サンプル レートの値の半分より小さくなければなりません。[Use normalized frequency (0 to 1)]
–– 通過帯域エッジ周波数の値は正規化周波数単位となります。値は、1.0
未満の正のスカラーでなければなりません。
(R2023a 以降)
阻止帯域での最小減衰量を、正の実数のスカラー (dB 単位) として指定します。
通過帯域でのフィルター応答の最大リップルを、正の実数のスカラー (dB 単位) として指定します。
R2023a 以降
以下のオプションのいずれかを使用して、入力サンプル レートを指定します。
[Use normalized frequency (0 to 1)]
–– 通過帯域エッジと阻止帯域エッジの周波数を正規化周波数単位 (0 ~ 1) で指定します。ダイアログで指定
–– ブロックのダイアログ ボックスで [入力サンプル レート (Hz)] パラメーターを使用して入力サンプル レートを指定します。入力端子から継承
–– ブロックは入力信号からサンプル レートを継承します。
入力サンプル レートをスカラー (Hz 単位) として指定します。
依存関係
このパラメーターを有効にするには、[サンプル レート モード] パラメーターを [ダイアログで指定]
に設定します。 (R2023a 以降)
実行するシミュレーションのタイプ:
インタープリター型実行
(既定)MATLAB® インタープリターを使用してモデルをシミュレートします。このオプションを使用すると、シミュレーションの起動時間は短くなりますが、シミュレーションの速度は
[コード生成]
よりも遅くなります。コード生成
生成された C コードを使用してモデルをシミュレートします。シミュレーションの初回実行時、Simulink® は対象ブロックの C コードを生成します。この C コードは、モデルが変更されない限り以降のシミュレーションで再利用されます。このオプションを使用すると、シミュレーションの起動時間は長くなりますが、シミュレーションの速度は
[インタープリター型実行]
よりも速くなります。
フィルターの可視化ツール (fvtool
) を開き、ハイパス フィルターの振幅/位相応答を表示します。応答はブロック ダイアログ ボックスのパラメーターに基づきます。これらのパラメーターを変更すると FVTool が更新されます。
FVTool の実行中に振幅応答を更新するには、ダイアログ ボックスのパラメーターを変更して [適用] をクリックします。
データ型
固定小数点演算出力の丸め手法。
係数の固定小数点データ型。次のいずれかとして指定します。
fixdt(1,16)
— 2 進小数点スケーリングが行われる、語長16
の符号付き固定小数点データ型。このブロックは、係数がオーバーフローなしに表現可能範囲の最大を占めるように、係数値から自動的に小数部の長さを決定します。fixdt(1,16,0)
— 語長が16
で小数部の長さが0
の符号付き固定小数点データ型。小数部の長さは、他の任意の整数値に変更できます。<データ型式>
— データ型オブジェクトとして評価する式を使ってデータ型を指定します。例: 数値型 (fixdt
([ ]
、16
、15
))。このデータ型の符号モードを[ ]
またはtrue
として指定します。Refresh Data Type
— 既定のデータ型に更新します。
[データ型アシスタントを表示] ボタン をクリックして、データ型の設定を行うためのデータ型アシスタントを表示します。詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
ブロックの特性
データ型 |
|
直達 |
|
多次元信号 |
|
可変サイズの信号 |
|
ゼロクロッシング検出 |
|
アルゴリズム
最小次数の設計では、このアルゴリズムは一般化された Remez FIR フィルター設計アルゴリズムを使用します。次数が指定された設計では、このアルゴリズムは制約付き等リップル FIR フィルター設計アルゴリズムを使用します。設計されたフィルターは、Direct form
構造体を持つタイプ 1 の線形位相フィルターとして実装されます。
IIR 構成では、このアルゴリズムは楕円設計法を使用して、フィルター設計の仕様を満たすために必要な SOS およびスケール値を計算します。アルゴリズムは計算した SOS とスケール値を使用して Direct form I
双二次 IIR フィルターを設定します。このフィルターが、ハイパス フィルターの IIR バージョンの基礎を形成します。
拡張機能
Highpass Filter ブロックは ARM Cortex コード生成をサポートします。ARM Cortex コード生成の詳細については、ARM Cortex-M プロセッサおよび ARM Cortex-A プロセッサ用のコード生成を参照してください。
Highpass Filter ブロックは、次の条件を満たす場合、Intel AVX2 コード置換ライブラリを使用した SIMD コード生成もサポートします。
[フィルター タイプ] が
[FIR]
に設定されている。入力信号のデータ型が
single
またはdouble
である。
SIMD テクノロジーにより、生成コードのパフォーマンスが大幅に向上します。詳細については、SIMD コード生成を参照してください。このブロックから SIMD コードを生成するには、Use Intel AVX2 Code Replacement Library to Generate SIMD Code from Simulink Blocksを参照してください。
バージョン履歴
R2015b で導入[サンプル レート モード] パラメーターを [Use normalized frequency (0 to 1)]
に設定した場合、通過帯域と阻止帯域のエッジ周波数を正規化周波数単位 (0 ~ 1) で指定できます。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- 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)