Está en la página 1de 21

DEPARTAMENTO DE TEORA

DE LA SEAL Y
COMUNICACIONES

DISEO DE FILTROS

PRCTICA 1:

Filtrado de Seales Peridicas. Diseo de Filtros

NDICE
1. Objetivos.

2. Herramientas.

3. Introduccin terica.

3.1 Anlisis de Fourier de seales peridicas.

3.2 Visualizacin con MATLAB.

3.3 Filtrado de seales peridicas.

3.4 Funciones de clculo del orden.

3.5 Funciones para la obtencin de filtros prototipo.

3.6 Funciones de transformacin y desnormalizacin.

10

3.7 Otras funciones.

14

4. Desarrollo de la prctica.

16

4.1 Desarrollo en Serie de Fourier.

16

Cuestiones.

16

4.2 Filtrado de seales peridicas.

17

4.3 Filtro para eliminar ruido en una banda de frecuencias.

18

5. Memoria.

20

Prctica 1: Filtrado de seales periodicas. Diseo de filtros.

1. Objetivos.
En esta prctica se pretende en primer lugar familiarizarse con el entorno de
programacin que proporciona Matlab para el manejo de seales y filtros analgicos. Para
ello se proponen los dos apartados primeros donde se debern generar seales y filtrarlas
con un filtro proporcionado. Igualmente se analizar el proceso de filtrado analgico a la
vez que se aprender a caracterizar un filtro dado. Una vez conocidos los procedimientos
bsicos de anlisis y gestin de seales y filtros analgicos, se proponen otros apartados
donde ser necesario disear filtros para eliminar ruido aadido a seales. Con esto se
pretende analizar los distintos tipos de filtros que se pueden presentar as como los
problemas que pueden surgir del proceso natural de filtrado.
El presente documento est dividido en dos partes fundamentales: por un lado una
introduccin terica de las seales, filtrado y las funciones principales que proporciona
Matlab para su manejo y por otro lado los apartados de la prctica propiamente dicha.

2. Herramientas.
Ser necesario nicamente el programa MATLAB con el toolbox de Seales
instalado.

3. Introduccin terica.
Al iniciarse esta prctica el alumno ha de conocer los distintos tipos de filtros en
funcin de su respuesta en amplitud:

Paso-Bajo.

Paso-Alto.

Paso-Banda.

Banda Eliminada.

Tambin ha de saber que, a partir de una funcin de transferencia Paso-Bajo y


mediante el uso de transformaciones matemticas, es posible obtener cualquiera otra de las
respuestas en amplitud existentes.
Adems, se ha visto en la parte de teora que las distintas respuestas en amplitud no
se pueden realizar de manera ideal, sino que se han de implementar mediante
aproximaciones. Las aproximaciones de amplitud ms utilizadas que se han estudiado son:

Aproximacin mximamente plana o de Butterworth.

Aproximacin con rizado en la banda de paso o de Chebychev directo.

Aproximacin con rizado en la banda eliminada o de Chebychev inverso.

Aproximacin con rizado en ambas bandas, elptica o de Cauer.

Diseo de filtros

Curso 2009/10

Departamento de Teora de la Seal y Comunicaciones

Prctica 1: Filtrado de seales periodicas. Diseo de filtros.

En esta introduccin lo que veremos son las funciones que nos permiten realizar los
distintos filtros segn su aproximacin y respuesta en amplitud y algunas otras que nos
sern tiles para comprobar algunas caractersticas de los filtros.
Las funciones de MATLAB que nos permiten obtener las funciones de
transferencia segn la aproximacin se encuentran en el toolbox de seales y muchas de
ellas son vlidas para el diseo de filtros analgicos y filtros digitales. Aunque a
continuacin se hace una pequea introduccin de esas funciones, es conveniente la
consulta de la ayuda para ver, en cada caso, los parmetros de entrada y salida.

3.1 Anlisis de Fourier de seales peridicas.


El anlisis de Fourier surgi a partir del intento de ste matemtico francs por
hallar la solucin a un problema prctico: la conduccin del calor en un anillo de hierro.
Demostr que se puede obtener una funcin discontinua a partir de la suma de funciones
continuas. Esta tesis fue defendida por Fourier ante la Academia Francesa, lo que motiv
severas objeciones de los matemticos ms importantes de su poca como Lagrange,
Laplace, etc.
A primera vista, parece que el problema de analizar formas de ondas complejas
representa una tarea formidable. Sin embargo, si la forma de la onda es peridica, se puede
representar con una precisin arbitraria, mediante la superposicin de un nmero
suficientemente grande de ondas sinusoidales que forman una serie armnica.
Toda funcin f(t) peridica de periodo T, se puede representar en forma de una
suma infinita de funciones armnicas, es decir,

a0
f t = a ncosn t b nsenn t
2 n=1
donde el periodo T=2/, y a0 a1 ...ai ... y b1 b2 .... bi .... son los denominados coeficientes
de Fourier.
modo:

Conocida la funcin peridica f(t), calculamos los coeficientes ai y bi del siguiente

a0 2
=
2 T

an =

2
T

2
bn =
T

Diseo de filtros

Curso 2009/10

T
2

f ( t ) dt

T
2

T
2

f ( t ) cos ( n t ) dt

n = 1, 2,3...

2
T
2

f ( t ) sen ( n t ) dt

n = 1, 2,3...

Departamento de Teora de la Seal y Comunicaciones

Prctica 1: Filtrado de seales periodicas. Diseo de filtros.

Las integrales tienen como lmite inferior -T/2 y como lmite superior T/2.
Si la funcin f(t) tiene simetra, algunos de los coeficientes resultan nulos.

Si f(t) es una funcin par, f(t)=f(-t), los trminos bi son nulos.

Si f(t) es impar f(t)=-f(-t), los coeficientes ai son nulos.

3.2 Visualizacin con MATLAB.


Como ya se vio en la prctica de introduccin a MATLAB, uno de sus puntos
fuertes es la facilidad con la que se pueden visualizar todo tipo de grficos en la pantalla.
En el desarrollo de esta prctica necesitaremos de esa habilidad y, por ello, vamos a
realizar ahora algunos ejemplos.

Visualizacin de una sinusoide.

Para la visualizacin de cualquier seal en el tiempo, lo primero es definir un vector


de tiempo que representar el intervalo de visualizacin de la seal. Posteriormente este
vector ser el eje de tiempos en la orden plot de visualizacin. En el siguiente ejemplo se
visualiza una sinusoide con f = 100 Hz.

>> t=0:1e-6:4/100; % Definimos el eje de tiempos como un vector de tiempo


% que abarca 4 periodos de la seal.
>> y=sin(2*pi*100*t); % Calculamos la funcin seno de esa pulsacin.
>> plot(t,y); % Representacin de la funcin frente al tiempo.
En este caso se ha elegido una definicin de visualizacin de 1 seg, es decir, se
han tomado muestras de la seal cada microsegundo. Esa definicin se puede variar pero
siempre que mantengamos la suficiente para ver correctamente la seal.

Diseo de filtros

Curso 2009/10

Departamento de Teora de la Seal y Comunicaciones

Prctica 1: Filtrado de seales periodicas. Diseo de filtros.

Como vemos, aunque la seal es continua slo podemos trabajar con muestras de la
misma puesto que de otra manera necesitaramos infinitos puntos para su definicin.
Otro punto interesante que vamos a utilizar en la prctica es la suma de seales.
Para sumar dos seales y visualizarlas, simplemente hay que sumar los vectores que las
definen y utilizar el plot de manera anloga a la anterior. Los vectores han de tener la
misma longitud, es decir, las seales deben estar definidas en el mismo intervalo de
tiempo.
>> t=0:1e-5:4/100; % Definimos el eje de tiempos como un vector de
% que abarca 4 periodos de la seal.
>> y1=sin(2*pi*100*t);
>> y2=sin(2*pi*200*t);
>> y=y1+y2;
>> plot(t,y); % Representacin de la funcin frente al tiempo.

Visualizacin de la respuesta en frecuencia de un circuito.

Cuando conocemos la funcin de transferencia de un circuito, generalmente


necesitamos visualizar su respuesta en mdulo y fase para saber a priori los efectos que
tendr sobre las seales de entrada. Podremos saber, en el caso de un filtro, el tipo de filtro
que es y las caractersticas de la aproximacin utilizada.
Para la obtencin de la respuesta en frecuencia de un sistema utilizaremos la
funcin freqs de MATLAB cuya ayuda se muestra a continuacin.

Diseo de filtros

Curso 2009/10

Departamento de Teora de la Seal y Comunicaciones

Prctica 1: Filtrado de seales periodicas. Diseo de filtros.

FREQS. Respuesta en frecuencia usando la Transformada de Laplace (dominio s).


H = FREQS(B, A, W) devuelve el vector complejo H de respuesta en
frecuencia del filtro B/A:
B ( s ) b ( 1) s nb 1 + b ( 2 ) s nb 2 + ... + b ( nb )
H ( s) =
=
A ( s ) a ( 1) s na 1 + a ( 2 ) s na 2 + ... + a ( na )
dados los coeficientes del numerador y del denominador en los vectores B y A. La
respuesta en frecuencia se evala en los puntos especificados en el vector W (en rad/s).
La magnitud y la fase pueden ser representadas grficamente llamando FREQS(B, A,
W) sin argumentos de salida.
[H,W ] = FREQS(B, A) escoge automticamente un conjunto de 200 frecuencias W en
las cuales se computa la respuesta en frecuencia.
FREQS(B, A, N) escoge N frecuencias.
Vea tambin LOGSPACE, POLYVAL, INVFREQS, y FREQZ.
La forma de utilizar esta funcin cuando lo que se desea es obtener la respuesta en
un rango determinado de pulsaciones se muestra a continuacin:
>> W = 0:0.001:5; % Definimos el intervalo de pulsaciones donde se calcula la
% respuesta. Definimos tambin el paso entre muestras
>> NUM = [0 0 0 1], DEN = [1.0000 2.6131 3.4142 2.6131 1.0000]
>> H=freqs(NUM,DEN,W);
>> plot(W,abs(H)); % Grfica del mdulo
>> figure
>> plot(W,unwrap(angle(H))); % Grfica de fase

Diseo de filtros

Curso 2009/10

Departamento de Teora de la Seal y Comunicaciones

Prctica 1: Filtrado de seales periodicas. Diseo de filtros.

En las rdenes anteriores podemos ver algunas funciones tiles en estos casos:

abs. Calcula el mdulo de los nmeros complejos.

angle. Calcula la fase de los nmeros complejos.

unwrap. Evita los saltos de fase (entre - y ) al trabajar con radianes.

3.3 Filtrado de seales peridicas.


La funcin freqs se puede utilizar para obtener las seales de salida de un filtro
cuando conocemos la entrada y la funcin de transferencia. Para poder usarla slo podemos
trabajar con seales peridicas y nos basaremos en que cualquier seal peridica se puede
obtener a partir de su serie de Fourier.
El filtrado de una sinusoide simple se obtiene simplemente modificando su
amplitud y su fase segn se obtenga de la respuesta en frecuencia del filtro a la frecuencia
de dicha sinusoide. Esto es as porque el resultado de filtrar una seal sinusoidal es tambin
otra seal sinusoidal (autofuncin) pero multiplicada por el valor complejo de la funcin
que atraviesa. A continuacin se muestra un ejemplo:
>> t=0:1e-3:50;

>> x1=sin(0.5*t);
>> x2=sin(2.5*t);
>> x=x1+x2;
>> NUM = [0 0 0 1], DEN = [1.0000 2.6131 3.4142 2.6131 1.0000]
>> H=freqs(NUM,DEN,[0.5 2.5])
>> y=abs(H(1))*sin(0.5*t+angle(H(1)))+abs(H(2))*sin(2.5*t+angle(H(2)));
>> subplot(211),plot(t,x),subplot(212),plot(t,y)

Diseo de filtros

Curso 2009/10

Departamento de Teora de la Seal y Comunicaciones

Prctica 1: Filtrado de seales periodicas. Diseo de filtros.

Cmo vemos las sinusoides se multiplican por el valor del mdulo del filtro a la
frecuencia de dicha sinusoide y se les suma un trmino de fase que es el obtenido de la
funcin a esa frecuencia.
Cuando la seal no es sinusoidal simplemente hemos de descomponerla segn su
serie de Fourier y aplicar el principio de linealidad. Es decir, filtrar cada sinusoide de la
serie por separado, sumndolas al final.

3.4 Funciones de clculo del orden.


Empezaremos por estudiar las funciones de clculo del orden necesario del filtro
partiendo de sus especificaciones. Estas funciones se caracterizan porque su nombre
termina en ord y son las siguientes:

Buttord. Devuelve el orden necesario y la pulsacin de corte a 3 dB de un


filtro de Butterworth del que se le han pasado sus pulsaciones de corte de la
banda de paso y de la banda eliminada as como las atenuaciones de la
banda de paso y eliminada.

Cheb1ord. Devuelve el orden necesario y la pulsacin de corte de la banda


de paso de un filtro de Chebychev directo (Tipo I) del que se le han pasado
sus pulsaciones de corte de la banda de paso y de la banda eliminada as
como las atenuaciones de la banda de paso y eliminada.

Cheb2ord. Devuelve el orden necesario y la pulsacin de corte de la banda


eliminada de un filtro de Chebychev inverso (Tipo II) del que se le han

Diseo de filtros

Curso 2009/10

Departamento de Teora de la Seal y Comunicaciones

Prctica 1: Filtrado de seales periodicas. Diseo de filtros.

pasado sus pulsaciones de corte de la banda de paso y de la banda eliminada


as como las atenuaciones de la banda de paso y eliminada.

Ellipord. Devuelve el orden necesario y la pulsacin de corte de la banda de


paso de un filtro elptico del que se le han pasado sus pulsaciones de corte
de la banda de paso y de la banda eliminada as como las atenuaciones de la
banda de paso y eliminada.

Estas funciones sirven tanto para disear filtros digitales como analgicos y para
distinguir unos de otros se les ha de pasar como quinto parmetro de entrada una cadena de
caracteres s en caso de ser analgico, como es nuestro caso.
Veamos un ejemplo de su funcionamiento:
>> [N, Wn] = BUTTORD(10, 20, 2, 40, 's')
N=
8
Wn =
11.2469
En este ejemplo obtenemos el orden y la pulsacin de corte de un filtro de
Butterworth donde sus especificaciones nos dicen que p=10 rad/seg, a=20 rad/seg, p=2
dB y a=40 dB. Para los otros tipos de filtros se actuara de forma similar. Slo cambiara
la pulsacin de corte que se devuelve, y que tiene un significado distinto como ya se vio en
cada funcin.

3.5 Funciones para la obtencin de filtros prototipo.


Como sabemos, en el diseo de filtros, muchas veces no se disea directamente un
filtro concreto sino que se utiliza lo que se llaman filtros prototipo y que se obtienen a
partir de especificaciones normalizadas en amplitud. Tambin sabemos que otras veces se
pueden utilizar tablas de coeficientes una vez conocido el orden de un filtro para obtener la
funcin correspondiente. El filtro obtenido de esas tablas est normalizado y depender del
tipo de aproximacin respecto a que pulsacin lo est.
En MATLAB existen unas funciones que nos van a permitir la obtencin de esos
prototipos y que son las siguientes:

Buttap. Devuelve los ceros, los polos y la ganancia de un filtro paso-bajo


analgico de Butterworth prototipo (Normalizado respecto a c). Se le pasa
como argumento el orden del filtro deseado.

Cheb1ap. Devuelve los ceros, los polos y la ganancia de un filtro paso-bajo


analgico de Chebychev directo prototipo (Normalizado respecto a p). Se
le pasan como argumentos el orden del filtro deseado y la atenuacin
mxima en la banda de paso.

Diseo de filtros

Curso 2009/10

Departamento de Teora de la Seal y Comunicaciones

Prctica 1: Filtrado de seales periodicas. Diseo de filtros.

10

Cheb2ap. Devuelve los ceros, los polos y la ganancia de un filtro paso-bajo


analgico de Chebychev inverso prototipo (Normalizado respecto a a). Se
le pasan como argumentos el orden del filtro deseado y la atenuacin
mnima en la banda atenuada.

Ellipap. Devuelve los ceros, los polos y la ganancia de un filtro paso-bajo


analgico elptico prototipo (Normalizado respecto a p). Se le pasan como
argumentos el orden del filtro deseado, la atenuacin mxima en la banda de
paso y la atenuacin mnima en la banda atenuada.

Veamos un ejemplo con un filtro de Chebychev directo de orden 5 y atenuacin


mxima en la banda de paso de 2 dB:
>> [Z,P,K] = CHEB1AP(5,2)
Z=
[]
P=
-0.0675 + 0.9735i
-0.1766 + 0.6016i
-0.2183 + 0.0000i
-0.1766 - 0.6016i
-0.0675 - 0.9735i
K=
0.0817

3.6 Funciones de transformacin y desnormalizacin.


Una vez que tenemos un prototipo paso-bajo normalizado debemos, normalmente,
o bien transformarlo en otro tipo de filtro o bien desnormalizarlo para que se adapte a
nuestra plantilla inicial. Para ello utilizaremos las funciones de transformacin que se
encuentran en el toolbox de seales.

Lp2lp. Esta funcin desnormaliza una funcin paso-bajo prototipo. Lo que


hace es convertir una funcin paso-bajo normalizada en otra con pulsacin
de corte distinta que se le pasa como parmetro. Los parmetros de entrada
son el numerador y el denominador de la funcin normalizada y la pulsacin
de corte de la nueva funcin desnormalizada.

Lp2hp. Esta funcin convierte un filtro paso-bajo normalizado en un filtro


paso-alto con una pulsacin de corte que se pasa como parmetro. Los
parmetros de entrada son el numerador y el denominador del filtro pasobajo normalizado y la pulsacin de corte del filtro paso-alto que queremos
obtener.

Lp2bp. Esta funcin convierte un filtro paso-bajo normalizado en un filtro


paso-banda con una pulsacin central y un ancho de banda determinados
que se pasan como parmetros. Los parmetros de entrada son el numerador

Diseo de filtros

Curso 2009/10

Departamento de Teora de la Seal y Comunicaciones

Prctica 1: Filtrado de seales periodicas. Diseo de filtros.

11

y el denominador del filtro paso-bajo normalizado, la pulsacin central y el


ancho de banda del filtro (B) que queremos obtener. Cuando se dice
pulsacin central nos referimos a la media geomtrica de las pulsaciones
extremo de la banda de paso. Se corresponde con la 0 de la funcin de
transformacin paso-bajo paso-banda:
s=

2 + 02
B

Lp2bs. Esta funcin convierte un filtro paso-bajo normalizado en un filtro


banda eliminada con una pulsacin central y un ancho de banda
determinados que se pasan como parmetros. Los parmetros de entrada son
el numerador y el denominador del filtro paso-bajo normalizado, la
pulsacin central y el ancho de banda del filtro (B) que queremos obtener.
La pulsacin central se corresponde con la 0 de la funcin de
transformacin paso-bajo banda eliminada:
s=

B
+ 02
2

Como ejemplo de aplicacin de estas funciones, veamos el efecto que tienen sobre
una funcin de transferencia normalizada de Chebychev de orden 5 con p=2 dB que tiene
la siguiente expresin:
H ( s) =

0.0817
s + 0.7065s +1.4995s +0.6935s 2 + 0.4593s+0.0817
5

En primer lugar queremos desnormalizar dicho filtro y llevarlo a una pulsacin de


corte de 5 radianes/segundo. Para ello utilizamos los siguientes comandos:
>> NUM=[0

0.0817]

NUM =
0

>> DEN=[1.0000

0.7065

0.0817

1.4995

0.6935

0.4593

0.0817]

DEN =
1.0000

0.7065

1.4995

0.6935

0.4593

0.0817

>> [NUMT,DENT] = LP2LP(NUM,DEN,5) % Desnormalizamos a 5 rad/seg


NUMT =
255.3125
DENT =
1.0000

Diseo de filtros

3.5325 37.4875 86.6875 287.0625 255.3125

Curso 2009/10

Departamento de Teora de la Seal y Comunicaciones

Prctica 1: Filtrado de seales periodicas. Diseo de filtros.

12

>> W=0:0.01:10;
>> H=freqs(NUM,DEN,W);
>> HT=freqs(NUMT,DENT,W);
>> plot(W,abs(H),W,abs(HT))

Ahora, sobre ese mismo filtro queremos obtener un filtro paso-alto con pulsacin de
corte de 5 rad/seg.
>> [NUMT,DENT] = LP2HP(NUM,DEN,5) % Transformamos a 5 rad/seg
NUMT =
1.0000

0.0000

0.0000 -0.0000

0.0000 -0.0000

0.0212

0.5405

DENT =
1.0e+004 *
0.0001

0.0028

0.2294

3.8250

>> HT=freqs(NUMT,DENT,W);
>> plot(W,abs(H),W,abs(HT))

Diseo de filtros

Curso 2009/10

Departamento de Teora de la Seal y Comunicaciones

Prctica 1: Filtrado de seales periodicas. Diseo de filtros.

13

Como ltimo ejemplo veamos el caso de un filtro paso-banda que queremos obtener
a partir del paso-bajo anterior. Este paso-banda tiene como pulsaciones de corte de la banda
de paso 1=3 rad/seg y 2=5 rad/seg. Los comandos que permiten su obtencin se
muestran a continuacin:
>> [NUMT,DENT] = LP2BP(NUM,DEN,sqrt(3*5),5-3)
NUMT =
2.6144 -0.0000 -0.0000

0.0000 -0.0000

0.0000

DENT =
1.0e+005 *
Columns 1 through 9
0.0000

0.0000

0.0008

0.0009

0.0253

0.0208

0.3791

0.2032

2.7337

Columns 10 through 11
0.7153

7.5937

>> W=0:0.01:10;
>> H=freqs(NUM,DEN,W);
>> HT=freqs(NUMT,DENT,W);

Diseo de filtros

Curso 2009/10

Departamento de Teora de la Seal y Comunicaciones

Prctica 1: Filtrado de seales periodicas. Diseo de filtros.

14

>> plot(W,abs(H),W,abs(HT))

3.7 Otras funciones.


En este punto vamos a presentar una serie de funciones que, o bien no pertenecen a
ninguno de los apartados anteriores o bien siendo de diseo de filtros no van a ser
utilizadas en el desarrollo de esta prctica.
a) zp2tf. Como hemos visto en un apartado anterior, las funciones que permiten la
obtencin de filtros normalizados devuelven los polos, los ceros y la ganancia
de esas funciones. Sin embargo, las funciones de transformacin necesitan
como entrada el numerador y el denominador de la funcin. La funcin zp2tf
nos va a permitir realizar ese cambio. Esta funcin tiene como entrada los ceros,
polos y la ganancia, tal y como los devuelven las funciones de filtros
normalizados y devuelven el numerador y denominador correspondientes.
b) zplane. Esta funcin nos permite obtener el diagrama de polos y ceros de una
funcin de transferencia, bien a partir del numerador y el denominador o usando
los polos y ceros ya calculados. A esta funcin se le pasan, por tanto, el
numerador y denominador o los polos y los ceros y los representa en un grfico.
A continuacin se muestra un ejemplo:
>> NUM =

32

NUM =
0

>> DEN = 1.0000


Diseo de filtros

Curso 2009/10

32
6.4721 20.9443 41.8885 51.7771 32.0000
Departamento de Teora de la Seal y Comunicaciones

Prctica 1: Filtrado de seales periodicas. Diseo de filtros.

15

DEN =
1.0000

6.4721 20.9443 41.8885 51.7771 32.0000

>> zplane(NUM,DEN)

Vemos que este es un filtro de Butterworth puesto que sus polos estn
colocados en una circunferencia. El radio de esa circunferencia ser igual a la
pulsacin de corte a 3 dB de dicho filtro. En la representacin vemos tambin
un circulo de trazado discontinuo, este circulo tiene por radio la unidad y es de
importancia en el diseo de filtros digitales.
Existe una funcin similar llamada pzmap que tambin representa los polos y
los ceros, pero en este caso no representa el circulo unidad puesto que no est
enfocado a los filtros digitales como el anterior.
c) Funciones directas para el diseo de filtros. Butter, Cheby1, Cheby2, Ellip.
Estas funciones permiten el diseo de filtros segn la aproximacin elegida pero
tienen la particularidad de que devuelven directamente el numerador y el
denominador del filtro. Y no slo de filtros paso bajo, sino de cualquier tipo y
con cualquier pulsacin de corte. Sin embargo, nosotros no vamos a utilizar
estas funciones en el desarrollo de la prctica porque queremos realizar el
proceso de diseo completo desde el prototipo al filtro final. Esta funcin sirve
tanto para disear filtros analgicos como digitales y hay que indicar de alguna
manera que tipo queremos obtener, esto se hace aadiendo un ltimo parmetro
de entrada que es una letra s.

Diseo de filtros

Curso 2009/10

Departamento de Teora de la Seal y Comunicaciones

Prctica 1: Filtrado de seales periodicas. Diseo de filtros.

16

4. Desarrollo de la prctica.
En la primera parte de la prctica se generar una seal peridica por medio de
suma de sus armnicos, para, en el apartado siguiente ser filtrada con un filtro
proporcionado. En este apartado se analizar el filtro proporcionado y se comprobar el
efecto de filtrado sobre la seal.
Posteriormente en los apartados siguientes vamos a disear dos filtros para unas
aplicaciones especficas. Se tratar de eliminar seales indeseadas que se han sumado como
ruido a otras que s son tiles. Para ello debemos definir la plantilla de especificacin del
filtro, obtener el orden necesario, calcular la funcin de transferencia normalizada y
desnormalizar o transformar para obtener el filtro final.

4.1 Desarrollo en Serie de Fourier.


De una seal par, de periodo T=1/20 segundos, conocemos los coeficientes de su
desarrollo en serie de Fourier, que vienen dados por la expresin:
1
n
a n= sinc
2
2
Podemos representar la seal segn una serie de Fourier de la siguiente forma:

x t =a 0 2ancos
n =1

2
nt
T

Se pide representar las distintas aproximaciones a x(t) que se obtienen de sumar un


nmero finito de armnicos, en los siguientes casos y comentar los resultados. Se sugiere
representar un nmero pequeo de periodos de la seal para mejorar la visualizacin, por
ejemplo 2 3 periodos. Represente tambin todos los casos en una misma grfica. Utilice
una resolucin de 10-3 segundos.
a) 1 armnico.
b) 2 armnicos.
c) 10 armnicos.
d) 100 armnicos.

Cuestiones.
1) Qu observa al aumentar el nmero de armnicos? .
2) Qu diferencia observa entre la primera y segunda grfica?. A qu se debe
esto?.

Diseo de filtros

Curso 2009/10

Departamento de Teora de la Seal y Comunicaciones

Prctica 1: Filtrado de seales periodicas. Diseo de filtros.

17

3) Qu seal se consigue con 100 armnicos?. Qu diferencia hay entre esta


seal con 100 armnicos o con ms?.
4) Repita el apartado anterior pero con una resolucin de 10-4 segundos. Qu est
ocurriendo?.

4.2 Filtrado de seales peridicas.


Tenemos un sistema que viene dado por la siguiente funcin transferencia:
H (s) =

0.0178s 4 +3733.11s 2 +123583140.6


s4 +89.71s3 +32042.69s 2 +1835977.27s+174565825.98

Se pide:
a) Obtener el diagrama polo-cero y discutir en funcin de ste el tipo de filtro en
funcin de su respuesta en amplitud.
b) Representar la respuesta en amplitud y en fase del sistema. Para ello usar la
funcin freqs(). Adems decir:
1. Tipo de aproximacin.
2. Obtener los valores de p , p , a utilizando Matlab. Comentar el
procedimiento seguido. Puede utilizar la funcin ginput de Matlab
o bien obtener los valores exactos examinando las variables creadas
en Matlab.
3. Presenta distorsin de fase en la banda de paso?.Por qu?.
4. A qu son debidos los saltos en la fase?.
c) Para comprobar el efecto que produce esta funcin de transferencia sobre
nuestra seal original x(t), vamos a hacer que una aproximacin a sta,
compuesta por 40 armnicos, pase por el sistema representado por dicha
funcin. Usaremos para ello la funcin freqs() de nuevo y aplicaremos la
propiedad de linealidad, calculando el efecto sobre cada uno de los armnicos,
para sumarlos finalmente a la salida. Representar la seal de salida.
d) Es la seal de salida que esperaba?Por qu?. Dibujar en una misma grfica el
espectro de la seal de entrada y la respuesta en amplitud del filtro y relacionar
la seal de salida obtenida con la informacin de esta grfica. Para que se pueda
ver mejor, represente nicamente los primeros 8 armnicos. (Utilizar la funcin
LINE de Matlab para dibujar lneas y la funcin STEM para el espectro de la
seal).

Diseo de filtros

Curso 2009/10

Departamento de Teora de la Seal y Comunicaciones

Prctica 1: Filtrado de seales periodicas. Diseo de filtros.

18

e) Usando la funcin lp2hp() sobre el anterior sistema, con el parmetro


0 =300 2 , obtendremos una nueva funcin de transferencia. Representar su
respuesta en amplitud y en fase. Qu tipo de filtro es segn la respuesta en
amplitud?. Hallar la nueva frecuencia de corte de la banda de paso de forma
terica y grficamente mediante Matlab.
f) Al igual que en el apartado c) haremos que una seal compuesta de 40
armnicos de la seal original pase por nuestro nuevo sistema (apartado
anterior) con las siguientes restricciones:
1. La respuesta en fase se supone nula para todas las frecuencias.
Representar en la misma grfica la seal de entrada y de salida. Comentar
los resultados.
2. Consideramos que el filtro presenta un retardo de grupo constante e igual
a del periodo de la seal de entrada. Representar en la misma grfica
tanto la seal de entrada como la de salida. Comentar los resultados.
3. Consideremos la respuesta en amplitud y fase del filtro.
Comentar la salida obtenida en cada uno de estos tres casos del apartado f.

4.3 Filtro para eliminar ruido en una banda de frecuencias.


Tenemos una seal x(t) peridica de periodo T=1/20 segundos de la que conocemos
su desarrollo en serie de Fourier. Sabemos adems que slo son necesarios 40 armnicos
de dicha seal para aproximarla de manera aceptable.

1
n 1
n
a n= sinc 2
sinc
2
2 2
3
40

x t =a 0 2a ncos
n=1

2
nt
T

A esta seal se le suma un ruido n(t) proveniente de la alimentacin de alterna, de


manera que el resultado es una seal con ruido y deformada que llamaremos y(t).
n t=cos

5
t ;
T

y t= x tn t

Se pide:
1. Representar en grficas separadas la seal de entrada sin ruido, la seal de entrada con
el ruido aadido y en una tercera grfica representar el espectro de la seal de entrada
con el ruido aadido. En este ltimo caso pintar con otro color el espectro del ruido.
2. Disear razonadamente la plantilla del filtro que permita eliminar el ruido de la seal
y(t) y recuperar la original x(t). Como condiciones para el diseo se pide:
Diseo de filtros

Curso 2009/10

Departamento de Teora de la Seal y Comunicaciones

Prctica 1: Filtrado de seales periodicas. Diseo de filtros.

19

La atenuacin mxima que sufran los armnicos de la seal ser de 1 dB .

La atenuacin mnima para que una seal sea eliminada ser de 40 dB.

Se ajustarn las frecuencias de corte para que se cumplan las


especificaciones con el mnimo orden posible y para que la banda de
frecuencias eliminadas sea, al menos, de 10 Hz de ancho.

Representar en una figura la plantilla de atenuacin diseada utilizando la funcin


LINE que proporciona Matlab.
3. Obtener el mnimo orden necesario del filtro de Butterworth que cumpla las
especificaciones anteriores. Comentar el procedimiento seguido detallando las
funciones utilizadas, sus parmetros y razonar los valores obtenidos.
4. Obtener la funcin paso-bajo normalizada correspondiente al orden anterior.
Representar el diagrama de polos y ceros de dicho filtro.
5. Transformar el filtro paso-bajo de normalizado para que cumpla con la plantilla inicial.
Representar el diagrama de polos y ceros resultante y deducir si representa el tipo de
filtro que se buscaba. Comentar el procedimiento seguido detallando las funciones
utilizadas, sus parmetros y razonar los valores obtenidos.
6. Representar las respuestas en amplitud y fase del filtro transformado. Mostrar, de
manera grfica, que se cumplen, con el filtro diseado, las especificaciones de
atenuacin del enunciado (pintar la plantilla de atenuacin o ganancia con la funcin
de transferencia para comprobar que el filtro diseado es vlido). Adems obtener
grficamente los valores de las atenuaciones a las pulsaciones lmite en la banda de
paso y atenuada, confirmando as que cumplen la plantilla diseada.
7. Representar en una misma grfica el espectro de la seal de entrada y la respuesta en
amplitud del filtro diseado. Comentar el efecto que producir el filtro sobre la seal
de entrada.
8. Por ltimo filtraremos la seal y(t) con el filtro diseado. Comentar la salida obtenida.
Realizar tambin el filtrado de la seal sin tener en cuenta el efecto de la fase del filtro
y representar la seal de salida y la salida ideal en una nueva grfica. Comentar el
resultado obtenido.
9. Repetir los puntos 3 al 8 para las siguientes aproximaciones:

Chebychev directo.

Chebychev Inverso.

Elptica.

Se recomienda reutilizar el cdigo desarrollado para el filtro de Butterworth


cambiando nicamente lo que sea necesario para cada aproximacin. Se puede
seleccionar el cdigo para cada aproximacin mediante un SWITCH.
10. Comentar las diferencias entre aproximaciones y si coinciden con lo esperado segn la
teora conocida.
Diseo de filtros

Curso 2009/10

Departamento de Teora de la Seal y Comunicaciones

Prctica 1: Filtrado de seales periodicas. Diseo de filtros.

20

11. Disear el filtro necesario para obtener nicamente el ruido aadido a la seal original.
Igualmente considerar un ancho de banda de 10 Hz y las atenuaciones en banda de
paso y eliminada igual al filtro diseado en el apartado 2. En este caso igualmente
obtener el filtro con las cuatro aproximaciones estudiadas, sus diagramas polo-cero y
respuestas en amplitud, atenuacin y fase. Comprobar el proceso de filtrado y que la
seal obtenida coincide con el ruido aadido. Para reutilizar el cdigo de apartados
anteriores, se puede hacer este filtro con la misma aproximacin que la utilizada para
el filtro anterior.

5. Memoria.
La memoria de esta prctica incluir un(os) programa(s) de Matlab (comentados) en
los que se calcule y visualice lo pedido en las cuestiones del apartado 4. Adems se
proporcionar una explicacin y comentario de cmo se ha realizado la prctica y porqu
se ha realizado de esa forma.
Se debe aadir en cada punto un apartado de conclusiones donde se comentarn los
resultados en relacin con la teora ya conocida. Siempre que se pueda, se aadirn las
grficas necesarias para poder seguir las explicaciones.
NOTA: Para la realizacin de los filtros no se permite utilizar las funciones butter,
cheby1, cheby2 y ellip.

Diseo de filtros

Curso 2009/10

Departamento de Teora de la Seal y Comunicaciones

También podría gustarte