I actually worked it out. It was a bug in the code. I was fine-tuning the OpenCL filter blocks in the gr-clenabled project and was seeing some discrepancies between my FFT and FIR implementations I was trying to work out. Actually I just added another command-line tool to it that'll give you theoretical max throughput on the filtering routines given a number of taps for each of these scenarios:
- OpenCL FIR---------- Forwarded message ----------
From: Ron Economos <w6rz@comcast.net>
Date: Fri, May 5, 2017 at 7:09 PM
Subject: Re: [Discuss-gnuradio] Fwd: Frequency vs time domain Filtering Anomaly
To: discuss-gnuradio@gnu.org
_______________________________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/listinfo/discuss-gnuradio
From: Ron Economos <w6rz@comcast.net>
Date: Fri, May 5, 2017 at 7:09 PM
Subject: Re: [Discuss-gnuradio] Fwd: Frequency vs time domain Filtering Anomaly
To: discuss-gnuradio@gnu.org
I use the FFT filter for root raised cosine filtering in the gr-dtv component. Here's the benchmark results for a FIR filter and FFT filter at 8 Msps and 100 taps. The CPU cycle savings is pretty dramatic. The output from both filters is sample for sample identical (well, floating point identical, which I consider to be no more than about +/- 0.000001)
FIR filter at 93.0% CPU.
so, what does your flow graph look like? for me, "naive" FIRs and FFT FIRs just do the same. Did you use the same taps for all the filters?
On 05/05/2017 09:52 PM, GhostOp14 wrote:
I actually think I figured it out. Results match now. I am still curious on anyone's thoughts on how "exact" the match is between FIR and FFT filtering in practice.
---------- Forwarded message ----------
From: Ghost Op <ghostop14@gmail.com>
Date: Fri, May 5, 2017 at 1:31 PM
Subject: Frequency vs time domain Filtering Anomaly
To: discuss-gnuradio@gnu.org
Hi everyone,
I'm trying to sort out a discrepancy I'm seeing between a frequency domain and time domain version of the same filter. What I'm running into is that my frequency domain implementation is a match for the GNURadio response, however in the time-domain version, while the filter band looks the same, the frequency domain version seems to remove more of the out-of-band signal by about 35 dB.
You can see it in the screenshot below:
In my experience with code my first assumption is I'm doing something wrong. But before I go on a bug hunt, I wanted to check with those of you who have worked with both time and frequency filters to see if my assumption that the two should be exact matches is accurate or if the result is as expected. My understanding is that applying the same filter in either the time or frequency domain should produce the same output, and this doesn't quite look "the same" enough to me. Does the forward/reverse FFT process in the frequency domain version cause some resolution/loss?
Any thoughts?
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/ listinfo/discuss-gnuradio
_______________________________________________ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org https://lists.gnu.org/mailman/ listinfo/discuss-gnuradio
______________________________
Discuss-gnuradio mailing list
Discuss-gnuradio@gnu.org
https://lists.gnu.org/mailman/
No comments:
Post a Comment