Hi Has anyone written their own fft function for the dsPIC ? (NOT the supplied library fft). I need a fft for measuring signal in noise and not being a DSP person would prefer to implement it rather than write it from scratch. The dsPIC library scales the data by 1/N which limits the dynamic range of the fft. I can post scale and run the fft again until I have a usable number - its just a lot of extra processing. Thanks in advance.
FFT code for dsPIC
Started by ●May 10, 2008
Reply by ●May 10, 20082008-05-10
On May 10, 7:46�am, "charlyb" <c...@eca.co.za> wrote:> Hi > > Has anyone written their own fft function for the dsPIC ? (NOT the > supplied library fft). > > I need a fft for measuring signal in noise and not being a DSP person > would prefer to implement it rather than write it from scratch. The dsPIC > library scales the data by 1/N which limits the dynamic range of the fft. > > I can post scale and run the fft again until I have a usable number - its > just a lot of extra processing. > > Thanks in advance.you not going to get any more dynamic range unless you use floating point or 32 bit fixed point FFT
Reply by ●May 10, 20082008-05-10
I am not sure this is true. Before 32bit fixed point and floating point DSP were introduced, everybody have to work on 16 bit or even 8 bit processor. Many techniques have been developed to gain high dynamic range. Among them the most popular one is called block floating point FFT. This method simply carefully scales each stage of FFT to maximize its calculation dynamic range. The problem of 1/N is naturally part of this process. Charlyb, you can find the solution on older textbooks. James www.go-ci.com