On 03/01/2023 17:31, Karen young wrote:
Hi Marcus,
Great! I removed the high pass filter for comparison,
do see much less underflow and overflow errors.
May I ask how do the over 1000 taps come from? I do not
understand how you get this number.
If I have to use a high pass filter, how to reduce its
effect on slowing down the operation speed?
Thanks
Karen
If you use the "High Pass filter taps" object, and hand it the same
parameters you used, then do a len(x) on
that object, it comes back at 1250.
The length of a FIR filter is proportional to the ratio between the
sample-rate and the transition width. Gnu Radio
uses a version of the Parks-McLellan filter-design algorithm
(which is in turn a variant of Remez Exchange).
The algorithms try to find a filter that is optimal both in length
and passband parameters. The filter length tends
to grow considerably as this ratio gets larger.
This is basic DSP stuff, and not specific to Gnu Radio. ANY DSP
framework that uses FIR filters will have similar
issues.
Now what you might want to do is generate the taps with the "High
Pass Filter Taps" object, and then use those taps
as the coefficients in a generic FFT filter--the FFT filters tend
to be more computationally efficient for larger numbers
of taps, where "larger" is somewhat system specific, but I tend to
use them for anything where there are more than
about 50 or 60 taps.