FM radio receiver

Just made a FM radio receiver (code will be avaliable on SVN shortly) in LabView. The whole point is not to listen to the radio.. the idea was just to warm up to LabVIEW hehe, as I have said before I havent touched LabVIEW for almost a year, needed some warm up..

Anyway, the whole thing is very simple:

RF -> VSA -> IQ Data -> Demodulate using m[n] = (dI[n] * Q[n] – dQ[n] * I[n]) / (Q^2[n] + I^2[n]) -> Bessel LPF -> Sound

This works perfectly, as long as you have a signal thats very strong (ie a transmitter right next to the receiver). The problem is when the SNR isnt large enough (the exactly region isnt really determined since I don’t care that much about this FM receiver), somewhere along the line the decoding goes haywire, and the LPF breaks everything if it is set to continuous (no initialization on entrant). I don’t know why it’s breaking, but I do know if you turn off reinitialize the decode works fine for low SNR stations (although you have noticable delays and clicks).

Theres no apparent cause of this, and its hard to tell whats going on since the filters are library calls in LabVIEW. This isnt really where I should be focusing on, so I’m just going to let this slide and turn off the filter initialization feature..

Now the real research begins! First up, I’m doing some literature review on what people have done on channel sensing

Leave a Reply

Spam protection by WP Captcha-Free