lowpass filter not filtering

4 visualizzazioni (ultimi 30 giorni)
Jay
Jay il 27 Mag 2019
Commentato: Jay il 27 Mag 2019
Test of low pass filter to filter noise at a much higher frequency than the main signal. Lowpass as I've used it here doesn't seem to filter the data.
t=0:3.13e-8:1e-3;
y=sin(2*pi*200000*t); %noise
y2=sin(2*pi*20000*t); %signal
ysum=y+y2;
plot(t,ysum);
y40khz=lowpass(ysum,40000,1/3.13e-8);
plot(t,y40khz)
A test of this with a smaller ratio of filter to sample frequency works as expected.
tslow=0:1e-5:1e-3;
y=sin(2*pi*20000*tslow);
y2=sin(2*pi*4000*tslow);
ysum=y+y2;
y5khz=lowpass(ysum,5000,1/1e-5);
plot(tslow,ysum)
hold
plot(tslow,y5khz)
Why does the first filter not seem to work while the second example does?

Risposta accettata

Jan
Jan il 27 Mag 2019
As expected Matlab does filter the data, of course:
t=0:3.13e-8:1e-3;
y=sin(2*pi*200000*t); %noise
y2=sin(2*pi*20000*t); %signal
ysum=y+y2;
y40khz=lowpass(ysum,40000,1/3.13e-8);
plot(t, y40khz - ysum) % Show the difference
ylim([-1.5e-3, 1.5e-3])
According to the chosen filter parameters, the difference is small.
  1 Commento
Jay
Jay il 27 Mag 2019
Ok, thank you. Maybe I should have asked what operations should I do to extract the signal from the noisy data in this example? I was thinking that what I had tried would pass frequencies less than 40 kHz and so remove the 200 kHz 'noise'.

Accedi per commentare.

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by