Código y ejemplos con diferentes iteraciones de un filtro pasa bajas de promedio ponderado


Estas dos figuras se obtuvieron con pequeñas modificaciones del código que aquí se presenta. En el primer caso se realizaron 10,000 iteraciones del mismo filtro. El tiempo que tomo fue considerable y su filtradrado fue bueno. Sin embargo con 1,000 iteracciones el filtrado es malo y el tiempo no se reduce considerablemente, lo cual es lógico pues disminuyo en un factor de 10 las iteraciones, aunque siguen siendo muchas iteraciones 1,000. Estos son sólo ejemplos de cómo aplicar filtros de promedios ponderados hay filtros alternativos que son más rápidos y eficaces en la tarea asignada. El ejercicio sirve para ver las entrañas de estos filtros.


% Inicio de código
clc
clear
close all

x = 0.0:0.001:3*pi;

yy = sin(0.5*x)+sin(40*x); % la frecuencia a limpiar es la de 40, la cual es relativamente grande

subplot(3,1,1)
plot(x,yy) % primero vemos como es la señal original

% limpiar señal

% y(k) = yy(k-1) + 2*yy(k) + yy(k+1)

final = length(yy);

y = yy;
for m =1:10000 % hacemos muchas iteraciónes pues el filtro es poco eficiente

for k =2:final-1
y(k) = (0.25)*(y(k-1) + 2*y(k) + y(k+1)); % filtro pasa bajas
end
end

subplot(3,1,2)

plot(x,y) % el resultado lo vemos aqui.

subplot(3,1,3)
hold on
plot(sin(0.5*x),y) % el resultado lo vemos aqui.
plot(y,y, '--k') % el resultado lo vemos aqui.

hold off

1 comentario:

  1. esta ecuación de filtro de donde la obtienes y(k) = (0.25)*(y(k-1) + 2*y(k) + y(k+1)); % filtro pasa bajas
    ????

    ResponderEliminar

Related Posts Plugin for WordPress, Blogger...