音源のフィルター処理

11 visualizaciones (últimos 30 días)
Cir 2t
Cir 2t el 15 de Ag. de 2020
Comentada: Cir 2t el 20 de Ag. de 2020
初心者質問ですみませんが、192kHzでサンプリングした音源を「クロスオーバー周波数26または22kHz、カットオフ減衰量170または80dB/オクターブのローパスフィルタとハイパスフィルタ」にかけたいと考えています。
正直、質問していて私自身にもわかっていないことが多いのですが、論文に書いてあるので、そのまま質問させていただきます。
どなたか、matlabでこのフィルターをかけることができる、コードを教えていただけないでしょうか?
具体例があると良いのですが。宜しくお願い致します。

Respuesta aceptada

takemoto
takemoto el 17 de Ag. de 2020
Audio Toolboxから提供される機能で実現可能かと思います。
>>data = audioread('aaa.wav');
>>crossFilt = crossoverFilter(1,'CrossoverFrequencies',26e3,'CrossoverSlopes',80) ;
>>[y1,y2] = crossFilt(data);
とすれば、26kHzをクロスオーバー周波数とした、highバンド側とlowバンド側の出力が得られるはずです。
  5 comentarios
takemoto
takemoto el 17 de Ag. de 2020
クロスオーバーフィルタは、一般には、所定のクロスオーバー周波数を境界点として、その高域成分と低域成分を分割するのに使用しますので、二分割の場合はバンドパスではなく、ハイパスフィルタとローパスフィルタの組み合わせとなりますが、三分割以上の場合は、それにバンドパスを加えた構成になるかと思います。
ご案内した上記例題のパラメータの意味ですが、10はフィルタの次数です。20次のフィルタを、二つのフィルタのカスケード接続で構成するため、単体のフィルタの次数を10としているのだと思います。 750は、ナイキスト周波数(サンプリング周波数の半分)です。butter関数は、カットオフ周波数の値を、ナイキスト周波数を1として正規化した値で設定するために、この用な表現になっているのではないでしょうか。
以上、参考となれば幸いです。
Cir 2t
Cir 2t el 20 de Ag. de 2020
よくわかりました。色々とご指導ありがとうございました。

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Audio Processing Algorithm Design en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!