ハウリング抑圧実験プログラムの使用方法
前のページに戻る
- TI (Texax Instruments) 製のDSP評価ボードC6713 DSKを使って簡単にハウリング・キャンセラの実験が出来ます. 大学、高専等での実験、デモにご利用ください.
- 残響室、音響実験用の防音室が無くても、残響時間が短めの部屋(音響的な配慮をした設計の講義室等)で実験可能です.
- 必要な機材とシステム構成
- 必要な機材
- Windowsパソコン
- OSはWindows XPまたはWindows 2000を搭載したものを用いてください.
- DSP評価キット
- TI(Texas Instruments)製 C6713 DSK (TMDSDSK6713)
- C6713 DSKにはキット専用版の統合開発環境CCS(Code Composer Studio)、Cコンパイラ等が含まれています. キット付属CCSはVer.3.1で,CCSはWindows
XPとWindows 2000に対応しています.
- CCSのVer.4, Ver.5はWindows 7, Windows Vista, Windows XPに対応していますが,Eclipseベースとなっているのでキット付属CCSとは操作法にかなり違いがあります.
- パワー・アンプ
- 実効出力10W程度、あるいはそれ以上の出力のものを用いてください. 当社ではBOSEの1705IIを使用しています.
- スピーカ
- 写真のような小型のスピーカで十分です. ただし通常の使用状態で筐体が共振するようなものは使用しないでください.
- 当社ではFostexのユニットFF125K(口径120mm)を小型の密閉箱に入れたもの(写真左)と、BOSEの101VM(101MMの防磁仕様品、写真右)を用いています.

- マイク
- 廉価なタイピン型の無指向性エレクトレット・コンデンサ・マイクで問題ありません. もちろん計測用のマイクロホンを用いてもかまいませんが、特殊な指向特性の音楽収録用マイクは避けてください.
- 当社ではaudio-technicaのAT805Fを使用しています. AT805Fは生産中止のようなので、audio-technicaの製品を新規に購入されるのであればAT9903が良いでしょう.
- マイク・アンプ
- 使用するマイクに適合したものを用意してください. 当社ではaudio-technicaのAT-MA2を使用しています. 廉価なエレクトレット・コンデンサ・マイクを用いた簡単な実験には申し分ない機能・性能の製品です. モノラル/ステレオ両用で、バスパワー型のエレクトレット・コンデンサ・マイクへの電源供給も出来ます.

- 接続ケーブル類
パワー・アンプ、マイク・アンプは十分なダイナミックレンジを有するものを用いてください. スピーカ、マイクも同様です. ハウリング・キャンセラのプログラムはパワー・アンプ、マイク・アンプ、スピーカ、マイクよりも先にDSKのA/Dコンバータが先にクリップするという前提で作っています.
- システム構成
- 拡声システムの構成
- 無響室内ではこのような一般的な拡声システムの構成で実験可能です. スピーカとマイクの距離は2m~3m程度に設定してください. 拡声システムの開ループ利得10dB程度でもハウリング抑圧可能です.
- 補聴器の構成(またはメガホン型拡声器の構成)
- 防音室や残響のある普通の部屋ではこの構成にしてください. 超大型(?)の補聴器、または超高利得のメガホン型拡声器のモデルになっています. マイクはスピーカの背面に極力密着させてください. 音響系の開ループ利得10dB程度でもハウリング抑圧可能です.(この構成では開ループ利得≠拡声利得であることに注意してください)
このページの先頭に戻る
- プログラムの使用方法
- 使用時の6713 DSKとアンプの接続の注意点
- マイク・アンプの出力はC6713 DSKのライン入力の左チャネルに接続します.
- C6713 DSKのライン出力の左チャネルをパワー・アンプの入力に接続します.
- C6713 DSKの入出力の右チャネルは使用していません. したがって接続にC6713 DSK側がモノラル・ミニプラグのケーブルを用いてもかまいません.
- tsp.out の使用方法
- このプログラムを用いて音響系の開ループ利得の測定、パワー・アンプ/マイク・アンプのゲイン設定をおこなってください. その次にcanceller1024.outを用いたハウリング抑圧実験をおこないます.
- 動作テスト
- 最初にアンプ、スピーカ、マイクを接続せず、C6713 DSKのライン出力とライン入力を短絡してテストをおこなってみましょう. 両端にミニプラグがついている接続ケーブルでC6713
DSKのライン出力とライン入力を接続してください. モノラルのケーブルでも、ステレオのケーブルでもかまいません.
- C6713 DSK基板上の SW1 (ピアノキー型スイッチ)はすべてOFFの状態に設定してください.(レバーをすべて上げる)

SW1(白枠内のピアノキー型スイッチ)
4本のレバーはプログラム実行前にすべて上げておく.(OFF状態にする)
- CCS (Code Composer Studio) を起動してメニューより Debug → Connect でC6713 DSKを接続する.
- 次に File → Load Program で tsp.out をC6713 DSKにダウンロードする.
- ダウンロードが終わったら Debug → Run でプログラムの実行を開始する.
- View → Graph → Time/Frequency... を選択するとグラフ表示のパラメータ設定窓が開くので、下図のように設定します. するとA/Dから入力した信号波形がグラフ表示されます.

最初に表示されたグラフは波形が乱れているかもしれませんが、グラフ上でマウスを右クリックしてあらわれる下図のメニューで Refresh を選択すると表示が更新されます. DSPプログラムが動作中にリフレッシュをかけるとデータ化けが生じることがありますが、何度か繰り返しリフレッシュすると正常なグラフ表示が得られます. グラフ表示のパラメータ設定を変える時は下図のメニューで
Properties... を選択してください.
- 次にもう一度 View → Graph → Time/Frequency.. を選択して下図のように設定すると、入力信号をFFTして求めた振幅周波数特性がグラフ表示されます. 下図右のように信号レベルがほぼ -7dB
となればテスト結果はO.K.です.(乱れの無いグラフが表示されるまで何度かリフレッシュしてください) 正常な測定結果が得られない場合は、ケーブル接続等をよく確認してください.
- 以上で tsp.out とDSKの正常動作が確認できました. いよいよアンプ、マイク、スピーカを接続して音響系の開ループ利得の測定、パワー・アンプ/マイク・アンプのゲイン設定をおこないます.
- 音響系の開ループ利得の測定とパワー・アンプ/マイク・アンプのゲイン設定
- 「必要な機材とシステム構成」 の項の説明どうりアンプ、スピーカ、マイクを接続してください. SW1はすべてOFFにします. 設定が終わったら動作テストの時と同様にプログラム tsp.out を動かします.
- 周波数特性のグラフをリフレッシュしながら拡声系の利得が最大10dB前後になるようにマイク・アンプ、パワー・アンプのゲインを設定します. 下図の例では開ループ利得の最大値がほぼ10dBになっています. マイク・アンプ、パワー・アンプの利得設定はそのままにして、次に
canceller1024.out を使ったハウリング・キャンセラの実験をおこないます.
- なお SW1 の4つのレバーのうちのいずれか一つを押し下げると、測定結果をファイルにセーブしてプログラムは停止します. 以下の3つのファイルがパソコン上に生成されます. スペース区切りのASCIIデータですので、中身はエディタ等で確認してください.
- out_spec1.txt 周波数特性データ
- out_spec2.txt 周波数特性データ
- out_waveform.txt A/D変換波形とTSP信号
- canceller1024.out の使用方法
- アンプ、スピーカ、マイクのセッティング、demo_tsp.outを用いたアンプのゲイン設定が終わったら、CCS (Code Composer
Studio) のメニューより File → Load Program で canceller1024.out をC6713 DSKにダウンロードして Debug → Run で実行を開始します. プログラム実行前にC6713 DSKのSW1はすべてOFFの状態にしておいてください.(4つのレバーをすべて上げる)
- プログラムはハウリング・キャンセラがONの状態で起動します. マイク向かって小声で話しかけると、スピーカから大きな音で拡声されるはずです. 確かに音響系の開ループ利得が0dB以上の状態でもハウリングが抑圧されていることを実感できるでしょう.
- ハウリング・キャンセラの動作を確認できたら View → Graph → Time/Frequency... で適応フィルタ係数 w のグラフと、それをFFTした周波数特性のグラフを表示させてください. グラフ表示のパラメータ設定はtsp.outを用いた動作テストの時と同一です. 何度か表示をリフレッシュしてデータ化けの無いグラフを表示させます.
下記の例は補聴器の構成で、利得を最大約10dBとした実験例です. やや残響が多く、顕著なフラッター・エコーもある6畳間相当の部屋で実験したために、かなりインパルス・レスポンスが尾を引いています. この時のパワー・アンプの利得は28dB、マイク・アンプの利得は38dBでした. なお残響のある室内で実験した場合、適応フィルタ係数をFFTして求めた周波数特性は、必ずしも音響系の特性と完全に一致するわけではありませんのでご注意ください.(フィードバックの無いシステム同定の適応システムとは振る舞いが異なります)
実験がうまくいったら、15dB程度にゲインを上げてもハウリング抑圧ができるかどうか試してみてください.
- 確認のためにSW1-0 (SW1左端のレバー)を押し下げると、ハウリング・キャンセラはOFFになります. 大きなハウリング音が発生するので気をつけてください.
- SW1-3(SW1右端のレバー)を押し下げると、適応フィルタ係数をファイル out_w.txt にセーブしてプログラムは停止します.
- canceller256.outを用いたより現実的な補聴器の構成での実験方法
- 必要な機材が増えますがcanceller256.outを用いれば、より現実的な補聴器の構成でのハウリング抑圧実験が可能です. システム構成は下図のようになります. 拡声系のマイク、スピーカと受聴位置(耳の位置)が接近した補聴器を模擬した構成となります. 拡声効果・ハウリング抑圧効果はモニター用のマイクに接続したオシロスコープ、FFTアナライザ等で確認します. 音源にはラジオ等を用いてください.
- 開ループ利得は10dB~15dB程度になるように設定して実験をおこなってください. canceller256.outを用いた実験例のデータを下図に示します.
以上の説明は利用者がCCS(Code Composer Studio)の操作方法を良く理解しているという前提で、細部は省略して記述しています.
CCSのグラフ表示が乱れるのは仕様です. DSPプログラム動作中に無理矢理パソコンへのデータ転送をおこなっているので、しばしばデータ化けが生じるのは当然です. DSPのリアルタイムOSは使用していません.
このページの先頭に戻る
前のページに戻る