Ejemplo 2 filtro pasa banda
%%%% Ejemplo 2 filtro pasa banda
clc; close all; clear all;
load ('60000.mat')
%////////////////////////////////////////////////
wh = 0.755 * pi; % freciana alta Frec corte pasabanda 50*wh=fh
wl = 0.745*pi; %%frecuancia baja valor del filtro 50*wh=fh
L = 128%/4%5; % Longitud
for i = 1:L+1 % Generar función de pesos pasabanda simetria coje la i comienza a gwenerar el filtro usd no va mover la vable sino va restar medios
%%variable a mover n es la vable del for
n = i-L/2 ; % Simetria
if n == 0 % la maxima punta del filtro en el dibujo
bn(i) = wh/pi - wl/pi; %% dibuja la punta del dibujo
else
bn(i) = (sin(wh*n))/(pi*n) - (sin(wl*n))/(pi*n) ; % Filtro Resp Imp %%si no es el pico maximo hace parte del resto
end
end
x=data';
T=8000;
N=60000;
fs = T;
%bn = bn .* blackman(L+1)'; % Aplicar ventana Blackman . a .
H_data = abs(fft(data)); % Espectro de datos vable que se carga del load 2 le saca el valor absulot= aspectro de la magnitud de lsa señal
freq = (1:N/2)*fs/N; %%gerena la señal
figure
plot(freq,H_data(1:N/2),'k'); %%coeficientes b de n la funcion de transferencia del filtro
xlim([40 80])
hold on;
H = abs(fft(bn,N/50)); % Filtro en Frec N/numero es el que lo pone mas delgadito
H = H*90% * (max(H_data)/max(H));%escalamiento amplitu
freq = (1:N/50)*fs/N; %%gerena la señal
plot(freq,H(1:N/50),'b'); %%plot a un filtro fre es el que hace de x
xlabel('Frec (Hz)'); ylabel('H(f)');
y = conv(data,bn); % Filtro usando convolución coeficinetes del filtro y la señal la señal y los datos
figure; subplot(2,1,1);
t = (1:N)/fs; %% N=1000 fs= 1000 N/fs = 1000/100 = 100
plot(t(1:N/2),data(1:N/2),'k'); grid on;
xlabel('Tiempo (Sec)'); ylabel('EEG');
subplot(2,1,2); plot (t(1:N/2), y(1:N/2),'k'); grid on;
xlabel('Tiempo (Sec)'); ylabel('EEG Filtrado');
% Se asume que la frecuencia de muestreo es de 100 Hz
% dado que:
% las frec de corte son 0.1*pi y 0.3*pi
% 0.2*fs/2 y 0.3*fs/2
%%% freqz ? Respuesta en frecuencia de un filtro digital.
% figure
% [h w] = freqz(bn,1000,100);
% plot(abs(h))
clc; close all; clear all;
load ('60000.mat')
%////////////////////////////////////////////////
wh = 0.755 * pi; % freciana alta Frec corte pasabanda 50*wh=fh
wl = 0.745*pi; %%frecuancia baja valor del filtro 50*wh=fh
L = 128%/4%5; % Longitud
for i = 1:L+1 % Generar función de pesos pasabanda simetria coje la i comienza a gwenerar el filtro usd no va mover la vable sino va restar medios
%%variable a mover n es la vable del for
n = i-L/2 ; % Simetria
if n == 0 % la maxima punta del filtro en el dibujo
bn(i) = wh/pi - wl/pi; %% dibuja la punta del dibujo
else
bn(i) = (sin(wh*n))/(pi*n) - (sin(wl*n))/(pi*n) ; % Filtro Resp Imp %%si no es el pico maximo hace parte del resto
end
end
x=data';
T=8000;
N=60000;
fs = T;
%bn = bn .* blackman(L+1)'; % Aplicar ventana Blackman . a .
H_data = abs(fft(data)); % Espectro de datos vable que se carga del load 2 le saca el valor absulot= aspectro de la magnitud de lsa señal
freq = (1:N/2)*fs/N; %%gerena la señal
figure
plot(freq,H_data(1:N/2),'k'); %%coeficientes b de n la funcion de transferencia del filtro
xlim([40 80])
hold on;
H = abs(fft(bn,N/50)); % Filtro en Frec N/numero es el que lo pone mas delgadito
H = H*90% * (max(H_data)/max(H));%escalamiento amplitu
freq = (1:N/50)*fs/N; %%gerena la señal
plot(freq,H(1:N/50),'b'); %%plot a un filtro fre es el que hace de x
xlabel('Frec (Hz)'); ylabel('H(f)');
y = conv(data,bn); % Filtro usando convolución coeficinetes del filtro y la señal la señal y los datos
figure; subplot(2,1,1);
t = (1:N)/fs; %% N=1000 fs= 1000 N/fs = 1000/100 = 100
plot(t(1:N/2),data(1:N/2),'k'); grid on;
xlabel('Tiempo (Sec)'); ylabel('EEG');
subplot(2,1,2); plot (t(1:N/2), y(1:N/2),'k'); grid on;
xlabel('Tiempo (Sec)'); ylabel('EEG Filtrado');
% Se asume que la frecuencia de muestreo es de 100 Hz
% dado que:
% las frec de corte son 0.1*pi y 0.3*pi
% 0.2*fs/2 y 0.3*fs/2
%%% freqz ? Respuesta en frecuencia de un filtro digital.
% figure
% [h w] = freqz(bn,1000,100);
% plot(abs(h))
Ejemplo 2 filtro pasa banda
Reviewed by libros google
on
marzo 02, 2012
Rating:
Post a Comment