How do you add noise to an FM signal?

3 Ansichten (letzte 30 Tage)
Jared Joselowitz
Jared Joselowitz am 9 Sep. 2020
This is Frequency modulation where
where
Question:
I have been able to modulate the message signal m(t) and demodulate it suing this code:
fc = 1000;
Ac = 5;
t0 = 0.2;
ts = 0.00000001;
fs = 1/ts;
t=[0:ts:t0];
m = 10*t.*(t>=0 & t<=0.1)+(2-10*t).*(t>0.1 & t<=0.2)+0.*(t>0.2);
u = Ac*modulate(m,fc,fs,'fm'); %% modulate the message signal
y = demod(u,fc,fs,'fm'); %% demodulate the message signal
y = y/(6.275*10^-5); %% scale the demodulated signal
figure(6)
subplot(2,1,1)
plot(t,m(1:length(t)));
title('Original Message signal m(t)')
xlabel('Time (s)')
ylabel('Amplitude')
subplot(2,1,2)
plot(t,y);
title('Demodulated Message Signal')
xlabel('Time (s)')
ylabel('Amplitude')
I now need to add noise to the signal according to the above formula of y(t) = u(t) + n(t)
where n(t) = nc(t).cos(2\pi fc.t) - ns(t).sin(2\pi fc.t)
How do I add this noise to u(t) using rand or randn ?

Antworten (2)

Hiro Yoshino
Hiro Yoshino am 9 Sep. 2020
You can check this up:
Basically you should follow this:
  1. white noise
  2. apply filter with the cutoffs both ends in the frequency domain
  3 Kommentare
Jared Joselowitz
Jared Joselowitz am 10 Sep. 2020
I have added the noise however, the demodulated signal is indestinguishable from the orignal message signal:
fc = 1000;
Ac = 5;
kf = 25;
t0 = 0.5;
ts = 0.00000001;
fs = 1/ts;
t=[0:ts:t0];
df = 0.45;
nc = 0.2;
ns = 0.2;
m = 10*t.*(t>=0 & t<=0.1)+(2-10*t).*(t>0.1 & t<=0.2)+0.*(t>0.2);
u = modulate(m,fc,fs,'fm');
n = nc*cos(2*pi*fc*t) - ns*sin(2*pi*fc*t);
y = u + n;
dem = demod(y,fc,fs,'fm'); % demodulate the nosey signal
dem = dem/(8.7275*10^-5); % scale the signal
figure(1)
subplot(2,1,1)
plot(t,m(1:length(t)));
title('Original Message signal m(t)')
xlabel('Time (s)')
ylabel('Amplitude')
subplot(2,1,2)
plot(t,dem);
title('Demodulated Noisy Message Signal')
xlabel('Time (s)')
ylabel('Amplitude')
Hiro Yoshino
Hiro Yoshino am 10 Sep. 2020
I guess you should add noise before the command "modulation".
see:
it says demod works for the signal created by modulation.
Also this can be a help for you

Melden Sie sich an, um zu kommentieren.


Manuel A. Vázquez López
Manuel A. Vázquez López am 27 Mär. 2021
Long time but...did you get to solve this? I'm facing a similar problem. I'm adding some Gaussian noise with standard deviation 1e-2, but that has a huge impact on the demodulated signal (and I was assuming FM should be fairly resilient to it).

Community Treasure Hunt

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

Start Hunting!

Translated by