[sdiy] Re: IIR and FIR
Veronica Merryfield
veronica.merryfield at shaw.ca
Fri Jun 6 21:48:57 CEST 2008
> Awesome, I've read the second one - this isn't new stuff really, but
> it seems that as
> I read it over and over and over, I keep picking up more.
That's how I was when I first started messing with them. A good book
or too really helps although websites are better now than then, well,
they exist now - back then I was using email to ftp to do GNU
downloads and discussing state machine CASE with a guy that was
implementing a new server protocol at CERN.
> I need to get busy and become proficient at using Octave so that I
> can analyse this
> stuff without having to "build" the filters.
It might help you some but it will probably stop short of helping with
quantisation issues with lower bit sizes unless you can force bounds
on the numbers. If you can do this, you could probably run a bounded
version in parallel with an unbounded version so you can see the
quantisation error and accumulation on a sample by sample basis.
> Thank you for these URLs.
Google is your friend :) No problem.
> So I'd assume that I need to pay the same kind of attention while
> using 18 bit signed
> fixed point as well since it's only 2 more bits.
Yes. It is easy to get overflows (usually form the series of MACs) or
data going to zero when it shouldn't. With big floats, you don't think
about order of operations, using trig functions and so on but with bit
limited floats of fixed point numbers, it becomes very important.
Personally, I think one should be concerned about this sort of thing
with bigger sized floats because although the float can represent a
large range of numbers, you still have a fundamental limit on the
amount of information you can represent based on the number of bits so
a float is a compromise.
> Hmm. I've experimented in C with this while designing filter
> implementations, I
> usually start with double, but then I will change to 64 bit signed
> fixed point
> integer arithmetic, and then I chop it down to 18 bit signed integer
> before writing
> Verilog code.
>
> It seems that it would be useful to have a way to do this
> "reduction" from float to
> fixed point with Octave - is it possible? Or should I continue
> using C for those tests?
I would probably use C and a fixed input data set for both float and
fixed however, I have found that spread sheets can be a great asset in
numerical methods and they can do the graphing in a very convenient
way - you could output to a CSV file from C and use a spreadsheet to
graph it.
More information about the Synth-diy
mailing list