From: glen herrmannsfeldt on 2 Aug 2010 21:37 Manny <mloulah(a)hotmail.com> wrote: (snip, someone wrote) >> Now do inverse Fourier, this also has analytic solution as Fn(W,t) in >> closed form. So drop frequencies higher then Nyquist and sample. > This is actually neat. BUT, think you can't do this in fixed-point > because a frequency domain round trip in fixed-point is bad. > I like to quote a reconfigurable computing professor I once met: "if > they send robots to Mars in fixed-point, everything else is damn > doable in fixed-point too." Floating point is way overused, especially in DSP. Fixed point for values with absolute error, floating point for ones with relative error. Consider that the relative uncertainty in the mass of a hydrogen atom is better than that of the earth, or most other objects that you measure the mass of. For FFT, block floating point (one exponent for the whole vector) is probably best, but there isn't much support in hardware. -- glen
From: Vladimir Vassilevsky on 2 Aug 2010 21:52 glen herrmannsfeldt wrote: > > Floating point is way overused, especially in DSP. Huh? Try inverting mere 3x3 matrix in a fixed point. How about something as simple as sqrt(x^2 + y^2 + z^2) ? Vladimir Vassilevsky DSP and Mixed Signal Design Consultant http://www.abvolt.com
From: Manny on 2 Aug 2010 22:04 On Aug 3, 2:52 am, Vladimir Vassilevsky <nos...(a)nowhere.com> wrote: > glen herrmannsfeldt wrote: > > > Floating point is way overused, especially in DSP. > > Huh? Try inverting mere 3x3 matrix in a fixed point. > How about something as simple as sqrt(x^2 + y^2 + z^2) ? Yeah everything can be done in one cordic core if you can afford to wait. For your matrix, there's something that goes by givens rotations that would sort your out, can be implemented over cordic too. Has better numerical properties too last time I checked. -Momo
From: Manny on 2 Aug 2010 22:26 On Aug 3, 2:37 am, glen herrmannsfeldt <g...(a)ugcs.caltech.edu> wrote: > For FFT, block floating point (one exponent for the whole vector) > is probably best, but there isn't much support in hardware. There are plenty of FFT core variants out there. Many do internal scalings to keep the dynamic range fully utilized in order to compensate for loss of precision. Some people write software that generate custom fixed-point designs that are better than your typical floating point equivalent. And when you have hardware that is configurable down to the gate level, sky is the limit. -Momo
From: glen herrmannsfeldt on 3 Aug 2010 00:00
Vladimir Vassilevsky <nospam(a)nowhere.com> wrote: > glen herrmannsfeldt wrote: >> Floating point is way overused, especially in DSP. > Huh? Try inverting mere 3x3 matrix in a fixed point. How often (fraction of the time) does DSP do 3x3 matrix inversion? > How about something as simple as sqrt(x^2 + y^2 + z^2) ? Not so hard with enough bits in fixed point. At some point there is a tradeoff between exponent bits and adding more bits to the fixed point value. -- glen |