[CfP] Last week to send in your FOSDEM talk proposals! (was: [CfP] Software-Defined Radio and Amateur Radio Devroom 2024)

2023-11-24 Thread Marcus Müller

Dear community,

a friendly reminder that on the first of December, the window for handing in your talk 
proposals for FOSDEM'24's SDR and ham radio devroom closes. Make sure you send in your 
proposal by then!


Best,
Marcus


 Forwarded Message 
Subject: [CfP] Software-Defined Radio and Amateur Radio Devroom 2024
Date: Wed, 8 Nov 2023 20:52:00 +0100
From: Marcus Müller 
To: GNURadio Discussion List , usrp-users 
, sdrbelg...@lists.uba.be


Dear Friends of Free and Open Source Radio!

FOSDEM 2024, the Free and Open Source Developer’s Meeting taking place in
Brussels, Belgium, 3. & 4. February 2024, will once again feature a track on
FOSS-powered Radio; this year, there will be a combined Amateur Radio and SDR
Devroom:

https://fosdem.org/2024/schedule/track/radio/

In case you're wondering what Amateur Radio and Software-Defined Radio are, we
have a small introduction below. See the "Recommended Topics" section!

We invite developers and users of Free Software from these fields and to
contribute to this event by presenting their projects, ideas and their work.

Please read our Call for Presentations below:
See you in Brussels!

Bastien, Marc and Marcus

Submit Your Presentations!
=

To suggest a talk, go to

https://pretalx.fosdem.org/fosdem-2024/cfp

"Submit a proposal" and fill in the fields; make sure it's in the Software
Defined Radio and Amateur Radio track!

Content and Shape of Presentations
--

Please aim for your talk to be 20 to 25 minutes long, which leaves enough time
for questions & answers within a 30 minute slot. Should you definitely need
more time, we can combine time slots; but please reach out to us before
submitting your overlength talk proposal!

The final schedule will be available through Pretalx and the official FOSDEM
website. Notice that the reference time will be Brussels local time (CET).

In the Software Defined Radio and Amateur Radio devroom, we aren’t constrained
to holding slideshow presentation – bring your demo, your prototype! However,
since this is a software community conference, please refrain from offering
marketing-style presentations. Give the radio experts something to chew on! We
like the nitty-gritty technical details.

Travel Aid
--

If you are a young person, and cannot afford to travel to Brussels and stay
there, please do contact us as early as possible with an itemized estimate of
your financial needs, and remark that you've done so in your proposal's
"Submission Notes". The International Amateur Radio Union Region 1 has
generously offered to assist financially for up to two contributors.

Recommended Topics
--

Topics discussed in the devroom include, but are not limited to:

- SDR frameworks and the tools that make them useful
- New SDR-based developments in ham radio modes
- Cellular/telecom software
- Amateur radio operator software tooling
- Free / Open radio hardware
- Wireless security research
- Entertaining wireless hacks
- SDR & ham radio in mass and higher education
- Satellite, spacecraft and interplanetary communication

Software-Defined Radio is the technology of enabling radio signals to be
processed and generated algorithmically,  typically within general purpose
processors, but also within FPGAs and GPUs; Free and Open Source (FOSS)
Software Radio allows these  algorithms to be inspectable and improvable. With
the advent of ubiquitous IoT, sky-filling satellite megaconstellations and
5G/6G as standards designed with commercial Software Radios in mind, wireless
is an exploding field of interest in the FOSS realm.

Ham Radio, also known as amateur radio, is more than just a hobby orbiting the
usage of radio communication – it's a passion that merges the realms of
electronics, human interaction, and communication. At its core, ham radio is
about establishing connections: with people, with technology, and with the
world at large. It is a free and open community effort at heart!

Important Dates
===

- Submission Deadline: 1. December 2023
- Announcement of selected talks: 15. December 2023
- Conference: 3. & 4. February 2024

Organizer's Contacts


- Software-Defined Radio & Amateur Radio Matrix Space:
  https://matrix.to/#/#fosdem2024:c1.uba.be
- Devroom Chat:
  https://matrix.to/#/#sdr-and-ham-radio-fosdem24:gnuradio.org
- Amateur Radio Program Committee:
  Bastien Cabay, ON4BCY , Marc Balmer, HB9SSB 
- Software-Defined Radio Program Committee:
  Marcus Müller 

You can also find this announcement on
https://gnuradio.org/news/2023-11-08-FOSDEM24-CfP
should you want to share it.





Re: Rational Resampler - block executor error

2023-11-24 Thread Marcus Müller

Hi Al,

you'll laugh, but under the hood, the rational resampler *is* a filter! And the way you 
configured it, it has very many taps. So, the correct solution is actually to reduce the taps.


Let me quickly explain:

Here's an example for a complex baseband digital signal; already sampled at a sampling 
rate of f_sample


Figure 1: Spectrum of a discrete-time signal

What you see there is, across the a horizontal axis denoting the frequency within your 
signal, how much power there is for each "blot" of frequency; a "power spectral density" 
(PSD); we typically call this a "Spectrum".


Now, you'll notice that your signal spectrum is periodic – it repeats every multiple of 
f_sample. In complex baseband, we typically "try really hard to forget that" and just deal 
with one of these repetitions – the "zero-centered" (hence the name, baseband) swath from 
-f_sample/2 to +f_sample/2 (darker green).


As you can infer from that repetition, a discrete-time signal (so, any signal that you 
deal with in GNU Radio: signal is represented by values, so-called samples, one after the 
other, not by some smooth function) can only hold frequency content if the whole 
represented signal fits inside the sampling rate – otherwise, due to the periodicity, 
something from another repetition "zone" (say, from the –3/2 f_sample to - 1/2 f_sample 
zone) overlays your original zone. We call that phenomenon "aliasing", by the way.


That's exactly what happens when you reduce the sampling rate. Say, we throw away every 
even sample, and get half as many samples per second. What happens? We halfed the number 
of samples, so we halfed the sampling rate; we should just be able to relabel the 
horizontal axis, right?



Figure 2


But wait, we've just learned that the spectrum repeats every sampling rate multiple – now 
f_sample,new; and we see that in the spectrum, also (now in blue):


Figure 3: Now with aliases!

Uh-oh. Now the green original and the blue repetitions overlap, within our nice 
-f_sample,new / 2 to +f_sample,new / 2 baseband. That's not usable anymore!


So what the clever signal processing person does is go back and first low-pass filter the 
original signal to the part that will not overlap. We know how wide that part can be: as 
wide as the new sampling rate, so in this case, half the original bandwidth:


Figure 4: Low-pass filtered (to half bandwidth) original signal at original 
sampling rate

and now throwing away every other sample, i.e., reducing the sampling rate to 
its half:

Figure 5: Low-pass filtered (to half bandwidth) original signal at half 
sampling rate


Oh neat, no spectral overlapping!


Coming back to what your resampler does: It is a "filter to the new 1/M bandwidth, then 
throw away every but the M. samples" block. When set to decimation = 2 (so, M=2), it does 
what you see above!


But, your decimation is M=800. That means the filtering needs to first restrict the green 
signal to 1/800 of its original bandwidth. Doing that filtering takes a very complicated 
(long) filter. If you ever heard of the Heisenberg uncertainty principle, that you can't 
know the impulse (hence the frequency) of a particle and its location at the same time 
more exactly than a specific constant, the same math underlies this principle: narrow 
filters, or more precisely, filters that are very sharp in the frequency domain, need to 
be very long and drawn out in the time domain.


So your filter is 27861 taps long – and GNU Radio fails to construct a method of getting 
so many samples for a single iteration of the filter into the filtering, so it tells you 
"hey, you want only sample packets of at least 27862 samples, but the most I could offer 
you at once is 8192, sorry, this can't work out".



**How to solve it**, now, is realizing that you don't need to do all this at once. How 
about you do


--> resampler decimation=8 --> resampler decimation=4 --> resampler decimation=5 --> 
resampler decimation=5


That achieves the same result, decimation by 8·4·5·5=800 but with much shorter filters 
(and more of these filters can also run at a lower sampling rate, which is also 
computationally cheaper).


Cheers,
Marcus

On 24.11.23 07:28, Al Grant wrote:

I am still trying to learn how GR works.

Coming from Java the idea of being able to do some processing there
interests me.

So I am trying to use a baseband file from SDR++ as a file source, and
process it in such a way that I can get the amplitude in Java. I
presume this would mean reading in the bin file and decoding the bits
to the I and Q values.

The source file is an unmodulated pulse on about 160.7807Mhz about 2
times per second.

Here is my block setup:https://imgur.com/a/B2HqCKc
And a link to the github project with the baseband file :
https://github.com/bigalnz/java_test

The issue I am currently having :

block_executor :error: sched:  (1)> is requesting more input
data  than we can provide.  ninput_items_required = 27862
max_possible_items_available =