Hola Sonia, lo primero que debes hacer es buscar la función FOPEN en la ayuda de matlab, esta función sirve para abrir los ficheros que contienen las señales, allí te explican como debes usarla según el formato con el que hayan sido guardados, para ello teclea en la ventana de comandos la siguiente instrucción:
>> doc fopen
Si quieres, aquí dejo otra instrucción para ver todas las funciones que soporta matlab en cuanto a leer tipos de archivos:
>> doc iofun
Cuando hayas logrado abrir los ficheros, lo siguiente es diseñar el filtro pasabajas, para ello debes determinar qué tipo de filtro vas a usar, si es analógico o digital.
En caso de ser un filtro analógico, existen diferentes funciones para diseñarlos, tales como: BESSELF, CHEBY1, CHEBY2, BUTTER, ELLIP, entre otros. Es de anotar que las últimas cuatro funciones también sirven para diseñar filtros digitales, además exiten las funciones FIR1 y FIR2 para diseño de filtros digitales tipo FIR, la diferencia entre ellos radica en el hecho que el primero esta basado en el método de ventaneo y el segundo, FIR2, está basado en la frecuencia de muestreo. Para saber cómo usar dichas instrucciones, teclea:
>> doc 'nombre_función_filtro' (por ejemplo: >> doc butter)
Una vez diseñado el filtro pasabajas, se utiliza la función FILTER para filtrar la señal, que previamente se ha abierto con FOPEN, a través del filtro diseñado.
Ejemplo:
% Primero se lee la señal a partir de la ruta en que se encuentra el fichero.
%
fid = fopen('c:\señales\señal01');
signal = fread(fid);
signal = signal.'; % Esta sentencia es para manejar los datos como
% un vector fila.
status = fclose(fid);
%
% Ahora, se diseña el filtro pasabajas. En este ejemplo, utilizaré FIR2 para crear
% un filtro digital de orden 32, frecuencia de corte 1 Hz y suponiendo que la señal ha
% sido muestreada a 150 Hz (Frecuencia de Nyquist = 150 Hz/2 = 75 Hz).
%
order = 32; % Orden del filtro FIR.
wn=[0:1/75:1]; % Vector de frecuencias normalizadas.
mag=zeros(1,76); % Respuesta en magnitud al vector de frecuencias wn.
mag(1:2)=1;
coef = fir2(32, wn, mag, kaiser((order+1),4));
freqz(coef,1); % Esta sentencia sirve para ver gráficamente la
% respuesta en magnitud y fase del filtro diseñado.
%
% Se procede a filtrar la señal por el filtro diseñado. Se utiliza la función FILTER.
%
out = filter(coef, 1, signal);
%
% Ahora se verán las dos señales: original y filtrada.
%
subplot(2,1,1), plot(signal), title('Señal Original'), grid on
subplot(2,1,2), plot(out), title('Señal Filtrada'), grid on
Listo!!! Eso es todo, espero que te sirva, cualquier duda mi e-mail es:
[email protected]
Julian Cuintaco