discuss-gnuradio
[Top][All Lists]
Advanced

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

Re: Rational Resampler - block executor error


From: Marcus Müller
Subject: Re: Rational Resampler - block executor error
Date: Mon, 27 Nov 2023 14:06:55 +0100
User-agent: Mozilla Thunderbird

Hi Al,

On 27.11.23 06:44, Al Grant wrote:
Thanks for the detailed reply Marcus.

you're most welcome!

*M=800*
Where is M=800 in my rational resampler? I see looking at the link to the
picture I posted I had Decimation=100 (is M shorthand for decimation?)

https://imgur.com/a/B2HqCKc shows "Rational Resampler" with "Decimation: 800", 
not 100.

*PICTURE*
To your picture:

[image: image.png]

But my sample only has a repeating tone on 1 frequency, but in the picture
above with frequency on the x axis (and power on the y?), and  3 peaks I
have circled in red, at first glance I would have said this shows a signal
on the 3 different frequencies?

No, it doesn't have 3 different frequencies! You missed my point there: this is *one* signal. The frequency axis extends to - infinity and to + infinity; there's infinitely many (light green) repetitions, not 3, in a discrete-time signal. (I just couldn't draw infinitely wide pictures!) We just conveniently decide that, to look at the signal, it suffices to look at the baseband one repetition, the dark green one.

It does suffice to describe all the information in the signal! But: it breaks down when you do things like decimating or interpolating, because suddenly you get the effects of these repetitions you "just tried very hard to forget about" :D

I am assuming you didn't mean what I have written above, but I
can't reconcile the picture with the concept you are trying to convey.

Hope the above helps!


*FILTER TYPE*
I see you have suggested a series of resampling filters, instead of 1 big
one, is that for computing efficiency or because it wont work the way I
expect the way I have done it?

What is the difference between just a straight decimating block and
rational resampler?

If you choose to use a filter that cuts out the lower 1/M of the original bandwidth, it's the same. (assuming the rational resampler is set to "Interpolation: 1")

*BASEBAND*
Since my original post I have a slightly better understanding of a baseband
file. Correct me if I get it wrong, but for example a RTL-SDR can capture
baseband at 2.4Mhz (i.e. spectral width).

Sounds right!

To my example I am interested in
160.100Mhz to 160.200 with 100 channels spaced at 160.100, 160.110Mhz etc
etc.

So, a bandwidth of 100 · 0.01 MHz, if I get you correctly, or 1 MHz. Add a bit "left and right", because the analog filters aren't perfect, so maybe 1.2 MHz, just because we can trivially afford to be so generous.

So in one baseband file I can capture all 100 channels. Cool.

Exactly!

For the moment I just want to focus on 1 disaster (channel) at a time, and
am interested in getting the file into Java and doing the processing there.

And you seem to be doing the right thing in principle (I didn't look at the numbers being sensible here): you're selecting a single channel, say "OK, because that channel is only 1/M of the overall bandwidth, I decimate by M".

The thing I'm not understanding about your flow graph is then why the following low-pass filter at all? (it's also incorrectly parameterized, as far as I can tell, because your input sampling rate wasn't 32 kHz (as specified in the low-pass filter) times 800 (=25.6 MHz) (or 100, assuming the 800 was a typo, so 100·32 kHz = 3.2 MHz), but probably a bandwidth that your RTL dongle actually supports.)


Best regards,
Marcus



reply via email to

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