Generate Specific noise(i.e. 60 or 70 Hz) Matlab

22 visualizzazioni (ultimi 30 giorni)
I want to add some artificially noise of specific frequency. Can someone help?

Risposta accettata

Ameer Hamza
Ameer Hamza il 21 Ott 2020
Modificato: Ameer Hamza il 21 Ott 2020
If you just want to add a specific frequency noise in you signal then try this
f = 5;
fn = 60;
t = linspace(0, 1, 200);
y = sin(2*pi*f*t);
yn = 0.2*sin(2*pi*fn*t);
y = y + yn;
plot(t, y)
Check the fft() of the signal and you will see peaks at 5Hz (original signal) and 60Hz (noise)
Fs = 1/(t(2)-t(1));
fv = linspace(0, 1, numel(t))*Fs;
mag = abs(fft(y));
plot(fv, mag);
  2 Commenti
Utpal Mozumder
Utpal Mozumder il 21 Ott 2020
Is it possible to shift the phase of the original signal with this noise?

Accedi per commentare.

Più risposte (1)

KSSV
KSSV il 21 Ott 2020
L = 60 ; % Length in sec
f = 60 ; % Frequency in Hz
Fs = 10000 ; % Sampling Frequency
t = linspace(0, L, Fs*len); % time Vector
x = sin(2*pi*f*t);
noise = x + 0.1*randn(size(x));

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by