Model an FPGA FM Radio Demodulator in Python

Click For Summary
SUMMARY

This discussion focuses on modeling an FPGA FM radio demodulator in Python, specifically addressing the challenges of undersampling and resampling. The user is attempting to convert an FM signal at 1.2MHz with a bandwidth of 200KHz to a lower sample rate of 525KSPs after applying a bandpass filter (BPF). The user expresses confidence in understanding undersampling but struggles with the resampling process, leading to poor results at baseband. The conclusion drawn is that undersampling and resampling are fundamentally different processes, which may explain the issues encountered.

PREREQUISITES
  • Understanding of digital signal processing concepts, particularly undersampling and resampling.
  • Familiarity with Python programming for signal modeling.
  • Knowledge of bandpass filter (BPF) implementation in signal processing.
  • Experience with FPGA design principles related to signal processing.
NEXT STEPS
  • Research the differences between undersampling and resampling in digital signal processing.
  • Explore Python libraries for signal processing, such as SciPy or NumPy, to implement BPF and resampling techniques.
  • Study the Nyquist-Shannon sampling theorem and its implications for FM signal processing.
  • Examine practical examples of FM demodulation in Python to understand common pitfalls and solutions.
USEFUL FOR

This discussion is beneficial for digital signal processing engineers, FPGA developers, and Python programmers interested in FM demodulation techniques and the nuances of sampling methods.

Jyan
Messages
36
Reaction score
2
I am trying to model an FPGA FM radio demodulator in Python. I will have a mixer that converts an FM channel to 36MHz IF, and I plan on undersampling this IF signal. If in the digital world (my Python model), I have a high sample rate FM signal at 1.2MHz, should I be able to resample to a lower sample rate (after using a BPF ofc) and obtain the same aliasing down to baseband?

My understanding is that this should be possible, it just doesn't seem to be working. I am confident I understand undersampling 100%, but am not so sure about resampling... When I resample the FM modulated signal I get complete garbage at the baseband. My high sample rate is 3MSPs, the FM signal is sitting with 200KHz bandwidth and a centre at 1.2MHz. I am resampling to 525KSPs, if this were undersampling then the FM signal would be sitting in the 5th nyquist zone. But does it work the same digitally?
 
Technology news on Phys.org
Thanks for the post! Sorry you aren't generating responses at the moment. Do you have any further information, come to any new conclusions or is it possible to reword the post?
 
I can add some more details. For now I have kind of sidestepped the problem.

The essential question is whether the effects of undersampling, (see: https://en.wikipedia.org/wiki/Undersampling) can be replicated in the discrete time domain via resampling (see: https://en.wikipedia.org/wiki/Decimation_(signal_processing) , https://en.wikipedia.org/wiki/Upsampling). Currently, I think it is actually not possible, resampling and undersampling are fundamentally different, but I'm not certain. I am by no means an expert in digital signal processing.
 

Similar threads

Replies
74
Views
10K
Replies
7
Views
4K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 4 ·
Replies
4
Views
5K
  • · Replies 1 ·
Replies
1
Views
11K
  • · Replies 1 ·
Replies
1
Views
6K
  • · Replies 6 ·
Replies
6
Views
7K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 2 ·
Replies
2
Views
2K