VHDLではすべての信号を固定小数点にする必要がありますが、いきなりVHDLコーディングする前に、C言語を固定小数点化してみましょう。 |
(1) 変数をすべて整数化する |
- 変数がintやlong longになっている(コーヒーブレーク1)。
- 乗算の後、右ビットシフトでレンジ合せ。
|
(2) 固定小数点FFTを実行する |
- スペクトルが6kHzに存在する。
- 固定小数点化してもスペクトルの形は変わらない。
|
(3) 固定小数点FFTの結果検証 |
- スペクトルの大きさは15,000近い。
- 入力振幅の500倍以上になり得るので注意(コーヒーブレーク2)。
|
|
|
@VC++における整数型とレンジ
型名 |
ビット数 |
範囲 |
char |
8 |
-128 to 127
|
short |
16 |
-32,768 to 32,767
|
long |
32 |
-2,147,483,648
to 2,147,483,647
|
int |
32 |
-2,147,483,648
to 2,147,483,647
|
long long |
64 |
-9,223,372,036
,854,775,808 to 9,223,372,036
,854,775,807
|
(VC++以外の処理系ではこの限りでない)
|