Вы находитесь на странице: 1из 12

Procesamiento Digital de Seales Universidad de Sonora Departamento de Investigacin en Fsica Ingeniera en Tecnologa Electrnica

P4 - Operaciones con secuencias


Mzquez Corona Luis Antonio, Grijalva Ruiz Jess Francisco, Arizaga Len Jorge Manuel

Introduccin
En el siguiente texto se aborda el procedimiento y resultados obtenidos al realizar distintas operaciones con secuencias en Matlab. As mismo es continuacin de la tercera prctica.

Objetivos
Entender las operaciones con secuencias. Analizar seales con ayuda de Matlab. Adquirir experiencia en el manejo de seales discretas.

Fundamentos tericos
Otras operaciones sobre seales:

Corrimiento temporal:
A menudo es necesario recorrer una secuencia x[n] un nmero k de instantes, de manera que se obtenga una nueva secuencia recorrida en el tiempo* x1[n] = x[n - k] Si definimos una variable m = n - k, la operacin antes descrita se convierte en x1[m + k] = x[n]

De esta manera, la operacin no tiene efecto sobre el vector x, pero el vector ndice n ha cambiado al agregrsele una cantidad k a cada elemento. Esto se muestra en la funcin corrsegnal. * Si bien hablamos de tiempo, las secuencias estn referidas a un ndice, no a un instante de tiempo dado.

Pliegue (reflejo) de una secuencia:


En esta operacin, cada elemento de la secuencia x[n] se refleja respecto de n = 0, es decir y[n] = x[-n] Esto se muestra en la funcin plieguesegnal.

Suma de secuencias:
Esta es la adicin elemento por elemento de cada secuencia. Sin embargo, a menudo las secuencias y sus ndices asociados, no son de la misma longitud y/o rango de soporte motivos por los cuales no se pueden sumar tan solo con decir: x1 + x2. Lo que se debe hacer primero es aumentar (si fuera necesario) los ndices de las secuencias originales para que ambos sean de la misma longitud. Posteriormente, alinear los vectores x1 y x2 de acuerdo a su posicin original, dentro del rango de soporte definido en el paso anterior. Finalmente, realizar la adicin de ambas secuencias. Esto se muestra en la funcin sumsegnal.

Multiplicacin de secuencias:
Este es el producto elemento por elemento de cada secuencia. Se aplican las mismas consideraciones que definimos arriba para la adicin de secuencias. Esto se muestra en la funcin multsegnal.

Materiales
Computadora con Matlab

Procedimiento y resultados
Dada la secuencia x[n] = {1 2 3 4 5 6 7 6 5 4 3 2 1}, y haciendo uso de las funciones mostradas en esta prctica y en la anterior, determine y grafique las siguientes secuencias a) x1[n] = 2x[n-5] - 3x[n+4] b) x2[n] = x[3-n] + x[n]x[n-2]

1.- Se defini la secuencia indicada como x[n] = {1 2 3 4 5 6 7 6 5 4 3 2 1} con n=13 elementos que van desde [0 : 12] Se grafic para observar el resultado.

La grfica anterior corresponde a la seal original sobre la cual se trabaj, posteriormente se realizaron ms operaciones, detalladas a continuacin. 2.- Para realizar la siguiente funcin, con su correspondiente grfica: x1[n] = 2x[n-5] - 3x[n+4] es necesario hacer las operaciones individualmente. En este punto se aplica la funcin corrsegnal, que sirve para hacer un corrimiento en el tiempo de la seal original. Se realiz de la siguiente manera: [Xa, na]= corrsegnal(Xn, n, 5)

Se grafic el resultado

Se observa una grfica de la misma amplitud, pero atrasada 5 instantes en el tiempo.

3.- De igual manera se define la segunda parte de lo que ser nuestra seal del inciso a) [Xb, nb]= corrsegnal(Xn, n, -4)

Se grafica el resultado

Se observa la grfica adelantada en el tiempo en 4 instantes T. 3.- Ahora bien, se requiere que estas dos seales obtenidas mediante la funcin corrsegnal sean sumadas, para ello se utilizar la funcin sumsegnal. La forma de hacerlo es la siguiente. x1[n] = 2x[n-5] - 3x[n+4]

[x1,n1]=sumsegnal(2*Xa,na,-3*Xb,nb);

Se obtiene la grfica

Se cumple con el inciso A.

4.- Para realizar la siguiente funcin x2[n] = x[3-n] + x[n]x[n-2] es necesario aplicar las funciones vistas anteriormente, de manera individual, como con el inciso A. Primero se define x[3-n] de la siguiente forma a) Adelantando la seal 3 instantes b) Aplicando un espejo.

Adelantando la seal 3 instantes

Aplicando el Espejo [Xb,nb]=plieguesegnal(Xa,na)

Graficando

Con esto ya obtenemos nuestra seal x[3-n] 5.- Ahora, aplicamos corrsegnal nuevamente para obtener x[n-2] [Xc,nc]=corrsegnal(Xa,na,2)

Teniendo esta seal, tenemos que multiplicarla por la seal original haciendo uso de multsegnal de esta forma [Xd,nd]=multsegnal(Xc,nc,Xn,n)

Se obtiene la grfica

6.- Solamente hace falta sumar estas seales para obtener lo requerido en el inciso b x2[n] = x[3-n] + x[n]x[n-2]

Se hace de la siguiente forma. [x2,n2]=sumsegnal(Xb,nb,Xd,nd) Obteniendo

Anlisis de Resultados
Observando las grficas se puede notar que efectivamente se cumplen los puntos requeridos, haciendo uso de las funciones otorgadas por el profesor.

Conclusiones
Es relativamente sencillo graficar estas seales discretas, lo nico que hay que hacer, es hacer y practicar, para poder dominar el manejo de seales discretas en Matlab, y con ello poder disear filtros digitales.

Referencias
http://posgrado.cifus.uson.mx/moodle/mod/resource/view.php?id=513

Material Adicional

Funciones utilizadas

function [y,n] = corrsegnal(x,m,n0) % Implements y[n] = x[n-n0] % ------------------------------% [y,n] = corrsegnal(x,m,n0) % n = m + n0; y = x;

function [y,n] = plieguesegnal(x,n) % Implements y(n) = x(-n) % --------------------------% [y,n] = plieguesegnal(x,n) % y = fliplr(x); n = -fliplr(n);

function [y,n] = sumsegnal(x1,n1,x2,n2) % Implementa y[n] = x1[n] + x2[n] % ------------------------------% [y,n] = sumsegnal(x1,n1,x2,n2) % y = secuencia resultante sobre el indice n, el cual incluye a n1 y n2 % x1= primera secuencia sobre el ndice n1 % x2= segunda secuencia sobre el ndice n2 (n2 puede ser diferente de n1) % n = min(min(n1),min(n2)): max(max(n1),max(n2)); % duracin de y[n] y1= zeros(1,length(n)); y2 = y1; % inicializacin y1(find((n>=min(n1))&(n<=max(n1))==1))= x1; % x1 con una duracin de y y2(find((n>=min(n2))&(n<=max(n2))==1))= x2; % x2 con una duracin de y y = y1 + y2; % suma de las secuencias

function [y,n] = multsegnal(x1,n1,x2,n2) % Implementa y[n] = x1[n] * x2[n] % ------------------------------% [y,n] = multsegnal(x1,n1,x2,n2) % y = secuencia resultante sobre el indice n, el cual incluye a n1 y n2 % x1= primera secuencia sobre el ndice n1 % x2= segunda secuencia sobre el ndice n2 (n2 puede ser diferente de n1) % n = min(min(n1),min(n2)): max(max(n1),max(n2)); % duracin de y[n] y1= zeros(1,length(n)); y2 = y1; % inicializacin y1(find((n>=min(n1))&(n<=max(n1))==1))= x1; % x1 con una duracin de y y2(find((n>=min(n2))&(n<=max(n2))==1))= x2; % x2 con una duracin de y y = y1 .* y2; % suma de las secuencias

Вам также может понравиться