Thanks Marcus. Time to put this to the test:
https://imgur.com/a/hRsYAFu I need a way to test that the values I detect in java are the same values that I get in GR. I tried a Message Debug connected to the output of "Complex to Mag" but that gave me a red arrow so not allowed. Any suggestions? Thanks A On Tue, Nov 28, 2023 at 2:07 AM Marcus Müller <mmuel...@gnuradio.org> wrote: > > 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 > -- "Beat it punk!" - Clint Eastwood