lowpass filter not filtering
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
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);
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/221130/image.jpeg)
y40khz=lowpass(ysum,40000,1/3.13e-8);
plot(t,y40khz)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/221131/image.jpeg)
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)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/221132/image.jpeg)
Why does the first filter not seem to work while the second example does?
0 comentarios
Respuesta aceptada
Jan
el 27 de Mayo de 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.
Más respuestas (0)
Ver también
Categorías
Más información sobre Multirate Signal Processing en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!