Post on 12-Jan-2016
description
NOMBRE: Alex Haro
CURSO: 5
3.28. Dado un sistema discreto con la siguiente función de transferencia:
𝐻(𝑧) =𝑧2 − 0.99𝑧2 − 0.01
𝑧4 − 0.81𝑧2
a) Determine la ecuación en diferencias que define el sistema.
b) Estudie su estabilidad.
c) Obtenga el módulo de la respuesta en frecuencia del sistema de forma aproximada.
a) Determine la ecuación en diferencias que define el sistema.
y(z)
x(z)=
z2 − 0.99z2 − 0.01
z4 − 0.81z2
y(z)(z4 − 0.81z2) = x(z)(z2 − 0.99z2 − 0.01)
z4y(z) − 0.81z2y(z) = z2x(z) − 0.99z2 x(z) − 0.01 x(z)
y(n + 4) − 0.81 y(n + 2) = x(n + 2) − 0.99 x(n + 2) − 0.01 x(n)
∴ y(n + 4) − 0.81 y(n + 2) = 0.01 x(n + 2) − 0.01 x(n)
b) Estudie su estabilidad.
z4 − 0.8z2 = 0
z2(z2 − 0.8) = 0
z2 = 0.8
z = ±0.89
Los polos están dentro del circulo de radio 1 el sistema es estable.
c) Obtenga el módulo de la respuesta en frecuencia del sistema de forma
aproximada.
si z−k = e−jwk
H(z) =z2 − 0.99z2 − 0.01
z4 − 0.81z2
H(ejw) =e2jw − 0.99e2jw − 0.01
e4jw − 0.81e2jw
3.30. Determine, usando la transformada Z, la convolución de las siguientes
secuencias:
a) h(n) = {−1 0 1 2 0 0 0 0 … … . . } con h(n) = {1 − 2 1 0 0 0 … … . . }
h(n) = −1δ[n] + δ[n−2] + 2δ[n−3]x(n) = δ[n] − 2δ[n−1] + δ[n−2]
y[n] = h[n] ∗ x[n]
Y(z) = H(z). X(z)
H(z) = −1 + z−2 + 2z−3X(z) = 1 − 2z−1 + z−2
Y(z) = (−1 + z−2 + 2z−3). (1 − 2z−1 + z−2)
Y(z) = −1 + 2z−1 − z−2 + z−2 − 2z−3 + z−4 + 2z−3 − 4z−4 + 2z−5
Y(z) = −1 + 2z−1 − 3z−4 + 2z−5
y[n] = −δ[n] + 2δ[n−1] − 3δ[n−4] + 2δ[n−5]
b) h(n) = bnu(n) con x(n) = u(n)
X(z) =1
1 − z−1H(z) =
1
1 − bz−1
Y(z) =1
1 − z−1.
1
1 − bz−1
Y(z) =A
1 − z−1+
B
1 − bz−1
A − Abz−1 + B − Bz−1 = 1
A + B = 1 − Ab − B = 0
B = 1 − A − Ab − 1 + A = 0
A(1 − b) = 1
B = 1 −1
1 − b A =
1
1 − b
B = −b
1 − b
Y(z) =1
1 − b.
1
1 − z−1−
b
1 − b .
1
1 − bz−1
Primer caso:
y[n] =1
1 − b[u(n) − b. bnu(n)] para |z| > 𝑏
Segundo caso:
y[n] =1
1 − b[u(n) + b. bnu(−n−1)] para |z| < 𝑏
3.32. Se tiene un sistema LIT causal que, cuando la entrada es el escalón unitario,
proporciona la siguiente salida 𝐲(𝐧) = [𝟏 − (−𝟏)𝐧] (𝟏
𝟐)
𝐧
𝐮(𝐧). Determine la respuesta
impulsional de dicho sistema. ¿Qué entrada se debe tener para obtener a la salida
un escalón unitario?
Sistemas causales estos sistemas empiezan en cero y se extienden hasta el infinito.
y[n] = h[n] ∗ x[n]
Y(z) = H(z). X(z)
H(z) =Y(z)
X(z)
x(n) = u(n)y(n) = [1 − (−1)n] (1
2)
n
u(n)
y(n) = (1
2)
n
u(n) − (−1
2)
n
u(n)
X(z) =1
1 − z−1 Y(z) =
1
1 −12 z−1
−1
1 +12 z−1
Y(z) =1 +
12 z−1 − 1 +
12 z−1
(1 −12 z−1)(1 +
12 z−1)
Y(z) =z−1
(1 −12 z−1)(1 +
12 z−1)
H(z) =Y(z)
X(z)=
z−1
(1 −12 z−1) (1 +
12 z−1)
11 − z−1
H(z) =(1 − z−1)z−1
(1 −12 z−1) (1 +
12 z−1)
H(z) = z−1 [A
1 −12 z−1
+B
1 +12 z−1
]
A +A
2z−1 + B −
B
2z−1 = 1 − z−1
A + B = 1 A
2−
B
2= −1
A = 1 − B A − B = −2
1 − B − B = −2
A = 1 − 3/2 − 2B = −3
A = −1/2 B = 3/2
H(z) = z−1 [−1/2
1 −12 z−1
+3/2
1 +12 z−1
]
H(z) =−1/2
1 −12 z−1
z−1 +3/2
1 +12 z−1
z−1
h(n) = − (1
2)
n
u(n−1) + 3 (−1
2)
n
u(n−1)
¿Qué entrada se debe tener para obtener a la salida un escalón unitario?
h(n) = − (1
2)
n
u(n−1) + 3 (−1
2)
n
u(n−1)y(n) = u(n)
Y(z) = H(z). X(z)
X(z) =Y(z)
H(z)
H(z) =(1 − z−1)z−1
(1 −12 z−1) (1 +
12 z−1)
Y(z) =1
1 − z−1
X(z) =
11 − z−1
(1 − z−1)z−1
(1 −12 z−1) (1 +
12 z−1)
X(z) =(1 −
12 z−1) (1 +
12 z−1)
(1 − z−1)(1 − z−1)z−1
3.36. Determine la secuencia temporal que da lugar a la siguiente transformada Z
H(z) =1 − 0.2z−1
1 − 0.75z−1 + 0.125z−2, R. O. C. : 0.25 < |z| < 0.5
H(z) =1 −
15
z−1
1 −34 z−1 +
18 z−2
=1 −
15
z−1
(1 −12 z−1) (1 −
14 z−1)
H(z) =A
(1 −12 z−1)
+B
(1 −14 z−1)
A −A
4z−1 + B −
B
2z−1 = 1 −
1
5z−1
A + B = 1 −A
4−
B
2= −
1
5
A = 1 − B − A − 2B = −4
5
−1 + B − 2B = −4
5
A = 1 +1
5 − B = 1 −
4
5
A =6
5 B = −
1
5
H(z) =6/5
(1 −12 z−1)
+−1/5
(1 −14 z−1)
h(n) =6
5(
1
2)
n
u(−n−1) −1
5(
1
4)
n
u(n)
3.37. Dado el sistema LIT definido por:
H(z) =2
1 + 0.5 z−1
Y sabiendo que la entrada a dicho sistema es el escalón unitario, determine la salida y(n)
aplicando:
x(n) = u(n)h(n) = 2 (−1
2)
n
u(n)
a) Convolución de x(n) y y(n).
y[n] = h[n] ∗ x[n]
y(n) = ∑ h(k). x(n−k)
+∞
k=−∞
y(n) = ∑ 2 (−1
2)
k
u(n−k)
+∞
k=−∞
n = 0 y(0) = 2
n = 1 y(1) = 2 − 1 = 1
n = 2 y(2) = 2 − 1 +1
2=
3
2
n = 3 y(3) = 2 − 1 +1
2−
1
4=
5
4
b) Transformadas Z inversas.
x(n) = u(n)h(n) = 2 (−1
2)
n
u(n)
X(z) =1
1 − z−1 H(z) = H(z) =
2
1 + 0.5 z−1
Y(z) = X(z). H(z)
Y(z) =1
1 − z−1.
2
1 + 0.5 z−1
Y(z) =A
1 − z−1+
B
1 + 0.5 z−1
A +A
2 z−1 + B − B z−1 = 2
A + B = 2 A
2− B = 0
A = 2 − B 2 − B − 2B = 0
A =4
3 B =
2
3
Y(z) =4/3
1 − z−1+
2/3
1 + 0.5 z−1
y(n) =4
3u(n) +
2
3(−
1
2)
n
u(n)
PRACTICAS CON MATLAB
Esta sección contiene varios ejemplos prácticos sobre conceptos esenciales al tratar con
señales y sistemas discretos como son el muestreo, cuantificación, las propiedades de
estabilidad, linealidad e invariancia temporal de los sistemas y la correlación entre
señales.
En esta práctica se estudiaran las consecuencias del teorema de muestreo, haciendo
especial hincapié en los efectos que se pueden producir si se muestrea una señal con la
frecuencia incorrecta.
Se desea generar 2 periodos de una sinusoide analógica de amplitud 1 y frecuencia
200 Hz, muestreada a 1Khz.
Sabemos que una sinusoide continua de frecuencia 𝐹𝑎 queda definida por la siguiente
expresión:
𝑥(𝑡) = acos(2𝜋𝐹𝑎𝑡 + 𝜃)
Donde 𝐴 y 𝜃 son, respectivamente, la amplitud y la fase del sistema. Si muestreamos a
una frecuencia 𝐹𝑚 obtenemos:
𝑥[𝑛] ≡ 𝑥(𝑛𝑇) = 𝐴𝑐𝑜𝑠(2𝜋𝑛𝑇 + 𝜃) = 𝐴𝑐𝑜𝑠(2𝜋𝑛𝐹𝑎
𝐹𝑚+ 𝜃)
Sustituyendo, en nuestro caso tendríamos:
𝑥[𝑛] = cos (2𝜋𝑛200
1000) = cos(0.4𝜋𝑛)
De forma inmediata se comprueba que si el periodo de la señal discreta es de 5
muestras, como nos piden dos períodos el número de muestras a generar es de 10.
Las instrucciones de MATLAB para generar y dibujar la señal son:
Con estas instrucciones se obtiene la figura 1.34:
n=0:9;
Fm=1000;
Fa=200;
x=cos(2*pi*Fa*n/Fm);
stem(n,x)
xlabel('n')
ylabel('x(n)')
Figura 1.34 Diez primeras muestras de una sinusoide analógica de frecuencia 200 Hz
muestreada a 1KHz
Superponga sobre la gráfica obtenida en el Apartado 1.63 los puntos obtenidos
en el 1.62. ¿Qué ocurre?, ¿qué consecuencias se pueden sacer de la gráficas?
Con el siguiente código podemos superponer ambas gráficas, donde, en lugar de emplear
la instrucciónholdon hemos utilizado la opción de plotpara superponer múltiples gráficas
(Figura 1.36):
plot(n,x,'o',n,xx,'+')
legend('Fa=200Hz','Fa=1200Hz')
xlabel('n')
ylabel('x(n)')
Figura 1.36. Superposición de las muestras de las figuras 1.34 y 1.35.
Se observa que los puntos de las dos señales coinciden. La razón que la segunda señal (la
componente de 1.2kHz) no cumple el teorema de muestreo. Mediante la relación siguiente
podemos determinar la frecuencia obtenida tras en muestreo.
𝐹𝑎 = 𝐹𝑏 ± 𝑘𝐹𝑚
Siendo 𝐹𝑏 una frecuencia en el intervalo [−𝐹𝑚/2, 𝐹𝑚/2], y 𝐹𝑎 la frecuencia original.
Si consideramos nuestros valores (𝐹𝑎 = 200 𝐻𝑧 𝑦 𝐹𝑠 = 1200 𝐻𝑧) con frecuencia de
muestren igual a 1 kHz, la primera señal no produce solapamiento y la segunda se
apreciará como una frecuencia de 200 Hz (considerando k = 1).
Podemos ver el efecto del solapamiento en el dominio temporal si superponemos las dos
señales continuas. Lo manera de simular estas señales es considerar un período de
muestren "muy pequeño"3. Es una aproximación pero, a nivel gráfico, es bastante
ilustrativa.
El siguiente programa muestra este proceso:
n=0:9;
t=0:0.01:9;
Fa1=200;
Fa2=1200;
Fs=1000;
xt1=cos(2*pi*Fa1*t/Fs); %Señal continua Fa1=200Hz
xt2=cos(2*pi*Fa2*t/Fs); %Señal continua Fa2=1200Hz
x1=cos(2*pi*Fa1*n/Fs); %Señal discreta Fa1=200Hz
x2=cos(2*pi*Fa2*n/Fs); %Señal discreta Fa2=1200Hz
plot(t,xt1,’k-‘,t,xt2,’k:’,n,x1,’ko’,n,x2,’k+’)
xlabel(‘n’)
La gráfica obtenida se muestra en la Figura 1.37, en la que se aprecia claramente que
para la señal de 1200 Hz no llegamos a tener al menos dos puntos por periodo
produciéndosealiasing.
Figura 1.37. Superposición de las señales continuas de 200 Hz y 1200 Hz, y los 10
primeros valores obtenidos cuando se muestrean a 1 kHz.
En este apartado vamos a estudiar el efecto del muestreo sobre el espectro de la
señal. Genere la serie obtenida al muestrear una sinusoide de 100 Hz y amplitud
unidad con un periodo de muestreo de 1ms durante un segundo. Represente el
espectro de la señal usando la instrucción abs(fft(y)). Comente el resultado.
Sabemos que una señal continua periódica puede escribirse como una suma ponderada
de exponenciales complejas, esto es fácil de ver si consideramos señales sinusoidales,
ya que la formula de Euler (𝑒𝑗Ω𝑡 = cos(Ω𝑡) + 𝑗𝑠𝑒𝑛(Ω𝑡)) nos permite escribir seno y
coseno como suma de exponenciales complejas, cada una de ellas con una amplitud
mitad de la que tiene la señal original. La representación de la contribución de cada
sinusoide constituye el espectro de la señal. Se puede hacer un razonamiento similar
para señales discretas. Si bien, en temas posteriores se analizará con todo detalle el
espectro de una señal discreta y cómo calcularlo, vamos a considerar que la instrucción
fft de MATLAB nos permite representar el espectro de una señal discreta.
La instrucción fft es una de las más utilizadas al estudiar procesamiento digital de
señales con MATLAB. Esta operación descompone la señal como una serie ponderada
de exponenciales complejas.
𝐹𝑘 =𝐹𝑚
𝑁𝑘, 𝑘 = 0,1, … , 𝑁
Donde N es el número de muestras consideradas.
Tenemos que muestrear durante un segundo con un periodo de muestreo de 1ms lo que
supone que tenemos que tomar 1000 muestras. El programa en MATLAB que
implementa lo que nos pide es:
N=1000;
n=0:N-1;
fa=100;
fm=1000;
x=cos(2*pi*fa*n/fm);
plot(-N/2:N/2-1,abs(fftshift(fft(x))));
xlabel('Frecuencia (Hz)')
Dado que el número de puntos utilizado para la fft es de 1000 y la frecuencia de
muestreo también es 1000, cada punto de la fft obtenido se corresponderá con un
armónico de 1 Hz.
Sabemos que cuando muestreamos con una frecuencia de 1000Hz, las frecuencias
analógicas que verifican el teorema del muestreo se encuentran en el intervalo
[–𝐹𝑚
2,
𝐹𝑚
2]. Para desplazar el resultado de la FFT, de manera que la frecuencia de
continua se encuentre en el centro, hemos empleado la función fftshift. El resultado son
dos picos, a las frecuencias de 100 Hz (suma de 2 exponenciales complejas). La grafica
obtenida se muestra en la figura 1.38.
Figura 1.38 espectro de la señal obtenido al muestrear con una frecuencia de 1000Hz
Repita el apartado anterior pero ahora la señal a muestrear es la suma de cuatro
sinusoides de amplitud uno y frecuencias 100,200 y 600 y 2100hz. Utilice señales de
tipo coseno. Comente los resultados.
El siguiente código me permite calcular las secuencias y representar el espectro de la
suma. En lugar de utilizar un bucle para calcular cada una de las secuencias hemos
utilizado las propiedades de MATLAB para trabajar con matrices de datos y la función
sum que al ser aplicada sobre una matriz suma sus elementos por columnas.
N=1000;
n=0:N-1;
fa=[100,200,600,2100];%tenemos un vector de frecuencias
fm=1000;
x=cos(2*pi*fa*n/fm); %calculamos todas las sinusoides
x=sum(x); %sumamos las sinusoides
plot(-N/2:N/2-1,abs(fftshift(fft(x))));
xlabel('frecuencia')
La grafica obtenida se muestra en la figura. Interpretemos esta grafica. Las frecuencias
analógicas de 600hz y 2100hz no verifican el teorema de muestreo por lo que aplicando
la ecuación obtenemos que las frecuencias aparentes correspondientes son:
600ℎ𝑧 → −400ℎ𝑧
2100ℎ𝑧 → 100ℎ𝑧
Independientemente de que se trate de frecuencias positivas o negativas, cada una de
estas señales esta representada en el espectro por dos picos. Por lo que observamos
picos en frecuencias 100,200 y 400, sin embargo la amplitud para frecuencia 100 es el
doble. Esto es debido a que para esta frecuencia contribuyen las frecuencias analógicas
de 100 hz y 2100hz, que por efecto del aliasing se corresponden con la misma
frecuencia aparente.
Espectro de la señal suma de cuatro sinusoides
Genere una señal cuadrada de 1000 puntos con frecuencia de 150 Hz y
muestreada a 1000 Hz. Represente el espectro de la señal y explique el resultado
Sabemos que una señal cuadrada analógica está formada por una suma infinita de
armónicos impares de la frecuencia fundamental. La amplitud de dichos armónicos
decrece a medida que aumenta la frecuencia del mismo.
Nuestra señal contendrá armónicos a las frecuencias: 150, 450, 750, 1050, 1350, 1650,
1950 Hz,… Como la frecuencia de muestreo es de 1 KHz para que no se produzca
aliasing, las frecuencias analógicas deberán estar comprendidas en el intervalo [-
500,…,500Hz]. En nuestra señal cuadrada esto no se verifica a partir de la frecuencia de
750 Hz. Veamos cuales serán las frecuencias aparentes obtenidas por cada uno de estos
armónicos.
Frecuencia original Frecuencia aparente
150 Hz 150 Hz, No produce aliasing
450 Hz 450 Hz, No produce aliasing
750 Hz -250 Hz
1050 Hz 50 Hz
1350 Hz 350 Hz
1650 Hz -450 Hz
1950 Hz -50 Hz
Tabla 1.8 Representación de las frecuencias original y aparente
El siguiente código nos permite ilustrar gráficamente este resultado:
N=1000;
n=0:N-1;
f=150;
fm=1000;
x=square(2*pi*f*n/fm);
subplot (211)
stem(n(1:50),x(1:50))
xlabel('n')
ylabel('x(n)')
title('(a)')
subplot(212)
plot(-N/2:N/2-1,abs(fftshift(fft(x))));
xlabel('Frecuencia')
title('(b)')
En la figura 1.41 se aprecian componentes que, en principio, no deberían aparecer.
Entre ellas destacan, por su valor, las componentes de 50 y 250 Hz resultantes del
aliasing como hemos comentado anteriormente:
Figura 1.41 (a) Primeras muestras de la señal cuadrada. (b) Espectro de la señal
cuadrada de este apartado.