フィルタの聴き比べ

Simulinkを使って、オーディオ帯域のフィルタの聴き比べをしました。

事の起こり

私はずっと昔から、狭帯域のフィルタを作るときはタップ数の大きな位相直線フィルタが良いと思っていました。どの位ずっと昔かというと、学生時代ですからかれこれ35年くらい前からです。

こんな風にFIRフィルタにしがみついてた理由ははっきりしています。当時、アマチュア無線界では狭帯域フィルタに対する反省の風潮があったのです。

今ではすっかり寂しい雰囲気のアマチュア無線ですが、当時はどのバンドも混み合い、混信が深刻でした。また、コンテストが盛んで近隣の局の強い信号のすぐ横にある微弱な電波を受信するといったことが重要でした。経済も上向き、生活も安定して技術も日進月歩のころです。性能至上主義のハイエンド機は複数のフィルタを重ね合わせてフィルタの特性を可変するといった機能を実装していました。

さて、そういう技術が頂点を極めたころに、「SSBは音が悪い」という声が急に広がり始めました。そして、その原因は「急峻すぎるフィルタによる群遅延特性の劣化である」といった論議が盛んにおこなわれました。

そういう刷り込みがあったため、帯域内の振幅特性がフラットかつ群遅延特性が直線になるFIRフィルタは、大変すばらしい夢の技術に思えたわけです。

ところが、昨日になってふとこんなことを思いました。

「昔はCDもチェビシェフ・フィルタやったやん」

たとえばTRIOのDP-1000は、9次のチェビシェフ・フィルタを使っています。ですから、案外聞いてみたらFIRフィルタもチェビシェフ・フィルタもそれほど変わらないのかもしれません。そんなことを考えました。

実験

というわけで、実験です。

やることはそれほど難しくありません。Simulinkを使って44.1kHzの音源にフィルタをかけ、フィルタの種類によって音質が変わるか聞き比べました。フィルタの特性はAM放送の受信を想定し、以下の仕様のローパス・フィルタとしています。

  • 通過域カットオフ周波数:7kHz
  • 通過域のリップル:1dB ( バターワースフィルタはカットオフ周波数にて-3dB)
  • 阻止域の周波数:10.5kHz
  • 阻止域の減衰量:50dB

この条件に合うようフィルタ・デザイナを使って設計しました。

  • FIRフィルタ(40taps)
  • IIRフィルタ(13次バターワース)
  • IIRフィルタ(7次チェビシェフ
  • IIRフィルタ(5次楕円)

ブロック図は以下の通りです。オーディオ・ファイルからの入力にそれぞれのフィルタをかけてファイル出力しています。特にひねりはありません。

Simulinkによる実験モデル

また、実験に使ったオーディオ・データは手元のCDのリッピング・データです。Audacityで適当な長さに切り取り、フェード・イン、フェード・アウトをつけてWAVで保存しています。

  • ショパン「木枯らし」
  • クライスラー「愛の悲しみ」
  • 三遊亭金馬(三代目)「目黒のさんま」
  • 岩崎宏美「想い出の樹の下」

結果

さて、お楽しみの結果発表です。かなり急峻なフィルタをそれぞれ比較した結果、なんと!差は全く聞き取れませんでした。

…耳がポンコツなんです。

振り返ってみると、実はこの程度の特性なら大して急峻ではないのかもしれません。昔フィルタの群遅延特性が問題になったのは中心周波数455kHz、帯域3kHzといったフィルタです。今回はベースバンドで3kHzですから条件が全然違います。

ということで、今後は安心してIIRフィルタを使って良いという結論に至りました。しかも浮動小数点演算であれば、何の気兼ねもなく楕円フィルタを使えます。素子感度を(あまり)考えなくてすむディジタル処理ならではの話です。

コメントする

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください