MATLABでFilter2を使用してローパスフィルターを作成する方法

著者: Laura McKinney
作成日: 1 4月 2021
更新日: 13 5月 2024
Anonim
【電気回路】みんな知ってる!フィルタの種類と特徴 #50
ビデオ: 【電気回路】みんな知ってる!フィルタの種類と特徴 #50

コンテンツ

MATLABは、信号を詳細に解析し処理するために使用できるプログラミングツールです。一次元または数次元で信号を処理する際の一般的な操作は、高周波ノイズの除去です。ローパスフィルタは、定義により、信号から特定の値を超える周波数を除去するように設計されています。 MATLABでfilter2()関数を使用することは、そのようなフィルタを実装するための1つの方法です。


説明書

MATLABのfilter2()関数を使用すると、ローパスフィルターを実装できます。 (Hemera Technologies / AbleStock.com / Getty Images)
  1. データをMATLABにインポートします。多くの場合、フィルタ処理が必要な信号はバイナリ形式で保存されているため、インポートするにはfread()などの低レベルの入出力関数が必要です。ただし、MATLABには最も一般的な形式のイメージのインポーターが含まれています。

    my_data = fread(file_handle、n_samples、data_type); my_image = imread( 'my_image_file.tif'、 'TIFF');

  2. filter2()関数で処理する前に、データを2次元配列に変換してください。これを行うには、reshape()関数を使用して1次元のバイナリ配列を配列に変換するか、シリーズからイメージを選択します。 squeeze()関数を使用して、3次元以上の配列の一部を選択してシングルトン次元を削除します。

    my_image = reshape(my_data、width、height); my_other_image = squeeze(my_image_series(:、:image_number));

  3. フィルタを描画し、その結果を2次元配列Hに格納します。一般に、ローパスフィルタはfspecial()関数で作成できる「ガウスウィンドウ」を使用します。フィルタは特殊なsptool信号処理関数()を使って設計することもできます。 wvtool()関数を使うことであなたのフィルタウィンドウの周波数応答を見ることができます。コード例では、Hは標準偏差ガウスウィンドウ10を含む24 x 24の配列です。


    H = fspecial( 'gaussian'、[24 24]、10); wvtool(H);

  4. filter2()によって実装された2次元畳み込みアルゴリズムを使用してフィルタリングを実行します。デフォルトでは、filter2()の結果は入力データセットと同じ次元を持ちます。

    my_filtered_data = filter2(my_data、H);

コードバックパックは初心者でもできる迅速でシンプルな縫製デザインです。子供や大人のための素晴らしいバッグ。 バックパック (tockbyte / tockbyte / Getty Image) あなたのバックパックのための生地を選んでください。目的を事前に検討して、生地を選択します。ジーンズ、ベルベット、ツイルのような重いものは、頻繁に使用されるバックパックや重いものに最適です。 子供用の中型のバ...

肌の老化の最大の原因の1つは、コラーゲン、皮膚に弾力性、強さと堅さを提供することができる真皮の豊富なタンパク質の減少です。年齢が上がるにつれて、コラーゲンの生産は1年に約1%減少します。しかし、コラーゲンの生成を促進する自然な方法があり、その結果、肌がより硬く、若くなります。 年齢が上がるにつれて、コラーゲン産生は1年に約1%減少します (デジタルビジョン/デジタルビジョン/ゲッティイメージズ) ...

最新の投稿