Change variables to integer |
Extract this archive and copy the files to a directory. Then double-click FftFixed.sln. You
need Visual Studio 2008 Standard Edition, if you don't have it, double-click
on Exe file in Debug directory. Microsoft Visual Studio starts. Choose "Solution" tab in the left window, then double-click FftFixedView.cpp. Please look for FftCal function and find that all variables are switched from "double" to "int" or "long long". And see that 19-bit shift is executed after the multiplication. This is the input wave (FixedIn.txt). They are quantized by 16-bit but the magnitude is five-bit-range (32). The following is trigonometric function (FixedTri.txt) They are quantized by 20-bit and the magnitude is 19-bit-range (524,288). Therefore after the multiplication, truncation is needed to remove redundant bits.
|