How do you add noise to an FM signal?

5 visualizaciones (últimos 30 días)
Jared Joselowitz
Jared Joselowitz el 9 de Sept. de 2020
Respondida: Manuel A. Vázquez López el 27 de Mzo. de 2021
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 ?

Respuestas (2)

Hiro Yoshino
Hiro Yoshino el 9 de Sept. de 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 comentarios
Jared Joselowitz
Jared Joselowitz el 10 de Sept. de 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 el 10 de Sept. de 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

Iniciar sesión para comentar.


Manuel A. Vázquez López
Manuel A. Vázquez López el 27 de Mzo. de 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