Effacer les filtres
Effacer les filtres

FM Radio (Transmitter + Receiver) in Matlab

32 vues (au cours des 30 derniers jours)
Zadran
Zadran le 11 Juil 2014
Hello all. I want to design an FM radio (transmitter + receiver) using Matlab (not Simulink). Is it possible in Matlab? If yes, how? I am using stereo headphones as antenna on my laptop but I don't know how to get the signal from the headphone into Matlab code. Best regards.
  5 commentaires
nanren888
nanren888 le 10 Jan 2019
So, you're not actually wanting to use Matlab to do design, you want to use Matlab to implement the receiver.
Clearly, you're going to have to invest in some hardware.
Maybe while googling for that, consider also googling gnuradio and similar.
Mohammed Irfan Kalathil Parambil
How do we design an FM transmitter and reciever using Simulink?

Connectez-vous pour commenter.

Réponse acceptée

Ethem
Ethem le 20 Mar 2019
Modifié(e) : Darel le 25 Juin 2021
  9 commentaires
Mohammed Irfan Kalathil Parambil
Also could we use an awgn channel to transmit signals?
Ethem
Ethem le 15 Juin 2021
Modifié(e) : Ethem le 25 Juin 2021
@Mohammed Irfan Kalathil Parambil, you can transmit any signal with these models including music. It will just FM modulate and send through the SDR device. You will need an SDR device. See the list above. Regarding AWGN channel, since you will be using an SDR device, you will have a real channel. If we only consider the channel effects, assuming you have a line-of-sight setup and a short distance, it can be approximated as an AWGN channel. But, you will still see the hardware impairments, such as timing and frequency offsets. So, when you have SDR devices, you will never have an AWGN only channel.

Connectez-vous pour commenter.

Plus de réponses (1)

saeed S
saeed S le 22 Mai 2022
انتهى %For the option to change default settings, set cmdlineInput to 1. cmdlineInput = 0; if cmdlineInput % Request user input from the command-line for application parameters userInput = helperFMUserInput; else load('defaultinputsFM.mat'); end
% Calculate FM system parameters based on the user input [fmRxParams,sigSrc] = helperFMConfig(userInput);
% Create FM broadcast receiver object and configure based on user input fmBroadcastDemod = comm.FMBroadcastDemodulator(... 'SampleRate', fmRxParams.FrontEndSampleRate, ... 'FrequencyDeviation', fmRxParams.FrequencyDeviation, ... 'FilterTimeConstant', fmRxParams.FilterTimeConstant, ... 'AudioSampleRate', fmRxParams.AudioSampleRate, ... 'Stereo', false);
% Create audio player player = audioDeviceWriter('SampleRate',fmRxParams.AudioSampleRate);
% Initialize radio time radioTime = 0;
% Main loop while radioTime < userInput.Duration % Receive baseband samples (Signal Source) if fmRxParams.isSourceRadio if fmRxParams.isSourcePlutoSDR rcv = sigSrc(); lost = 0; late = 1; elseif fmRxParams.isSourceUsrpRadio rcv= sigSrc(); lost = 0; else [rcv,~,lost,late] = sigSrc(); end else rcv = sigSrc(); lost = 0; late = 1; end
% Demodulate FM broadcast signals and play the decoded audio
audioSig = fmBroadcastDemod(rcv);
player(audioSig);
% Update radio time. If there were lost samples, add those too.
radioTime = radioTime + fmRxParams.FrontEndFrameTime + ...
double(lost)/fmRxParams.FrontEndSampleRate;
end
% Release the audio and the signal source release(sigSrc) release(fmBroadcastDemod) release(player)

Catégories

En savoir plus sur Communications Toolbox dans Help Center et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by