From: Vincent Pellissier on 9 Aug 2010 17:37 Pete Fraser wrote: > "Steve Pope" <spope33(a)speedymail.org> wrote in message > news:i3p8af$btu$1(a)blue.rahul.net... >> Pete Fraser <pfraser(a)covad.net> wrote: > >>> Perhaps we're talking at cross purposes here, or there's something >>> I don't understand. The Magnitude response estimate is -80 dB >>> at DC. It should be 0 dB in the passband. >> Okay that's not good. >> >> But it looked okay in full floating point? > > Yes. > >> Do you have the option of quantizing just the coefficients, and >> not the data path? That is the first step. > > Unfortunately not. > >>> It does. I need 6th order, and 96 dB dynamic range, but I've >>> been setting FDATool to much greater coefficient accuracies and >>> data-path resolutions than you're suggesting. There must be some >>> aspect of the tool I'm not understanding (or, as Rick Lyons suggested, >>> there are problems with it). >> Yes, it's not sure it is worth the time to sort this out, when >> you have just one filter to design. > > I've got many filters to design (on this project). > Also, I think Matlab will be a good tool for future projects. > In the past almost all my projects were video. > Recently I've been doing audio and data acquisition, hence the > interest in IIR. > >> The (full-precision) coefficients >> themselves are probably good; and you can just go with them in a design. >> However it seems the tool is not helping you make other design >> decisions, such as DF vs. ARMA, or helping you study precisions. > > The Matlab sales guy said that I could do a phone conference with > a Matlab support guy if I needed talked through something. > Maybe I'll take him up on that. > > Pete > > Hi Pete, The FDATool and filterbuilder GUIs do static range analysis. This works well to convert FIR filters to fixed-point but because of their recursive nature, IIR filters are difficult to fine tune without running data through them. If you are comfortable with MATLAB, you can either export your design from FDATool/filterbuilder (or start your design with fdesign.lowpass) and use the autoscale() and qreport() functions to perform dynamic range analysis. Here is a demo to get started with the conversion of an IIR filter from floating-point to fixed-point: http://www.mathworks.com/products/filterdesign/demos.html?file=/products/demos/shipping/filterdesign/iirfloat2fixeddemo.html The demo uses a Chebyshev Type I design but you can simply replace 'cheby1' with 'butter' to experiment with Butterworth designs. A second demo might be of interest if you want to compare different structures (e.g. DF1SOS vs. DF2SOS): http://www.mathworks.com/products/filterdesign/demos.html?file=/products/demos/shipping/filterdesign/iirautoscaledemo.html Hope this helps, Vincent
First
|
Prev
|
Pages: 1 2 3 Prev: Quad function - how to pass additional argument Next: Wavelet-Galerkin |