Vous êtes sur la page 1sur 18

Laboratorio: Anlisis de Se ales en el a n Dominio Temporal y Frecuencial Uso de MATLAB

CATEDRA DE SENALES Y SISTEMAS

ANO 2003

Leonardo D. Hernndez y Ruben H. Milocco a Departamento de Electrotecnia UNIVERSIDAD NACIONAL DEL COMAHUE

INTRODUCCION

1.

INTRODUCCION

Este apunte, contiene una introduccin al manejo de MatLab, y aplicaciones del programa o a problemas relacionados con Seales y Sistemas. MatLab (Matriz Laboratory; Laboratorio de n Matrices), es un sistema basado en matrices para realizar clculos matemticos y de ingenier a a a. Todas las variables que maneja MatLab son matrices, es decir, solo tiene un tipo de datos, una matriz, o un arreglo rectangular de nmeros. Debido a la forma de clculos de MatLab, se u a trabajar siempre sobre tiempo discreto, y se harn consideraciones sobre la cantidad de datos a a para sacar conclusiones sobre tiempo continuo. Resultando una prctica muy util para entender a los conceptos de series de Fourier continuas y discretas, y Transformada de Fourier continua y discreta.

1.1.

OBJETIVOS

1. Lograr un manejo bsico de Matlab y poder aplicarlo en la resolucin de problemas, a o planteados a lo largo del cursado de la materia. 2. Recordar algunas propiedades de la Transformada Discreta de Fourier, y entender que es la Transformada rpida de Fourier (FFT). a 3. Poder relacionar los coecientes de la Serie discreta de Fourier de una funcin peridica o o discreta con la FFT y su extensin al concepto de Transformada discreta de Fourier. o 4. Relacionar el procesamiento de las seales en tiempo discreto y en tiempo continuo. n

1.2.

El PROGRAMA MATLAB

MATLAB es el nombre abreviado de MATrix LABoratory. MATLAB es un programa para realizar clculos numricos con vectores y matrices. Como caso particular puede tambin trabajar a e e con nmeros escalares, tanto reales como complejos. Una de las capacidades ms atractivas es la u a de realizar una amplia variedad de grcos en dos y tres dimensiones. MATLAB tiene tambin a e un lenguaje de programacin propio. o MATLAB dispone de un cdigo bsico y de varias librer especializadas (toolboxes). En o a as este apunte se har referencia exclusiva al cdigo bsico. a o a

1.3.

PRIMEROS PASOS EN MATLAB:

Para comenzar, cuando trabajemos con la l nea de comandos, es bueno saber que es posible recuperar comandos anteriores de MATLAB y moverse por dichos comandos con el ratn y o con las teclas-echas( ). Al pulsar la primera de dichas echas aparecer el comando que se a hab introducido inmediatamente antes. De modo anlogo es posible moverse sobre la l a a nea de comandos con las teclas y , ir al principio de la l nea con la tecla Inicio, al nal de la l nea con Fin, y borrar toda la l nea con Esc. Recurdese que slo hay una l e o nea activa (la ultima). Para borrar todas las salidas anteriores de MATLAB y dejar limpia la ventana principal se pueden utilizar las funciones clc y home. La funcin clc (clear console) elimina todas las o salidas anteriores, mientras que home las mantiene, pero lleva el prompt ( ) a la primera

INTRODUCCION

l nea de la ventana. Si se desea salir del programa, basta teclear los comandos quit o exit, o bien elegir Exit MATLAB en el men File (tambin se puede utilizar el Alt+F4 de todas las u e aplicaciones de Windows).

1.4.

USO DEL HELP

MATLAB 5.3 dispone de un excelente Help con el que se puede encontrar la informacin o que se desee. A continuacin se vern las distintas opciones que aparecen en el men. o a u Help. 1. Help Window, se puede buscar ayuda sobre la funcin o el concepto que se desee. o 2. Help Tips. Ofrece ideas prcticas para utilizar la ayuda. a 3. Help Desk. Se abre un browser de Internet (Netscape Communicator) que permite acceder a toda la informacin sobre MATLAB en formato HTML. Esta informacin es equivalente o o a los manuales impresos del programa. 4. Examples and Demos. Se abre una ventana que da acceso a un buen nmero de ejemplos u resueltos con MATLAB, cuyos resultados se presentan grcamente de diversas formas. a Es bastante interesante recorrer estos ejemplos para hacerse idea de las posibilidades del programa. Es asimismo muy instructivo. Adems, se puede tambin recurrir al Help desde a e la l nea de comandos. Se aconseja hacer prcticas al respecto. Por ejemplo, obsrvese la a e respuesta a los siguientes usos del comando help: help help lang El comando helpwin seguido de un nombre de comando muestra la informacin correo spondiente a ese comando en la ventana Help Window , incluyendo tambin comandos e similares sobre los que se ofrece ayuda (lista despleglable See Also). El comando doc seguido de un nombre de comando muestra la informacin correspondiente a ese comando o a travs de Netscape Navigator o Internet Explorer, en formato HTML. e

1.5.

EL ENTORNO DE TRABAJO DE MATLAB

Los componentes ms importantes del entorno de trabajo de MATLAB son el editor de a caminos de bsqueda (Path Browser), el editor y depurador de errores (Editor Y Debugger) u y el visualizador del espacio de trabajo (Workspace Browser). A continuacin se describen o brevemente estos componentes. Utilizar MATLAB y desarrollar programas para MATLAB es mucho ms fcil si se conoce bien este entorno de trabajo. Es por ello muy importante leer con a a atencin las subsecciones que siguen. o 1.5.1. PATH BROWSER:

ESTABLECER EL CAMINO DE BUSQUEDA (SEARCH PATH). MATLAB puede llamar a una gran variedad de funciones, tanto del propio programa como programadas por los usuarios. A veces puede incluso haber funciones distintas que tienen el mismo nombre. Interesa saber

INTRODUCCION

cules son las reglas que determinan qu funcin o qu chero *.m es el que se va a ejecutar a e o e cuando su nombre aparezca en una l nea de comandos del programa. Esto queda determinado por el camino de bsqueda (search path) que el programa utiliza cuando encuentra el nombre u de una funcin. El search path de MATLAB es una lista de directorios que se puede ver y o modicar a partir de la l nea de comandos, o utilizando el Path Browser. Para incluir desde la l nea de comandos de MATLAB un directorio nuevo al comienzo del search path sin utilizar el Path Browser, se puede utilizar tambin el comando path, que concatena dos listas de e directorios (slo se deben utilizar directorios que realmente existan en el PC), como por ejemplo: o path(c : mat \ matlab)

1.5.2.

EDITORyDEBUGGER

EDITOR DE FICHEROS Y DEPURADOR DE ERRORES. En MATLAB tienen particular importancia los cheros-M (o M-les). Son cheros de texto ASCII, con la extensin *.m, que o contienen conjuntos de comandos o denicin de funciones (estos ultimos son un poco ms o a complicados y se vern ms adelante). La importancia de estos cheros-M es que al teclear su a a nombre en la l nea de comandos y pulsar Intro, se ejecutan uno tras otro todos los comandos contenidos en dicho chero. El poder guardar instrucciones y grandes matrices en un chero permite siempre ahorrar mucho trabajo de tecleado. Aunque los cheros *.m se pueden crear con cualquier editor de cheros ASCII tal como Notepad, MATLAB dispone de un editor que permite tanto crear y modicar estos cheros, como ejecutarlos paso a paso para ver si contienen errores (proceso de Debug o depuracin). El Editor muestra con diferentes colores los diferentes o tipos o elementos constitutivos de los comandos (en verde los comentarios, en rojo las cadenas de caracteres, etc.). El Editor se preocupa tambin de que las comillas o parntesis que se abren, e e no se queden sin el correspondiente elemento de cierre. 1.5.3. WORKSPACE BROWSER

EL ESPACIO DE TRABAJO DE MATLAB. El espacio de trabajo de MATLAB (Workspace) es el conjunto de variables y de funciones de usuario que en un determinado momento estn a denidas en la memoria del programa. Para obtener informacin sobre el Workspace se pueden o utilizar los comandos who y whos. El segundo proporciona una informacin ms detallada que o a el primero. Por ejemplo: whos Name Size Bytes Class A 3x3 72 double array B 3x3 72 double array C 3x3 72 double array D 3x3 72 double array

INTRODUCCION Grand total is 36 lements using 288 bytes

Estas son las variables del espacio de trabajo base (el de la l nea de comandos de MATLAB). Se puede obtener de modo grco una informacin anloga con el Workspace Browser, que se a o a activa con el comando Show Workspace del men File de MATLAB, o clicando en el botn u o correspondiente de la barra de herramientas ( ). Muestra el aspecto inicial del Workspace Browser cuando se abre. Haciendo doble clic sobre la matriz A aparece una nueva pestaa en n la ventana del EditoryDebugger en la que se muestran y pueden ser modicados los elementos de dicha matriz .

1.6.

Control de los formatos de salida y de otras opciones de MATLAB

Los formatos de salida en la ventana principal de MATLAB se pueden controlar fcilmente a a partir del cuadro de dilogo que se abre con el comando Preferences del men File. Respecto a a u los formatos numricos con que MATLAB muestra los resultados (recurdese que siempre calcue e la con la mxima precisin), se pueden activar las mismas posibilidades por medio de comandos a o tecleados en la l nea de comandos de MATLAB. Los ms importantes de estos comandos son a los siguientes: format format format format format format format format format format format short coma ja con 4 decimales (defecto) long coma ja con 15 decimales hex cifras hexadecimales bank nmeros con dos cifras decimales u short e notacin cient o ca con 4 decimales short g notacin cient o ca o decimal, dependiendo del valor long e notacin cient o ca con 15 decimales long g notacin cient o ca o decimal, dependiendo del valor loose introduce algunas l neas en blanco en la salida (defecto) compact elimina las l neas en blanco citadas (opcin recomendada) o rat expresa los nmeros racionales como cocientes de enteros u

1.7.

Guardar variables y estados de una sesin: Comandos save y load o

En muchas ocasiones puede resultar interesante interrumpir el trabajo con MATLAB y poderlo recuperar ms tarde en el mismo punto en el que se dej (con las mismas variables denidas, a o con los mismos resultados intermedios, etc.). Hay que tener en cuenta que al salir del programa todo el contenido de la memoria se borra automticamente. Para guardar el estado de una sesin a o de trabajo en el directorio actual existe el comando save. Si se teclea: save antes de abandonar el programa, se crea un chero binario llamado matlab.mat(o matlab) con el estado de la sesin (excepto los grcos, que por ocupar mucha memoria hay que guardar aparte). Dicho o a estado puede recuperarse la siguiente vez que se arranque el programa con el comando load. Esta es la forma ms bsica de los comandos save y load. Se pueden guardar tambin matrices a a e y vectores de forma selectiva y en cheros con nombre especicado por el usuario. Por ejemplo, el comando (sin comas entre los nombres de variables):

ACTIVIDADES EN MATLAB

save f ilename A x y guarda las variables A, x e y en un chero binario llamado lename.mat (o lename). Para recuperarlas en otra sesin basta teclear: o load f ilename Si no se indica ningn nombre de variable, se guardan todas las variables creadas en esa u sesin. o

2.

ACTIVIDADES EN MATLAB

A lo largo del apunte, se mostraron algunas de las propiedades del programa MATLAB, y fundamentalmente, como es el manejo matricial de este. Ahora, podemos comenzar con las aplicaciones de estas herramientas a nuestros temas de inters. El primer tema a desarrollar, es e como denir una seal, ya que a partir de las seales que sepamos generar en Matlab, ser posible n n a hacer cualquier clase de estudio, tanto a la seal denida, como as tambin a cualquier sistema n e lineal que interacte con dicha seal. u n

2.1.

Generacin de Se ales. o n

Actividad M1 Como primera actividad se dene una funcin x de N puntos. Despus de analizar el prograo e ma, describa de que funcin se trata. o

clear x1 x2 x3 N; N=10 ;... x1(1:ceil(N/4))=ones;... x2(1:2*fix(N/4))=zeros; ... x3(1:N-2*fix(N/4)-ceil(N/4))=ones;... x=[x1 x2 x3]; plot(x,.r); grid;

Actividad M2 Como se realizo en la actividad M1, realice una funcin rampa de N puntos. o Actividad M3 Una funcin importante como se vio , es una funcin sinusoidal, la cual gracaremos en un o o periodo T de 0 a 2*pi.

ACTIVIDADES EN MATLAB

clear x t N; N=20,... t=0:(1/N):1-(1/N);... T=1; wo=2*pi/T; x=sin(wo*t);... plot(t,x,.r);grid; Actividad M4 Realizar un programa similar al anterior, que permita variar la frecuencia de la seal, y n muestre la funcin entre 0 y 4*pi. o Actividad M5 Todos los programas realizados hasta ahora, fueron hechos en l neas de comandos, y como se explico al principio de este apunte, es posible ejecutar programas guardados en archivos (.m). Para acceder al editor de programas, se utiliza el comando edit una vez en el, podemos comenzar con nuestro programa, el cual puede tener variables de entrada y de salida, como as tambin solo e ejecutar una l nea de comandos. Una vez terminado el programa, este se guarda con extensin o ( .m ), y puede ser llamado desde el rea de trabajo. Para que responda a nuestro llamado, a debemos estar posicionados en el directorio donde esta guardado, para esto se usa el Path Browser. A modo de ejemplo, considere el siguiente programa: Generador de funciones: Se deni una funcin xn.m en Matlab para generar ocho seales o o n de N puntos, y se uso la instruccin case switch para seleccionar cual de las seales queremos o n generar. function[x]=xn(N,c) pi=3.1416; switch c %1) case 1 %pulso rectangular de N/2 unos y N/2 ceros, par. x1(1:1:fix(N/4))=ones; x2(1:1:fix(N/2))=zeros; x3(1:1:fix(N/4)-1)=ones; d=fix(N/2)+2*fix(N/4)-1; if (N-d)==0; x=[x1 x2 x3]; else x2(1:1:fix(N/2)+(N-d))=zeros; x=[x1 x2 x3];

ACTIVIDADES EN MATLAB

end %2) case 2 %pulso rectangular de 5 unos y N-5 ceros, par. x=[ 1 1 1 zeros(1,N-5) 1 1]; %3) case 3 %rampa x1=[(0:1:fix(N/2))]; x2=zeros(1,fix(N/2)); d=length(x1)+length(x2); if N-d==0; x=[x1 x2 ]; else x2=zeros(1,fix(N/2)+(N-d)); x=[x1 x2]; end %4) case 4 %seno a=[0:2*pi/(N):-2*pi/(N)+2*pi];x=sin(2*a); %5) case 5 %multiseno a=[0:2*pi/(N):-2*pi/(N)+2*pi];x=(4*sin(4*a)+... 2*sin(70*a)+sin(100*a)+sin(40*a)+sin(250*a)); %6) case 6 %sinc(x) t=[-pi+2*pi/(N):2*pi/(N):pi];x=sinc(4*t); %7) case 7 % a^n a=0.95 for i=1:1:N; x(i)=a^i; end case 8 w=wavread(deportes.wav); x=w(1:N);

otherwise error(# solo hay end

8 funciones definida )

ACTIVIDADES EN MATLAB

Para llamar a la funcin xndenida arriba, la sintaxis es: o x1 = xn(N, c); Donde c es el nmero entero de 1 a 8 que identica la seal a generar, y N es el nmero u n u de puntos del vector que representa la seal. El vector generado se asigna a la variable que se n dena, en este caso a x1. Una ayuda puede obtenerse tecleando help xn Actividad M6 Pruebe si la funcin anterior funciona correctamente. o

2.2.

Convolucin o

Actividad M7 La operacin de convolucin: o o Convolucin entre dos pulsos rectangulares iguales o x = [0 0 0 1 1 1 1 1 0 0 0] ;... y = conv ( x , x ) ;... subplot(311);stem(x,or) ;grid, subplot(312);... stem(x,or) ;grid, subplot(313);stem (y,ok) ;grid Convolucin entre dos pulsos triangulares iguales o y=[[0:8] [7:-1:0]]; figure(2); subplot(311);stem(y,or) ;grid,... subplot(312);stem(y,or) ;... grid, z = conv ( y , y ) ;... subplot(313);stem(z,ok) ;grid

2.3.
2.3.1.

Series de Fourier
Actividad, anlisis espectral de se ales perdicas discretas a n o

Nuestro siguiente objetivo es analizar los coecientes espectrales de distintos tipos de seales n peridicas discretas. Para esto es importante recordar la Transformada discreta de Fourier(DFT), o

ACTIVIDADES EN MATLAB

y como se relaciona con las Series de Fourier De tiempo discreto. Sabiendo que existe un algoritmo muy eciente que calcula la DFT y se lo conoce como transformada rpida de Fourier a (FFT) Recordando el par de la serie discreta de Fourier para tiempo discreto.
N 1

xp [n] = ak = 1 N

ak ejk N n
k=0 N 1 n=0

xp [n]ejk N n

donde xp [n] es una seal peridica con periodo N, sea x[n] una seal de tiempo nito N 1 < N n o n igual a xp [n] en el intervalo 0 < n < N 1 y cero fuera de ese intervalo: = f f t(x[n], N ) = N ak

Es la transformada rpida de Fourier relacionada con los ak de una seal peridica. a n o Actividad M8 Corrimiento de una funcin xn de forma tal que 7 sea el primer elemento. Existen dos formas o diferentes para realizar este ejemplo: 1. En forma directa a=[1 2 3 4 5 6 7 6 5 3 2 1 0 ];... b=[a(7:13) a(1:6)];... t=1:length(a);... plot(t,a,.b,t,b,.r);grid;b 2. Usando la FFT y la propiedad de desplazamiento en el tiempo tenemos que: F F T (a[n no]) = F F T (a[n]) e a[n no] = IF F T (e Entonces:
j2no t N j2no t N

Donde N es el nmero de elementos de a, entonces u F F T (a[n]))

IFFT es la transformada rpida inversa de Fourier. a

ACTIVIDADES EN MATLAB t=0:12;g=exp(-i*2*pi*7*t/13);...

10

%desplazamos no=7 lugares hacia la derecha. a=[1 2 3 4 5 6 7 6 5 3 2 1 0 ];... % o no=-6 lugares hacia la izquierda b=real(ifft(g.*fft(a))) Actividad M9 La funcin denida en la actividad M3, la vamos a analizar con la FFT, para encontrar |ak | o k = 1 : .., N de la Serie Discreta de Fourier.

N=input(Periodo N _ ),... k=input(ingrese k_ ),... n=0:1:N-1;... wo=2*pi/N;... x=sin(k*wo*n);ak=fft(x)/N;... subplot(211);plot(n,x,.r);... subplot(212);stem(fftshift(abs(ak)),.k);

El programa realiza el anlisis de la seal sinusoidal de periodo 2/c, es decir que podemos a n ver como se modican los ak de la seal sinusoidal, cuando variamos la frecuencia de la seal. n n El comando tshift centra en cero el resultado. Actividad M10 La funcin serie(s,n,graf ) analiza Series Discretas de Fourier. La funcin esta basada en o o la FFT. Para ver como funciona, debemos recordar que la FFT puede ser relacionada directamente con los coecientes ak de una seal peridica. Entonces, la funcin serie(s,n,graf ) n o o bsicamente realiza la FFT de una seal x[n], y con esto tenemos los coecientes escalados por a n N , una vez obtenidos los coecientes, anulamos algunos, y hacemos la IFFT, que nos devuelve la seal x[n]. Esta seal es la aproximacin a x[n] obtenida cuando se considera un nmero n n o u menor de componentes armnicos que la seal original x[n]. Podemos ver entonces los grcos o n a de x[n], x[n], |ak|, f ase(ak) Para llamar a la funcin, la sintaxis es: o >> serie(x, n, graf )

ACTIVIDADES EN MATLAB

11

donde x es la seal de N puntos que queremos analizar en frecuencia, n es la cantidad de n coecientes que deseamos considerar en la reconstruccin graf es un nmero entero entre 0 y 4 o u que permite seleccionar el tipo de grco deseado para su visualizacin. A esta altura, el lector a o deber ser capaz de editar la funcin serie(s,n,graf ) y analizar como funciona. Los siguientes a o ejemplos usan el programa directamente, es decir que damos por supuesto que se entiende el funcionamiento de esa rutina.Tambin se usa la funcin xn vista en la actividad M5. e o Actividad M11

Usando la seal xn(N, 2) con N = 9, visualizar las distintas aproximaciones obtenidas al n considerar distintos armnicos utilizando la funcin serie o o Realizar lo mismo para N = 21, y con N = 41; Actividad M12 Observar que ocurre cuando la funcin utilizada en la actividad anterior es desplazada en el o tiempo en 5 muestras N=41;n=0; x1=xn(N,2);... x2=[1 1 1 1 1 zeros(1,N-5)];... x3=[ zeros(1,N-5) 1 1 1 1 1];... figure(1), serie(x1,n,4),... figure(2), serie(x2,n,4),... figure(3), serie(x3,n,4); Con el desplazamiento se puede ver que la fase es lo unico que cambia. x[n no ] SF ak ejkwo no |ak ejkwo no | arg(ak ejkwo no ) ACTIVIDAD M13 1. Utilice la funcin serie para obtener la componente en frecuencia de un periodo exacto de o una seal sinusoidal pura. n 2. Idem a) pero considerando 2 periodos exactos. = = |ak ||ejkwo no | = |ak | arg(ak ) arg(kwo no )

ACTIVIDADES EN MATLAB 3. 4.

12

Idem a) pero con una multisenoidal con dos armnicos, donde el periodo exacto corresponde o a la componente de frecuencia mas baja.. Idem b) pero modulando la sinusoide con la siguiente ventana V=50; x=xn(50,4);... subplot(211),plot(x,.r);... subplot(212);stem(fftshift(abs(fft(x,V)))); Si variamos V de 50 hacia abajo, estamos recortando muestras de la seal peridica, la n o seal generada es un seno de periodo pi, y hemos representado dos periodos, podemos ver n que las muestras solo toman un periodo exacto en V=50 o en V=25 donde vemos que solo hay una componente en frecuencia, y que si variamos estos valores, aparecen componentes en frecuencia que no son los de la senusoide.

2.3.2.

Convolucin usando la FFT o

Actividad M14

x1=[zeros(1,5) ones(1,10) zeros(1,5) ];... x2=[1 2 3 4 5 6 7 8 0 0 0 0];... X1=fft(x1,length(x1)+length(x2)-1);... X2=fft(x2,length(x1)+length(x2)-1);... X=X1.*X2; x=real(ifft(X));... subplot(311);stem(x1);subplot(312);... stem(x2);subplot(313);stem(x)

2.4.

Transformada de Fourier de Tiempo Discreto

Por ultimo tenemos que relacionar la FFT, con los coecientes de la serie de Fourier, y con las muestras de la Transformada Discreta de Fourier. Para eso tenemos que recordar lo siguiente:

ACTIVIDADES EN MATLAB

13

Sea una seal x[n]de duracin nita de tiempo de N puntos, la Transformada de Fourier de n o tiempo discreto de x[n] est dada por a
+

X(ej ) =
n=

x[n]ejn

(1)

X(ej ) es continua de periodo 2. Supongamos entonces que muestreamos a X(ej ) en intervalos iguales = 2/N es decir = k2/N entonces X(ejk N ) =
n=
2

x[n]ejk N n

(2)

como x[n] es cero fuera del intervalo 0 n < N X(ejk N ) =


n=0
2

N 1

x[n]ejk N n

(3)

Y si x[n] es igual a un periodo de una seal peridica xp[n] en el intervalo 0 n < N entonces n o el par de la serie discreta de xp[n] es
N 1

xP [n] = ak = Podemos ver entonces que 1 N

ak ejk N n
n=0 N 1 n=0

x[n]ejk N n

X(ejk N ) = N ak Relacin de H(exp(jw)) con los ak y la FFT o Por ultimo tenemos que relacionar la DFT, con los coecientes de la serie de Fourier, y con las muestras de la Transformada Discreta de Fourier. Para ver grcamente lo expuesto, se creo a la funcin dtft.m. para llamar a esta funcin: o o >> dtf t(x, N ) Donde x es una funcin de L puntos igual a xp en el intervalo de 0 a N-1, y N-L son los ceros o que incrementan el periodo de xp haciendo que las muestras se junten cada vez mas hasta tener la forma de la envolvente de los ak. Actividad M15 Observe como se modican los ak de la seal peridica representada, al ir aumentando el n o periodo de la misma.

ACTIVIDADES EN MATLAB

14

figure(1);dtft(xn(15,1),15);... figure(2);dtft(xn(15,1),30);... figure(3);dtft(xn(15,1),120)

2.5.
2.5.1.

Magnitud Logar tmica y diagramas de Bode


Sistemas continuos de primer orden

La ecuacin diferencial para un sistema de primer orden se puede expresar como o dy(t) + y(t) = x(t) dt la respuesta en frecuencia para este sistema es H(j) = 1 j + 1

si ahora denimos la variable a = 1/ podemos reescribir la uncin de transferencia de forma o conveniente para utilizar la funcin bode de MATLAB. Entonces: o a H(j) = j + a Actividad M16 Vericar que la frecuencia de corte para el sistema de primer orden es a = 1/ , y analizar las grcas de magnitud y fase. a tao=1;... a=1/tao;... H=tf([a],[1 a]),... bode(H) 2.5.2. Sistemas continuos de segundo orden

La ecuacin diferencial con coecientes constantes para un sistema de segundo orden es o dy(t) d2 y(t) 2 2 + 2n + n y(t) = n x(t) 2 dt dt escribiendo la respuesta en frecuencia de este sistema tenemos que H(j) =
2 n 2 (j)2 + 2n (j) + n

Actividad M17 Vericar que n es la frecuencia de corte y ver que cambios produce modicar el factor de amortiguamiento .

ACTIVIDADES EN MATLAB

15

wn=10;ep=0.1;... H=tf([wn^2],[1 2*ep*wn wn^2]),... bode(H);... hold;... for ep=0.1:.1:1;... H=tf([wn^2],[1 2*ep*wn wn^2]);... bode(H);... end;... hold; 2.5.3. Sistemas discretos de primer orden

Un sistema LTI causal de primer orden discreto est denido por la siguiente ecuacin a a o diferencias y[n] ay[n 1] = x[n] con |a| < 1. La respuesta en frecuencia de este sistema es H(ej ) = 1 1 aej

si denimos la variable z = ej , y escribimos la respuesta en frecuencia como una funcin de z, o la respuesta en frecuencia queda denida por H(z) = z za

Actividad M18 En esta actividad se sugiere buscar algn ejemplo y vericar los resultados que presentan las u siguientes instrucciones. a=7/8;... num=[1 0];... den=[1 -a];...

ACTIVIDADES EN MATLAB

16

H=tf(num,den,-1),... W=[-pi:pi/1000:pi];... [MH,FH,W] = dbode(num,den,-1,W) ;... subplot(211);semilogy(W,MH);... subplot(212);plot(W,FH); 2.5.4. Sistemas discretos de segundo orden

Consideremos ahora un sistema de segundo orden LTI causal descrito por la siguiente ecuacin a diferencias o y[n] 2r cos()y[n 1] + r2 y[n 2] = x[n] con 0 < r < 1 y 0 . La respuesta en frecuencia para este sistema es H(ej ) = 1 1 2r cos()ej + r2 ej2

la respuesta en frecuencia se puede escribir en funcin de la z como o H(z) = z2 z 2 2r cos()z + r2

Actividad M19 Compruebe algn ejemplo con las siguientes instrucciones u r=3/4;Tita=pi/4;... num=[1 0 0];... den=[1 -2*r*cos(Tita) r^2 ];... H=tf(num,den,-1),... W=[-pi:pi/1000:pi];... [MH,FH,W] = dbode(num,den,-1,W) ;... subplot(211);semilogy(W,MH);... subplot(212);plot(W,FH);

CONCLUSIONES

17

3.

Conclusiones

En este laboratorio se presentaron diferentes anlisis de seales con la ayuda del programa a n MATLAB. Se trataron seales en el dominio temporal, principalmente para ver como crear n seales discretas con la computadora y para hacer operaciones tales como la convolucin. En n o los temas que siguieron se analizaron seales utilizando como herramientas los conceptos vistos n sobre Series de Fourier y Transformada de Fourier. Se mostr de forma simple, como se relaciona o la teor de Fourier de tiempo continuo con su extensin a tiempo discreto. Y nalmente se a o explic como representar sistemas LTI de primer y segundo orden continuo con diagramas de o Bode y como representar magnitud y fase de sistemas discretos de primer y segundo orden. Estas herramientas sern utilizadas en el prximo mdulo para obtener la respuesta en a o o frecuencia de un motor de corriente continua.

Vous aimerez peut-être aussi