Matlab - filtro paso bajo alta frecuencia

   
Vista:

filtro paso bajo alta frecuencia

Publicado por Isabel (1 intervención) el 17/02/2009 13:20:32
Lo que yo quiero hacer esrecibir una seöal de gps con frecuencia
f1=1.5754e+009; por lo tanto tengo q cambiar la frecuencia de muestreo y al hacerlo, el filtro ya no funciona.. y no se como hacerlo para que filtre.
la idea es mezclar esa frecuencia con otra para obtener la suma y la resta y quedarme con la resta al pasar del filtro.
Espero que alguien m ayude.
muchas gracias


close all % Cierra todas las ventanas.
clear all % Borra todas las variables del espacio de trabajo.
clc % Limpia la pantalla.

Fc=350; % Frecuencia de corte.
Fm=1000; % Frecuencia de muestreo.
BT=100; % Banda de transición.
Rs=40; % Ganancias.
rs=10^(-Rs/20);
Rp=2;
rp=(10^(Rp/20)-1)/(10^(Rp/20)+1);

[n1b,wn1]=buttord(2*Fc/Fm,2*(Fc+BT)/Fm,Rp,Rs); % Orden del filtro (función buttord).
%[N, Wn] = BUTTORD(Wp, Ws, Rp, Rs)
%Wp and Ws are the passband and stopband edge frequencies, normalized
% from 0 to 1 (where 1 corresponds to pi radians/sample).
[B1,A1]=butter(n1b,wn1); % Coeficientes del filtro (función butter).
h1=freqz(B1,A1); % Respuesta en frecuencia (función freqz).
figure(1);
title('filtro');
plot(abs(h1))

% t=0:1e-6:6*20e-3;% frecuencia de muestreo: 1 MHz
N=1000; % Número de muestras
t=(0:N-1)/Fm;
s=cos(5000*t); % frecuencia: 2500/pi= 795.775 Hz > 500=Fm/2
s=sin(2*pi*475*t); % 475 < 500; 475 > 350=Fc
s=sin(2*pi*475*t)+sin(2*pi*100*t);
figure(2);

plot(t,s), title('señal s');

S=fft(s);
figure(3);
eje_F=(0:N-1)*Fm/N; % de o Hz a Fm
plot(eje_F,abs(S).^2); %
title('señal en frec');

z=filter(B1,A1,s);
figure(4);
plot(t,z)
Z=fft(z);
plot(abs(Z));
figure(5); %
plot(eje_F,abs(Z).^2); %
title('señal al pasar por el filtro');

figure(6)
plot(eje_F,20*log10(abs(S)),'b',eje_F,20*log10(abs(Z)),'g');
grid,title('DEP S (azul) y Z (verde)')
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

PASA BANDA

Publicado por Leinny (2 intervenciones) el 16/05/2009 03:25:06
Necesito que alguien me ayude con este ejercicio en matlab por favor.

Diseñe un filtro pasabanda estimando el orden del filtro con la función kaiserord, usando la instrucción fir2 la cual esta dada por b = fir2(n,f,m,window), la ventana a utilizar debe tipo flattopwin. Para graficar el filtro usar las funciones fvtool(b,a) y freqz(b,a).
Frecuencias de paso:(0 – 3000 Hz y 7000 - 10000 Hz)
Frecuencias de corte: (4000 Hz hasta 6000 Hz).
Rizado en la banda de corte: 55 db.
Rizado en la banda de paso: 3.3 db.

Espero respuesta gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar