Gr.firdes.band_pass

Does firdes.band_pass always produce a working filter?

I assume that it uses the Remez exchange algorithm to do its work. What
happens if you ask for
for a filter that can’t be realized?

Right now, I have a bunch of filters that are roughly 200Hz wide, and
I’d asked firdes.band_pass to
produce filters that had 5Hz transition bands. The result was a CPU
hog, so I backed-off to transition
bands that are roughly 20Hz wide. Less CPU usage now. Is there any
way to tell if firdes.band_pass produced
a correctly “converged” filter?


Marcus L.
Principal Investigator
Shirleys Bay Radio Astronomy Consortium

On Sat, Apr 3, 2010 at 21:56, Marcus D. Leech [email protected] wrote:

Is there any
way to tell if firdes.band_pass produced
a correctly “converged” filter?

As far as I know, if it fails to converge, it will throw an exception.
I’d have to go look at the code to be sure.

Johnathan

On Apr 3, 2010, at 11:56 PM, “Marcus D. Leech” [email protected]
wrote:

Does firdes.band_pass always produce a working filter?

Yes, as long as the parameters are in order. If the filter is too
long, you might have a problem, but this is just a guess to cover my
blatant “yes.” By too long, I mean huge and nothing I’ve run into.

I assume that it uses the Remez exchange algorithm to do its work.
What
happens if you ask for
for a filter that can’t be realized?

Gr.firdes uses the windowed filter approach. You use blks2.optfir for
the Remez-based equiripple filters. Then, you’ll be subjected to all
of those restrictions, but it should throw an exception if the Remez
can’t converge.

Tom