Está en la página 1de 24

Sistemas de Comunicaciones

Captulo 7. Anlisis Espectral de Seales peridicas con FFT

Anlisis espectral de seales


peridicas con FFT

Contenido
Pg.
7.1
7.2
7.3
7.4
7.5
7.6

Introduccin a la Transformada Discreta de Fourier


Uso de la Transformada Discreta de Fourier
Mtodo de uso de la FFT
Clculo de potencia en el dominio de la frecuencia
Clculos de relacin seal a ruido
Estimacin del espectro de una seal aleatoria

MI. Mario Alfredo Ibarra Carrillo

[Escribir texto]

3-3
3-5
3-8
3-12
3-12
3-13

2009

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT

MI. Mario Alfredo Ibarra Carrillo

[Escribir texto]

2009

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT

7.1. Introduccin a la Transformada Discreta de Fourier


7.4.1. Transformada Discreta de Fourier
En matemticas, la transformada Discreta de Fourier, designada con frecuencia por la abreviatura DFT (del
ingls Discrete Fourier Transform), y a la que en ocasiones se denomina transformada de Fourier finita, es
una operacin ampliamente empleada en tratamiento de seales y en campos afines para analizar las
frecuencias presentes en una seal muestreada, resolver ecuaciones diferenciales parciales y realizar otras
operaciones, como convoluciones y correlaciones. La Transformada discreta de Fourier puede calcularse de
modo muy eficiente mediante el algoritmo FFT.
Hay dos situaciones a considerar en cuanto al uso de la Transformada Discreta de Fourier:

Slo sirve para seales potencia del tipo peridico.


La mayora de las seales a estudiar no son peridicas.

Considere ahora la secuencia de  nmeros complejos    ,  ,  , 


 , los cuales son muestras de una
seal analgica. Tal secuencia debe transformarse en la secuencia de  nmeros complejos 
 ,  ,  ,
 , las cuales son muestras del espectro de la seal analgica, segn la frmula:





   
  ;


Siendo:

  0,  ,   1

(7.1)

la base de los logaritmos naturales,


 la unidad imaginaria (   1)
 es el nmero de muestras.
 

Esta transformada se denota de forma comn mediante el smbolo ,


La transformada de Fourier discreta inversa (por sus siglas en ingls IDFT, Inverse Discrete Fourier
Transform) se calcula, por otra parte, mediante:


1
      ;



 0,  ,   1

(7.2)

Siendo que

  
 el nmero de muestras

MI. Mario Alfredo Ibarra Carrillo

[Escribir texto]

2009

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT

7.4.2. Transformada Rpida de Fourier


FFT es la abreviatura usual (del ingls Fast Fourier Transform) de un algoritmo eficiente que permite calcular
la Transformada Discreta de Fourier (DFT) y su inversa. As entonces, consideremos nuevamente la
secuencia de  nmeros complejos    ,  ,  , 
 , la cual debe transformarse en la secuencia de 
nmeros complejos   ,  ,  ,
 segn la frmula en la ecuacin (7.1).
La evaluacin directa de esa frmula requiere !"  # operaciones aritmticas. Mediante un algoritmo FFT se
puede obtener el mismo resultado con slo !" $%& # operaciones. En general, dichos algoritmos
funcionan para una , potencia de 2. Aunque tambin existen versiones menos rpidas para cualquier 
par.
La idea que permite esta optimizacin es la descomposicin de la transformada a tratar en otras
transformadas ms simples y stas a su vez en otras ms simples hasta llegar a transformadas de 2
elementos "  2#. Una vez resueltas las transformadas ms simples hay que agruparlas en otras de nivel
superior que deben resolverse de nuevo y as sucesivamente hasta llegar al nivel ms alto. Al final de este
proceso, los resultados obtenidos deben reordenarse.
Dado que la Transformada Discreta Inversa de Fourier es anloga a la Transformada Discreta de Fourier, con
distinto signo en el exponente y un factor 1/, cualquier algoritmo FFT puede ser fcilmente adaptado para
el clculo de la transformada inversa.

7.4.3. FFT y Matlab


Matlab permite el clculo de la FFT para una secuencia de muestras de seal contenidas en un vector. Una
forma simple de uso es como sigue:
t=0:0.003/(512-1):0.003;
X=sin(2*pi*1000*t);
F=fft(X);
magnitude=abs(F);
%magnitud del espectro
plot(magnitude);

7.4.4. Aplicaciones
Algunas aplicaciones que definen a la FFT son:

Compresin de imagen y audio.


Filtrado digital.
Reduccin de ruido en seales, como el ruido blanco.
Resolucin de ecuaciones diferenciales parciales.
Anlisis en frecuencia de cualquier seal discreta, ya sea peridicas o aperidicas.
Anlisis de materiales y estadstica.
Sntesis, mediante la transformada inversa IFFT.
Algoritmos rpidos de convolucin y correlacin
Deteccin de movimiento

MI. Mario Alfredo Ibarra Carrillo

[Escribir texto]

2009

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT

7.4.5. Teorema de muestreo de Nyquist


Este teorema puede expresarse tanto en el dominio del tiempo como en el de la frecuencia. As entonces.
Teorema de Nyquist en el dominio del tiempo. Sea una seal sin componentes espectrales mayores a
)*+ ,-./, sta queda determinada en forma nica por sus valores en intervalos uniformes menores o
iguales a 12 )*+ .

Teorema de Nyquist en el dominio de la frecuencia. La rapidez de muestreo 1 de una seal es por lo menos
el doble de la frecuencia mxima contenida en la seal " )*+ #: 1 2 2 )*+ .

7.2. Uso de la Transformada Discreta de Fourier


Consideremos una seal peridica de la que se toma un espacio muestral con cardinalidad de  en un
periodo de duracin 3 tal como se ilustra en la figura 1.

Fig01

Figura 1

Segn la figura

3 periodo de la seal
 es el nmero de muestras
6
45  periodo de muestreo

De la figura 1, note que la muestra  no forma parte del espacio muestral que se pretende analizar ya que
corresponde al siguiente periodo de la seal.

MI. Mario Alfredo Ibarra Carrillo

[Escribir texto]

2009

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT
Luego se aplica la operacin DFT a la seal. Para entender el significado del resultado, debe considerarse
que el espectro de una seal discreta y peridica es tambin discreto y peridico. La figura 2 ilustra un
periodo de tal espectro.

Figura 2. Espectro prototipo. El espectro consta de un nmero par de muestras.

De la figura 2 podemos establecer las siguientes relaciones

1  141 : frecuencia de muestreo


7 resolucin frecuencial.
1 2 es la frecuencia mxima con significado en el espectro.

Note que:

La frecuencia mxima que se calcula en el espectro es 5 "1  1# y no 5 debido a que esta ltima
frecuencia corresponde con el siguiente periodo del espectro: recuerde que el espectro es
peridico.
La frecuencia mxima con significado en el espectro es 5 2 . Esta frecuencia no es la frecuencia
mxima de la seal.

MI. Mario Alfredo Ibarra Carrillo

[Escribir texto]

2009

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT

7.2.1. Periodicidad del espectro


La DFT es una operacin para seales discretas peridicas, en consecuencia, el espectro es discreto y
peridico. As entonces, el espectro de alguna seal que se ve en la figura 2 es slo parte del espectro
mostrado en la figura 3.

Figura 3.

7.2.2. Correccin del espectro


La DFT, calculada a travs de la FFT, nos genera un espectro como el de la figura 2. Podemos aprovechar la
periodicidad y simetra de que caracteriza a la DFT para generar un espectro como el mostrado en la figura
4, lo cual es ms acorde con lo que esperamos ver.

Figura 4.

En Matlab, para lograr un espectro como el mostrado en la figura 4, se usa la funcin 89:; 8. El siguiente
ejemplo ilustra el uso de la funcin:
t=0:0.003/(512-1):0.003;
X=sin(2*pi*1000*t);
F=fftshift(fft(X));
magnitude=abs(F);
%magnitud del espectro
plot(magnitude);

MI. Mario Alfredo Ibarra Carrillo

[Escribir texto]

2009

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT

7.2.3. Factor de ajuste


Luego de aplicar el algoritmo de FFT, para obtener espigas con magnitudes que correspondan a la teora, se
debe considerar un factor de ajuste:
GE8%D 7 GF98 

1


(7.3)

En resumen, tenemos una nueva versin de la Transformada Discreta de Fourier, la cual est dada por
 GE8%D_LF98 M 8"#

(7.4)

Donde

   ,  ,  , 
 Secuencia de muestras de una seal en el dominio del tiempo
  ,  ,  ,
 Secuencia de muestras del espectro de la seal.

7.3. Mtodo de uso de la FFT con MATLAB


La FFT, aunque efectiva, no es una herramienta fcil de usar. Los siguientes pasos son una receta que puede
ser til:
Paso 1: Se requieren de dos datos previos para preparar el clculo de la DFT. El primer dato es la frecuencia
mxima contenida en el mensaje
)*+  ?
El segundo dato previo es el nmero de muestras de la seal. Este debe ser potencia de 2. Por lo general se
prefiere trabajar con 8192, 16384, 32768 o 65536 muestras:
  8192
Paso 2: Calcule los parmetros espectrales:
5

@ 2 ABC

MI. Mario Alfredo Ibarra Carrillo

5


D EF E;G 7 HF 98D %
I 9%$FE; D EF E;G$

[Escribir texto]

2009

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT
Paso 3: Calcule parmetros temporales
1
5

45

 45

N D;%7% 7 HF 98D % 8 HO%DG$


PFDGE;% 7 $ 9OGE;% HF 98DG$ 8 HO%DG$

Paso 4: En el dominio del tiempo, calcule el vector de instantes de muestreo y la seal. La seal "8# puede
ser capturada por micrfono o generada por alguna ecuacin: las muestras se almacenan en el vector .
8

1
0: 45 : 3 R1  S T 7 $ 8; HO% % 7%H; ;% 8 HO%DG$


"8#

F E; 7 $ 8; HO%

Paso 5: En el dominio de la frecuencia, calcule el vector de frecuencias en hertz y el espectro


-.

 

5
5
1
: 7 : R1  S
2
2


T 7 $G D EF E;G % 7%H; ;% 9O E8DG$

1
 89:; 8 U 8"#V T9O E8D% 7 $G 9 G$ "9%$% HG& ;8F7#


Paso 6: Grafique la seal en el dominio del tiempo. A esta grfica se le suele conocer vulgarmente como el
oscilograma.
;&FD "1#
O$%8"8, #

8;8$ "X!9E;$%&DGHGX#
Es posible que el oscilograma se exhiba como un manchn, es decir, hay demasiadas muestras, tantas que
saturan el oscilograma. Para observar un fragmento de la seal graficada use la funcin axis antes de la
funcin title:
G;9",8H; 8HG YH; YHG/#
Donde 8H; 8HG especifican los lmites temporales entre los cuales se visualiza la seal. Los valores
YH; YHG son los lmites en magnitud entre los cuales se grafica la seal.

MI. Mario Alfredo Ibarra Carrillo

[Escribir texto]

2009

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT
Paso 7: Grafique el espectro de la seal.
;&FD "2#

O$%8" -., GZ9" ##


8;8$ "XT9O E8D%X#

Observe el uso de la funcin GZ9" #. Esta funcin es necesaria ya que las muestras del espectro son
nmeros complejos y slo se desea exhibir la magnitud de tales.
Es posible que el espectro se exhiba como un pequeo manchn en el centro de la grfica, es decir, el
espectro est concentrado en una pequea banda de frecuencias. Para observar slo esa banda de
frecuencias use la funcin axis:
G;9", H;

HG

0 .HG/#

Al usar la funcin axis para exhibir slo frecuencias positivas, el espectro debe multiplicarse por un factor de
dos. A consecuencia, el cdigo para exhibir el espectro de una seal, con slo las frecuencias positivas,
queda como:
;&FD "2#

O$%8" -., 2 [ GZ9" ##

G;9", H;

HG

8;8$ "XT9O E8D%

MI. Mario Alfredo Ibarra Carrillo

\#

0 .HG/#

[Escribir texto]

2009

10

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT

7.3.1. Ejemplo: Senoide


Calcule el espectro de una seal sinusoidal de 1000Hz. El equipo tiene capacidad para almacenar 256
puntos. Use una frecuencia de muestreo de 16 veces la frecuencia mxima.

% 1) La frecuencia mxima en la seal


fmax=1000;
% 2 El nmero de muestras
N=256;
% 3) Parmetros espectrales
fs=16*fmax;
df=fs/N;
% 4) Parmetros temporales
ts=1/fs;
T=N*ts;
% 5) Clculo de la funcin senoidal
t=0:ts:T*(1-1/N);
X=sin(2*pi*1000*t);
% 6) Clculo del espectro
fHz=-0.5*fs : fs/N : 0.5*fs*(1-1/N); %frecuencia en Hz
F=fftshift(fft(X)/N);
% 7) Oscilograma
figure(1)
subplot(2,1,1);
plot(t,X);
axis([0 0.003 -2 2]) % Se grafican 3ms de la seal o tres ciclos
title('Osciloscopio')
% 8) Espectro
subplot(2,1,2);
stem(fHz,abs(F));
axis([-2000, 2000, 0, 1])
title('Analizador de espectros')

MI. Mario Alfredo Ibarra Carrillo

[Escribir texto]

2009

11

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT
La figura generada es:

Domino del tiempo


2
1
0
-1
-2

0.5

1.5

2.5

3
-3

x 10
1

0.5

0
-2000

-1500

-1000

-500

500

1000

1500

2000

Figura 5.

Observe que las amplitudes de las espigas son de 0.5,_/, esto es porque se cumple con una de las formas del
teorema de Parseval:
O%8 E;G
7 9 G$
7%H; ;%
8; HO%

O%8 E;G
7 9 G$
7%H; ;%
9O E8D%

Expresado en otra forma, se tiene que:

MI. Mario Alfredo Ibarra Carrillo

`  ` 

(7.5)

[Escribir texto]

2009

12

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT

7.3.2. Ejemplo: dos senoides


Calcule el espectro de:
  9; "2a10008# b 29; "2a15008#

(7.6)

El equipo tiene capacidad para almacenar 256 puntos. Use una frecuencia de muestreo de 16 veces la
frecuencia mxima.

% 1) La frecuencia mxima en la seal


fmax=1000;
% 2 El nmero de muestras
N=256
% 3) Parmetros espectrales
fs=16*fmax;
df=fs/N;
% 4) Parmetros temporales
ts=1/fs;
T=N*ts;
% 5) Clculo de la funcin senoidal
t=0:ts:T*(1-1/N);
X=sin(2*pi*1000*t) + 2*sin(2*pi*1500*t);
% 6) Clculo del espectro
fHz=-0.5*fs : fs/N : 0.5*fs*(1-1/N); %frecuencia en Hz
F=fftshift(fft(X)/N);
% 7) Oscilograma
figure(1)
subplot(2,1,1);
plot(t,X);
axis([0 0.003 -3 3]) % Se grafican 3ms de la seal o tres ciclos
title('Osciloscopio')
% 8) Espectro
subplot(2,1,2);
stem(fHz,abs(F));
axis([-2000, 2000, 0, 2])
title('Analizador de espectros')

MI. Mario Alfredo Ibarra Carrillo

[Escribir texto]

2009

13

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT

La figura generada es:

Domino del tiempo


2

-2
0

0.5

1.5

2.5

3
-3

x 10
Domino de la frecuencia
2
1.5
1
0.5
0
-2000

-1500

-1000

-500

500

1000

1500

2000

Figura 6.

MI. Mario Alfredo Ibarra Carrillo

[Escribir texto]

2009

14

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT

7.3.3. Ejemplo: Desplazamiento en frecuencia


En este ejemplo vamos a comprobar una de las propiedades de la transformada de Fourier. La propiedad a
verificar es la traslacin en frecuencia, es decir
 "8# cd e   "f  f #

(7.7)

Este ejemplo consta de un desplazamiento a la derecha de 500Hz


  9; "2a10008# ge

(7.8)

El equipo tiene capacidad para almacenar 256 puntos. Use una frecuencia de muestreo de 16 veces la
frecuencia mxima.

% 1) La frecuencia mxima en la seal


fmax=1000;
% 2 El nmero de muestras
N=512;
% 3) Parmetros espectrales
fs=16*fmax;
df=fs/N;
% 4) Parmetros temporales
ts=1/fs;
T=N*ts;
% 5) Clculo de la funcin senoidal
t=0:ts:T*(1-1/N);
X=sin(2*pi*1000*t).*exp(i*2*pi*500*t);
% 6) Clculo del espectro
fHz=-0.5*fs : fs/N : 0.5*fs*(1-1/N);
F=fftshift(fft(X)/N);
% 6) Oscilograma
figure(1)
subplot(2,1,1);
plot(t,abs(X));
axis([0 0.003 -2 2]) % Se grafican 3ms de la seal o tres ciclos
title('Domino del tiempo')
subplot(2,1,2);
stem(fHz,abs(F));
axis([-2000, 2000, 0, 1])
title('Domino de la frecuencia')

MI. Mario Alfredo Ibarra Carrillo

[Escribir texto]

2009

15

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT
La grfica generada tiene la forma

Domino del tiempo


2
1
0
-1
-2

0.5

1.5

2.5

3
-3

x 10
Domino de la frecuencia
1

0.5

0
-2000

-1500

-1000

-500

500

1000

1500

2000

Figura 7.

Observe que la grfica del dominio del tiempo aparece rectificada debido a la funcin abs().
La propiedad de desplazamiento en frecuencia afecta espectralmente a la seal y no la afecta en el dominio
del tiempo.

MI. Mario Alfredo Ibarra Carrillo

[Escribir texto]

2009

16

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT

7.4. Clculo de potencia


7.4.1. En el dominio del tiempo
El clculo de la potencia de una seal continua y peridica, en el dominio del tiempo, queda expresado en la
ecuacin 7.9
`"8# 

1
i   "8#78
3

(7.9)

Pero si la seal se discretiza, debemos discretizar la respectiva ecuacin considerando las siguientes
relaciones
8

78
3




45

45

(7.10)

 45

As nos queda que la potencia de la seal se puede aproximar como:

`"8# h

1
   " 41 #41
41

(7.11)



Dado que las muestras de "8# se almacenan en un vector    , . . ,  , . . , 


 , podemos escribir



1
`"8# h
  41
41


(7.12)

Resolviendo los trminos comunes

1
`"8# h  



MI. Mario Alfredo Ibarra Carrillo

[Escribir texto]

(7.13)

2009

17

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT

Donde

 es la n-sima muestra.
 es el nmero de muestras de la seal y dado que la seal se almacena en un vector, tal nmero
se consigue con la funcin MATLAB $ &8:"#.

Finalmente, dado que trabajamos ahora con un vector de muestras, , podemos expresar la potencia de tal
vector como sigue:



1
`   


(7.14)



Al estilo de MATLAB, hacemos


`  9FH".[ #/

(7.15)

Donde

 es el vector rengln que contiene a las muestras de la seal.


 es el nmero de muestras de la seal.

7.4.2. En el dominio de la frecuencia


El espectro de una seal qued definido en la ecuacin (7.4). Si se aplica inmediatamente el factor, de
ajuste, la ecuacin resulta en:


1
8"#


(7.16)

Donde:

es el vector de muestras del espectro:   ,  ,  , j ,  ,




El clculo de potencia en la frecuencia, mediante la Transformada Discreta de Fourier, recordando que es


para seales discretas y peridicas, se calcula en el dominio de la frecuencia como:



`     [

(7.17)

[Escribir texto]

2009



MI. Mario Alfredo Ibarra Carrillo

18

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT

La ecuacin 7.17, en el estilo de MATLAB queda como:


`   9FH" .[ E% " ##

(7.18)

Donde

es un vector que contiene las muestras del espectro.


E% " # es un vector que contiene las muestras conjugadas del espectro: las muestras del espectro
son nmeros complejos.

7.4.3. Teorema de Parseval


El respectivo teorema de Parseval relaciona los clculos de potencia en los dominios discretos del tiempo y
de la frecuencia de la forma siguiente:
`  ` 

(7.19)

7.4.4. El cdigo para clculo de la potencia en el dominio de la frecuencia


%signal=<capturada o generada>
F=fftshift( fft(X)/lneght(X) ) ;
SF=sum(F.*conj(F));

7.5. Clculos de relacin seal a ruido


La Relacin Seal a Ruido es factor que indica la calidad de una seal en alguna de las etapas de un sistema
de comunicacin. Esta relacin se define como:
I`I 

`9 G$ N%8 E;G 7 9 G$



`DF;7% N%8 E;G 7 DF;7%

(7.20)

En muchos experimentos slo podemos medir

`9 G$
`9 G$ b DF;7%

Como observa, no se cuenta con la capacidad de medir directamente la potencia del ruido involucrado. Para
medir esta cantidad podemos considerar la siguiente relacin, la cual se deriva del teorema de Parseval.

MI. Mario Alfredo Ibarra Carrillo

[Escribir texto]

2009

19

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT
`9 G$ b DF;7%  `9 G$ b `DF;7%

(7.21)

Sustituyendo esta relacin de la ecuacin 7.21 en la ecuacin 7.20 resulta:


I`I 

`9 G$
`9 G$ b DF;7%  `9 G$

(7.22)

7.6. Estimacin del espectro de una seal aleatoria


7.6.1. Teorema de equivalencia espectral de Maic
La DFT slo es til para seales discretas peridicas. Al respecto, Qu pasa con las seales que son
aleatorias? Una forma de estudiar estas seales es mediante dos consideraciones:
a.
b.

Se obtiene un espacio muestral de la seal aleatoria y se considera que esta ventana es peridica.
Aplique el siguiente teorema: El contenido espectral de la seal aleatoria es igual al contenido
espectral de la correlacin cruzada promediada de tal seal consigo misma. Este teorema es vlido
cuando la curva de correlacin sea una funcin causal y del tipo energa.

Las dos consideraciones pueden anotarse en forma de ecuacin de la siguiente forma:




k`

 [[ 

(7.23)

k` [[ 

Donde

 es el vector de muestras de la seal.


` es la potencia de la seal en tiempo continuo calculada a partir de sus muestras.
 [[   E%DD", XF Z;G9 7X#; es la correlacin promediada es insesgadandel vector de muestras
consigo mismo.
` [[  es la potencia de la funcin que resulta de la correlacin.
 [[ es el espectro de la correlacin:  [[   89:; 8" 8" [[ #/$ &8:" [[ #

Este teorema en forma de la ecuacin 7.23 permite calcular, de forma aproximada, el espectro de una seal
cualquiera a partir de su correlacin promediada, ecuacin siguiente:
X 

MI. Mario Alfredo Ibarra Carrillo

k`

k` [[ 

[Escribir texto]

 [[ 

(7.24)

2009

20

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT
Si comparamos el clculo de las potencias de los espectros definidos por las ecuaciones 7.16 y 7.24,
tendremos la siguiente relacin
`   ` X

(7.25)

h X

(7.26)

No obstante que las magnitudes de las espigas entre y X son ligeramente diferentes:

7.6.2. Clculo del espectro de una seal aleatoria


Los pasos que siguen nos indican cmo calcular el espectro.
1.

Capturar una muestra de una seal aleatoria. Es buena idea si el nmero de muestras es par y es an
mejor idea si el nmero de muestras es una potencia de 2. La figura 8 ilustra un registro temporal u
oscilograma, de la palabra manzana.

0.015

0.01

0.005

-0.005

-0.01

-0.015

-0.02

200

400

600

800

1000

1200

Figura 8.

2.

Se obtiene la correlacin cruzada promediada de tal muestra consigo misma. sese la funcin MATLAB
xcorr con el parmetro unbiassed, es decir, calcule una correlacin sin errores de aproximacin. La
figura 9 muestra la correlacin cruzada de la seal consigo misma. Se puede observar que la curva de
correlacin cruzada es simtrica y es de tipo energa.

MI. Mario Alfredo Ibarra Carrillo

[Escribir texto]

2009

21

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT

0.025

0.02

0.015

0.01

0.005

-0.005

0.5

1.5

2.5

3.5
4

x 10

Figura 9.

3.

4.

Grafique la curva de correlacin. Si esta curva parece ser del tipo energa, entonces proceda con el paso
4, de otra forma, termina. La grfica anterior ilustra perfectamente una curva de correlacin cruzada del
tipo energa ya que concentra sus cambios en un pequeo intervalo.
Extrae la mitad derecha de la curva de correlacin: esta mitad corresponde con una funcin del tipo
causal. La figura 10 muestra que se ha extrado la mitad derecha de la curva de correlacin cruzada. Esta
mitad corresponde con una seal de causal y de tipo energa.

0.025

0.02

0.015

0.01

0.005

-0.005

2000

4000

6000

8000

10000 12000 14000 16000

18000

Figura 10.

MI. Mario Alfredo Ibarra Carrillo

[Escribir texto]

2009

22

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT
5.

Calcula de FFT de la curva de correlacin. La grfica est acotada en hertz y en valores pico.

0.025

0.02

0.015

0.01

0.005

0
-4000

-3000

-2000

-1000

1000

2000

3000

4000

Figura 8.

El cdigo siguiente es una funcin que captura voz mediante un micrfono conectado a la laptop. Este
cdigo funciona con palabras cortas como manzana.
function xpectrum(level)
%Parmetros de la seal
fs=8000; %sample frec.
N=16384;
%num. Samples
ts=1/fs;
T=N*ts;
input('Presione tecla para grabar voz')
onda=level*wavrecord(N,fs,1,'double');
disp('registrado')
figure(1)
plot(onda(1000:2000));
rxx=xcorr(onda,'unbiased');
figure(2)
plot(rxx)
rxx=rxx(ceil(0.5*length(rxx)):length(rxx));
figure(3)
plot(rxx)
onda_pow=sum(onda.*onda)/length(onda);
spec=fft(rxx)/length(rxx);
spec_pow=sum(spec.*conj(spec));
spectrum=sqrt(onda_pow/spec_pow)*abs(fftshift(spec));
f=-0.5*fs:fs/N:0.5*fs*(1-1/N);
figure(4)
plot(f,spectrum)

MI. Mario Alfredo Ibarra Carrillo

[Escribir texto]

2009

23

Sistemas de Comunicaciones
Captulo 7. Anlisis Espectral de Seales peridicas con FFT

Apndice A. Generacin de seales en MATLAB


La seal cuadrada
Para generar una seal cuadrada se usa la funcin square, la cual tiene las siguientes formas:



 9lFGD "m#
 9lFGD "m, 7F8Y#

Donde:

mn,0,2a/ para un solo ciclo.


7F8Y es el ciclo de trabajo expresado en porcentaje de 0 a 100.
La amplitud de la seal cuadrada vara de 1 a 1.

Para generar un tren de pulsos, basta con seguir la siguiente frmula


L

 ?

; T9 $G GHO$;8F7 7 $ 8D 7 OF$9%9

1
1
[ L [ 9lFGD "m, 7F8Y# b [ L ; 3D 7 OF$9%9
2
2

La seal diente de sierra


Para generar una seal diente de sierra se usa la funcin sawtooth, la cual tiene las siguientes formas:



 9Go8%%8: "m#
 9Go8%%: "m, 7F8Y#

Donde:

mn,0,2a/.
o;78: es el factor de simetra cuyo valor vara de de 0 a 1. Un valor de 0.5 genera una funcin
triangular.
La amplitud de la seal cuadrada vara de 1 a 1.

MI. Mario Alfredo Ibarra Carrillo

[Escribir texto]

2009

24

También podría gustarte