Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Informe
Asignatura: Diseño Electrónico
Docente: Luis Enrique Avendaño.
Monitor:Orlando Alfonso Delgado
Universidad Nacional de Colombia - Sede Manizales
Noviembre 2012
Grupo 01
Keyan Cavieles Reina
Yeison Hoyos Reginfo
Mario Garzon Diaz.
Santiago Calle
Abstract—— This lab report is designed to raise awareness of III. M ARCO T E ÓRICO
the procedure for the design of ?lters (Butterworth, Chebyshev,
Cauer) through a graphical interface developed in Matlab by
III-A. Topologı́as
creating an application in which the user can see the different III-A1. Filtro Pasivo: Son aquellos tipos de filtros forma-
responses each ?lter in both time and frequency. dos por combinaciones serie o paralelo de elementos R, L o C.
Palabras Claves—Filtros activos, Filtro de Butterworth, Filtro En general, se tienen los filtros de los siguientes tipos: pasa
de Chebyshev I y II, Filtro El Elı́ptico o de cauer, interfaz gráfica altas,pasa bajas,pasa bandas. Para cada uno de estos filtros
de Matlab (GUI). existen dos zonas principales las cuales son llamadas Banda
de paso y la banda de atenuación. En la banda de paso, es
I. I NTRODUCCI ÓN donde las frecuencias pasan con un máximo de su valor, o
hasta un valor de 70.71con respecto a su original (la cual es
En la vida de ingeniero son fundamentales la imple- la atenuación de –30 dB).
mentación de diversos Filtros en multiples actividades del III-A2. Filtro Activo: Un filtro activo es un filtro elec-
común. Por lo tanto la necesidad de diseñar un filtro que trónico analógico distinguido por el uso de uno o más
cumpla con algunas especificaciones dadas, hace que debamos componentes activos (que proporcionan una cierta forma de
escoger el tipo de filtro mas adecuado a nuestras necesidades. amplificación de energı́a), que lo diferencian de los filtros
En esta practica de laboratorio se pretende crea una aplicación, pasivos que solamente usan componentes pasivos. en ellos
en la que el usuario tenga la posibilidad de escoger entre una que emplean dispositivos activos, por ejemplo los transistores
serie de filtros. Por medio de los procedimientos matemáticos, o los amplificadores operacionales, junto con elementos R
analizar sus respuestas tanto en tiempo como en frecuencia por L C.Tipicamente este elemento activo puede ser un tubo de
medio de diagramas de bode y gráficas. vació, un transistor o un amplificador operacional. Un filtro
activo puede presentar ganancia en toda o parte de la señal de
II. O BJETIVOS salida respecto a la señal de entrada. En su implementación
Diseñar un aplicación que permita obtener el diseño se combinan elementos activos y pasivos, siendo frecuente
de determinados filtros (Butterworth, Chebyshev I y II, el uso de amplificadores operacionales, que permite obtener
El elı́ptico), y visualizar su comportamiento en cada resonancia y un elevado factor Q sin el empleo de bobinas.
proceso. Se pueden implementar, entre otros filtros, pasa bajo, paso
Diseñar una aplicación que permita filtrar señales car- alto, pasa banda, rechaza banda con caracterı́sticas especiales
gadas a la aplicación leı́das de un archivo de texto o de butterworth,chebyshev, entre otros.
audio.
Realizar el diseño de filtros para Butterworth, Chebyshev III-B. Tipos de Filtros
I y II, Elı́ptico, mediante los procedimientos matemáticos En los filtros paso bajo y paso alto, una de sus principales
mostrados en el capitulo 10 (Filtros Activos) del libro caracterı́stica es su frecuencia de corte, que delimita el grupo
guı́a (Sistemas electrónicos analógicos un enfoque ma- de las frecuencias que pasan o no pasan por el filtro. En el filtro
tricial). paso bajo pasaran las frecuencias por debajo de la frecuencia
Realizar los diagrama de flujos para cada uno de los de corte y en el filtro paso alto pasaran las frecuencias por
filtros programados. encima de la frecuencia de corte. En los filtros pasa banda,
Aplicar la teorı́a de diseño de filtros vista en clase las principales caracterı́sticas son: frecuencia central,ancho de
desarrollando un programa que discrimine y filtre una banda y factor de calidad.
determinada banda de frecuencias dada una señal de El filtro rechaza banda, discrimina una determinada frecuen-
audio con una frecuencia especı́fica cia o gama de frecuencias de una señal eléctrica que pasa a
2
través de el, pudiendo modificar tanto su amplitud como su III-C2. Chebyshev: La respuesta en frecuencia de un filtro
fase. chebyshev en pasa bajas normalizado se muestra en la Fig. 2
2 H02
|H(jω)| = 2n
ω
1+ ωp
pk =σk +jωk
Donde:
σk = − sin 2k−1
2n π
k = 1, 2, 3, ...n Figura 2. Filtro Chebyshev normalizado
y
La función del filtro de chebyshev tiene la siguiente forma
2k − 1
ωk = cos π 2 H02
2n |H(jω)| =
1 + ε2 Cn2 (ω)
La representación de los polos es de la forma.
pk = σk + jωk
Donde
σk = − sin(uk ) sinh(v)
ωk = cos(uk ) cosh(v)
Para determinar el orden, se repiten las definiciones dadas
anteriormente, ası́ que:
∆ ωs fs
υ= ωp = fp
q
∆ 0,1ks −1
ψ = 10 100,1kp −1
cosh−1 (ψ)
nc =
Figura 1. Filtro Butterworth según el orden cosh−1 (υ)
III-C3. Inverso de Chebyshev: La respuesta en frecuencia Para la localización de polos y ceros de la función de red
de un filtro inverso de chebyshev en pasa bajas normalizado se utilizan las ecuaciones dadas a continuación definidas:
se muestra en la Fig. 3 Donde la magnitud del inverso de 0,05k
1 p −1
chebyshev se representa por la Función de magnitud inversa λ = 2n ln 10
100,05ks −1
de Chebyshev
∞
2q1/4 P (−1)m q m(m+1) senh[(2m+1)λ]
2
2 ε Cn2 (1/ω) m=0
|HIC (jω)| = σ0 = ∞
1+ ε2 Cn2 (1/ω) (−1)m q m2 cos h(2mλ)
P
1+2
m=1
localización de los polos y ceros. Solo tenemos en cuenta Ahora calculamos los máximos y mı́nimos de la señal:
que los polos son los recı́procos de los encontrados para s
función de chebyshev. Por lo cual se puede especificar como
σ2
w = (1 + v)(σ0 )2 1 + 0
1 v
pk = ; k = 1, 2, 3, ...n
σk + jωk Entonces,para k=1,2,3......[n/2].
donde como antes dijimos en la sección anterior,
k = 1, 2, ..., [n/2]
∞
(2m+1)πµk
uk = 2k−1 2q 1/4 (−1)m q m(m+1) sen
P
2n π
n
m=0
k = 1, 2, 3, ...n Ωk = ∞
2mπµk
(−1)m q m2 cos(
P
1+2 n )
v = n1 senh−1 1ε m=1
(ω02 + p2 )
s=
Bω p
Pasa bajas a rechaza banda:
Bω p
Figura 4. Filtro elı́ptico normalizado s=
(ω02 + p2 )
4
Donde en pasa bajas y pasa altas: Reconocimos que El filtro elı́ptico es un buen filtro
porque casi toma la forma de un filtro ideal su único
ω0 = ωp defecto es que presenta rizados en las bandas de paso
y supresión y sus cálculos son complicados, por eso
en pasa banda
los ingenieros no lo utiliza porque interviene funciones
elı́pticas para calcular el rizado la atenuación de la banda
Bω = ∆ωp
de paso y supresión
Reconocimos que el filtro elı́ptico tiene una similitud
√
ω0 = ω1 ω2 con el filtro Chebyshev su única diferencia de los dos
filtros es que en la banda de supresión del Chebyshev no
en rechaza banda: presenta un rizado decae rápidamente a cero.
Bω = ∆ωs Pudimos analizar que loos filtros chebyshev y butterworth
√ necesitan un mayor numero de componentes en su
ω0 = ω3 ω4
implementación ya que son para un mayor orden,
contrario a los filtros elı́pticos.
IV. D ESARROLLO DE LA APLICACI ÓN
Implementar los métodos expuestos para el diseño de filtros
analógicos, mediante una interfaz gráfica de Matlab r.
ωp
ωs
Kp
Ks
Tipo de filtro según el método de diseño (Butterworth,
Chebyshev, Chebyshev Inverso, Elı́ptico).
Clase del filtro según la respuesta en frecuencia (Pasa
bajas, Pasa Altas, Pasa Banda, Rechaza Banda).
para el calculo de ganancia y fase deseado
ωn
V. C ONCLUSIONES
Se pudo analizar en la practica que dentro de la apli-
cación, se puede observar que a medida que se aumenta
el orden de los filtros la velocidad de respuesta es mas
rápida y la pendiente en la banda de transición baja mas
rápido a cero.
Concluimos con la practica, que cuando aumentamos la
complejidad matemática del filtro se aumenta la precision
en en ancho de las frecuencias que se trabaja, además
que sea bien pasa bajo o pasa altas discriminan mejor
las frecuencias que los caracterizan y se hace mas nı́tido
la señal final generada.
5
if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% --- Executes just before Filtros is made visible.
function Filtros_OpeningFcn(hObject, eventdata, handles, varargin)
varargout{1} = handles.output;
op=get(handles.filtro, ’Value’);
if op==1
errordlg(’Debe elegir naturaleza del filtro.’); %Se elige la clase de flitro que se va
a utilizar en ese momento y
set(handles.text2,’Visible’, ’off’); %vuelve visible o no visible lo que se
desea dependiendo de lo escogido.
set(handles.text3,’Visible’, ’off’);
set(handles.text4,’Visible’, ’off’);
set(handles.text5,’Visible’, ’off’);
set(handles.ws,’Visible’, ’off’);
set(handles.wp,’Visible’, ’off’);
set(handles.ks,’Visible’, ’off’);
set(handles.kp,’Visible’, ’off’);
set(handles.generar,’Visible’, ’off’);
else
set(handles.text2,’Visible’, ’on’); %Dependiendo de la elección del filtro
es lo que se visualiza.
set(handles.text3,’Visible’, ’on’);
set(handles.text4,’Visible’, ’on’);
set(handles.text5,’Visible’, ’on’);
7
set(handles.ws,’Visible’, ’on’); orb orc oric ore nub nuc nuic nue deb dec deic
set(handles.wp,’Visible’, ’on’);
set(handles.ks,’Visible’, ’on’);
set(handles.kp,’Visible’, ’on’);
set(handles.generar,’Visible’, ’on’);
end
if op==4 || op==5
set(handles.text16,’Visible’, ’on’);
set(handles.text17,’Visible’, ’on’);
set(handles.wc,’Visible’, ’on’);
set(handles.Bw,’Visible’, ’on’);
else
set(handles.text16,’Visible’, ’off’);
set(handles.text17,’Visible’, ’off’);
set(handles.wc,’Visible’, ’off’);
set(handles.Bw,’Visible’, ’off’);
end
% --- Executes during object creation, after setting all properties.
function filtro_CreateFcn(hObject, eventdata, handles)
clear fs fp ks ks Fc Bf Hb Hc Hic He nub deb nuc dec nuic deic nue dee... %Se borran
las variables
Tb Tc Tic Te mb mc mic me Wb Wc Wic Web
global filter fs fp ks kp Fc Bf mb mc mic me Wb Wc Wic We ... %Se fijan
variables para los filtros
8
fs=valid(handles.ws,get(handles.ws,’String’));
fp=valid(handles.wp,get(handles.wp,’String’));
ks=valid(handles.ks,get(handles.ks,’String’));
kp=valid(handles.kp,get(handles.kp,’String’));
op=get(handles.filtro,’Value’); if op==4 || op==5
Fc=valid(handles.wc,get(handles.wc,’String’));
Bf=valid(handles.Bw,get(handles.Bw,’String’));
end
if ˜isnumeric(fs) || ˜isnumeric(fp) || ˜isnumeric(ks) || ˜isnumeric(kp) %Mensaje de error
por no ingresar datos
errordlg(’Faltan datos por ingresar.’);
else
[ab,bb]=butterfilter(fs,fp,ks,kp); %Los diferentes filtros expuestos en este programa
[ac,bc]=chebyfilter(fs,fp,ks,kp);
[aic,bic]=invchebyfilter(fs,fp,ks,kp);
[ae,be]=cauerfilter(fs,fp,ks,kp);
switch op
Bf=fp;
[nub,deb]=filttrans(ab,bb,1,fp,Fc,Bf); %Filtro Pasaaltas
[nuc,dec]=filttrans(ac,bc,1,fp,Fc,Bf);
[nuic,deic]=filttrans(aic,bic,1,fp,Fc,Bf);
[nue,dee]=filttrans(ae,be,1,fp,Fc,Bf);
Tb=tf(nub,deb);
Tc=tf(nuc,dec);
Tic=tf(nuic,deic);
Te=tf(nue,dee);
[M,phb,Wb] = bode(Tb);
mb=1:length(M);
for i=1:length(Wb)
mb(1,i)=20*log10(M(:,:,i));
end
[M,phc,Wc] = bode(Tc);
mc=1:length(M);
for i=1:length(Wc)
mc(1,i)=20*log10(M(:,:,i));
end
[M,phic,Wic] = bode(Tic);
mic=1:length(M);
for i=1:length(Wic)
mic(1,i)=20*log10(M(:,:,i));
end
[M,phe,We] = bode(Te);
me=1:length(M);
for i=1:length(We)
me(1,i)=20*log10(M(:,:,i));
end
case 4
filter=’Pasabandas’;
[nub,deb]=filttrans(ab,bb,2,fp,Fc,Bf); %Filtro Pasabandas
[nuc,dec]=filttrans(ac,bc,2,fp,Fc,Bf);
[nuic,deic]=filttrans(aic,bic,2,fp,Fc,Bf);
[nue,dee]=filttrans(ae,be,2,fp,Fc,Bf);
Tb=tf(nub,deb);
Tc=tf(nuc,dec);
Tic=tf(nuic,deic);
Te=tf(nue,dee);
[M,phb,Wb] = bode(Tb);
mb=1:length(M);
for i=1:length(Wb)
mb(1,i)=20*log10(M(:,:,i));
end
[M,phc,Wc] = bode(Tc);
mc=1:length(M);
for i=1:length(Wc)
mc(1,i)=20*log10(M(:,:,i));
end
[M,phic,Wic] = bode(Tic);
mic=1:length(M);
for i=1:length(Wic)
mic(1,i)=20*log10(M(:,:,i));
end
[M,phe,We] = bode(Te);
me=1:length(M);
for i=1:length(We)
me(1,i)=20*log10(M(:,:,i));
10
end
case 5
filter=’Rechazabandas’;
[nub,deb]=filttrans(ab,bb,3,fp,Fc,Bf); %Filtro Rechazabandas
[nuc,dec]=filttrans(ac,bc,3,fp,Fc,Bf);
[nuic,deic]=filttrans(aic,bic,3,fp,Fc,Bf);
[nue,dee]=filttrans(ae,be,3,fp,Fc,Bf);
Tb=tf(nub,deb);
Tc=tf(nuc,dec);
Tic=tf(nuic,deic);
Te=tf(nue,dee);
[M,phb,Wb] = bode(Tb);
mb=1:length(M);
for i=1:length(Wb)
mb(1,i)=20*log10(M(:,:,i));
end
[M,phc,Wc] = bode(Tc);
mc=1:length(M);
for i=1:length(Wc)
mc(1,i)=20*log10(M(:,:,i));
end
[M,phic,Wic] = bode(Tic);
mic=1:length(M);
for i=1:length(Wic)
mic(1,i)=20*log10(M(:,:,i));
end
[M,phe,We] = bode(Te);
me=1:length(M);
for i=1:length(We)
me(1,i)=20*log10(M(:,:,i));
end
end
end Wb=Wb./(2*pi); Wc=Wc./(2*pi); Wic=Wic./(2*pi); We=We./(2*pi);
set(handles.uipanel2,’Visible’,’on’)
axes(handles.butter); %Visualiza la gráfica del filtro butter
semilogx(Wb, mb); grid on; axis tight;
% zoom on;
set(handles.ord_but,’String’,orb);
set(handles.ord_cheb,’String’,orc);
set(handles.ord_icheb,’String’,oric);
set(handles.ord_cau,’String’,ore);
11
% --------------------------------------------------------------------
function Untitled_1_Callback(hObject, eventdata, handles)
% hObject handle to Untitled_1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
13
% --------------------------------------------------------------------
function Untitled_5_Callback(hObject, eventdata, handles)
msgbox({’Este Programa fue Realizado por:’,’ ’,’Mario Alberto Garzón
Dı́az cod: 808015’,’ ’,’Yeison Hoyos Rengifo cod: 810031’,’ ’,’Keyan
Byyyk Cavieles Reina cod 809014’,’ ’,’Santiago Calle Tobon cod:
00000’,’ ’,’Estudiantes de ingenierı́a Electrónica.’,’
’,},’Integrantes...’)
%menu del programa para mostrar los integrantes
% --------------------------------------------------------------------
function Untitled_2_Callback(hObject, eventdata, handles)
winopen(’practica_5.pdf’)
%abre el archivo de la guia
% --------------------------------------------------------------------
function Untitled_4_Callback(hObject, eventdata, handles)
winopen(’Informe.pdf’)
%abre archivo del informe
% --------------------------------------------------------------------
function Untitled_6_Callback(hObject, eventdata, handles) close all
%cierra todo el programa
R EFERENCIAS
[1] Texto: ”Sistemas Electrónicos Analógicos: Un enfoque Matricial”; L. E.
Avendaño; Universidad Tecnológica de Pereira; 2005, Cap 4.