Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
discretos
Socasi Bryan, Viera Katherine
II. OBJETIVOS
Familiarizar al estudiante con el tratamiento de señales
discretas en Matlab.
Fig. 1. Gráfica comando stem
Entender la funcionalidad de los diversos comandos
existentes en Matlab para el procesamiento de señales
discretas. conv: Realiza la convolución discreta de dos secuencias.
o Parámetros de entrada: los vectores a y b que
III. MATERIALES contienen las dos secuencias.
o Parámetro de salida: el vector y que contiene la
Computador con Matlab versión R2017a instalado convolución de a y b.
IV. PROCEDIMIENTO Ejemplo
A. Señales y Sistemas en tiempo Discreto con Matlab
a=[1 1 1 1 1];
La caja de herramientas de procesamiento de señales en
b=[1 2 3 4 5 6 7 8 9];
Matlab tiene varias funciones que nos permiten procesar
c=conv(a,b);
señales discretas, entre los comandos más comunes stem(c);
encontramos:
0, 1, …, M; 0.5
0, 1, …, N; 0.3
0
Su parámetro de salida es el vector h que guarda la 0 20 40 60 80 100 120
2
Ejemplo: Considere la función coseno a 3Hz 𝑓1 (𝑡) =
cos(2𝜋3𝑡) muestreada a 𝑓𝑠 = 10 muestras por segundo, para
un intervalo de 1seg, y la función coseno a 7Hz 𝑓2 (𝑡) =
1.5
cos(2𝜋7𝑡).
1 time = 0:0.1:0.9;
f_1 = cos(2*pi*3.*time);
0.5 f_2 = cos(2*pi*7.*time);
time_aux = 0:0.001:(1-0.001);
0
figure(1);
0 2 4 6 8 10 12 14 16 18 20
stem(time,f_1);
hold on;
Fig. 3. Gráfica comando impz plot(time_aux, cos(2*pi*3.*time_aux));
hold off;
figure(2);
stem(time,f_2);
B. Sistemas recursivos hold on;
plot(time_aux,cos(2*pi*7.*time_aux));
filter: este comando determina la solución de la
hold off;
ecuación general de diferencias 𝑦[𝑛] + 𝑎1 𝑦[𝑛 − 1] +
⋯ + 𝑎𝑁 𝑦[𝑛 − 𝑁] = 𝑏𝑜 𝑥[𝑛] + 𝑏1 𝑥[𝑛 − 1] + ⋯ +
𝑏𝑚 𝑥[𝑛 − 𝑚] cuando la señal de entrada está dada por el
vector x y el vector zi contiene las condiciones iniciales.
1
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Fig. 5. Gráfica 𝑓1 (𝑡) = cos(2𝜋3𝑡) muestreada a 𝑓𝑠 = 10 Fig. 7. Señal x(t) = 5 𝑐𝑜𝑠(2π5t) + 2 𝑐𝑜𝑠(2π50t) original
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x=[1 1 0 0 0 0 0 0 0 0 0];
y=conv(conv(x,x),conv(x,x));
stem(y,'filled','m'),title
'y[n]=x[n]*x[n]x[n]*x[n]'
V. EJERCICIOS ADICIONALES
1,0 ≤ 𝑛 ≤ 2
0,3 ≤ 𝑛 ≤ 6
𝑥[𝑛] = {
1,7 ≤ 𝑛 ≤ 8
0,𝑜𝑡𝑟𝑜𝑐𝑎𝑠𝑜
𝑛,1 ≤ 𝑛 ≤ 4
ℎ[𝑛] = {
0,𝑜𝑡𝑟𝑜𝑐𝑎𝑠𝑜
Fig. 11. Señal de salida 𝑦[𝑛]
A=[1,2,1];
B=[0,0,0];
z=zeros(1,20);
ini=filtic(B,A,[1,0]);
y=filter(B,A,z,ini);
stem(1:20,y,'filled','m'), title 'Salida
y[n]'
K= [1, 1, 2];
S= [0, 0, 0];
v= zeros(1,20);
ini = filtic (S,K,[1,0]); D.2 4𝑦[𝑛] + 𝑦[𝑛 − 1] + 3𝑦[𝑛 − 2] = 𝑥[𝑛]6𝑥[𝑛 − 4]
y =filter (S,K,v,ini);
stem(1:20,y,'filled','m'), title 'Salida N=20; a=[4 1 3]; b=[1 0 0 1];
y[n]'; z=impz(b,a,N);
stem(z,'filled','m')
D. Escriba un programa en Matlab para calcular la respuesta E. Escriba un programa en Matlab para graficar la respuesta
al impulso de los sistemas descritos por las siguientes de estado estacionario para la entrada 𝒙[𝒏] = 𝐬𝐢𝐧(𝝎𝒏) 𝝁[𝒏]
ecuaciones de diferencias. de los filtros descritos por las siguientes tres ecuaciones de
𝝅
D.1 𝑦[𝑛] + 𝑦[𝑛 − 1] + 𝑦[𝑛 − 2] = 𝑥 [𝑛] diferencias. Considere 𝝎𝟏 = y 𝝎𝟐 = 𝝅.
𝟑
for i=1:t 1
x_1(i)=sin(pi/3*(i-1));
0
end
for i=1:t -1
x_2(i)=sin(pi*(i-1)); -2
end 0 5 10 15 20 25 30
subplot(2,1,1);stem(0:29,y_1,'r'),title
0
'Para w1=pi/3';
subplot(2,1,2);stem(0:29,y_2,'b'),title -1
'Para w2=pi';
-2
0 5 10 15 20 25 30
Para w1=pi/3
2
Fig. 17. Respuesta para x[n] para w1 y w2
1
0
𝑦[𝑛] = 𝑥[𝑛 − 2] + 2𝑥[𝑛 − 1] + 𝑥[𝑛]
-1
-2 t=30;
0 5 10 15 20 25 30
for i=1:t
x 10
-14
Para w2=pi x_1(i)=sin(pi/3 * (i-1));
2
end
1 for i=1:t
0 x_2(i)=sin(pi*(i-1));
end
-1
y_1=filter([1 2 1],1, x_1);
-2
0 5 10 15 20 25 30
y_2=filter([1 2 1],1, x_2);
subplot(2,1,1);stem(0:29,y_1,'r');title
'Para w1=pi/3';
Fig. 16. Respuesta para x[n] para w1 y w2 subplot(2,1,2);stem(0:29,y_2,'b'),title
'Para w2=pi';
1
𝑦[𝑛] − 𝑦[𝑛 − 1] = 𝑥[𝑛]
2
Para w1=pi/3
t=30; 4
for i=1:t 2
x_1(i)=sin(pi/3*(i-1)); 0
end
for i=1:t -2
x_2(i)=sin(pi*(i-1)); -4
0 5 10 15 20 25 30
end
y_1=filter(1,[1 -1/2], x_1); x 10
-14
Para w2=pi
2
y_2=filter(1,[1 -1/2], x_2);
subplot(2,1,1);stem(0:29,y_1,'r'),title 1
'Para w1=pi/3'; 0
subplot(2,1,2);stem(0:29,y_2,'b'),title
-1
'Para w2=pi';
-2
0 5 10 15 20 25 30
fs=4000; time=0:1/fs:(1-1/fs);
xa
=3*cos(2*pi*1000.*time)+7*sin(2*pi*1100.*
time);
xd=xa(1:100:length(xa));
y=filter([1 0 1],1,xd);
n=0:100:length(na); Fig. 21. Secuencia x[n]
h=sinc(-10:0.01:10);
for i=1:length(n),
aux(i,100*i-99:100*i-
100+length(h))=h*y(i);
end;
yc=sum(aux);
ya=yc(1001:length(yc)-1000);
Ta=1/400000;
figure(1);
stem(xd)
figure(2);
stem(y)
figure(3);
plot(na*Ta,xa)
figure(4); Fig. 22. Secuencia y[n]
plot(na*Ta,ya)
A. Conclusiones
B. Recomendaciones