前回のブログにも書いた通り、基本演算部の固定小数化をしてみたのだが、bit幅が48bitと広すぎたこともありなかなかタイミングがMetしない。手動で合成条件を色々変えてみたり、ISEのSmartXplorerで10数パターンで合成させてみたりして何とかMetさせた。が、残念ながらスペクトルは誤差の影響が見られた。現状の浮動小数演算方式の方がまだましといった感じだった。
この件は一旦保留とすることにした。
元々このIPはAC97コントローラに繋いで使う(実際、今そういう使い方をしているが)つもりだったので、チャネルの2ch化(ステレオ対応)をすることにした。現行AC97コントローラの最高のサンプリングレートは48KHzであるのに対してIPは100MHzで動作させているので、1サンプル当たり2083点分のDFT演算が出来るので2ch分の演算は可能である。実際、回路の変更も非常に簡単で、変数用RAMの容量は倍になるが演算部は変わらない。あとは、タイミング等を若干変更するだけだ。
バイクの通過音のデータを再生させてみた。
2ch分のスペクトル表示をするために、表示部の回路も若干変更した。具体的にはch1(R)を赤色、ch2(L)を緑色で表示することにし、また、これまでは棒グラフ式表示だったのを線グラフ式にした。
ピアノ演奏のデータを再生させてみた。
上記データのログ表示モードでの再生
データに強いピークが含まれていないと、ログ表示は面白みがない。
ということで、2ch化は容易にできた。
次はスペクトルデータをDRAMに書込む機能を追加したいと思う。
0 件のコメント:
コメントを投稿