[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Discuss-gnuradio] GMSK at 768kb/sec and other good stuff

From: Eric Blossom
Subject: Re: [Discuss-gnuradio] GMSK at 768kb/sec and other good stuff
Date: Mon, 21 Nov 2005 14:13:28 -0800
User-agent: Mutt/1.5.6i

On Mon, Nov 21, 2005 at 08:52:24PM +0000, Robert McGwier wrote:
> Your latter suggestion (do it in blocks) with a once per block 
> integrator makes perfect sense and would save many ticks.  
> Mathematically, it is nearly identical.  Since we are taking a perfect 
> average for the block, we would have to change the integration time 
> constant on the IIR to accomodate varying block sizes, but I see this as 
> no problem would be a computational win.
> Thanks,
> Bob

> Martin Dvh wrote:
> >You could use a decimating fir with no window (use all samples)
> >and taps (1.0/ntaps,1.0/ntaps,1.0/ntaps,1.0/ntaps, .....)
> >and decimation==ntaps
> >followed by a single pole IIR (running at a much lower rate)
> >What you win by this is the more efficiant SIMD implementation of FIR 
> >versus IIR.
> >You could also make a block which just adds up a whole block of samples
> >Then divide the result by the number of samples, followed by a single pole 
> >IIR.  This way you avoid the tap multiplication.
> >(I used this once for DC-removal in a test gnuradio ADC frontend)

These are all good ideas.

Absent any measurement data that says that any of this matters, I
suggest we ignore the issue (premature optimization...)  The single
pole IIR is implemented inline and requires 2 multiplies and 1 add per
sample, versus 1 procedure call, 1 multiply and 1 add for the FIR.
I doubt the DC removal is above 1% of the CPU consumption of the
receiver.  oprofile would give us real data.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]