Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UNIDAD CULHUACÁN
Manual de prácticas
Laboratorio Virtual de Procesamiento Digital de Señales
Propósito.
El propósito de este laboratorio es introducir conceptos básicos de señales en tiempo discreto,
incluyendo aspectos asociados al muestreo, generación, manipulación, lectura/escritura de señales
de audio, tipos de gráficos, y análisis básico de señales en MATLAB.
Objetivo específico.
El objetivo principal es introducir al estudiante con las primeras herramientas de trabajo para el
procesamiento de señales discretas en el ambiente de programación de MATLAB de forma virtual.
Se espera que esta experiencia contribuya hacia la identificación de las propiedades de señales y
sistemas en tiempo discreto utilizando herramientas de análisis.
Matlab.
MATLAB (matrix laboratory) es un software con un gran número de prestaciones optimizadas para el
manejo de matrices y representaciones gráficas que además ofrece un entorno de desarrollo
integrado con un lenguaje de programación propio (lenguaje M).
Laboratorio Virtual
Las apps de MATLAB permiten a los estudiantes experimentar y aprender conceptos de ingeniería sin
centrarse en el código ni en habilidades específicas de software. Los estudiantes pueden interactuar
con apps en MATLAB o MATLAB Online, y las pueden compartir en un navegador con MATLAB Web
App Server.
https://matlab.mathworks.com/
PROCESAMIENTO DIGITAL DE SEÑALES
Objetivos de aprendizaje:
Resultados esperados
Manejo / Programación de MATLAB en aplicaciones de procesado digital.
PRÁCTICAS
PRÁCTICA 0 “AMBIENTACIÓN EN MATLAB” ......................................................................................................... 3
PRÁCTICA 1 “INTRODUCCIÓN A MATLAB PARTE 1 “REPRESENTACIÓN GRÁFICA DE FUNCIONES BÁSICAS”. .... 14
PRÁCTICA 2 “INTRODUCCIÓN A MATLAB PARTE 2 “OPERACIONES BÁSICAS DE SEÑALES”. ............................. 26
PRÁCTICA 3 “INTRODUCCIÓN A MATLAB PARTE 3 “CORRELACIÓN Y CONVOLUCIÓN”. ................................... 35
PRÁCTICA 4 “PROPIEDADES DE LA TRANSFORMADA Z”. ....................................... Error! Bookmark not defined.
PRÁCTICA 5: FILTROS DIGITALES PARTE 1 “FILTROS FIR” ....................................... Error! Bookmark not defined.
PRÁCTICA 6: FILTROS DIGITALES PARTE 2 “FILTROS IIR” ........................................ Error! Bookmark not defined.
PRÁCTICA 7: TRANS. D. DE FOURIER (DFT), ALGORITMO RÁPIDO DE DFT (FFT) Y TRANS. DEL COSENO. ..... Error!
Bookmark not defined.
PRÁCTICA 8: REDUCCIÓN DE RUIDO, RESTAURACIÓN DE IMAGEN Y PROCESAMIENTO DE IMAGENES ...... Error!
Bookmark not defined.
Page 1 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
PRÁCTICA 0
Page 2 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
1.-OBJETIVO
Introducir al alumno en el ambiente de MATLAB, ya que será usado de aquí en adelante en las
prácticas planteadas en este trabajo.
2.-MATERIAL
(MATrix LABoratory) es un software que ayuda en la realización de cálculos numéricos con vectores
y matrices. Uno de los mayores atractivos de este software es que se pueden realizar gráficos en dos
y tres dimensiones.
MATLAB es una de las aplicaciones de más ayuda en la actualidad. Debido a que MATLAB es un
software de alto nivel en el desarrollo de programas numéricos, no se requiere tener un alto
conocimiento respecto a lo que es un lenguaje de programación convencional.
4.-DESARROLLO
Page 3 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
A continuación se muestra la pantalla que aparecerá al dar doble click en el icono de MATLAB:
En la Figura 0.2 se puede apreciar en la parte centra la ventana con el nombre Command Window,
en esta sub-ventana es donde se ejecutan los comandos programados en MATLAB.
Page 4 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
Del lado izquierdo de la pantalla principal se puede apreciar la sub-ventana Current Folder, en donde
se muestran los ficheros del directorio activo.
En la parte superior derecha se encuentra la sub-ventana Workspace que contiene información sobre
todas las variables que se hayan definido en esta sesión y permite ver y modificar las matrices con
las que se está trabajando.
Page 5 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
En la parte inferior derecha se encuentra la sub-ventana Command History, que muestra los últimos
comandos ejecutados en la Command Window, estos comandos se pueden volver a ejecutar
haciendo doble click sobre ellos.
En la parte inferior izquierda de la pantalla aparece el botón Start, con una función análoga a la del
botón de Inicio de Windows, debido a que da acceso inmediato a ciertas capacidades del software
En la pantalla principal se da doble click sobre el icono de nombre New Script como se muestra en
la Figura 0.7
Page 6 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
Que es donde se van a teclear los códigos que en las prácticas consecutivas se plantearan.
Una vez plasmado el código en la pantalla, en la parte superior izquierda el archivo que por default
lleva el título “Untitled” se mostrará ahora como “Untitled*” como se muestra en la Figura 0.9, esto
quiere decir que el archivo contiene información y necesita ser guardada.
Page 7 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
Nota: es importante mencionar que todos los comentarios respecto a la codificación, que no sean
parte del código, aparecerán de color verde en el script de trabajo.
Para poder ejecutar de manera satisfactoria el código antes plasmado es necesario guardar el
documento y para esto se va a recurrir a la parte superior izquierda y se debe dar doble click sobre
la palabra File como se muestra en la Figura 0.10 adicionalmente se va dar click en Save As
Page 8 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
En este caso se seleccionó el escritorio y adicionalmente en la parte que dice “Nombre” se asigna
el nombre que se desee al archivo y se presiona en donde dice “Guardar” como se muestra en la
Figura 0.12
Page 9 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
Una vez almacenado el archivo se selecciona en la barra de herramienta sobre el icono de nombre
Run en la Figura 0.13 aparece con el nombre Run prueba.m en este caso dice prueba debido a que
Después de accionar el botón Run se ejecutará el código antes plasmado y se visualizará la Figura
Page 10 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
Una vez realizado ese proceso se selecciona la ventana principal y en la parte de la sub-ventana
Command Window se ingresarán una serie de datos, en caso de que la codificación así lo requiera y
es tarea del usuario introducir esos datos de manera manual, como se muestra en la Figura 0.15.
Una vez ya introducidos todos los datos como se muestra en la Figura 0.16
Page 11 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
Se desplegarán los resultados en el mismo Comand Window o en una pantalla adicional de manera
gráfica si la codificación así lo indica como se muestra a continuación
En este caso el resultado final era visualizar una gráfica, con esto se muestra cómo se trabaja en el
software de Matlab.
Page 12 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
PRÁCTICA 1
Page 13 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
1.-OBJETIVOS
El principal objetivo de este Trabajo Práctico es introducir el programa de cálculo científico Matlab.
El programa Matlab (el nombre corresponde a la abreviación de Matrix Laboratory) es una potente
herramienta de cálculo numérico y visualización de uso muy difundido a nivel mundial en los
ambientes industrial y académico en tareas de investigación, desarrollo y diseño en diversas áreas
tales como procesamiento de señales, control y comunicaciones.
Page 14 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
2.-INTRODUCCIÓN
Matlab es un lenguaje de alto nivel para cálculo científico que integra, en un único ambiente
software, rutinas de cálculo, visualización y programación. El programa es de fácil uso ya que los
problemas se pueden formular usando una notación matemática estándar. La representación
básica de los datos en Matlab es en forma matricial, pero con la ventaja de que no es necesario
especificar las dimensiones de las matrices involucradas . Usos típicos de Matlab incluyen:
Cálculo numérico.
Desarrollo de algoritmos.
Modelado, simulación y desarrollo de prototipos.
Análisis y visualización de datos.
Construcción de gráficas.
Desarrollo de aplicaciones en distintas áreas científicas y tecnológicas.
Matlab es un sistema abierto al cual el usuario puede incorporar nuevas funciones para su uso
en aplicaciones particulares. Existen también extensiones de Matlab denominadas Toolboxes,
que son colecciones de funciones Matlab que permiten resolver problemas específicos en
diversas áreas de ciencia e ingeniería. Actualmente existen Toolboxes en áreas tales como
Control, Procesamiento de Señales, Identificación de Sistemas, Procesamiento de Imágenes,
Redes Neuronales, Lógica Difusa, Wavelets, etc..
En este primer Trabajo Práctico se introducen los comandos Matlab básicos que se emplearán
en los Trabajos de Laboratorio de la Asignatura. En esta práctica, que es de caracter tutorial, se
ilustra a través de ejemplos cómo pueden representarse señales en Tiempo Continuo (TC) y en
Tiempo Discreto (TD), y cómo las mismas pueden visualizarse mediante el uso de los comandos
plot, stem, y mesh. Así mismo se indica cómo pueden ingresarse datos en el espacio de trabajo
de Matlab, y cómo pueden almacenarse los resultados de una sesión Matlab. Se detallan también
es esta sección los comandos Matlab para control de flujo de programas, y se describen las
principales características de los denominados M-files en las modalidades function-file y
scriptfile.
Page 15 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
Matlab trabaja esencialmente con una única clase de objetos, nominalmente matrices, que pueden
ser a valores reales o complejos. Todas las variables en Matlab representan matrices. Una matriz 1 x
1 es interpretada como un escalar y matrices con una sola columna o una sola fila son interpretadas
como vectores (columna o fila respectivamente). Las matrices en Matlab pueden básicamente ser
ingresadas en las siguientes formas:
asignará a la variable A la matriz 3 x 3 arriba indicada. El símbolo ‘,’ o un espacio, separa elementos
en una fila, en tanto que el símbolo ‘;’ indica el inicio de la siguiente fila.
Generadas por líneas de comando u otras funciones de Matlab. Por ejemplo, el comando:
asignará a la variable B la matriz 3 x 2 arriba indicada, cuyos elementos son números aleatorios entre
0 y 1 con distribución uniforme.
Creadas en M-files. Por ejemplo, si se crea un archivo datos1.m cuyo contenido es:
y se ejecuta el comando
Page 16 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
entonces, en el espacio de trabajo quedarán definidas las variables C y D con los valores arriba
indicados.
Ingresadas desde archivos de datos externos con el comando load. Por ejemplo, si
externamente se crea un archivo conteniendo:
ingresará en el espacio de trabajo una variable, datos2, a la cual le asignará la matriz almacenada en
el archivo datos2.mat
+ adición
- substracción
* multiplicación
^ potencia
‘ transpuesta conjugada .
’ transpuesta
\ división por izquierda
/ división por derecha
Page 17 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
Por supuesto, estas operaciones con matrices también se aplican a escalares (matrices de 1 x 1). Si
las dimensiones de las matrices no son compatibles para realizar la operación aparece un mensaje
de error, excepto en el caso de realizar una operación entre una matriz y un escalar, en cuyo caso se
realiza la operación entre cada elemento de la matriz y el escalar (para las operaciones de suma,
resta, multiplicación y división).
Es importante destacar que las operaciones arriba mencionadas son operaciones matriciales, si bien
las operaciones de suma y resta actúan, por definición, componente-a-componente. Puede lograrse
que las operaciones *, ^ , \ , y /, actúen también componente-a-componente, precediendo al símbolo
correspondiente por un punto ‘.’ . Por ejemplo, si queremos elevar cada elemento de una matriz al
cuadrado, tendríamos:
Los símbolos \ y / denotan la división por izquierda y por derecha, respectivamente. La interpretación
precisa de los comandos A\B, y A/B se puede obtener recurriendo al help-on line de Matlab, tipeando
Gráficas En Matlab
hay diversos comandos para la realización de gráficas en 2 y 3 dimensiones. En dos dimensiones, los
comandos básicos son las funciones plot y stem, en tanto que para gráficas en 3 dimensiones los
comandos básicos son mesh y surf. Los siguientes ejemplos ilustran la utilización de los comandos
plot, stem y mesh, para la representación de señales en una y dos dimensiones.
Page 18 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
4.- EJEMPLOS
y supongamos que se muestrea esta señal con una frecuencia Fs = 600 Hz (el lector interesado puede
verificar que la frecuencia de muestreo elegida cumple con el Teorema de Muestreo de Shannon, es
decir Fs > FN , donde FN es la tasa de muestreo de Nyquist). La señal en tiempo discreto resultante
x(n) se obtiene tomando los valores de x(t) en los instantes , donde Ts es el denominado
intervalo de muestreo. Es decir, en el caso del ejemplo se tiene:
2𝜋50 2𝜋150
𝑥(𝑛) = sin 𝑛 + 0.5sin ( 𝑛)
600 600
Las señales en tiempo continuo x(t) y en tiempo discreto x(n) pueden graficarse usando los comandos
Matlab plot y stem, respectivamente. La siguiente sucesión de comandos permite generar y graficar
estas señales.
t=0:0.0001:0.04;
x=sin(2*pi*50*t')+0.5*sin(2*p
i*150*t');
td=0:1/600:0.04;
xn=sin(2*pi*50*td')+0.5*sin(2
*pi*150*td');
plot(t,x)
hold on
stem(td,xn)
grid;
xlabel('Tiempo [seg]');
ylabel('x(t)');
Page 19 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
Ejemplo 2:
En este ejemplo mostramos cómo pueden realizarse varias gráficas en una misma figura usando el
comando subplot.
𝑥(𝑛) = 𝑒
La siguiente sucesión de comandos Matlab permite generar la señal y graficar la parte real y la parte
imaginaria de la señal en una misma figura.
n=0:30;
x=exp(j*n/3);
subplot(211), stem(n,real(x));
xlabel('Indice "n"');title('Parte Real');
subplot(212), stem(n,imag(x));
xlabel('Indice "n"');title('Parte Imaginaria');
Page 20 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
Ejemplo 3:
En este ejemplo ilustramos el uso del comando mesh para realizar gráficas en 3 dimensiones.
Consideremos la función sinc en dos dimensiones, definida como:
sin (𝑥 + 𝑦 )
𝑓(𝑥, 𝑦) =
𝑥 +𝑦
y supongamos que queremos graficar f (x, y) para x e y en el rango [−8,8]. La siguiente sucesión de
comandos Matlab permitirá realizar esta operación. La correspondiente salida gráfica está
representada en la Figura.
[x,y]=meshgrid(-8:0.5:8);
r=sqrt(x.^2+y.^2)+eps;
z=sin(r)./r;
mesh(x,y,z,ones(size(z)));
xlabel('x'); ylabel('y'); zlabel('f(x,y)');
zlabel('f(x,y)');
Page 21 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
5.- DESARROLLAR:
𝑥1[𝑛] = 0.9𝛿[𝑛 − 5] 1 ≤ 𝑛 ≤ 20
𝑥2[𝑛] = 0.8𝛿[𝑛] − 226 ≤ 𝑛 ≤ 15
𝑥3[𝑛] = 1.5𝛿[𝑛 − 333] 300 ≤ 𝑛 ≤ 350
𝑥4[𝑛] = 4.5𝛿[𝑛 + 7] − 10 ≤ 𝑛 ≤ 0
2. En general se requieren tres parámetros para describir una función senoidal: la amplitud A,
la frecuencia ω0 y la fase de φ.
𝑥[𝑛] = 𝐴𝑠𝑖𝑛(𝜔 𝑛 + φ)
3. Escriba una función en Matlab para la fórmula que sea discreta en tiempo y de duración
finita. La función deberá requerir de seis argumentos de entrada: tres para los parámetros
de la señal, dos para los tiempos de inicio y fin y uno para el muestreo. Puede comprobar su
correcto funcionamiento al generar una senoide con las siguientes definiciones:
Page 22 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
Señal analógica:
Señal digital:
Señal muestreada:
Señal cuantizada:
Explique en que consiste los siguientes conceptos aplicados al procesamiento digital de señales.
Expansión.
Compresión.
Convolución.
Correlación.
Page 23 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
6.-BIBLIOGRAFÍA
www.microchip.com
www.tecnoeso.com
www.geocities.com/charlytospage
www.modelo.edu.mx/univ/virtech/circuito/paralelo.htm·superio·superio
Page 24 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
PRÁCTICA 2
Page 25 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
La realización de esta práctica le permitirá al estudiante conocer y aplicar los conocimientos teóricos
vistos en clase sobre las operaciones básicas sobre señales en MATLAB.
1.- OBJETIVOS
• Identificar las operaciones a utilizar en cada una de las representaciones de una señal
en su expresión matemática.
Page 26 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
2.- INTRODUCCIÓN
Un aspecto de fundamental importancia en el estudio de señales es el uso de sistemas para procesar
o manipular señales. Este aspecto suele implicar una combinación de algunas operaciones básicas.
En particular, es posible identificar dos clases de operaciones: operaciones efectuadas sobre
variables dependientes y operaciones efectuadas sobre la variable independiente.
• Escalamiento de amplitud. Considere una señal 𝑥(𝑡). La señal 𝑦(𝑡) resultante del escalamiento de
amplitud aplicado a 𝑥(𝑡) se define mediante:
𝑦(𝑡)=𝑐∗ 𝑥(𝑡)
Donde c es el factor de escala. De acuerdo con lo anterior, el valor de y(t) se obtienes multiplicando
el valor correspondiente de 𝑥(𝑡) por el escalar 𝑐. De manera similar para señales en tiempo
discreto:
𝑦[𝑛]=𝑐∗ 𝑥[𝑛]
Suma. Considere dos señales 𝑥1(𝑡) y 𝑥2(𝑡). La señal 𝑦(𝑡) obtenida por la suma de estas dos señales
está definida por:
𝑦(𝑡)=𝑥1(𝑡)+ 𝑥2(𝑡)
𝑦[𝑛]=𝑥1[𝑛]+ 𝑥2[𝑛]
Page 27 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
Multiplicación. La señal 𝑦(𝑡) resultante de la multiplicación de dos señales 𝑥1(𝑡) y 𝑥2(𝑡) está definida
por:
𝑦(𝑡)=𝑥1(𝑡)∗ 𝑥2(𝑡)
Es decir, en cada tiempo pre-escrito 𝑡 el valor de 𝑦(𝑡) está dado por el producto de los valores
correspondientes de 𝑥1(𝑡) y 𝑥2(𝑡). De manera similar para señales discretas:
𝑦[𝑛]=𝑥1[𝑛]∗ 𝑥2[𝑛]
𝑦(𝑡)=𝑥(𝑎 ∗ 𝑡)
Si 𝑎>1, la señal 𝑦(𝑡) es una versión comprimida de 𝑥(𝑡). Si, por otro lado, 0<𝑎<1, la señal 𝑦(𝑡) es una
versión expandida (alargada) de 𝑥(𝑡). Estas dos operaciones se ilustran en la figura.
Page 28 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
3.-Ejemplos
%% Escalamiento de Amplitud en Tiempo Continuo y Discreto
A = 5; %Factor de Escalamiento de amplitud
Fs = 10000; %Frecuencia de Muestreo
f = 0.1; %Frecuencia Fundamental Hz
T = 3*(1/f); %Número de Periodos a Graficar
t = 0:1/Fs:T-1/Fs; %Tiempo de Simulación
xt = A.*sin(2*pi*f.*t); %Generación de Señal
subplot(2,1,1),plot(t,xt),grid on,ylim([-A A]) %Grafica
xlabel('Tiempo (s)'),ylabel('Amplitud'), title('x(t)')
n = 0:T; %Vector de Tiempo Dicreto
xn = A.*sin(2*pi*f.*n); %Generación de Señal x[n]
subplot(2,1,2),stem(n,xn),grid on,ylim([-A A]) %Grafica
xlabel('Tiempo (n)'),ylabel('Amplitud'), title('x[n]')
Page 29 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
Page 30 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
Page 31 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
Page 32 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
4.-Desarrollar
Resuelva de forma teórica los siguientes ejercicios:
b. Para la señal de tiempo discreto mostrada en la figura, dibuje cada una de las señales
siguientes:
Resuelva en MATLAB
1- A partir de los siguientes datos genere la señal en tiempo continuo, la reflexión de la señal
y(t)=x(-t), la señal en tiempo discreto y la reflexión y(n)=x(-n).
Page 33 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
PRÁCTICA 3
Page 34 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
1.- OBJETIVO
El alumno utilizará los conceptos de la Convolución discreta y de la Correlación en el
procesamiento de señales adquiridas.
2.-INTRODUCCIÓN
Dos operaciones importantes para el entendimiento de los sistemas de procesamiento digital de
señales son la Convolución y la Correlación.
Convolución
Entonces, la salida y(n) correspondiente a una entrada discreta arbitraria x(n) está dada por:
Page 35 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
A esta fórmula se le conoce como Sumatoria de Convolución. Se dice que x(n) y h(n) se convoluciona
para dar la salida y(n) y para esto se usa la notación abreviada.
Si la señal x(n) tiene una longitud finita N, mientras que h(n) tiene una longitud M, entonces la
salida correspondiente y(n) tendrá una longitud N+M-1.
2.El primer valor de y(n) es la multiplicación de los primeros valores de x(n) y h(n).
4.Sucesivamente se corre x(n) una posición a la vez, hasta terminar con todos los valores,
de forma que y(N+M-1) =x(N)*h(M).
Page 36 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
Correlación
Si se tienen dos señales discretas x(n) y y(n), la Correlación Cruzada, o simplemente Correlación,
determina el grado de semejanza entre ellas, y está dada por
Para cada valor del índice l, que funciona como un corrimiento, se obtiene un valor que puede ser
positivo o negativo. Este valor tendrá una magnitud pequeña si no hay una semejanza entre la señal
x(n) y la señal desplazada y(n-l), o bien será un valor elevado si hay un grado de semejanza
considerable.
Un caso particular es aquel en el que se tiene una sola señal x(n) y se desea saber el grado de
semejanza entre diferentes secciones de la misma. En este caso la Autocorrelaciónse define como
Respuesta de Sistemas Lineales Discretos como introducción para analizar el tema de Filtros
Discretos.
Page 37 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
subplot(2,2,1); subplot(2,2,2);
n=0:50; x=sin(n);
x=sin(n); stem(2*n,x,'color','b')
stem(n,x,'color','r') xlim([-2.5 12.5])
xlim([-2 6.5]) ylim([-1.5 1.5])
ylim([-1.5 1.5]) ax = gca;
ax = gca; ax.XAxisLocation = 'origin';
ax.XAxisLocation = 'origin'; ax.YAxisLocation = 'origin';
ax.YAxisLocation = 'origin'; grid on
grid on grid minor
grid minor title('Escalamiento en el tiempo
title('Señal original y(n)=x(n/2)')
y(n)=x(n)=sen(n)')
subplot(2,2,3); subplot(2,2,4);
x=sin(n); x=sin(n);
stem(4*n,x,'color','green') stem(n/2,x,'color','black')
xlim([-5 25]) xlim([-1 3.5])
ylim([-1.5 1.5]) ylim([-1.5 1.5])
ax = gca; ax = gca;
ax.XAxisLocation = 'origin'; ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin'; ax.YAxisLocation = 'origin';
grid on grid on
grid minor grid minor
title('Escalamiento en el tiempo title('Escalamiento en el tiempo
y(n)=x(n/4)') y(n)=x(2n)')
Page 38 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
subplot(2,2,1); subplot(2,2,2);
stem(x1,'color','r') stem(x2,'color','b')
xlim([-5 55]) xlim([-5 55])
ylim([-1.5 1.5]) ylim([-1.5 1.5])
ax = gca; ax = gca;
ax.XAxisLocation = 'origin'; ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin'; ax.YAxisLocation = 'origin';
grid on … grid on
grid minor grid minor
title('Cos(n)') title('Sin (n)')
subplot(2,2,3); subplot(2,2,4);
Convolucion=conv(x1,x2) Correlacion=xcorr(x1,x2)
stem(Convolucion,'color','black') stem(Correlacion,'color','black')
xlim([-5 100]) xlim([-5 100])
ylim([-25 25]) ylim([-25 25])
ax = gca; ax = gca;
ax.XAxisLocation = 'origin'; ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin'; ax.YAxisLocation = 'origin';
grid on grid on
grid minor grid minor
title('Convolución ') title('Correlación cruzada')
Page 39 of 41
PROCESAMIENTO DIGITAL DE SEÑALES
4.- Desarrollar
Con las secuencias siguientes aplique los comandos de compresión, expansión, convolución y
correlación a cada una de ellas en el mismo formato visto en los ejemplos.
Parte Teórica
I. Convolución
x(n)={2,2,-1,-1,1,1}h(n)={4,5,3, 2, 1}
x=[2,2,-1,-1,1,1];
h=[4,5,3,2,1];
y=conv(x, h)
Page 40 of 41