Python Model an FPGA FM Radio Demodulator in Python

AI Thread Summary
The discussion revolves around modeling an FPGA FM radio demodulator in Python, specifically focusing on the process of undersampling and resampling an FM signal. The user is attempting to convert an FM channel to a 36MHz intermediate frequency (IF) and then undersample this signal. They have a high sample rate of 3MSPs for an FM signal centered at 1.2MHz with a bandwidth of 200KHz and are trying to resample it down to 525KSPs. The user expresses confidence in their understanding of undersampling but struggles with resampling, as the output at baseband appears incorrect. They question whether the effects of undersampling can be achieved through resampling in the digital domain, noting that they believe these processes are fundamentally different. The discussion highlights the complexities of digital signal processing and the challenges faced when attempting to replicate undersampling effects through resampling techniques.
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.
 
Dear Peeps I have posted a few questions about programing on this sectio of the PF forum. I want to ask you veterans how you folks learn program in assembly and about computer architecture for the x86 family. In addition to finish learning C, I am also reading the book From bits to Gates to C and Beyond. In the book, it uses the mini LC3 assembly language. I also have books on assembly programming and computer architecture. The few famous ones i have are Computer Organization and...
I have a quick questions. I am going through a book on C programming on my own. Afterwards, I plan to go through something call data structures and algorithms on my own also in C. I also need to learn C++, Matlab and for personal interest Haskell. For the two topic of data structures and algorithms, I understand there are standard ones across all programming languages. After learning it through C, what would be the biggest issue when trying to implement the same data...
Back
Top