SlideShare uma empresa Scribd logo
1 de 10
Baixar para ler offline
F´
ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1
a

1

Pr´ctica 1: Senales y an´lisis de Fourier
a
˜
a

1.

Objetivo y contenido

En esta pr´ctica pretendemos revisar parte de la materia del tema 2 de la asignatua
ra desde la perspectiva de un entorno de c´lculo num´rico y simulaci´n por ordenador:
a
e
o
matlab. El objetivo fundamental es familiarizarse con la definici´n, manipulaci´n y repreo
o
sentaci´n de se˜ales en matlab.
o
n
Este documento proporciona un gui´n que incluye todas las ´rdenes necesarias para
o
o
ir siguiendo los apartados de la pr´ctica. Con objeto de centrarnos en la materia de la
a
asignatura y de que la clase sea m´s amena, hemos optado por no dedicar apartados
a
espec´
ıficos a explicar el entorno ni el lenguaje de programaci´n matlab, sino por explicar
o
los conceptos y funciones necesarios sobre la marcha.
En primer lugar, tras una toma de contacto b´sica con el entorno, mostraremos un
a
ejemplo que resume los aspectos de la asignatura que se van a tratar en esta pr´ctica. Este
a
primer ejemplo es una aproximaci´n intuitiva al uso de matlab, con la que pretendemos
o
dar una idea general de las posibilidades del entorno.
A lo largo de la pr´ctica se ir´n detallando los puntos que se presentan brevemente en
a
a
el ejemplo inicial: definici´n de y operaci´n con se˜ales, representaci´n gr´fica, an´lisis de
o
o
n
o
a
a
Fourier y manipulaci´n de se˜ales en los dominios del tiempo y la frecuencia.
o
n

2.

Ejemplo de manipulaci´n de se˜ ales en matlab
o
n

Empezamos con un ejemplo que presenta de manera resumida el contenido de esta
pr´ctica. En el ejemplo 1, definimos una se˜al, calculamos su transformada de Fourier, y
a
n
la representamos en los dominios del tiempo y de la frecuencia.

3.

Se˜ ales en matlab
n

Siendo rigurosos, el procedimiento seguido en el apartado anterior no es adecuado para
el an´lisis de se˜ales anal´gicas; es m´s, en general matlab no permite analizar se˜ales
a
n
o
a
n
1
anal´gicas . Esto se debe a que la forma natural de representar una se˜al en matlab es
o
n
1

Salvo que se usen bloques funcionales o toolboxes espec´
ıficos.

Dpto. Electr´nica y Electromagnetismo
o

Facultad de F´
ısica, Universidad de Sevilla
2

F´
ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1
a

Ejemplo 1 ficom pr1 0001 ejemplo brusco.m
% Ejemplo brusco
% A) Definici´n de la se~al
o
n
t = -0.25:0.001:0.25;
w1 = 2*pi*50;
w2 = 2*pi*200;
g = 3*sin(w1*t) - 2*cos(w2*t);
% B) Representaci´n en tiempo
o
subplot(311)
plot(t,g)
% C) Transformada y representaci´n en frecuencia
o
G = fftshift(fft(g));
% base de frecuencias
f = base_tiempo_frec(t);
% amplitud de la transformada
subplot(312);
plot(f,abs(G));
% fase de la transformada
subplot(313);
plot(f,angle(G));
% fase, mejor
plot(f,unwrap(angle(G)));

definir una secuencia finita de valores mediante un vector fila. As´ por ejemplo, podemos
ı,
definir la secuencia de instantes de tiempo equidistantes (intervalo 1 ms) entre 0 y 0.25,
que en el ejemplo visto es la base de tiempos de la se˜al. Y, del mismo modo, en el
n
ejemplo 2, definimos una se˜al sinusoide como una secuencia de valores.
n
Ejemplo 2 ficom pr1 0002 senal sinusoide.m
% Ejemplo de definici´n de se~al sinusoide
o
n
% base de tiempos
t = -2*pi:0.001:2*pi
w = 2*pi*1
g = sin(w*t)
% Diferentes estilos de representaci´n
o
plot(t,g)
plot(t,g,’*’)
stem(t,g)
% Otra forma de representaci´n gr´fica
o
a

Se puede acceder a los elementos de los vectores usando la notaci´n del ejemplo 3.
o
N´tese que t(1) representa un instante de tiempo, mientras que g(1) representa el valor
o
que toma la se˜al g en ese instante.
n
Por tanto, siendo estrictos, en matlab toda se˜al es discreta en tiempo, mientras que en
n
amplitud puede ser discreta (cuantizada) o continua (aunque limitada por la precisi´n de
o
los tipos num´ricos). No obstante, si los intervalos temporales entre valores son suficientee
mente peque˜os y el rango temporal en que se define la se˜al es suficientemente amplio, la
n
n
Dpto. Electr´nica y Electromagnetismo
o

Facultad de F´
ısica, Universidad de Sevilla
F´
ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1
a

3

Ejemplo 3 ficom pr1 0003 elementos vectores.m
% Acceso a elementos de los vectores
g(1)
g(2)
t(length(t))

secuencia de valores empleada para representar la se˜al y las operaciones realizadas para
n
su an´lisis proporcionan una buena aproximaci´n a los resultados te´ricos.
a
o
o
En el caso m´s simple y frecuente, los valores se toman en instantes equiespaciados,
a
intervalo que no debe confundirse con el periodo de muestreo. De momento, ignoraremos
el efecto de la discretizaci´n de se˜ales (utilizaremos intervalos de tiempo suficientemente
o
n
peque˜os, de modo que los efectos sean despreciables). Asimismo, la amplitud de las
n
se˜ales est´ sometida a una discretizaci´n que, dada la precisi´n de los tipos num´ricos
n
a
o
o
e
empleados en matlab, podemos ignorar.
Representar la se˜ al sinusoide anterior para diferentes intervalos de la base
n
de tiempos t.
Pensar si es posible y c´mo se puede definir en matlab una se˜ al perteneo
n
ciente a las siguientes categor´
ıas:
Discreta en el tiempo y amplitud
Discreta en el tiempo y continua en amplitud
Discreta en la amplitud y continua en el tiempo
Continua en tiempo y en amplitud
En matlab se pueden definir se˜ales a partir de otras mediante operaciones sobre
n
vectores. As´ el ejemplo 4 define la potencia instant´nea de la se˜al sinusoide anterior.
ı,
a
n
Ejemplo 4 ficom pr1 0004 potencia instantanea.m
% Potencia instant´nea
a
p1 = g.^2;
% Definici´n alternativa
o
p2 = sin(w*t).^2;
% Comparaci´n
o
isequal(p1,p2)

3.1.

Se˜ ales especiales
n

Veamos una posible forma de representar en matlab algunas se˜ales t´
n
ıpicas:
Dpto. Electr´nica y Electromagnetismo
o

Facultad de F´
ısica, Universidad de Sevilla
4

F´
ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1
a

Se˜al escal´n, u(t), en el ejemplo 5.
n
o
Se˜al pulso, rect(t), amplitud 1, v´ase el ejemplo 6.
n
e
Se˜al sampling (Sa (t) =
n

sin(t)
t

y Sinc(t) =

sin(πt)
),
πt

en el ejemplo 7.

Ejemplo 5 ficom pr1 0005 senal escalon.m
% Ejemplo de se~al escal´n
n
o
t=-10:0.01:10;
g_escalon=[zeros(1,1000), ones(1,1001)];
plot(t,g_escalon);

Ejemplo 6 ficom pr1 0006 senal pulso.m
% Ejemplo de se~al pulso
n
t=-10:0.01:10;
g_pulso=[zeros(1,950), ones(1,101), zeros(1,950)];
plot(t,g_pulso);

Ejemplo 7 ficom pr1 0007 senal sampling.m
% Ejemplo de se~al sampling
n
t=-10:0.01:10;
% Se~al sampling (nula en t=n*pi; n=1,2,...
n
g_sampling = sin(t)./t;
plot(t,g_sampling)
% Se~al sampling (nula en t=n; n=1,2,...
n
sinc(t); % equivalente a sin(pi*t)/(pi*t)
plot(t,sinc(t))

Pensar c´mo se definir´ otros tipos de se˜ ales, por ejemplo impulso, reco
ıan
n
t´ngulo, triangular, exponencial, cuadrada, etc.
a
¿Es posible definir en matlab se˜ ales de los siguientes tipos?
n
Peri´dicas / no peri´dicas
o
o
Deterministas / aleatorias
Continuas / discretas
Anal´gicas / digitales
o
Energ´ / potencia
ıa
Paso de baja, paso de banda, etc.

Dpto. Electr´nica y Electromagnetismo
o

Facultad de F´
ısica, Universidad de Sevilla
F´
ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1
a

4.

5

An´lisis de Fourier
a

Utilizando operaciones sobre vectores, se pueden calcular f´cilmente los coeficientes de
a
Fourier correspondientes a una se˜al. En el ejemplo 8, se definen el vector n, que contiene
n
los ´
ındices de los coeficientes, y el vector cn, que contiene los coeficientes.
Ejemplo 8 ficom pr1 0008 coeficientes fourier.m
% Coeficientes de Fourier para una se~al cuadrada de periodo 1s.
n
n = -10:10;
cn = (cos(n*pi)-1)./(-2*j*n*pi);
% coeficientes
cn(11) = 0.5;
subplot(2,1,1)
stem(n,abs(cn))
ylabel(’Magnitud de cn’)
subplot(2,1,2)
stem(n,angle(cn))
ylabel(’Fase de cn’)
xlabel(’n’);

En matlab, la transformada de Fourier unidimensional se puede calcular mediante
la funci´n predefinida fft, que calcula la transformada de Fourier discreta mediante el
o
algoritmo FFT (Fast finite Fourier transform [6]).
En el ejemplo 9, retomamos el ejemplo inicial levemente modificado. En este caso,
las representaciones gr´ficas de la se˜al y su transformada no parecen correctas. ¿Qu´
a
n
e
diferencia respecto al ejemplo inicial puede ser la causa?
La funci´n base_tiempo_frec proporciona un vector base de frecuencias a partir de
o
un vector base de tiempos, de modo que la representaci´n de la se˜al en el dominio de la
o
n
frecuencia se corresponda con la representaci´n de la se˜al en el dominio del tiempo. Su
o
n
definici´n, que constituye un ejemplo de definici´n de una funci´n con un par´metro y un
o
o
o
a
resultado, es la siguiente:

function f = base_tiempo_frec (t)
% Produce un vector base de frecuencias a partir de un vector base de tiemposxb
delta_t = t(2)-t(1);
f = ((1:length(t)) - ceil(length(t)/2)) / length(t) / delta_t;

Mediante abs y angle obtenemos la magnitud y la fase del espectro de la se˜al. N´tese
n
o
que la amplitud de la transformada obtenida mediante fft queda multiplicada por n
respecto a la definici´n vista en las clases de teor´ siendo n el n´mero de elementos del
o
ıa,
u
2
vector utilizado para representar la se˜al original .
n
2

Ojo: si el n´mero de elementos del vector dado como transformada se restringe a un n´mero menor
u
u
que la longitud del vector original, la amplitud queda dividida por el mismo valor

Dpto. Electr´nica y Electromagnetismo
o

Facultad de F´
ısica, Universidad de Sevilla
6

F´
ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1
a

Ejemplo 9 ficom pr1 0009 ejemplo brusco2.m
% Ejemplo brusco 2
% A) Definici´n de la se~al
o
n
t=-2*pi:0.01:2*pi;
w1=2*pi*60;
w2=2*pi*200;
g = 3*sin(w1*t) - 2*cos(w2*t);
% B) Representaci´n en tiempo
o
subplot(311)
plot(t,g)
% C) Transformada y representaci´n en frecuencia
o
G= fftshift(fft(g));
% base de frecuencias
f = base_tiempo_frec(t);
% amplitud de la transformada
subplot(312);
plot(f,abs(G));
% fase de la transformada
subplot(313);
plot(f,angle(G));
% fase, mejor
plot(f,unwrap(angle(G)));

De manera an´loga, podemos obtener las partes real e imaginaria de cualquiera de las
a
se˜ales y transformadas (ver el ejemplo 10).
n

Ejemplo 10 ficom pr1 0010 partes real imaginaria.m
% Partes real e imaginaria
subplot(211)
plot(f,real(G));
subplot(212)
plot(f,imag(G));
% probar qu´ pasa...
e
subplot(211)
plot(f,G)

Comprobar qu´ pasa si usamos G=fft(g) en lugar de G=fftshift((fft(g));
e
El ejemplo 11 ilustra una de las propiedades de la transformada de Fourier: multiplicar
por una se˜al coseno equivale a un desplazamiento en el dominio de la frecuencia. Por
n
otra parte, la funci´n de matlab ifft calcula la transformada de Fourier inversa (ver el
o
ejemplo 12).
Comprobar isequal(g,g_trans) y calcular la se˜ al g - g_trans.
n
Dpto. Electr´nica y Electromagnetismo
o

Facultad de F´
ısica, Universidad de Sevilla
F´
ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1
a

7

Ejemplo 11 ficom pr1 0011 multiplicar coseno fourier.m
%
t
x
g

Multiplicar por coseno equivale a desplazamiento en frecuencia
= 0:0.001:1;
= cos(2*pi*50*t);
= x .* cos(2*pi*10*t);

X=fftshift(fft(x));
G=fftshift(fft(g));
f = base_tiempo_frec(t);
subplot(211)
grid;
plot(f,abs(X));
subplot(212)
plot(f,abs(G));

Ejemplo 12 ficom pr1 0012 transformada fourier inversa.m
% Transformada de Fourier inversa
% vale cualquier g de las anteriores
t = -pi:0.001:pi;
w = 2*pi;
g = cos(w*t);
g_trans = ifft(fft(g));

Dpto. Electr´nica y Electromagnetismo
o

Facultad de F´
ısica, Universidad de Sevilla
8

4.1.

F´
ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1
a

Producto de convoluci´n
o

En matlab contamos con las funciones predefinidas conv para calcular la convoluci´n
o
de dos se˜ales. El ejemplo 13 calcula y representa la convoluci´n de una se˜al coseno con
n
o
n
una se˜al escal´n.
n
o
Ejemplo 13 ficom pr1 0013 convolucion.m
% Convoluci´n de se~ales
o
n
t = -pi:0.001:pi;
g_escalon=[zeros(1,1000*pi+1), ones(1,1000*pi+1)];
w = 2*pi;
g = cos(w*t);
g_conv = conv(g,g_escalon);
subplot(311)
plot(t,g)
subplot(312)
plot(t,g_escalon)
subplot(313)
plot(t,g_conv(1:length(g)))

Comprobar visualmente que se verifican las propiedades de la transformada
de Fourier respecto al producto de convoluci´n.
o

4.2.

Espectros de densidad de energ´ y potencia
ıa

Para el c´lculo de estos espectros disponemos (adem´s de las funciones para an´lisis
a
a
a
de Fourier anteriores) de la funci´n psd, que proporciona la representaci´n de la densidad
o
o
espectral de potencia de una se˜al (en dB). El ejemplo 14 representa gr´ficamente el
n
a
resultado de la funci´n psd para una sinusoide.
o
Ejemplo 14 ficom pr1 0014 densidad espectral potencia.m
% Densidad espectral de potencia
t = -pi:0.001:pi;
w = 2*pi*100;
g = cos(w*t);
PSD=psd(g,2^10,length(g)) % densidad espectral de potencia
plot(PSD)

5.

C´lculo simb´lico. Donde dije digo...
a
o

Durante la pr´ctica hemos representado se˜ales mediante vectores y hemos manipulado
a
n
las se˜ales esencialmente mediante operaciones con vectores. Esta es la forma habitual de
n
Dpto. Electr´nica y Electromagnetismo
o

Facultad de F´
ısica, Universidad de Sevilla
F´
ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1
a

9

trabajar con matlab. No obstante, aunque en principio matlab no se dise˜´ para realizar
no
operaciones simb´licas, s´ es posible definir y manipular se˜ales (y funciones en general)
o
ı
n
de manera simb´lica, si disponemos del “Toolbox” para c´lculo simb´lico. As´ como en el
o
a
o
ı,
ejemplo 15, podemos definir una funci´n seno o una δ de Dirac, y calcular la transformada
o
de Fourier de manera simb´lica.
o
Ejemplo 15 ficom pr1 0015 fourier simbolico.m
% An´lisis de Fourier con c´lculo simb´lico
a
a
o
syms t
% crear variable simb´lica
o
g = sin(2*pi*t)
G = fourier(g)
% Transformada de Fourier
plot(g)
% ¡error!
ezplot(g)
ginv = ifourier(G) % Transformada inversa
g2 = dirac(t)
G2 = fourier(g2)
% Se~al Heaviside/escalon
n
g3 = heaviside(t)
% Suma de series
syms k
symsum(1/k^2,1,10)
symsum(1/k^2,1,Inf)

6.

Notas
Matlab suele incluir programas de demostraci´n de los “Toolboxes” disponibles. Por
o
ejemplo, se puede probar una demo sobre la transformada de Fourier discreta mediante la orden sigdemo1.
Dentro de la ventana de ´rdenes, se puede obtener ayuda sobre cualquier elemento
o
de matlab mediante la orden help. Entre otras, se dispone de la orden help help,
que proporciona una explicaci´n b´sica de c´mo utilizar help. Del mismo modo, se
o a
o
puede usar la orden doc para consultar la documentaci´n sobre cualquier tema.
o
Para poner t´
ıtulos y manipular las gr´ficas, adem´s de la interfaz gr´fica, se dispone
a
a
a
de las siguientes ´rdenes, entre otras muchas:
o
title(’T´tulo de la gr´fica’)
ı
a
xlabel(’T´tulo eje horizontal’)
ı
ylabel(’T´tulo eje vertical’)
ı
set(gca,’XTick’,-pi:pi/2:pi) % colocar marcas en el eje x
hold
% acumular gr´ficas sobre la misma ventana
a
grid
% trazar rejilla interna
help plot % ayuda espec´fica sobre plot y funciones similares
ı
doc plot
% documentaci´n sobre plot
o

Las opciones disponibles se detallan en la documentaci´n sobre la orden plot.
o
Dpto. Electr´nica y Electromagnetismo
o

Facultad de F´
ısica, Universidad de Sevilla
10

F´
ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1
a

Se pueden obtener diferentes formas de representaci´n gr´fica de se˜ales con las
o
a
n
o
´rdenes plot, stem y otras que veremos en pr´ximas pr´cticas. Los apartados “Basic
o
a
Plotting Functions” y “Specialized Plotting” de la documentaci´n de matlab explican
o
los detalles.

7.

Referencias

[1] Introduction to Matlab and Octave.
http://ccrma.stanford.edu/˜jos/matlab/matlab.pdf. Descripci´n de la historia y las caraco
ter´
ısticas generales del lenguaje matlab y en particular de los entornos Matlab y Octave.
[2] MATLAB Tutorial.
http://www.ece.gatech.edu/users/bonnie/book/TUTORIAL/tutorial.html. De los autores del libro Fundamentals of Signals and Systems Using Matlab. Muy buena introducci´n
o
al uso de matlab para an´lisis de se˜ales y sistemas en comunicaciones.
a
n
[3] Documentation for MathWorks Products, Release 14.
http://www.mathworks.com/access/helpdesk/help/helpdesk.shtml
[4] GNU Octave Repository Categorical Index.
http://octave.sourceforge.net/index/index.html
[5] http://www.gts.tsc.uvigo.es/ssd/. Pr´cticas de la asignatura Se˜ales y Sistemas
a
n
Discretos, impartida por el Departamento de Teor´ de la Se˜al y Comunicaciones de la
ıa
n
Universidad de Vigo.
[6] FFTW: A library for computing the discrete Fourier Transform. http://www.fftw.org.
[7] Fundamentals of Signals and Systems Using the Web and MATLAB: Online Demos.
http://users.ece.gatech.edu/˜bonnie/book/applets.html
[8] Numerical Mathematics Consortium (www.nmconsortium.org). Iniciativa de estandarizaci´n de algoritmos y lenguajes num´ricos.
o
e
[9] V.K. Ingle y J.G. Proakis. Digital Signal Processing Using MATLAB V.4. PWS
Publishing Company. 1997. ISBN: 0-534–93805-1.

Dpto. Electr´nica y Electromagnetismo
o

Facultad de F´
ısica, Universidad de Sevilla

Mais conteúdo relacionado

Mais procurados

Apuntes y ejercicios Señales y sistemas (Borrador)
Apuntes y ejercicios Señales y sistemas (Borrador)Apuntes y ejercicios Señales y sistemas (Borrador)
Apuntes y ejercicios Señales y sistemas (Borrador)Julio Daniel Ruano
 
Progracion numerica
Progracion numericaProgracion numerica
Progracion numericaYhonny Ochoa
 
Límite de una función Vectorial y derivada de una función Vectorial.
Límite de una función Vectorial y derivada de una función Vectorial.Límite de una función Vectorial y derivada de una función Vectorial.
Límite de una función Vectorial y derivada de una función Vectorial.John Wagner
 
Trabajo fourier
Trabajo fourierTrabajo fourier
Trabajo fouriersadamssh
 
Ejercicios raíces de funciones
Ejercicios raíces de funciones Ejercicios raíces de funciones
Ejercicios raíces de funciones Marco Jiménez
 
Analisis numerico slideshare
Analisis numerico slideshareAnalisis numerico slideshare
Analisis numerico slideshareJoseJchm16
 

Mais procurados (20)

Metodos no parametricos ji cuadrado anexo
Metodos no parametricos ji cuadrado anexoMetodos no parametricos ji cuadrado anexo
Metodos no parametricos ji cuadrado anexo
 
SSLL-SE-2011-2S
SSLL-SE-2011-2SSSLL-SE-2011-2S
SSLL-SE-2011-2S
 
Apuntes y ejercicios Señales y sistemas (Borrador)
Apuntes y ejercicios Señales y sistemas (Borrador)Apuntes y ejercicios Señales y sistemas (Borrador)
Apuntes y ejercicios Señales y sistemas (Borrador)
 
Oviedo mco nolineales
Oviedo mco nolinealesOviedo mco nolineales
Oviedo mco nolineales
 
Progracion numerica
Progracion numericaProgracion numerica
Progracion numerica
 
Taller2
Taller2Taller2
Taller2
 
Solucion_Taller_2
Solucion_Taller_2Solucion_Taller_2
Solucion_Taller_2
 
Función vectorial de variable real
Función vectorial de variable realFunción vectorial de variable real
Función vectorial de variable real
 
SSLL-PE-2010-2S
SSLL-PE-2010-2SSSLL-PE-2010-2S
SSLL-PE-2010-2S
 
SSLL-TE-2012-2S
SSLL-TE-2012-2SSSLL-TE-2012-2S
SSLL-TE-2012-2S
 
Metodos numericos tema 3
Metodos numericos tema 3Metodos numericos tema 3
Metodos numericos tema 3
 
Límite de una función Vectorial y derivada de una función Vectorial.
Límite de una función Vectorial y derivada de una función Vectorial.Límite de una función Vectorial y derivada de una función Vectorial.
Límite de una función Vectorial y derivada de una función Vectorial.
 
SSLL-SE-2011-1S
SSLL-SE-2011-1SSSLL-SE-2011-1S
SSLL-SE-2011-1S
 
SSLL-SE-2010-2S
SSLL-SE-2010-2SSSLL-SE-2010-2S
SSLL-SE-2010-2S
 
Trabajo fourier
Trabajo fourierTrabajo fourier
Trabajo fourier
 
SSLL-TE-2011-1Ss
SSLL-TE-2011-1SsSSLL-TE-2011-1Ss
SSLL-TE-2011-1Ss
 
Práctica 3 Informática
Práctica 3 InformáticaPráctica 3 Informática
Práctica 3 Informática
 
Ejercicios raíces de funciones
Ejercicios raíces de funciones Ejercicios raíces de funciones
Ejercicios raíces de funciones
 
Metodos numericos equipo 3
Metodos numericos equipo 3Metodos numericos equipo 3
Metodos numericos equipo 3
 
Analisis numerico slideshare
Analisis numerico slideshareAnalisis numerico slideshare
Analisis numerico slideshare
 

Semelhante a Análisis de Fourier de señales en Matlab

Deber 7-cap-2-matlab-nise
Deber 7-cap-2-matlab-niseDeber 7-cap-2-matlab-nise
Deber 7-cap-2-matlab-niseALEX PORRAS
 
(Diagrama de bode y diagrama polar) Angel Lunar
(Diagrama de bode y diagrama polar) Angel Lunar(Diagrama de bode y diagrama polar) Angel Lunar
(Diagrama de bode y diagrama polar) Angel LunarAngel Lunar
 
Fundamentos_de_Telecomunicaciones_Utiliz.pdf
Fundamentos_de_Telecomunicaciones_Utiliz.pdfFundamentos_de_Telecomunicaciones_Utiliz.pdf
Fundamentos_de_Telecomunicaciones_Utiliz.pdfPaolaAndrea813335
 
Lab de tele 1 - Fourier using matlab - UNTECS
Lab de tele 1 - Fourier using matlab - UNTECSLab de tele 1 - Fourier using matlab - UNTECS
Lab de tele 1 - Fourier using matlab - UNTECSIng. Electrónica xD
 
ANÁLISIS DE FILTROS ACTIVOS
ANÁLISIS DE FILTROS ACTIVOSANÁLISIS DE FILTROS ACTIVOS
ANÁLISIS DE FILTROS ACTIVOSSNPP
 
Practica 5 simulink-5156
Practica 5 simulink-5156Practica 5 simulink-5156
Practica 5 simulink-5156RossiHeredia1
 
Diseño de experiencias
Diseño de experienciasDiseño de experiencias
Diseño de experienciasDiego Gomez
 
Proceso de Ortogonalización sobre señales para Comunicaciones compartir.pdf
Proceso de Ortogonalización sobre señales para Comunicaciones compartir.pdfProceso de Ortogonalización sobre señales para Comunicaciones compartir.pdf
Proceso de Ortogonalización sobre señales para Comunicaciones compartir.pdfJuanIngaOrtega
 
Teorema del muestro y PCM
Teorema del muestro y PCMTeorema del muestro y PCM
Teorema del muestro y PCMJoaquin Vicioso
 
C jimenez proc_senales(explic)
C jimenez proc_senales(explic)C jimenez proc_senales(explic)
C jimenez proc_senales(explic)SALVADOR SAFINA
 
Práctica 2: Análisis de funciones limites
Práctica 2: Análisis de funciones limitesPráctica 2: Análisis de funciones limites
Práctica 2: Análisis de funciones limitescbpresentaciones
 
distribucion-de-weibull
 distribucion-de-weibull distribucion-de-weibull
distribucion-de-weibullmetal_javier
 

Semelhante a Análisis de Fourier de señales en Matlab (20)

Sa fourier con matlab
Sa fourier con matlabSa fourier con matlab
Sa fourier con matlab
 
211 matlab senales
211 matlab senales211 matlab senales
211 matlab senales
 
Deber 7-cap-2-matlab-nise
Deber 7-cap-2-matlab-niseDeber 7-cap-2-matlab-nise
Deber 7-cap-2-matlab-nise
 
Dsp5
Dsp5Dsp5
Dsp5
 
(Diagrama de bode y diagrama polar) Angel Lunar
(Diagrama de bode y diagrama polar) Angel Lunar(Diagrama de bode y diagrama polar) Angel Lunar
(Diagrama de bode y diagrama polar) Angel Lunar
 
Fundamentos_de_Telecomunicaciones_Utiliz.pdf
Fundamentos_de_Telecomunicaciones_Utiliz.pdfFundamentos_de_Telecomunicaciones_Utiliz.pdf
Fundamentos_de_Telecomunicaciones_Utiliz.pdf
 
Matavmatlab
MatavmatlabMatavmatlab
Matavmatlab
 
Lab de tele 1 - Fourier using matlab - UNTECS
Lab de tele 1 - Fourier using matlab - UNTECSLab de tele 1 - Fourier using matlab - UNTECS
Lab de tele 1 - Fourier using matlab - UNTECS
 
ANÁLISIS DE FILTROS ACTIVOS
ANÁLISIS DE FILTROS ACTIVOSANÁLISIS DE FILTROS ACTIVOS
ANÁLISIS DE FILTROS ACTIVOS
 
Practica 5 simulink-5156
Practica 5 simulink-5156Practica 5 simulink-5156
Practica 5 simulink-5156
 
Diseño de experiencias
Diseño de experienciasDiseño de experiencias
Diseño de experiencias
 
Cap1 intro-2en1
Cap1 intro-2en1Cap1 intro-2en1
Cap1 intro-2en1
 
Simulacion uam
Simulacion uamSimulacion uam
Simulacion uam
 
Proceso de Ortogonalización sobre señales para Comunicaciones compartir.pdf
Proceso de Ortogonalización sobre señales para Comunicaciones compartir.pdfProceso de Ortogonalización sobre señales para Comunicaciones compartir.pdf
Proceso de Ortogonalización sobre señales para Comunicaciones compartir.pdf
 
Teorema del muestro y PCM
Teorema del muestro y PCMTeorema del muestro y PCM
Teorema del muestro y PCM
 
Metodo grafico
Metodo graficoMetodo grafico
Metodo grafico
 
C jimenez proc_senales(explic)
C jimenez proc_senales(explic)C jimenez proc_senales(explic)
C jimenez proc_senales(explic)
 
Práctica 2: Análisis de funciones limites
Práctica 2: Análisis de funciones limitesPráctica 2: Análisis de funciones limites
Práctica 2: Análisis de funciones limites
 
distribucion-de-weibull
 distribucion-de-weibull distribucion-de-weibull
distribucion-de-weibull
 
TRANSFORMADA DISCRETA DE FOURIER
TRANSFORMADA DISCRETA DE FOURIERTRANSFORMADA DISCRETA DE FOURIER
TRANSFORMADA DISCRETA DE FOURIER
 

Análisis de Fourier de señales en Matlab

  • 1. F´ ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1 a 1 Pr´ctica 1: Senales y an´lisis de Fourier a ˜ a 1. Objetivo y contenido En esta pr´ctica pretendemos revisar parte de la materia del tema 2 de la asignatua ra desde la perspectiva de un entorno de c´lculo num´rico y simulaci´n por ordenador: a e o matlab. El objetivo fundamental es familiarizarse con la definici´n, manipulaci´n y repreo o sentaci´n de se˜ales en matlab. o n Este documento proporciona un gui´n que incluye todas las ´rdenes necesarias para o o ir siguiendo los apartados de la pr´ctica. Con objeto de centrarnos en la materia de la a asignatura y de que la clase sea m´s amena, hemos optado por no dedicar apartados a espec´ ıficos a explicar el entorno ni el lenguaje de programaci´n matlab, sino por explicar o los conceptos y funciones necesarios sobre la marcha. En primer lugar, tras una toma de contacto b´sica con el entorno, mostraremos un a ejemplo que resume los aspectos de la asignatura que se van a tratar en esta pr´ctica. Este a primer ejemplo es una aproximaci´n intuitiva al uso de matlab, con la que pretendemos o dar una idea general de las posibilidades del entorno. A lo largo de la pr´ctica se ir´n detallando los puntos que se presentan brevemente en a a el ejemplo inicial: definici´n de y operaci´n con se˜ales, representaci´n gr´fica, an´lisis de o o n o a a Fourier y manipulaci´n de se˜ales en los dominios del tiempo y la frecuencia. o n 2. Ejemplo de manipulaci´n de se˜ ales en matlab o n Empezamos con un ejemplo que presenta de manera resumida el contenido de esta pr´ctica. En el ejemplo 1, definimos una se˜al, calculamos su transformada de Fourier, y a n la representamos en los dominios del tiempo y de la frecuencia. 3. Se˜ ales en matlab n Siendo rigurosos, el procedimiento seguido en el apartado anterior no es adecuado para el an´lisis de se˜ales anal´gicas; es m´s, en general matlab no permite analizar se˜ales a n o a n 1 anal´gicas . Esto se debe a que la forma natural de representar una se˜al en matlab es o n 1 Salvo que se usen bloques funcionales o toolboxes espec´ ıficos. Dpto. Electr´nica y Electromagnetismo o Facultad de F´ ısica, Universidad de Sevilla
  • 2. 2 F´ ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1 a Ejemplo 1 ficom pr1 0001 ejemplo brusco.m % Ejemplo brusco % A) Definici´n de la se~al o n t = -0.25:0.001:0.25; w1 = 2*pi*50; w2 = 2*pi*200; g = 3*sin(w1*t) - 2*cos(w2*t); % B) Representaci´n en tiempo o subplot(311) plot(t,g) % C) Transformada y representaci´n en frecuencia o G = fftshift(fft(g)); % base de frecuencias f = base_tiempo_frec(t); % amplitud de la transformada subplot(312); plot(f,abs(G)); % fase de la transformada subplot(313); plot(f,angle(G)); % fase, mejor plot(f,unwrap(angle(G))); definir una secuencia finita de valores mediante un vector fila. As´ por ejemplo, podemos ı, definir la secuencia de instantes de tiempo equidistantes (intervalo 1 ms) entre 0 y 0.25, que en el ejemplo visto es la base de tiempos de la se˜al. Y, del mismo modo, en el n ejemplo 2, definimos una se˜al sinusoide como una secuencia de valores. n Ejemplo 2 ficom pr1 0002 senal sinusoide.m % Ejemplo de definici´n de se~al sinusoide o n % base de tiempos t = -2*pi:0.001:2*pi w = 2*pi*1 g = sin(w*t) % Diferentes estilos de representaci´n o plot(t,g) plot(t,g,’*’) stem(t,g) % Otra forma de representaci´n gr´fica o a Se puede acceder a los elementos de los vectores usando la notaci´n del ejemplo 3. o N´tese que t(1) representa un instante de tiempo, mientras que g(1) representa el valor o que toma la se˜al g en ese instante. n Por tanto, siendo estrictos, en matlab toda se˜al es discreta en tiempo, mientras que en n amplitud puede ser discreta (cuantizada) o continua (aunque limitada por la precisi´n de o los tipos num´ricos). No obstante, si los intervalos temporales entre valores son suficientee mente peque˜os y el rango temporal en que se define la se˜al es suficientemente amplio, la n n Dpto. Electr´nica y Electromagnetismo o Facultad de F´ ısica, Universidad de Sevilla
  • 3. F´ ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1 a 3 Ejemplo 3 ficom pr1 0003 elementos vectores.m % Acceso a elementos de los vectores g(1) g(2) t(length(t)) secuencia de valores empleada para representar la se˜al y las operaciones realizadas para n su an´lisis proporcionan una buena aproximaci´n a los resultados te´ricos. a o o En el caso m´s simple y frecuente, los valores se toman en instantes equiespaciados, a intervalo que no debe confundirse con el periodo de muestreo. De momento, ignoraremos el efecto de la discretizaci´n de se˜ales (utilizaremos intervalos de tiempo suficientemente o n peque˜os, de modo que los efectos sean despreciables). Asimismo, la amplitud de las n se˜ales est´ sometida a una discretizaci´n que, dada la precisi´n de los tipos num´ricos n a o o e empleados en matlab, podemos ignorar. Representar la se˜ al sinusoide anterior para diferentes intervalos de la base n de tiempos t. Pensar si es posible y c´mo se puede definir en matlab una se˜ al perteneo n ciente a las siguientes categor´ ıas: Discreta en el tiempo y amplitud Discreta en el tiempo y continua en amplitud Discreta en la amplitud y continua en el tiempo Continua en tiempo y en amplitud En matlab se pueden definir se˜ales a partir de otras mediante operaciones sobre n vectores. As´ el ejemplo 4 define la potencia instant´nea de la se˜al sinusoide anterior. ı, a n Ejemplo 4 ficom pr1 0004 potencia instantanea.m % Potencia instant´nea a p1 = g.^2; % Definici´n alternativa o p2 = sin(w*t).^2; % Comparaci´n o isequal(p1,p2) 3.1. Se˜ ales especiales n Veamos una posible forma de representar en matlab algunas se˜ales t´ n ıpicas: Dpto. Electr´nica y Electromagnetismo o Facultad de F´ ısica, Universidad de Sevilla
  • 4. 4 F´ ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1 a Se˜al escal´n, u(t), en el ejemplo 5. n o Se˜al pulso, rect(t), amplitud 1, v´ase el ejemplo 6. n e Se˜al sampling (Sa (t) = n sin(t) t y Sinc(t) = sin(πt) ), πt en el ejemplo 7. Ejemplo 5 ficom pr1 0005 senal escalon.m % Ejemplo de se~al escal´n n o t=-10:0.01:10; g_escalon=[zeros(1,1000), ones(1,1001)]; plot(t,g_escalon); Ejemplo 6 ficom pr1 0006 senal pulso.m % Ejemplo de se~al pulso n t=-10:0.01:10; g_pulso=[zeros(1,950), ones(1,101), zeros(1,950)]; plot(t,g_pulso); Ejemplo 7 ficom pr1 0007 senal sampling.m % Ejemplo de se~al sampling n t=-10:0.01:10; % Se~al sampling (nula en t=n*pi; n=1,2,... n g_sampling = sin(t)./t; plot(t,g_sampling) % Se~al sampling (nula en t=n; n=1,2,... n sinc(t); % equivalente a sin(pi*t)/(pi*t) plot(t,sinc(t)) Pensar c´mo se definir´ otros tipos de se˜ ales, por ejemplo impulso, reco ıan n t´ngulo, triangular, exponencial, cuadrada, etc. a ¿Es posible definir en matlab se˜ ales de los siguientes tipos? n Peri´dicas / no peri´dicas o o Deterministas / aleatorias Continuas / discretas Anal´gicas / digitales o Energ´ / potencia ıa Paso de baja, paso de banda, etc. Dpto. Electr´nica y Electromagnetismo o Facultad de F´ ısica, Universidad de Sevilla
  • 5. F´ ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1 a 4. 5 An´lisis de Fourier a Utilizando operaciones sobre vectores, se pueden calcular f´cilmente los coeficientes de a Fourier correspondientes a una se˜al. En el ejemplo 8, se definen el vector n, que contiene n los ´ ındices de los coeficientes, y el vector cn, que contiene los coeficientes. Ejemplo 8 ficom pr1 0008 coeficientes fourier.m % Coeficientes de Fourier para una se~al cuadrada de periodo 1s. n n = -10:10; cn = (cos(n*pi)-1)./(-2*j*n*pi); % coeficientes cn(11) = 0.5; subplot(2,1,1) stem(n,abs(cn)) ylabel(’Magnitud de cn’) subplot(2,1,2) stem(n,angle(cn)) ylabel(’Fase de cn’) xlabel(’n’); En matlab, la transformada de Fourier unidimensional se puede calcular mediante la funci´n predefinida fft, que calcula la transformada de Fourier discreta mediante el o algoritmo FFT (Fast finite Fourier transform [6]). En el ejemplo 9, retomamos el ejemplo inicial levemente modificado. En este caso, las representaciones gr´ficas de la se˜al y su transformada no parecen correctas. ¿Qu´ a n e diferencia respecto al ejemplo inicial puede ser la causa? La funci´n base_tiempo_frec proporciona un vector base de frecuencias a partir de o un vector base de tiempos, de modo que la representaci´n de la se˜al en el dominio de la o n frecuencia se corresponda con la representaci´n de la se˜al en el dominio del tiempo. Su o n definici´n, que constituye un ejemplo de definici´n de una funci´n con un par´metro y un o o o a resultado, es la siguiente: function f = base_tiempo_frec (t) % Produce un vector base de frecuencias a partir de un vector base de tiemposxb delta_t = t(2)-t(1); f = ((1:length(t)) - ceil(length(t)/2)) / length(t) / delta_t; Mediante abs y angle obtenemos la magnitud y la fase del espectro de la se˜al. N´tese n o que la amplitud de la transformada obtenida mediante fft queda multiplicada por n respecto a la definici´n vista en las clases de teor´ siendo n el n´mero de elementos del o ıa, u 2 vector utilizado para representar la se˜al original . n 2 Ojo: si el n´mero de elementos del vector dado como transformada se restringe a un n´mero menor u u que la longitud del vector original, la amplitud queda dividida por el mismo valor Dpto. Electr´nica y Electromagnetismo o Facultad de F´ ısica, Universidad de Sevilla
  • 6. 6 F´ ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1 a Ejemplo 9 ficom pr1 0009 ejemplo brusco2.m % Ejemplo brusco 2 % A) Definici´n de la se~al o n t=-2*pi:0.01:2*pi; w1=2*pi*60; w2=2*pi*200; g = 3*sin(w1*t) - 2*cos(w2*t); % B) Representaci´n en tiempo o subplot(311) plot(t,g) % C) Transformada y representaci´n en frecuencia o G= fftshift(fft(g)); % base de frecuencias f = base_tiempo_frec(t); % amplitud de la transformada subplot(312); plot(f,abs(G)); % fase de la transformada subplot(313); plot(f,angle(G)); % fase, mejor plot(f,unwrap(angle(G))); De manera an´loga, podemos obtener las partes real e imaginaria de cualquiera de las a se˜ales y transformadas (ver el ejemplo 10). n Ejemplo 10 ficom pr1 0010 partes real imaginaria.m % Partes real e imaginaria subplot(211) plot(f,real(G)); subplot(212) plot(f,imag(G)); % probar qu´ pasa... e subplot(211) plot(f,G) Comprobar qu´ pasa si usamos G=fft(g) en lugar de G=fftshift((fft(g)); e El ejemplo 11 ilustra una de las propiedades de la transformada de Fourier: multiplicar por una se˜al coseno equivale a un desplazamiento en el dominio de la frecuencia. Por n otra parte, la funci´n de matlab ifft calcula la transformada de Fourier inversa (ver el o ejemplo 12). Comprobar isequal(g,g_trans) y calcular la se˜ al g - g_trans. n Dpto. Electr´nica y Electromagnetismo o Facultad de F´ ısica, Universidad de Sevilla
  • 7. F´ ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1 a 7 Ejemplo 11 ficom pr1 0011 multiplicar coseno fourier.m % t x g Multiplicar por coseno equivale a desplazamiento en frecuencia = 0:0.001:1; = cos(2*pi*50*t); = x .* cos(2*pi*10*t); X=fftshift(fft(x)); G=fftshift(fft(g)); f = base_tiempo_frec(t); subplot(211) grid; plot(f,abs(X)); subplot(212) plot(f,abs(G)); Ejemplo 12 ficom pr1 0012 transformada fourier inversa.m % Transformada de Fourier inversa % vale cualquier g de las anteriores t = -pi:0.001:pi; w = 2*pi; g = cos(w*t); g_trans = ifft(fft(g)); Dpto. Electr´nica y Electromagnetismo o Facultad de F´ ısica, Universidad de Sevilla
  • 8. 8 4.1. F´ ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1 a Producto de convoluci´n o En matlab contamos con las funciones predefinidas conv para calcular la convoluci´n o de dos se˜ales. El ejemplo 13 calcula y representa la convoluci´n de una se˜al coseno con n o n una se˜al escal´n. n o Ejemplo 13 ficom pr1 0013 convolucion.m % Convoluci´n de se~ales o n t = -pi:0.001:pi; g_escalon=[zeros(1,1000*pi+1), ones(1,1000*pi+1)]; w = 2*pi; g = cos(w*t); g_conv = conv(g,g_escalon); subplot(311) plot(t,g) subplot(312) plot(t,g_escalon) subplot(313) plot(t,g_conv(1:length(g))) Comprobar visualmente que se verifican las propiedades de la transformada de Fourier respecto al producto de convoluci´n. o 4.2. Espectros de densidad de energ´ y potencia ıa Para el c´lculo de estos espectros disponemos (adem´s de las funciones para an´lisis a a a de Fourier anteriores) de la funci´n psd, que proporciona la representaci´n de la densidad o o espectral de potencia de una se˜al (en dB). El ejemplo 14 representa gr´ficamente el n a resultado de la funci´n psd para una sinusoide. o Ejemplo 14 ficom pr1 0014 densidad espectral potencia.m % Densidad espectral de potencia t = -pi:0.001:pi; w = 2*pi*100; g = cos(w*t); PSD=psd(g,2^10,length(g)) % densidad espectral de potencia plot(PSD) 5. C´lculo simb´lico. Donde dije digo... a o Durante la pr´ctica hemos representado se˜ales mediante vectores y hemos manipulado a n las se˜ales esencialmente mediante operaciones con vectores. Esta es la forma habitual de n Dpto. Electr´nica y Electromagnetismo o Facultad de F´ ısica, Universidad de Sevilla
  • 9. F´ ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1 a 9 trabajar con matlab. No obstante, aunque en principio matlab no se dise˜´ para realizar no operaciones simb´licas, s´ es posible definir y manipular se˜ales (y funciones en general) o ı n de manera simb´lica, si disponemos del “Toolbox” para c´lculo simb´lico. As´ como en el o a o ı, ejemplo 15, podemos definir una funci´n seno o una δ de Dirac, y calcular la transformada o de Fourier de manera simb´lica. o Ejemplo 15 ficom pr1 0015 fourier simbolico.m % An´lisis de Fourier con c´lculo simb´lico a a o syms t % crear variable simb´lica o g = sin(2*pi*t) G = fourier(g) % Transformada de Fourier plot(g) % ¡error! ezplot(g) ginv = ifourier(G) % Transformada inversa g2 = dirac(t) G2 = fourier(g2) % Se~al Heaviside/escalon n g3 = heaviside(t) % Suma de series syms k symsum(1/k^2,1,10) symsum(1/k^2,1,Inf) 6. Notas Matlab suele incluir programas de demostraci´n de los “Toolboxes” disponibles. Por o ejemplo, se puede probar una demo sobre la transformada de Fourier discreta mediante la orden sigdemo1. Dentro de la ventana de ´rdenes, se puede obtener ayuda sobre cualquier elemento o de matlab mediante la orden help. Entre otras, se dispone de la orden help help, que proporciona una explicaci´n b´sica de c´mo utilizar help. Del mismo modo, se o a o puede usar la orden doc para consultar la documentaci´n sobre cualquier tema. o Para poner t´ ıtulos y manipular las gr´ficas, adem´s de la interfaz gr´fica, se dispone a a a de las siguientes ´rdenes, entre otras muchas: o title(’T´tulo de la gr´fica’) ı a xlabel(’T´tulo eje horizontal’) ı ylabel(’T´tulo eje vertical’) ı set(gca,’XTick’,-pi:pi/2:pi) % colocar marcas en el eje x hold % acumular gr´ficas sobre la misma ventana a grid % trazar rejilla interna help plot % ayuda espec´fica sobre plot y funciones similares ı doc plot % documentaci´n sobre plot o Las opciones disponibles se detallan en la documentaci´n sobre la orden plot. o Dpto. Electr´nica y Electromagnetismo o Facultad de F´ ısica, Universidad de Sevilla
  • 10. 10 F´ ısica de las Comunicaciones – 2006/2007 – Pr´ctica 1 a Se pueden obtener diferentes formas de representaci´n gr´fica de se˜ales con las o a n o ´rdenes plot, stem y otras que veremos en pr´ximas pr´cticas. Los apartados “Basic o a Plotting Functions” y “Specialized Plotting” de la documentaci´n de matlab explican o los detalles. 7. Referencias [1] Introduction to Matlab and Octave. http://ccrma.stanford.edu/˜jos/matlab/matlab.pdf. Descripci´n de la historia y las caraco ter´ ısticas generales del lenguaje matlab y en particular de los entornos Matlab y Octave. [2] MATLAB Tutorial. http://www.ece.gatech.edu/users/bonnie/book/TUTORIAL/tutorial.html. De los autores del libro Fundamentals of Signals and Systems Using Matlab. Muy buena introducci´n o al uso de matlab para an´lisis de se˜ales y sistemas en comunicaciones. a n [3] Documentation for MathWorks Products, Release 14. http://www.mathworks.com/access/helpdesk/help/helpdesk.shtml [4] GNU Octave Repository Categorical Index. http://octave.sourceforge.net/index/index.html [5] http://www.gts.tsc.uvigo.es/ssd/. Pr´cticas de la asignatura Se˜ales y Sistemas a n Discretos, impartida por el Departamento de Teor´ de la Se˜al y Comunicaciones de la ıa n Universidad de Vigo. [6] FFTW: A library for computing the discrete Fourier Transform. http://www.fftw.org. [7] Fundamentals of Signals and Systems Using the Web and MATLAB: Online Demos. http://users.ece.gatech.edu/˜bonnie/book/applets.html [8] Numerical Mathematics Consortium (www.nmconsortium.org). Iniciativa de estandarizaci´n de algoritmos y lenguajes num´ricos. o e [9] V.K. Ingle y J.G. Proakis. Digital Signal Processing Using MATLAB V.4. PWS Publishing Company. 1997. ISBN: 0-534–93805-1. Dpto. Electr´nica y Electromagnetismo o Facultad de F´ ısica, Universidad de Sevilla