音を消す方法

10 views (last 30 days)
Kaede
Kaede on 27 Aug 2020
Commented: Kaede on 1 Sep 2020
このようなグラフの場合青のグラフの1k,2k辺りの音というか周波数帯域を消す方法はありますか。
  2 Comments
Kaede
Kaede on 28 Aug 2020
バンドストップフィルターを使うのが良いと思うのですが,1k,2k辺りであればフィルター仕様はどのように設定するのが良いですか?
帯域を広くしてやってみたのですが1,2kを削減するのにこれぐらいでもありでしょうか?
個人差があるような質問で申し訳ございません.

Sign in to comment.

Accepted Answer

Naoya
Naoya on 31 Aug 2020
シンプルな方法としては、Signal Processing Toolbox で提供される bandstop関数を利用できると思います。
サンプリング周波数 44.1KHz の信号において 1KHz ~ 2KHz の区間をカットするとう点では、下記の様な書式でフィルタ出力信号 y を得ることができます。
% バンドストップフィルタリング
[y,Hd] = bandstop(x, [1000, 2000], 44100);
% フィルタの周波数応答確認
freqz(aa, 8192, 44100)
周波数応答を確認しますと 設定した 1000, 2000Hz は 通過帯域端の周波数扱い (ほぼ0dB) となりますので、 1000Hz, 2000Hz もある程度減衰させる場合は、bandstop 関数で指定する幅をもう少し広げるのがよいかもしれません。
  3 Comments
Kaede
Kaede on 1 Sep 2020
私がやりたいこととしては青のグラフの1,2kだけを大きくするためにBPFをかけることを検討していました.しかしあまりBPFでは持ち上げれなさそうなのでまず1,2kHz以外に阻止域10dB減衰のバンドパスを通して,全体をそのあと10dBあげれば1,2kHzが持ち上がるのではないかと検討しています.
質問としてはBPFで1,2kHzだけ10、20dB上げることは可能か.
1,2kHz以外を10dBさげるBPFをかけることは可能か
です.
画像は1,2kHz以外を10dBさげるBPFのつもりですがフィルターデザイナーの使い方が良くわかってないので自信がないです.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!