Have been experimenting with implementing an SDR on a RPI Pico 2.
I put together a bare bones SDR for narrowband FM

Diagram created with https://app.diagrams.net/ Source: (remove the .txt extension)/cfs-file/__key/communityserver-discussions-components-files/91/pico2sdr.drawio.txt
The input is IF is oversampled, frequency translated to baseband, filtered, and then decimated by a factor of 3. A polar discriminator demodulates the narrow FM signal and is low-pass filtered and output to an I2S DAC.
As a first test I am applying a narrowband FM signal directly to the ADC input of the pico2

The I2S DAC I used has a class-d BTL output. I had to add an LC filter to the output for the scope to display the audio output and not the class-d pulse train.
A few different input signals and demodulated output shown on my o-scope




When the input is below 10 mVpp the SDR starts to struggle.
The output amplitude is a function of the frequency deviation, not the input amplitude.
Pretty cool.






