すると図Fのように周波数特性のウインドウが現れるので、メニューのTools→Save Coefficientsを選択し(このとき周波数特性のウインドウが最前面にある必要あり)、係数をセーブします。 リストAの左側にに係数ファイル(coeff1.txt)、右側にdsPICのCソースの一部を示します。ここで注意が必要なのは、DSPLinks(係数導出ツール)とdsPIC(フィルタ実行ツール)ではIIRフィルタの表記法が異なることです。 図GはDSPLinksにおける2次IIRフィルタの表記法です。z^-1は遅延器で、三角は乗算器です。 図HはdsPICにおける2次IIRフィルタの表記法です。図Gと比較するとa0, a1, a2, b1, b2の位置(入力側/出力側)が違います。また、図Gではb1, b2は反転してから足し込んでいます。これらの違いを考慮に入れると、リストAのような対応になります。 このようにIIRフィルタの表記法には複数の流儀があるので、「係数導出ツール」と「フィルタ実行ツール」の法の違いによって係数の符号の反転や並び替えが必要になります。 DSPLinksにはローパス以外にも、ハイパス、バンドパス、バンドリジェクトフィルタを設計できます。またシェルビング、ピーキング、ノッチフィルタなどを使うと、自由自在にイコライジングできます。 今回得られた係数はトランジスタ技術(CQ出版)2008年7月号の連載(もっと!付録基板)で使用します。ソースのコンパイルやプログラミングについて連載記事とdsPIC連載サポートサイトを参考にしてください。
|