これを行うには、x に対して FFT を実行し、20 ~ 30 Hz の値をゼロに設定してから、以前の値に逆 FFT を適用すると、それらの周波数なしで信号が得られるはずです。ただし、貴重な情報を失ったり、信号が思うように見えなかったりする可能性があります。そのため、「バンドストップフィルター」の使用をお勧めします。バンド ストップ フィルターは、カットオフ周波数 (操作したい限界周波数) およびその他のパラメーターを受け取ります。バンドストップ フィルターは、基本的に、指定した周波数を信号から削除します。そして、良い部分は、次のことを行うのと同じくらい簡単に実行できることです。
まず、フィルターを作成する必要があります。これを行うには、必要に応じて定義できるフィルター次数を示す必要があります。通常、2 番目の注文はうまく機能します。また、サンプリング レート Fs に注意する必要があります。
d = designfilt('bandstopiir','FilterOrder',2, ... 'HalfPowerFrequency1',20,'HalfPowerFrequency2',30, ... 'SampleRate',Fs);
あとは、必要な信号にフィルターを適用するだけです。
filtered_signal_x = filtfilt(d, x)
これで、filtered_signal_x には、削除したい周波数が含まれていません。バンドストップを使用することで、FFT などをいじる必要がなくなり、高速になるので、最良のオプションだと思います。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加