>My design is 4096-point FFT, which splits into 4 stages of radix-8 FFT. >The system twiddle factor is 15-bits and gives acceptable quantization >error. >However the design is bogged down by the trivial twiddle factor within >radix-8, >W81 = 2 * pi * 1/8 = 0.707, which can be reasonably done with 181/256.>However the quantization of 181/256 causes system quantization error from >80dB >.to 30+dB, and this error absorbed quantization error variations with > system >twiddle >factors varying between 13~20bits.>Consideration is the system memory (4096 point, 13b) won't be widdened to >accomodate this 0.707.>Are there any means to fix this problem?pi/4 = 0.785 or 201/256 Try that. John Oxton

# RE: How would one minimize quantization error in radix-8 based FFT?

Started by ●February 8, 2007

Reply by ●February 12, 20072007-02-12

"f1 fan" <fake@nospam.net> wrote in message news:5aRyh.9406$xu4.2859@trndny04...> >My design is 4096-point FFT, which splits into 4 stages of radix-8 FFT. > >The system twiddle factor is 15-bits and gives acceptable quantization > >error. > >However the design is bogged down by the trivial twiddle factor within > >radix-8, > >W81 = 2 * pi * 1/8 = 0.707, which can be reasonably done with 181/256. > > >However the quantization of 181/256 causes system quantization error from > >80dB > >.to 30+dB, and this error absorbed quantization error variations with > > system > >twiddle > >factors varying between 13~20bits. > > > >Consideration is the system memory (4096 point, 13b) won't be widdened to > >accomodate this 0.707. > > > >Are there any means to fix this problem? > > pi/4 = 0.785 or 201/256 > > Try that. > > John Oxton >My mistake, it's W81 = cos(2 * pi * 1/8) + i*sin(2 * pi * 1/8) = 0.707 + 0.707i. In hardware it's done with (181+181i)/256. However the quantization noise is very high comparing to floating point, signal to quantization noise ratio is expected to be worse than 20*log10(181/(181.0193-181)) = 79.4dB. However in some IEEE papers, the author claimed SQNR of 100dB and higher with radix-8 implementation.