FM Radio in Matlab

Hello all. I want to design an FM Radio (Receiver + Transmitter) in Matlab. Is it possible to do so in Matlab? If yes, how? I will use stereo headphone as the antenna. Regards.

6 Comments

Can you explain more? Are you trying to transmit and receive Real Life FM Radio signals? There have been some papers on this http://scholarworks.boisestate.edu/td/85/ Or http://www.mathworks.com/help/rtlsdrradio/examples/fm-stereo-receiver-with-rtl-sdr-radio.html but how are you going to capture/transmit FM from headphones? Where are you plugging in the headphone (A/D converter?)
Zadran
Zadran on 14 Jul 2014
Thanks Cheng for your valuable reply which I really appreciate. I have already gone through the two links which you provided and other related links too. However, they helped me little, if any, so I posted my question here.
As you asked, yes I am trying to transmit and receive Real Life FM Radio signals. Or may be amateur radio signals will also be OK. Let me explain a little more: I want to make an FM Radio whose processing in done Matlab on a laptop. It should consist of two parts: 1. Receiving the real life FM signals, 2. Doing relevant DSP on the received FM signals.
Presently I am struck in the first part. I don't know how to capture the FM signals to make the receiver. I am plugging in my headphones into an ordinary headphone socket on my Dell laptop. I think I may be too naive to think that all the A/D conversion is done automatically at the socket. I think of it just like the headphones are used in a mobile phone as an antenna.
So how do I capture the FM signals and make make them available for DSP in Matlab to make FM receiver.
The following is the Matlab code I am using to acquire the FM signal (which may be an absolute exercise in futility, but I don't know of any other idea).
MyRec = audiorecorder; % Recording voice from headphone. But as radios
% use them, a PC too should get the same RF signals.
disp('Start speaking.'); % Just for display
recordblocking(MyRec, 3); % Get RF signal for 3 seconds
disp('End of Recording.');
% Store data in double-precision array.
myRecording = getaudiodata(MyRec); % Storing the sound in an array.
myRecording = 500*myRecording; % Amplification
You may get an idea what I want to do and guide me in the right direction.
Zadran
Zadran on 14 Jul 2014
The rest of the relevant DSP will follow but I want to make sure if I am going in the right direction.
Joseph Cheng
Joseph Cheng on 14 Jul 2014
Edited: Joseph Cheng on 14 Jul 2014
You probably will not be able to receive signals from your headphone jack. You can probably transmit from it but headphone jack A/D conversion is output only. You can probably do something with the microphone jack but then again i do not know the A/D sampling will be in the FM range. Doing a quick search online I see that the headphone and microphone jack is in the 22.05 or 24 kHz range and if memory serves me correctly FM radio is in the VHF part of the radio spectrum and thus in the 100 MHz range.
In your comment about how the mobile phone uses the headphone cord as an antenna you are correct however the mobile device has extra circuitry that your laptop doesn't. it has extra circuitry to separate the radio frequency and the audio frequency.
How much $$$ are you willing to spend on this endeavor?
Zadran
Zadran on 15 Jul 2014
Thanks Cheng for sharing your knowledge. I will keep working on. If the headphone jack can do A/D conversion in 22.05 to 24kHz range, I will for AM instead.
And I am not spending any $$$ on it as it is just for my own learning. Thanks a lot for your help which I really appreciate.

Sign in to comment.

Answers (0)

Categories

Find more on Signal Processing in Help Center and File Exchange

Asked:

on 11 Jul 2014

Commented:

on 15 Jul 2014

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!