- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:FIRにおける小数点を含む係数の乗算について(VHDL記述))
FIRにおける小数点を含む係数の乗算について(VHDL記述)
このQ&Aのポイント
- VHDLを使ったFIRフィルタの設計において、小数点を含む係数の乗算について困っています。
- 現在、xilinxのcoreを使用してFIRフィルタを実装しており、MATLABのFDATOOLを使用して係数を設計しています。
- データ入力と係数の乗算結果のビット幅の調整や丸め方に悩んでおり、具体的な方法を教えていただきたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>係数をデータ入力に揃える為に、係数に4096を掛けて、小数点以下を四捨五入して丸めて、その整数部を14bitに直してデータ入力に掛けて、 >データ出力28bitは1/4096して12bitビットシフトして、マイナスもあるため先頭bitを移動すれば宜しいのでしょうか? それで良いと思います。 ただ係数はわざわざデータ入力にそろえる必要は無いので、 係数=符号1bit+小数部13bit ⇒ 最後に13bit右シフト で良いのではないでしょうか? 僅かですが精度も上がりますし。 (係数用ROM+乗算器MULT18X18S で組むなら係数を18bitにしてもっと精度を上げても良さそうな気はしますが・・・)