Raspberry Pi 2 LIFE ハイレゾ時代のコモンセンス ご購入はこちら ラズパイ・オーディオの勘どころ② 〜サンプリング周波数変換編〜 最終回 第 3回 ちょっと高等テク…非整数分の1(M /N )ダウンサンプリング 大津 秀紀 表 1 1/N ダウンサンプリング…出力サンプリング周波数は入力 オーデイオ入出力用API ALSA を利用してハイレゾ音源を再生する サンプリング周波数によってこのように変換される サンプリング周波数:48kHzまでしか 対応していないときラズベリー・パイ側で データを間引くことになる オーディオ・ プレーヤ USB ラズベリー・パイ D-Aコンバータ アナログ 波形確認 USBオーディオ・ デバイス PC 図 1 ダウンサンプリング実験時のハードウェア構成 ● これまでは簡単な 1/N ダウンサンプリングし かしてない ちまたのオーディオ用 D-A コンバータにも,サン プリング周波数 192kHz,分解能 16 ビットなどといっ たハイレゾ・オーディオに対応する品もありますが, サンプリング周波数が 48kHz までしか対応していな い品もまだまだあります.そのような D-A コンバー タを利用する際には,データを間引く処理が必要にな ります(図 1) . データを間引く方法として,ダウンサンプリング処 理があります.ダウンサンプリング処理を適切に行わ ないと,波形ひずみや,思いもしない周波数帯域への 折り返しノイズなどの,思わぬ「ニセ信号」が生じま す. 第 2 回(2017 年 3 月号)では,ラズベリー・パイ上で ダウンサンプリングを適切に行うためのプログラムの 作り方を解説しました.そして,その効果を波形で確 かめました.第 1 回(2017 年 1 月号),第 2 回では,ダ ウン・サンプリングを,表 1 のように 1/N の周波数で 行うことを前提としていました. 入力 fS 48kHz 以下 48kHz 超 ~ 96kHz 以下 96kHz 超 再生 fS ダウンサンプリング 入力 fS と同じ 1/1(=フィルタ特性なし) 入力 fS の半分 1/2 入力 fS の 1/4 1/4 サンプリング周波数変換を適切に行うためには,変 換比が整数であることが重要です. 例えばサンプリング周波数を 192kHz から 44.1kHz にダウンサンプリングする場合は,単純に整数比には できません.そのため,いったん入力と出力のサンプ リング周波数の最小公倍数に相当するサンプリング周 波数に変換してから,出力サンプリング周波数に変換 します.変換過程のブロック図を図 2 に示します. 理論的なダウンサンプリングを行うには,以下の過 程で処理を行います. ①入力サンプリング周波数 fSI を M 倍のアップサンプ リングにより中間サンプリング周波数 fSM に変換す る.補間処理入力サンプル値の間を M − 1 個の 0 で 埋めるか,前値を M − 1 個連続させて階段状波形に する. ②中間サンプリング周波数の信号に対し,出力サン プリング周波数の半分以上の成分を抑えるために ローパス・フィルタを掛ける. ③ローパス・フィルタ出力を N 回に 1 回とり,ダウ ンサンプリング結果とする. fSI ① 補間処理 fSM ② fSM ローパス・ フィルタ fSO fC = 2 ③ 間引き 処理 fSO ● 非整数分の 1 ダウンサンプリングの基本メカ ニズム 1/N のダウンサンプリングは比較的容易に実現でき ますが,非整数分の 1 ダウンサンプリングは少し工夫 が必要です.ここで,ダウンサンプリングを含むサン プリング周波数変換について少し詳しく説明します. 2017 年 4 月号 図 2 非整数分の 1(M/N)ダウンサンプリングを行うには M 倍にアップサンプリングしないといけなくてたいへん 第 1 回 ダウンサンプリング時に発生するひずみ信号(2017 年 1 月号) 第2回 ひずみを発生しないダウンサンプリング・プログラム(2017年3月号) 99
© Copyright 2024 ExpyDoc