Beruflich Dokumente
Kultur Dokumente
Alex P. Villacs V.
Departamento de Electrnica en automatizacin y control Escuela Politcnica del Ejrcito Quito, Ecuador E-mail: alphavv@gmail.com
ResumenMatLab es la herramienta principal que nos va a permitir realizar este proyecto, dicho entorno ayudar la resolucin de la transformada discretas en el presente artculo se resolver varios experimentos en los cuales se aplicaran todas las funciones relacionadas a dichas transformadas que posee MatLab. Palabras clavespolos, seal; discreto, continuo, ceros, muestras, absoluto, transformada, fft, dft.
La transformada inversa de Fourier viene dado por la siguiente ecuacin: [ ] [ ] (2) B. Transformada Rpida de Fourier. FFT es la abreviatura usual (del ingls Fast Fourier Transform) de un eficiente algoritmo que permite calcular la transformada de Fourier discreta (DFT) y su inversa. La FFT es de gran importancia en una amplia variedad de aplicaciones, desde el tratamiento digital de seales y filtrado digital en general a la resolucin de ecuaciones en derivadas parciales o los algoritmos de multiplicacin rpida de grandes enteros. III. EXPERIMENTOS
I.
INTRODUCCION
MatLab hoy en da se ha convertido en una herramienta bastante til entre los matemticos, por su facilidad de uso y sus innumerables funciones en el mbito matemtico; gracias a esta capacidad que nos brinda, es que podemos usarla para clculos en el procesamiento digital de seales, as como lo son algunas transformadas discretas. Comnmente las capacidades de MatLab son una herramienta poderosa al momento de facilitar el trabajo, pero al realizar los experimentos pueden darse cuenta que quizs se torne un poco ms complicado obtener una respuesta acertada al compararlo con los clculos analticos en ejercicios obviamente donde el nivel de dificultad es moderada. Las Transformadas discretas son un modelo matemtico que se emplea entre otras aplicaciones en el estudio del Procesamiento de Seales.
A. Experimento 3.1 En este experimento implementaremos las diferentes formas de hallar la convolucin entre dos seales x[n]*h[n]. [ ] (3) [ ] (4)
x[n]*h[n] 60
II.
FUNDAMENTOS TERICOS.
A. Transformada de Fourier Discreta En matemticas, la transformada discreta de Fourier o DFT (del ingls, discrete Fourier transform) es un tipo de transformada discreta utilizada en el anlisis de Fourier. Transforma una funcin matemtica en otra, obteniendo una representacin en el dominio de la frecuencia, siendo la funcin original una funcin en el dominio del tiempo. Pero la DFT requiere que la funcin de entrada sea una secuencia discreta y de duracin finita. Para determinar la transformada se emplea la siguiente expresin: [ ] [ ] (1) Donde x[n] es una funcin en tiempo discreto.
50
40
x[n]
30
20
10
10 n
12
14
16
18
20
En la figura 2 podemos observar la convolucin usando el comando filter, la grfica en azul es la convolucin sin antes haber cambiado la longitud de x, ya que dicha 1
sentencia de MatLab obliga que la salida y(n) tenga la misma longitud de x(n), por lo que tenemos que cambiar la longitud de x(n), obteniendo una grfica como la mostrada en verde de la figura 2.
Convolucin usando filter 60
Tambin tenemos otra sentencia que combina las dos funciones anteriores asi como tambin sus caractersticas llamada fftfilt la cual realiza la convolucin. (5)
50
40
x[n]
30
B. Expermento 3.2 En este experimento visualizaremos como afecta el ruido en una seal limpia como lo es una seal sinusoidal, en el experimento se apreciara como a medida que aumenta el ruido no se puede distinguir las componentes fundamentales de la onda deseada. La funcin con la que vamos a trabajar es la siguiente: (6)
20
10
En la figura 4 se muestra la seal ingresada con ruido es decir en la funcin anterior con un k = 0,5, en la figura 5 podemos observar dicha seal con k = 1,5.
0 2 4 6 8 10 n 12 14 16 18 20
2.5 2 1.5 1 0.5
x(n)
Grafico 1
En esta parte del experimento realizaremos la convolucin de las dos seales anteriores usando la sentencia fft, como todos sabemos la convolucin usando la transformada discreta de Fourier es la multiplicacin de las dos seales. Al usar esta funcin obtendremos el resultado que se muestra en la figura 3.
Convolucin usando FFT 60
0 -0.5 -1 -1.5
50
-2 -2.5
40
0.1
0.2
0.3
0.4
0.5 Time(s)
0.6
0.7
0.8
0.9
x[n]
30
20
10
3 2
10 n
12
14
16
18
20
x(t)
1 0 -1 -2 -3
Para lo cual usamos la siguiente sentencia: length_y = length(x) + length(h) - 1; X = fft(x,length_y); H = fft(h,length_y); Y4 = X.*H; y4 = ifft(Y4);
-4 -5
0.1
0.2
0.3
0.4
0.5 t
0.6
0.7
0.8
0.9
En la figura 6 se muestra la FFT con la seal pura (roja) y con la seal con ruido (azul). 2
120
Comando conv 15
100
80
10
X(ej*2*pi*f )
60
40
x[n]
5
20 0 0 20 40 60 80 100 120 Frecuencia (Hz) 140 160 180 200
5 n
10
15
Figura 6. Transformada rpida de Fourier con k=0 (rojal) y con k=1.5 (azul).
C. Ejercicio 3.32 La figura 9 muestra la convolucin con el comando filter. a. Utilice la FFT para realizar la convolucin entre dos seales.
Comando filter 15
10
0
10
4 n
x[n]
Como lo pudimos notar en la figura anterior al usar filter para la convolucin se pierde informacin porque y[n] obligadamente debe tener la misma longitud de x[n]. c. Mediante el comando flops verifique sus resultados experimentalmente para valores generales de N y K.
5 n
10
15
Para este literal usaremos la funcin flops para saber cuantas operaciones algebraicas ha realiza para un numero de N y K generales. Este literal no se lo pudo realizar correctamente ya que la versin de MatLab no contiene el comando flops. d. Repetir (c) teniendo en cuenta nicamente los valores de N y K tal que (N + K - 1) es una potencia de dos.
Para realizar esta operacin en MatLab se uso el cdigo usado en los experimentos anteriores. b. Realice la misma convolucin usando los comandos conv y filter.
La ecuacin M N + K -1 nos da la el numero mnimo de puntos que debe poseer la convolucin para que sta no pierda informacin, esta ecuacin fue aplicada al realizar la convolucin con la fft, mediante la siguiente sentencia: length_y = length(x) + length(h) -1
Magnitud de X(ejw ) 10 5 0 -5
Para l = 100, calcular la DFT de x (n) utilizando 64 muestras. Se puede observar la presencia de las dos sinusoides?
-30
10
20
30
40
50
60
70
2 1.5 1 0.5 0 -0.5 -1 -1.5
10
20
30
40
50
60
70
b.
Aumentar la longitud de la DFT de muestras 128 mediante el relleno 64 ceros a la original muestras de x (n). Opina sobre los resultados.
x(n) con 128 muestras 1.5
-2
10
20
30
40
50
60
70
1
Para la cual se obtiene la figura 11, que es la magnitud de , mientras que en la figura 12, se muestra la fase. En la figura 10 se puede no se puede distinguir las dos sinusoides. Para poder graficar la magnitud de la dft se utilizo el comando real y para graficar la fase se uso el comando imag.
0.5
-0.5
-1
-1.5
20
40
60
80
100
120
140
70
70
60
60
50
50
40
40
30
30
20
20
10
10
20
40
60
80
100
120
140
160
180
200
50
100
150
200
250
300
Claramente se puede observar la diferencia entre la figura 14 con la figura 11, esta diferencia se da gracias al nmero de muestras con la que se trabaja. c. Calcular la DFT de x (n) utilizando 128 muestras. Puede usted ahora observar la presencia de las dos sinusoides?
2 1.5 1
60
50
40
30
20
10
0.5
0
0 -0.5 -1 -1.5 -2
100
200
300
400
500
600
E. Ejercicio 3.34 Repita el Experimento 3.2 para una gran cantidad k 3 de componente de ruido. Adems vare M (longitud) de la fft y grafique con valor absoluto.
k = 6 y M = 50 15
20
40
60
80
100
120
140
Como se puede observa en la figura 15 la presencia de las sinusoides se hace un poco mas notoria debido a que el nmero de muestras aumento al doble.
x(t)
10
d.
Aumente el nmero de muestras a 128 y a x(n) aada 128 ceros, repita rellenando con 384 ceros, Observe los resultados y comntelos.
-5
Como se puede observar en la figura 16 al aumentar el nmero de muestras la DFT sique siendo la misma pero con menor longitud si la comparamos con la figura 17.
-10
-15
0.1
0.2
0.3
0.4
0.7
0.8
0.9
k = 6 y M = 1000 25 20 15 10 5
misma longitud que la entrada, esto causa que se pierda informacin. Al hallar la DFT de las seales propuestas, al aumentar el nmero de muestras dicha transformada no cambia si no tan solo aumenta la longitud dependiendo del nmero de muestras que esta implica. Mientras se aumenta el nivel de ruido a la seal del ejercicio 3.34 la seal se asemeja mas a una seal con ruido blanco.
x(t)
0 -5 -10 -15 -20 0
0.1
0.2
0.3
0.4
0.7
0.8
0.9
V.
BIOGRAFIA
Alex Pal Villacs Vsconez naci en Quito, Ecuador el 07 de julio de 1991. Realiz sus estudios de educacin primaria en la escuela Estados Unidos de Norte Amrica. Realiz sus estudios de educacin secundaria en el Instituto Tecnolgico Superior Sucre gradundose en el 2009 con el ttulo de Bachiller en la especialidad de Electrnico. Actualmente se encuentra cursando sus estudios superiores en la Escuela Politcnica del Ejrcito en la facultad de Electrnica especialidad Automatizacin y Control.
0.7 0.8 0.9 1
x(t)
0
0.1
0.2
0.3
0.4
VI.
Figura 18. Experimento 3.2 con k=12 y M=500.
BIBLIOGRAFA Processing.
en las figuras 16, 1 y 18 podemos observar que al ir aumentando el k la seal va aumentando el ruido, y al variar M (longitud) aumenta el numero de muestras dentro de un mismo perodo. IV. CONCLUSIONES
Hayes M. (1999).Schaums outline of theory and problems of digital signal. Primera Edicin. 1210.2012. Alan V. Oppenheim and Ronald W. Schafer, Discrete-Time Signal Processing, 3rd Edition, Prentice Hall, ISBN 978-0131988422, 2009. Vinay K. Ingle, John G. Proakis, Digital Signal Processing Using Matlab, 3rd Edition, Cengage Learning, ISBN 978-1-111-42737-5, 2012. Herramienta matemtica MatLab, Help.
MatLab es una herramienta matemtica que nos sirve para obtener una aproximacin numrica de la transformada Discreta de Fourier as tambin como las graficas de su Magnitud y Fase. La convolucin entre dos seales se las puede realizare varias maneras con diferentes tipos de comandos como lo son filter, conv y fft. Cada comando antes mencionado tiene sus propias caractersticas para realizar la convolucin, asi como el comando filter que forza a que la salida tenga la 6