Académique Documents
Professionnel Documents
Culture Documents
An
alisis transformado
Introducci
on
El objetivo de este taller es poner en practica algunos conceptos del modulo
An
alisis transformado I del curso. Especficamente, vamos a poner en practica
los conceptos de respuesta en frecuencia, generacion de tonos DTMF y sntesis
de se
nales a partir de su espectro. Este taller requiere un paquete de archivos,
taller3.zip, que se puede descargar desde el portal del curso. Los archivos
en este paquete le permitir
an realizar el taller y verificar sus resultados. En la
tabla 1, puede encontrar un resumen de los archivos contenidos en el paquete.
Archivo
response1.m
synthez1.m
process1.m
synthez2.m
process2.m
dtmf.m
check.m(*)
answers.mat(*)
Descripcion
Respuesta en frecuencia del sistema reverberacion
Sintetizar se
nal sinusoidal
Procesar con el sistema reverberacion
Sintetizar superposici
on de sinusoidales
Procesar con un sistema arbitrario
Generaci
on de secuencia de tonos DTMF
Funcion para verificar la solucion de los ejercicios
Archivo para verificar solucion de los ejercicios
1.
Respuesta en frecuencia
(1)
donde |H(0 )| y H(0 ) son la magnitud y el angulo de la respuesta en frecuencia del sistema evaluados en = 0 , respectivamente.
H() =
h(n)ejn
(2)
n=
1.1.
Sistema reverberaci
on
A partir de la ecuaci
on en diferencias del sistema de reverberacion de primer
orden, y(n) = x(n)y(n1), es posible deterimar recursivamente la respuesta
al impulso:
h(n) = n u(n)
(3)
X
n=0
n ejn
ej
n
(4)
(5)
n=0
P
La sumatoria en (5) es una serie geometrica de la forma n=0 rn , con r =
ej . Dicha serie geometrica converge a 1/(1 r), siempre y cuando |r| < 1.
Por lo tanto, imponiendo la restriccion que | < 1|,(5) se simplifica a:
H() =
1
1 ej
(6)
Ejercicio 1
Modifique el archivo response1.m que permita evaluar la respuesta en
frecuencia del sistema reverberacion de primer orden en un valor de frecuencia
determinado. Asuma que el par
ametro en (6) es = 0.5. La entrada
debe ser un valor de frecuencia omega0 (rad/s), que corresponde a la frecuencia a la que se quiere evaluar dicha respuesta en frecuencia; y la salida debe
ser un coeficiente complejo H. La magnitud de dicho coeficiente debe corresponder a |H(0 )| y el
angulo debe corresponder a H(0 ). En Octave, la funcion
debera invocarse como:
omega0 = pi/2;
H = response1(omega0);
|H()|
|()|
1
|H(0)|
(0)
pi
pi
pi
(a)
pi
(b)
Para verificar que la funcion synthez1 ha sido editada correctamente, utilice la funci
on check:
check('synthez1');
%Frecuencia de la sinusoidal
%Numero de puntos
Input
Output
Figura 2: Entrada y salida del sistema reverberacion de primer orden. Las muestras de cada secuencia se han unido con lineas rectas para cuestiones de visualizaci
on.
X = exp(j*0.5*pi)
y = process1(X, omega0, N);
Para verificar que la funcion process1 ha sido editada correctamente, utilice la funci
on check.
check('process1');
1.2.
(7)
M
1
X
Am cos(m n + m ),
(8)
m=0
x(n)
tiempo (s)
Figura 3: Superposici
on de sinusoidales. Esta secuencia corresponde a a superposicion de cuatro arm
onicos de la frecuencia f0 = 440 Hz y simula la nota A4
en un piano
entrada, N, corresponde al n
umero de puntos de la se
nal a generar. Por ejemplo,
si se quieren generar las 400 primeras muestras de la secuencia:
x(n) = 0.5 cos(2n/50 + /50) + 0.25 cos(2n/100)
(9)
Para verificar que la funcion synthez2 ha sido editada correctamente, utilice la funci
on check .
check('synthez2');
am y(n m) =
m=0
N
1
X
bm x(n m),
(10)
m=0
Figura 4: Tonos DTMF. Cada tecla se codifica con la combinacion de dos tonos
1. B, un vector con los coeficientes de la variable independiente, x(n), de la
ecuaci
on en diferencias (10), tal que B = [b0 , b1 , , bN 1 ].
2. A, un vector con los coeficientes de y(n) en (10), tal que A = [a0 , a1 , , aM 1 ].
3. X, un vector de coeficientes complejos que codifican la magnitud y fase de
las diferentes componentes sinusoidales de la entrada.
4. omega, un vector con la frecuencias de las componentes de la se
nal de
entrada
5. N, un entero con el n
umero de puntos de la se
nal de salida
En Octave, la funci
on debera invocarse como:
process2(B, A, X, omega, N);
Para verificar que la funcion process2 ha sido editada correctamente, utilice la funci
on check:
check('process2');
2.
(11)
Ejercicio
Edite el archivo dtmf.m para que permita generar un tono DTMF de duraci
on 1 segundo. La funcion tiene dos entradas. La primera, key, es una
cadena de caracteres con la tecla a la que se debe generar el codigo. La segunda,
fs, es la frecuencia de muestreo a la que se debe generar la secuencia discreta
correspondiente x(n) a partir de (11), tal que x(n) = x(t)|t=nT . Por ejemplo,
para generar un segundo de audio de la secuencia correspondiente a la tecla
n
umero 8, la funci
on debe invocarse en Octave como:
key = '8';
fs = 8000;
x = dtmf(key, fs);
Entrega
Para entregar la soluci
on de los ejercicios, comprima los archivos que edito en
un archivo de nombre solucion1.zip. Dicho archivo comprimido s
olo debe
tener los archivos mostrados en la tabla 2, y que han sido editados por usted
durante la realizaci
on de este taller. El archivo comprimido debe ser subido en
el portal del curso en el lugar correspondiente y antes de la fecha lmite.
No.
1
2
3
4
5
6
Archivo
response.m
synthez1.m
process1.m
synthez2.m
process2.m
dtmf
puntos
10
10
10
10
10
10