![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/173911/image.jpeg)
FM modulation - all negative values somehow become positive
2 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
xiaofan yang
le 23 Mar 2016
Réponse apportée : Vidya Viswanathan
le 31 Mar 2016
I'm having a weird issue. I'm testing a simple FM modulator - demodulator. I run the code below and this is the graph I get
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/158588/image.png)
As you can see all the negative values magically become positive. But I'm really just doing a simple modulation and demodulation. What is the issue here?
Fs = 20e6;
fc=200;(Hz)
fDev = 150000;
t = (0:1/Fs:0.2)';
x = sin(2*pi*30*t)+2*sin(2*pi*60*t);
txsig = fmmod(x,fc,Fs,fDev);
dataOut = fmdemod(txsig,fc,Fs,fDev);
plot(t,x,'c',t,dataOut,'b--');
xlabel('Time (s)')
ylabel('Amplitude')
legend('Original Signal','Demodulated Signal')
0 commentaires
Réponse acceptée
Vidya Viswanathan
le 31 Mar 2016
Hi,
I notice that the value of frequency deviation that you have specified is very high. This could result in over modulation which is probably why you are not getting the original signal back. If you specify the value of frequency deviation to a lower value, say 50, you would be able to restore the original signal. For example,
Fs = 20e6;
fc=200;(Hz)
fDev = 50;
t = (0:1/Fs:0.2)';
x = sin(2*pi*30*t)+2*sin(2*pi*60*t);
txsig = fmmod(x,fc,Fs,fDev);
dataOut = fmdemod(txsig,fc,Fs,fDev);
plot(t,x,'c',t,dataOut,'b--');
xlabel('Time (s)')
ylabel('Amplitude')
legend('Original Signal','Demodulated Signal')
The plot obtained for the above code is shown below.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/173911/image.jpeg)
I hope this answers your query.
Regards,
Vidya
0 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur PHY Components 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!