Wednesday, February 17, 2021

Re: Resampling radio data

Rough performance estimate:

for a 1/10 transition width filter (which is sufficient to keep 20 of 25 MHz Nyquist), you
need an expertly guesstimated [1] 24-ish taps, so go for 25 taps: that happens to be
exactly the minimum filter length that we can use in an 25-interpolating rational
resampler and still do the full polyphase decomposition trick to run the filter at the
least rate of the system.

For "1 tap per branch", I have a rough 60 MS/s for *my PC* in mind. So, My guess is that
it will work for 46->50 MS/s, not for 92->100 MS/s, on *my PC*.

Problem: this is an inherently badly multi-threadable workload, unless I'm overlooking
something. So, having 48 cores isn't better than having 2.

Best regards,
Marcus

[1]
https://dsp.stackexchange.com/questions/31066/how-many-taps-does-an-fir-filter-need/31077#31077
On 16.02.21 23:09, Jeff Long wrote:
> It's not likely you will get the GR resamplers to run at those rates, but give it a try,
> see if you drop samples, and run "top" to check CPU load.
>
> On Tue, Feb 16, 2021 at 4:14 PM Mark Koenig <mark.koenig@iubelttechnologies.com
> <mailto:mark.koenig@iubelttechnologies.com>> wrote:
>
> Hello,____
>
>   ____
>
> I am receiving data from a radio at 23Msps, and I would like to resample to a rate of
> 25Msps in which my software program can ingest it.  I am aware of the Fractional
> Resampler and the Rational Resampler.  Is one better than other, take less CPU cycles,
> etc.?  Is there a different block which would suit my needs more efficiently?  Should
> I instead look to implement the resampling within C++ as opposed to adding another
> block to my flowgraph?____
>
> __ __
>
> I am going to do the above with the following rates:  46Msps -> 50Msps, 92Msps ->
> 100Msps.____
>
> __ __
>
> Thank you____
>
> __ __
>
> Mark____
>

No comments:

Post a Comment