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

12 次查看(过去 30 天)
I want to add some artificially noise of specific frequency. Can someone help?

采纳的回答

Ameer Hamza
Ameer Hamza 2020-10-21
编辑:Ameer Hamza 2020-10-21
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);

更多回答(1 个)

KSSV
KSSV 2020-10-21
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));

类别

Help CenterFile Exchange 中查找有关 Spectral Measurements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by