Upload
weaponttgo
View
167
Download
6
Embed Size (px)
Citation preview
Control AvanzadoPractica 1
Respuesta en frecuencia de unsistema lineal discreto
Ing. Alejandro Lopez Angeles
6 de Junio de 2012
Resumen
El analisis de respuesta en frecuencia es una tecnica donde se empleauna senal de prueba senoidal para medir puntos sobre la respuesta de fre-cuencia de una funcion de transferencia. Este reporte presenta la evalua-cion la respuesta a la frecuencıa de un sistema lineal discreto. En primerainstancia el sistema es activado mediante una senal senoidal para calcularla fase entre entrada y salida. A continuacion el mismo sistema se simulaen MatLab para confrontar los resultados analıticos con la simuacion. Porultimo se exponenen las conclusiones.
Indice
1. Calculo de la salida del sistema 2
2. Simulacion en MatLab 3
3. Conclusiones 5
4. Anexos 5
Indice de figuras
1. Planta del sistema . . . . . . . . . . . . . . . . . . . . . . . . . . 22. Respuesta del sistema a la entrada 3 sin (2π50t) . . . . . . . . . . 43. Codigo en MatLab . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1
La planta de un sistema lineal discreto es mostrada en la Figura 1.
F(z)x(kTs) y(kTs)
Figura 1: Planta del sistema
Dondex(kTs) = A sin (ωkTs) (1)
corresponde a la senal general de entrada, para la cual un sistema lineal discretoF (z) responde
y(kTs) = |F (ejωTs)|A sin (ωkTs + arg(F (ejωTs))) (2)
Ahora consideremos el sistema que fue modelado con una frecuencia de fs =1kHz y una senal de entrada senoidal de 50Hz y amplitud 3 de igual formadiscretizada con la misma frecuencia de muestreo.
F (z) =0,5143z
z2 − 1,7826z + 0,8187(3)
Calculando la fase y el argumento para F (z)
F (ejωTs) =0,5143ejωTs
ej2ωTs − 1,7826ejωTs + 0,8187(4)
|F (ejωTs)| = | 0,5143ejωTs
ej2ωTs − 1,7826ejωTs + 0,8187| (5)
arg(F (ejωTs)) =0,5143ejωTs
ej2ωTs − 1,7826ejωTs + 0,8187(6)
Enseguida se calcula la amplitud y la fase correspondiente.
1. Calculo de la salida del sistema
Para la senal de entrada x(kTs) = 3 sin (2π50kTs) y un tiempo de muestreoTs de 0.001s se espera una senal de salida
y(k0,001) = 3|F (ej2π50(0,001))| sin (2πk0,001 + arg(F (ej2π50(0,001))))
= 3|F (ej0,3142)| sin (0,3142k + arg(F (ej0,3142))) (7)
|F (ej0,3142)| = | 0,5143ej0,3142
ej0,6283 − 1,7826ej0,3142 + 0,8187|
2
= | − 4,59− j4,853| = 6,68 (8)
arg(F (ej0,3142)) = | 0,5143ej0,3142
ej0,6283 − 1,7826ej0,3142 + 0,8187|
= arg(−4,59− j4,853)
= −2,384rad
seg= −136,6◦ (9)
aplicando x(kTs) a F (z) para obtener y(kTs)
y(kTs) = 3|F (ej2π50kTs)| sin (2π50kTs + arg(F (e2π50kTs))
= 3× 6,68 sin (0,3142k − 2,384)
= 20, 04 sin (0,3142k − 2,384)
= 20,04 sin (0,3142k − 136,6◦) (10)
2. Simulacion en MatLab
En la Figura 2 se observan la senal de entrada x(t) y la senal de salida y(t)cuando el sistema (3) se encuentra en estado estable, la entarda es una funcionsenoidal de amplitud 3 y frecuencia de 50Hz, para la salida se tiene una funcionsenoidal de amplitud cercana a 20 con frecuencia de 50Hz y una fase cercana a−136◦. El cruce de la salida por cero se da entre los valores k= 107 y k =108,puesto que en los datos numericos de la simulacion se enuentra un cambio designo en tales valores, y(107) = -2.5662 y (108) = 3.6955, no esposible encontrarel valor exacto de cruce por cero de la senal discreta por que el numero muestrasse dan en enteros. Los resultados de los calculos analıtico y la simulacion soniguales, conteniendo pequenas diferencias debido a los errores de discretizacion.
3
0.1 0.105 0.11 0.115 0.12 0.125 0.13 0.135 0.14 0.145 0.15−20
−15
−10
−5
0
5
10
15
20Respuesta a la entrada 3sin(2π50t)
Tiempo [s]
Am
plit
ud
x(t) Entrada
y(t) Salida
Figura 2: Respuesta del sistema a la entrada 3 sin (2π50t)
4
3. Conclusiones
Para la comparacion de resultados es necesario considerar los efectos de ladiscretizacion ya que esta introduce un error mayor al desfasamiento generadopor el efecto de una frecuencia en un sistema lineal. Por lo tanto al discretizarun sistema es recomendable emplear un tiempo de muestreo tan pequeno comosea posible.
4. Anexos
Implementacion en MatLab
clc
clear;
Fs = 1000; %Frecuencia de muestreo
Ts = 1/Fs;
Tsim = 0.15; %Tiempo de simulación
f = 50; %Frecuencia de entrada
n = 1:Tsim/Ts;
kTs = n*Ts;
x = 3*sin(2*pi*f*kTs(n));
y(1)=0;
y(2)=0.5143*x(1)+1.7826*y(1);
for k = 3:Tsim/Ts
y(k) = 0.5143*x(k-1)+1.7826*y(k-1)-0.8187*y( k-2);
end
n1 = 0.1/Ts;
n2 = 0.14/Ts;
plot (kTs(n1:n2),x(n1:n2), 'b' );
hold on
plot (kTs(n1:n2),y(n1:n2), 'r' );
grid
title (strcat( 'Respuesta a la entrada 3sin(2\pi' ,num2str(f), 't)' ));
xlabel ( 'Tiempo [s]' );
ylabel( 'Amplitud' );
legend( 'x(t) Entrada' , 'y(t) Salida' );
Figura 3: Codigo en MatLab
5