AM modulation and demodulation
4 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Eleftherios Kostakis
le 26 Mai 2020
Réponse apportée : SINETHEMBA MNGUNI
le 16 Oct 2020
Hello, I have this signal m(t) = cos(2*pi*t), and the AM signal of m : y = (Ac + m).*cos(2*fc*pi*t).
The first plot is the original signal, the second plot is the AM signal and the last is the envelope of the modulated signal.
I want to get the original signal so I try to do demodulation to AM signal, using z = amdemod(y,fc,fs) and next get the envelope of the demolated singal
but I get again the AM's signal envelope. As you see y axis is in range (1,3) but I want it in range (-1,1) like the orginal signal. I want just to deduct the Ac I added in (Ac + m), to get the original, but with amdemod() I don't get that result.



0 commentaires
Réponse acceptée
Sebastien Dupertuis
le 27 Mai 2020
I think that by removing the mean (DC offset) of your demodulated signal in figure 3, you will then get your signal within the range (-1,1):
m = m-mean(m);
I would write an amDemod function like this:
function m = amDemod(s,fc,fs,n)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Function amDemod()
% Goal : Demodulation of an AM signal
% IN : - s : AM modulated signal
% - fc: Carrier signal frequency
% - fs: Sampling frequency
% - n : Number of carrier signal periods
% IN/OUT: -
% OUT : - m : Original demodulated signal
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Rectify the modulated signal
s = abs(s);
% Set the number of samples on which to do the moving average
k = round(n*fs/fc);
% Take the moving average
m = movmean(s,k);
% Remove the DC offset
m = m-mean(m);
end
Hope this helps.
0 commentaires
Plus de réponses (1)
SINETHEMBA MNGUNI
le 16 Oct 2020
Hi, I need to modulate and demoduate an Audio.wav signal, how can I go about it?
0 commentaires
Voir également
Catégories
En savoir plus sur Modulation dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!