You are on page 1of 10

Filtro Pasa bajos de 4 polos 2014

Universidad: UNIVERSIDAD NACIONAL DE CHIMBORAZO


Facultad: FACULTAD DE INGENIERIA
Carrera: ELECTRONICA Y TELECOMUNICACIONES
Ctedra: ELECTRONICA II Y LABORATORIO
Tema: Filtro pasa bajas de 4 polos
Nombre: ngel Vinueza
Semestre: Quinto Semestre
Fecha de entrega: 21 de septiembre del 2014






Filtro Pasa bajos de 4 polos 2014


UNIVERSIDAD NACIONAL DE CHIMBORAZO
angel_fvn13@outlook.com
ngel Fernando Vinueza Naranjo
RESUMEN: Realizaremos una prctica de
filtros activos en este caso realizaremos un
filtro pasa bajos con cuatro polos con el
operacional LM358
Palabras clave:
LM358
Filtro Activo
4 polos
INTRODUCCION:
Los filtros activos son aquellos que se
componen de resistencias, capacitores y de
amplificadores operacionales en este caso el
LM358.
Estos filtros con amplificadores se clasifican
por su orden o por su nmero de polos por
lo que nuestro diseo es de 4 polos.
Se podra decir que si queremos hacer un
filtro de 4 polos deberamos usar cuatro
operacionales.
OBJETIVO GENERAL
Disear un filtro activo pasa bajos de
cuatro polos.
Objetivos Especficos
Realizar el filtro con una frecuencia
de 23 KHz
Lograr el diseo del filtro con una
ganancia no mayor a 1.1
Simular el filtro en proteus y
multisim
Realizar el barrido de frecuencia en
los simuladores
DESARROLLO DE LA PRCTICA
Para el desarrollo de la prctica nos pide
disear un filtro pasa bajos con cuatro polos
a una frecuencia de 23KHz.
Para lo que vamos a emplear la frmula de la
frecuencia de corte que es la siguiente.


Pero como ya nos da la frecuencia de corte
despejamos la resistencia (R) asumiendo un
capacitor comercial ya que es ms fcil
adquirir una resistencia que un capacitor
despejando obtendremos la siguiente
ecuacin.


Estas variables vistas en el circuito son las
siguientes

Filtro Pasa bajos de 4 polos 2014

Vamos a trabajar con un capacitor de 0.1uF
por lo que el valor de la resistencia es.



Como debemos usar una resistencia
comercial una forma fcil de ver las
resistencias comerciales es ir a multisim en la
seccin de resistencias y vemos cual se
aproxima a la que estamos necesitando

En este caso la que ms se aproxima es la
resistencia de 68.1

Para que en el momento de proceder a ver
en el osciloscopio no se atenuara la seal
vamos a realizar el filtro con una ganancia de
1 la que nos determina la ganancia son las
resistencias R1 Y R2 y la formula es


Como nuestra ganancia debe ser 1
asumiremos las dos resistencias del mismo
valor en este caso resistencias de 10K

Sacamos la funcin de transferencia
Se sabe que la funcin de trasferencia es
Voltaje de salida (Vo) sobre el Voltaje de
entrada (Vi)
Entonces nuestra funcin de trasferencia va
hacer
Primer polo


Segundo polo


Filtro Pasa bajos de 4 polos 2014


Obtenido nuestros valores procedemos a
simular
Tomando en cuenta que solo diseamos el
primer polo y los dems vamos solo
acoplando con los mismos valores de
resistencias y capacitores













Filtro Pasa bajos de 4 polos 2014

Procedemos a sacar los diagramas de bode
para esto emplearemos MatLab

Programacin
function varargout =
Bode_Demo_Lab(varargin)
% BODE_DEMO_LAB is a simple
example that shows both the time
domain simulation and the
frequency domain(Bode plot).
%The intent is to help the
students/Matlab users better
understand Bode
%plots and make a link between
the time doman and frequency
domain.
%The user is adviced to run this
function instead of reading the
code. If
%the user is interested in
understanding how the GUI was
created, then I
%have added comments to help
understand the code.
%If the user is trying to read
through the code, he/she should
go directly
%the function slider1_Callback
%
%Leave comments if you need help
or have feedback.
%
%Written by Nassim Khaled, Ph.D,
3/23/2014


% Begin initialization code - DO
NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name',
mfilename, ...

'gui_Singleton', gui_Singleton,
...

'gui_OpeningFcn',
@Bode_Demo_Lab_OpeningFcn, ...

'gui_OutputFcn',
@Bode_Demo_Lab_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback =
str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] =
gui_mainfcn(gui_State,
varargin{:});
else
gui_mainfcn(gui_State,
varargin{:});
end
% End initialization code - DO
NOT EDIT







% --- Executes just before
Bode_Demo_Lab is made visible.
function
Bode_Demo_Lab_OpeningFcn(hObject,
eventdata, handles, varargin)
% This function has no output
args, see OutputFcn.
% hObject handle to figure
Filtro Pasa bajos de 4 polos 2014

% eventdata reserved - to be
defined in a future version of
MATLAB
% handles structure with
handles and user data (see
GUIDATA)
% varargin command line
arguments to Bode_Demo_Lab (see
VARARGIN)

% Choose default command line
output for Bode_Demo_Lab
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes Bode_Demo_Lab wait
for user response (see UIRESUME)
% uiwait(handles.figure1);


%%%%%Setup the slider
configuration
slider_min =
get(handles.slider1,'Min');
slider_max =
get(handles.slider1,'Max');
set(handles.slider1,
'SliderStep',[1/30 1/30]);
set(handles.slider1, 'Value',
(slider_max-slider_min)/2);
slider_value =
get(handles.slider1,'Value');




% Calcula la posicin del control
deslizante
a_w=-2;
b_w=2;
w_min=10^a_w;
w_max=10^b_w;
w_all = logspace(a_w,b_w); % Uso
logspec para parcelas de
frecuencia
n=length(w_all);

% Interpolar la posicin del
control deslizante para calcular
la frecuencia en base a la
posicion% de la corredera
a=(n-1)/(slider_max-slider_min);
b=n-a*slider_max;
ind=a*slider_value+b;
ind=round(ind);
w=w_all(ind);

% Muestra el valor de la
frecuencia
set(handles.w_Display,'string',nu
m2str(w,'%15.10f'));

% Definir los parmetros para la
entrada
A=1; %Amplitud
tfinal=20; %tiempo final [seg]
t=0:0.0001:tfinal; %rango de
tiempo

% Definir la funcin de
transferencia del sistema
TF=tf(1,[1 1]);

% Calcular la respuesta del
sistema
[u,y]=Eval_Output(A,w,t,TF);


% Crear la trama de entrada y su
configuracin
plot(handles.Input_axes,t,u,'Line
Width',2)
set(handles.Input_axes,'Color','y
')
set(handles.Input_axes,'XMinorTic
k','on')
set(handles.Input_axes,'XLim',[0
tfinal])
set(handles.Input_axes,'YLim',[-
1.2 1.2])
grid(handles.Input_axes,'on')
box(handles.Input_axes,'on')
xlabel(handles.Input_axes,'Time[s
ec]','FontSize',10)
legend(handles.Input_axes,'U(t)')
grid on
box on

% Crear la trama de entrada y su
configuracin
plot(handles.Output_axes,t,y,'Lin
eWidth',2)
set(handles.Output_axes,'Color','
c')
set(handles.Output_axes,'XMinorTi
ck','on')
Filtro Pasa bajos de 4 polos 2014

set(handles.Output_axes,'XLim',[0
tfinal])
set(handles.Output_axes,'YLim',[-
1.2 1.2])
grid(handles.Output_axes,'on')
box(handles.Output_axes,'on')
xlabel(handles.Output_axes,'Time[
sec]','FontSize',10)
legend(handles.Output_axes,'Y(t)'
)

% Calcular las magnitudes / Fases
del diagrama de Bode en toda la
gama de
% frecuencias
[MAG,PHASE] = bode(TF,w_all);

% Quite dimensiones innecesarias
(si existen)
if length(size(MAG))==3
MAG=squeeze(MAG);
PHASE=squeeze(PHASE);
end

% Cambio magnitud de dB
MAG=20.*log10(MAG);

% Calcular las magnitudes / Fases
del diagrama de Bode en toda la
gama de
% frecuencias
[MAG_w,PHASE_w] = bode(TF,w);

% Quite dimensiones innecesarias
(si existen)
if length(size(MAG_w))==3
MAG_w=sqeeze(MAG_w);
PHASE_w=sqeeze(PHASE_w);
end

% Cambio magnitud de dB
MAG_w=20.*log10(MAG_w);

% Semilog trazar las frecuencias
adecuadamente cada dcada:
grfico de magnitud para
% todo el rango de frecuencia
semilogx(handles.Magnitude,w_all,
MAG,'LineWidth',2)
set(handles.Magnitude,'Color','c'
)
grid(handles.Magnitude,'on')
box(handles.Magnitude,'on')
hold(handles.Magnitude)
axis([10^-2 10^2 -100 2])
% Semilog trazar las frecuencias
adecuadamente cada dcada:
grfico de magnitud para
% todo el rango de frecuencia
semilogx(handles.Magnitude,w,MAG_
w,'ro','LineWidth',2)
hold(handles.Magnitude)



% Semilog trazar las frecuencias
adecuadamente cada dcada:
grfico de magnitud para
% todo el rango de frecuencia
semilogx(handles.Phase,w_all,PHAS
E,'LineWidth',2)
set(handles.Phase,'Color','c')
grid(handles.Phase,'on')
box(handles.Phase,'on')
hold(handles.Phase)
axis([10^-2 10^2 -100 2])

% Semilog trazar las frecuencias
adecuadamente cada dcada:
grfico de magnitud para
% todo el rango de
frecuenciaPHASE_w,'ro','LineWidth
',2)
hold(handles.Phase)


% --- Outputs from this function
are returned to the command line.
function varargout =
Bode_Demo_Lab_OutputFcn(hObject,
eventdata, handles)
% varargout cell array for
returning output args (see
VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be
defined in a future version of
MATLAB
% handles structure with
handles and user data (see
GUIDATA)

% Get default command line output
from handles structure
varargout{1} = handles.output;


Filtro Pasa bajos de 4 polos 2014

% --- Executes on slider
movement.
function
slider1_Callback(hObject,
eventdata, handles)
% hObject handle to slider1
(see GCBO)
% eventdata reserved - to be
defined in a future version of
MATLAB
% handles structure with
handles and user data (see
GUIDATA)

% Hints: get(hObject,'Value')
returns position of slider
% get(hObject,'Min') and
get(hObject,'Max') to determine
range of slider




% Calcula la posicin del control
deslizante
slider_value =
get(handles.slider1,'Value');
slider_min =
get(handles.slider1,'Min');
slider_max =
get(handles.slider1,'Max');
set(handles.slider1,
'SliderStep',[1/30 1/30])



% Definir el rango de frecuencias
[rad / seg]
a_w=-2;
b_w=2;
w_min=10^a_w;
w_max=10^b_w;
w_all = logspace(a_w,b_w); %Use
logspec for frequency plots
n=length(w_all);


% Interpolar la posicin del
control deslizante para calcular
la frecuencia en base a la
posicion de la corredera

a=(n-1)/(slider_max-slider_min);
b=n-a*slider_max;
ind=a*slider_value+b;
ind=round(ind);
w=w_all(ind);

% Muestra el valor de la
frecuencia
set(handles.w_Display,'string',nu
m2str(w,'%15.10f'));


% Definir los parmetros para la
entrada
A=1; %Amplitute
tfinal=23; %Final time [sec]
t=0:0.0001:tfinal; %Time range


% Definir la funcin de
transferencia del sistema
TF=tf(1,[1 1]);


% Calcular la respuesta del
sistema
[u,y]=Eval_Output(A,w,t,TF);


% Crear la trama de salida y su
configuracin
plot(handles.Input_axes,t,u,'Line
Width',2)
set(handles.Input_axes,'Color','y
')
set(handles.Input_axes,'XMinorTic
k','on')
set(handles.Input_axes,'XLim',[0
tfinal])
set(handles.Input_axes,'YLim',[-
1.2 1.2])
grid(handles.Input_axes,'on')
box(handles.Input_axes,'on')
xlabel(handles.Input_axes,'Time[s
ec]','FontSize',10)
legend(handles.Input_axes,'U(t)')
grid on
box on


% Crear la trama de salida y su
configuracin
plot(handles.Output_axes,t,y,'Lin
eWidth',2)
set(handles.Output_axes,'Color','
c')
Filtro Pasa bajos de 4 polos 2014

set(handles.Output_axes,'XMinorTi
ck','on')
set(handles.Output_axes,'XLim',[0
tfinal])
set(handles.Output_axes,'YLim',[-
1.2 1.2])
grid(handles.Output_axes,'on')
box(handles.Output_axes,'on')
xlabel(handles.Output_axes,'Time[
sec]','FontSize',10)
legend(handles.Output_axes,'Y(t)'
)

%Display the transfer function
image




% Calcular las magnitudes /
frecuencia Fases del diagrama de
Bode en uno seleccionado
[MAG,PHASE] = bode(TF,w_all);

% Quite dimensiones innecesarias
(si existen)
if length(size(MAG))==3
MAG=squeeze(MAG);
PHASE=squeeze(PHASE);
end

% Cambio magnitud de dB
MAG=20.*log10(MAG);

% Calcular las magnitudes /
frecuencia Fases del diagrama de
Bode en uno seleccionado
[MAG_w,PHASE_w] = bode(TF,w);

% Quite dimensiones innecesarias
(si existen)
if length(size(MAG_w))==3
MAG_w=sqeeze(MAG_w);
PHASE_w=sqeeze(PHASE_w);
end

% Cambio magnitud de dB
MAG_w=20.*log10(MAG_w);

% Semilog trazar las frecuencias
adecuadamente cada dcada:
grfico de magnitud para
% todo el rango de frecuencia
semilogx(handles.Magnitude,w_all,
MAG,'LineWidth',2)
set(handles.Magnitude,'Color','c'
)
grid(handles.Magnitude,'on')
box(handles.Magnitude,'on')
hold(handles.Magnitude)
axis([10^-2 10^2 -100 2])
% Semilog trazar las frecuencias
adecuadamente cada dcada:
grfico de magnitud para
% de la frecuencia seleccionada
semilogx(handles.Magnitude,w,MAG_
w,'ro','LineWidth',2)
hold(handles.Magnitude)



% Semilog trazar las frecuencias
adecuadamente cada dcada:
diagrama de fase para
% todo el rango de frecuencia
semilogx(handles.Phase,w_all,PHAS
E,'LineWidth',2)
set(handles.Phase,'Color','c')
grid(handles.Phase,'on')
box(handles.Phase,'on')
hold(handles.Phase)
axis([10^-2 10^2 -100 2])

% Semilog trazar las frecuencias
adecuadamente cada dcada:
grfico de magnitud para
% todo el rango de frecuencia
semilogx(handles.Phase,w,PHASE_w,
'ro','LineWidth',2)
hold(handles.Phase)





% --- Executes during object
creation, after setting all
properties.
function
slider1_CreateFcn(hObject,
eventdata, handles)
% hObject handle to slider1
(see GCBO)
% eventdata reserved - to be
defined in a future version of
MATLAB
Filtro Pasa bajos de 4 polos 2014

% handles empty - handles not
created until after all
CreateFcns called

% Hint: slider controls usually
have a light gray background.
if
isequal(get(hObject,'BackgroundCo
lor'),
get(0,'defaultUicontrolBackground
Color'))

set(hObject,'BackgroundColor',[.9
.9 .9]);
end

function
[u,y]=Eval_Output(A,w,t,TF)
% A=1;
A
w
size(t)
TF
% TF=tf(1,[1 1])
u=inline('A.*sin(w.*t)');
% t=0:0.1:100;
% w=10;
% TF=tf(1,[1 1]);
[y,t] = lsim(TF,u(A,t,w),t);
u=u(A,t,w);

Conclusiones:
El diseo de filtros activos es sencillo
ya que tiene una precisin que
depende de la tolerancia de sus
componentes

You might also like