Académique Documents
Professionnel Documents
Culture Documents
EE612
con las condiciones iniciales x[-1]=1, x[-2]=-2 e y[-1]=-1, y[-2]=2, se debern introducir los siguientes comandos de MATLAB:
>> b=[1 0.3];
>> a=[1 0.5];
>> zi=filtic(b,a,[1,-2],[-1,2])
zi =
-0.8000
Pgina 1
y [n ] + 0.5 y [ n 1] = x [ n ] + 0.3x [ n 1]
y con las mismas condiciones iniciales x[-1]=1, x[-2]=-2 e y[-1]=-1, y[-2]=2, y se
calcular su respuesta impulsional. Para ello, en MATLAB:
>> N=10;
>> x=[1 zeros(1,N-1)];
>> [y,zf]=filter(b,a,x,zi);
>> stem(y)
0.25
0.2
0.15
0.1
0.05
-0.05
-0.1
0
Pgina 2
La funcin impz calcula la respuesta al impulso del filtro definido por los coeficientes de las ecuaciones en diferencias bk y ak.
La sintaxis de la funcin es la siguiente: [h,t]=impz(b,a,N)
Los parmetros de entrada son:
b: coeficientes bk de la ecuacin en diferencias genrica, se trata de un vector con
la siguiente estructura: b=[b0 b1 bQ].
a: coeficientes ak de la ecuacin en diferencias genrica, se trata de un vector con
la siguiente estructura: a=[a0 a1 aP].
N: nmero de puntos donde calcular la respuesta al impulso, (parmetro opcional).
Los parmetros de salida sern:
h: respuesta al impulso del filtro definido por los coeficientes de las ecuaciones en
diferencias bk y ak.
t: vector de tiempos correspondiente a las muestras de h.
Para el mismo sistema que el utilizado en los dos apartados anteriores, el clculo y
representacin de la respuesta impulsional, sin considerar las condiciones iniciales, se
realizar del siguiente modo:
>> [h,t]=impz(b,a);
>> stem(t,h)
1.2
0.8
0.6
0.4
0.2
-0.2
10
12
14
Pgina 3
b. y[n]-y[n-1]=3x[n]-2x[n-2]
c. y[n]=x[n]-x[n-1]
d. y[n]=x[n]-x[n-3]
i. x1 [n]=[n]
iii. x3 [n]=[n-3] (para obtener esta seal rellenar con los ceros necesarios en el inicio
del vector, puesto que en esta prctica x0=0)
Para el apartado b. utilizar filtic y filter.
Indicar, a la vista de los resultados, si se trata de sistemas lineales, invariantes y
causales.
3. Comprobar que para a=0.6, la respuesta impulsional de la ecuacin en diferencias:
y[n]-ay[n-1]=x[n]
n
es y[n]=a u[n].
4. En este ejercicio se estudiar la respuesta estacionaria y la respuesta transitoria del
siguiente sistema definido en ecuaciones en diferencias:
1
y[n ] 1.8cos y[ n 1] + 0.81 y[n 2] = x[n ] + x[n 1]
2
16
suponiendo condiciones de reposo inicial.
a. Calcular mediante filter la respuesta al impulso h[n] para el intervalo
0 n100 y representar grficamente mediante stem.
b. Calcular mediante filter la respuesta al escaln s[n] para el intervalo
0n100 y representar grficamente mediante stem. Cul es el valor de la
constante G que alcanza la salida cuando n (la salida se estabiliza a partir de la
muestra 80)? Este valor se denomina respuesta permanente o estacionaria.
c. Comprobar grficamente usando la funcin diff (vase help) que la derivada de
la respuesta a la funcin escaln es la respuesta al impulso unitario.
d. La parte variable de la respuesta se denomina respuesta transitoria yt [n]=y[n]-G.
Representar yt [n] para 0 n 50. Esta respuesta depende de las condiciones
iniciales.
Pgina 4
[ ] = 0.5
[ ] y
[ ] = [ ] 0.8 [ 1] = 0.5
[ ] 0.8 [ 1]
[0] = 1
[1] = 0.5
[2] = 0.5
[3] = 0.5
[4] = 0.5
Pgina 5
[0] = 0.
[0] = 0
[1] = 0.5
[2] = 0.5
[3] = 0.5
[4] = 0.5
Ntese como la suma de las secuencias de (b) y (c) da como resultado la secuencia de (a).
n=0:10;
k=find(0<=n);
x=(0.5).^n;
y(1)=-1;
for k=2:11
y(k)=x(k)-0.8*y(k-1);
end
% stem(n,y,'fill')
y
n=0:10;
k=find(0<=n);
% x=(0.5).^n;
y(1)=-1;
for k=2:11
y(k)=-0.8*y(k-1);
end
% stem(n,y,'fill')
y
n=0:10;
k=find(0<=n);
x=(0.5).^n;
y(1)=0;
for k=2:11
y(k)=x(k)-0.8*y(k-1);
end
% stem(n,y,'fill')
y
y=
y=
y=
Columns 1 through 10
-1.0000
1.3000 -0.7900
0.7570 -0.5431
0.4657
-0.3570
0.2934 -0.2308
0.1866
Column 11
-0.1483
2
2.1
Columns 1 through 10
-1.0000
0.8000 -0.6400
0.5120 -0.4096
0.3277
-0.2621
0.2097 -0.1678
0.1342
Column 11
-0.1074
Columns
0
0.2450
-0.0948
Columns
0.0524
1 through 9
0.5000 -0.1500
-0.1335
0.1381
0.0837 -0.0630
10 through 11
-0.0409
0.8 1[ 1] + 1[ ] = 0,
1[0] = 1
0.8
+1=0
= 0.8,
1[ ] = 1(0.8)
[ ] = (0.8)
[ ];
. .
0.8 2[ 1] + 2[ ] = [ ],
2[0] = 0
Pgina 6
2[ ] = 2[ ] + 2 [ ],
2[ ] = (0.8) ; 2 [ ] = (0.5)
2[0] = 0
0.8
(0.5)
(0.5)
= (0.5)
13
2 [ ]=
5
(0.5) ,
13
2[0] = 0 =
(0.8) +
5
(0.5)
13
5
13
2[ ] =
5
5
(0.8) +
(0.5)
13
13
[0] = 0
2[1] =
2[2] =
2[3] =
Se observa que los valores numricos, concuerdan con los resultados del mtodo recursivo.
[ ] + 0.8 [ 1] = [ ]
[ ] = 0.5 [ ] y
[0] = 1, determinar la solucin en forma recursiva: a) la salida [ ] b) Salida para entrada
cero, [ ] c) salidas para estado cero, [ ].
>>
>>
>>
>>
>>
>> stem(1:50,y);
El resultado se aprecia en la grfica adjunta:
Pgina 7
a=[1,-1.143,0.4128];
b=[0.0675,0.1349,0.0675];
n=0:100;
x=cos(0.1*pi*n);
zi=filtic(b,a,[0]);
y=filter(b,a,x,zi);
stem(1:101,y);
[ ]=
(0.2
), la grfica de salida
a=[1,-1.143,0.4128];
b=[0.0675,0.1349,0.0675];
n=0:100;
x=cos(0.1*pi*n);
zi=filtic(b,a,[0]);
y=filter(b,a,x,zi);
stem(1:101,y);
[ ]= [ ].
SOLUCION:
Primero, la solucin homognea.
Haciendo la entrada cero y suponiendo una solucin
= ,
[ ].
[ ] 0.25
[ 2] = 2 [ ] + [ 1],
0.25 = 2 + 1,
= 2.
= 4;
[ ]=
[0] =
1 + 2 + 4 = 2,
[1] =
1
+
2
1
+ 4 = 3,
2
Pgina 8
1+
2 = 2
2 = 2
[ ] = (2(0.5) + 4) [ ].
Usando Matlab:
>>
>>
>>
>>
>>
>>
a=[1,0,-0.25];
b=[2,1];
u=[1,ones(1,50)];
zi=filtic(b,a,[0]);
y=filter(b,a,u,zi);
stem(0:50,y);
La cual es igual a
[ ] = (2(0.5) + 4) [ ].
>> n=0:50;
>> y=(-2*((0.5).^n)+4);
>> stem(0:50,y);
Ejercicios
De acuerdo a lo estudiado resuelva las siguientes ecuaciones en diferencias usando Matlab,
sino se especifican las condiciones iniciales asmalas cero.
( )
[ ] = 3 [ 1] + 4 [ 2] + [ ] + 2 [ 1]
Para la entrada: i) Impulso unitario ii) Escaln Unitario
( )
[ ] = 1/2 [ 1] + 2 [ ],
[1] = 3,
[ ] = 2(1/2)
[ ]=4
[ ].
[ ]
(0.2
).
Adicionales
Para complementar los ejercicios
Investigue sobre los comandos filter y filtic.
Muestre todos los programas de la solucin de las ecuaciones con sus respectivas grficas.
Implemente diagrama de bloques para las ecuaciones.
Que pasa si los valores de lambda son complejos?
Pgina 9