# FM modulation - all negative values somehow become positive

1 回表示 (過去 30 日間)
xiaofan yang 2016 年 3 月 23 日

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
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')

サインインしてコメントする。

### 採用された回答

Vidya Viswanathan 2016 年 3 月 31 日
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.
Regards,
Vidya

サインインしてコメントする。

### カテゴリ

Help Center および File ExchangePulse and Transition Metrics についてさらに検索

### Community Treasure Hunt

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

Start Hunting!

Translated by