Você está na página 1de 20

Universidad de Carabobo - FACyT

L ABORATORIO DE R EDES
Software analizador de espectro
Desarrollo de software analizador de espectro en lenguaje C/C++

J. Antonio Sarco Giannini CI 17067201 J. Alberto Sarco Giannini CI 17067243 23 de abril de 2010

Software Analizador de espectro

23 de abril de 2010

Contenido
INTRODUCCIN I. II. OBJETIVO DE LA PRCTICA MARCO TERICO 1. El espectro de frecuencia 2. El analizador de espectro 2.1. El analizador de espectro analgico 2.2. El analizador de espectro digital 3. Transformada de Fourier 3.1. Reglas de la sntesis aditiva (o sntesis de Fourier) 3.2. Tipos de transformadas de Fourier 3.2.1. Transformada continua de Fourier 3.2.2. Transformada discreta de Fourier METODOLOGA PROCEDIMIENTOS RESULTADOS

III. IV. V.

CONCLUSIN RECOMENDACIONES BIBLIOGRAFA

Universidad de Carabobo - FACyT

Software Analizador de espectro

23 de abril de 2010

Introduccin
En lo extenso del estudio de las seales nos podemos encontrar con diversos tipos de ondas. Peridicas No peridicas. Senoidales. Cuadradas. Triangulares. etc. Para poder caracterizar una onda, y posteriormente extraer las debidas conclusiones sobre lo que queremos hacer con ella, se dispone de multitud de instrumentos. Osciloscopio. Frecuencmetros. etc. Ahora bien, si estamos trabajando con seales peridicas y queremos conocer las componentes en frecuencia de las mismas, sus niveles de potencia, etc, necesitaremos un instrumento de medida que se denomina analizador de espectro.

Universidad de Carabobo - FACyT

Software Analizador de espectro

23 de abril de 2010

I. Objetivo de la Prctica
Crear un software en lenguaje C++ capaz de graficar el espectro de la onda de sonido as como mostrar la frecuencia de la onda fundamental que se obtiene.

Universidad de Carabobo - FACyT

Software Analizador de espectro

23 de abril de 2010

II. Marco Terico


1. El espectro de frecuencia
Se denomina espectro de frecuencias de una seal a la descomposicin, en frecuencia, de la seal que se expresa como una serie de Fourier.

Arriba. Espectro de energa

2. El analizador de espectro
Un analizador de espectro es un equipo de medicin electrnica que permite visualizar en una pantalla las componentes espectrales en un espectro de frecuencias de las seales presentes en la entrada, pudiendo ser sta cualquier tipo de ondas elctricas, acsticas u pticas.

Universidad de Carabobo - FACyT

Software Analizador de espectro

23 de abril de 2010

Arriba. ANALIZADOR DE ESPECTROS 150K-1GHZ, -100/+10DBM Marca: Hameg

2.1. El analizador de espectro analgico


Su funcionamiento se basa en un filtro pasabanda de frecuencia variable cuya frecuencia central se agina automticamente dentro de una gama fija. Los filtros pasabanda permiten el paso de la frecuencia seleccionada solamente. El detector de envolvente extrae la envolvente (el mdulo de la seal) en cada banda de filtraje y las presenta en pantalla. Para presentar el contenido de frecuencias de una seal podra recurrirse al sistema

Universidad de Carabobo - FACyT

Software Analizador de espectro

23 de abril de 2010

2.2. El analizador de espectro digital


Un analizador digital de espectro utiliza la (FFT), un proceso matemtico que transforma una seal en sus componentes espectrales.

3. Transformada de Fourier
Toda seal peridica, sin importar cun complicada parezca, puede ser reconstruida a partir de sinusoides cuyas frecuencias son mltiplos enteros de una frecuencia fundamental, eligiendo las amplitudes y fases adecuadas.

3.1. Reglas de la Sntesis Aditiva (o sntesis de Fourier)


Slo sinusoides pueden ser combinadas. Las frecuencias de todas las sinusoides deben estar armnicamente relacionas. Slo tenemos libertad para cada sinusoide en la eleccin de: Frecuencia fundamental. Amplitud. Fase.

3.2. Tipos de transformadas de Fourier


Dependiendo del tipo de seal que estemos captando, ya sea una seal continua (analgica) o una seal discreta (digital) se debe usar la funcin de Fourier correspondiente.

3.2.1.

Transformada Contina de Fourier

Sea x(t) una seal continua. Se define la transformada de Fourier de x, denotada con X(w), como la funcin:

()

que est definida en y toma valores complejos. Para que la transformada de Fourier de una seal x(t) exista (en forma ordinaria no como funcin generalizada), x debe satisfacer las siguientes propiedades denominadas condiciones de Dirichlet:

Universidad de Carabobo - FACyT

Software Analizador de espectro

23 de abril de 2010

1)

x(t) es absolutamente integrable, esto es,

| | <

2) X(t) posee un numero finito de discontinuidades en cualquier intervalo finito.

3.2.2.

Transformada discreta de Fourier

La transformada discreta de Fourier de tiempo discreto se aplica a seales muestreadas en el tiempo, no peridicas y de duracin infinita.

=
=0

2 []

Donde cada elemento se define como: N: Nmero de Samplers en x[n] x[n]: Seal de prueba discreta (con ndice n) X[k]: Espectro en funcin de la frecuencia discreta (con ndice k)
2

: Fasor de Sondeo discreto (Kernel Function)

La transformada rpida de Fourier o FFT (Fast Fourier Transform) es un algoritmo que permite calcular de manera rpida la transformada discreta de Fourier (DFT).

Universidad de Carabobo - FACyT

Software Analizador de espectro

23 de abril de 2010

III. Metodologa
I. II. III. IV. V. Realizar un marco terico acerca de lo que es un analizador de espectro y ms especficamente un analizador de espectro digital. A manera de Norte en la creacin de la aplicacin, conseguir un software ya implementado para reconocer las facultades de un software analizador de espectro digital. Investigar en internet la implementacin de los diferentes algoritmos necesarios en la creacin de la aplicacin que servirn de referencia en nuestra implementacin. Implementar las funciones necesarias en lenguaje C++ sobre el proyecto que se ha venido trabajando hasta conseguir los resultados buscados. Por ltimo, calibrar nuestra aplicacin con el software propietario conseguido en el paso II y realizar las pruebas y ajustes pertinentes hasta conseguir el mejor resultado posible.

Universidad de Carabobo - FACyT

Software Analizador de espectro

23 de abril de 2010

IV. Procedimiento
El cdigo del analizador de espectro se introduce al cdigo usado para el osciloscopio. Este cdigo toma un vector idntico al generado por el capturador de muestras usado para el osciloscopio y lo transforma en un vector que se usa para graficar como un analizador de espectro.

1. Realizacin de la funcin Fourier


Se us la implementacin del algoritmo de FFT encontrado en la web. Esta implementacin est basada en la descrita en el libro Numerical Recipes (recetas numricas), con la diferencia que el nivel de complejidad del algoritmo original se redujo de O(2N) a O(N) lo que aument su rendimiento en un 8% .

2. Algoritmo de Fourier
1. Se toma una muestra discreta de 2^n muestras. 2. Teniendo estos datos se procede a calcular la FFT. La FFT se calcula en dos partes: 2a. Se transforma la muestra (vector de datos) original en un conjunto de bits orden inverso mediante la aplicacin del mtodo inversin de bit (bit-reversal). Esto hace que los clculos matemticos de la segunda parte "mucho ms fcil". 2b. En la segunda parte procesamos los datos en N*log2(N) operaciones aplicaciones del algoritmo Danielson-Lanzcos.

2.1. Bit inverso (Bit-reversal)


El muestra original debe ser transformada para poder usar el algoritmo de Danielson- Lanzcos. En este paso cambiaremos cada muestra por su equivalente inversa en bit. ejemplo, si el bit binario es 0b00001 si inversa ser 0b10000.

Universidad de Carabobo - FACyT

Software Analizador de espectro

23 de abril de 2010

2.2. El algoritmo Danielson-Lanzcos


La ecuacin de FDT puede presentarse de la siguiente forma:

3. Graficacin del anlisis de Fourier


Ya obtenido nuestro vector transformado procedemos a graficar. Cada valor obtenido nos sirve para el punto Y de la grafica. La distancia en el eje X se consigue sumando para cada valor de Y una constante, as la distancia entre cada punto es igual.

Universidad de Carabobo - FACyT

10

Software Analizador de espectro

23 de abril de 2010

V. Resultados
El resultado para este analizador de espectro fue una grfica para el estudio del espectro de sonido y un cuadro que nos indica el valor de la onda fundamental obtenida en tiempo real

La lnea amarilla de abajo representa el valor de la fundamental y sus armnicos respectivos. El cuadro de texto (que tiene en ese momento el valor de 440) indica el valor en Herz de la onda fundamental.

Universidad de Carabobo - FACyT

11

Software Analizador de espectro

23 de abril de 2010

Conclusin
El analizador de espectro es una de las herramientas ms usadas en el mundo de la comunicacin, ya sea de manera directa o indirecta. En nuestro caso la importancia de esta prctica radica en conocer el proceso de convertir algo que no podemos ver, en datos que se convierten en informacin acerca de la onda, informacin que es usada en el proceso de envi y recepcin de mensajes analgicos o digitales usando la modulacin en frecuencia. Este aparato tiene la capacidad de mostrar en pantalla una cantidad razonable de armnicos de una frecuencia de entrada, cuyo estudio lo realiza con una funcin llamada transformada rpida de Fourier, tambin muestra en pantalla la fundamental de la frecuencia de entrada en el espectro de frecuencias y la misma frecuencia fundamental como un nmero natural.

Universidad de Carabobo - FACyT

12

Software Analizador de espectro

23 de abril de 2010

Recomendaciones
Utilice un generador de ondas para ingresar una onda continua y as verificar su espectro. Tome la seal desde un cable que reciba la seal peridica en vez de un micrfono ya que con el cable se asla el sonido y el ruido obtenido es el mnimo.

Universidad de Carabobo - FACyT

13

Software Analizador de espectro

23 de abril de 2010

Bibliografa
Wikipedia Disponible: http://es.wikipedia.org/wiki/Analizador_de_espectro Free article directory - your knowledge encyclopedia Disponible: http://www.content4reprint.com/view/spanish-25488.htm Disponible:http://www.finaltest.com.mx/Analizadores_de_espectro_s/22.ht m Disponible:http://www.codeproject.com/KB/recipes/howtofft.aspx Disponible:http://www.elo.utfsm.cl/~elo241/exp/LCOMEX1.pdf Disponible:http://www.tecnun.es/asignaturas/tratamiento%20digital/tema6 .pdf Disponible:http://neutron.ing.ucv.ve/electronica/materias/c2515/temas1_ar chivos/tema9.pdf

Universidad de Carabobo - FACyT

14

Software Analizador de espectro

23 de abril de 2010

Anexo:
Cdigo fuente

Universidad de Carabobo - FACyT

15

Software Analizador de espectro

23 de abril de 2010

void capturador::Fourier(float *data, unsigned long number_of_samples, unsigned int sample_rate, int sign) { //VARIABLES DEL ALGORITMO FFT PARA SACAR LA TRANSFORMADA unsigned long n,mmax,m,j,istep,i; double wtemp,wr,wpr,wpi,wi,theta,tempr,tempi; /*En este algoritmo tendremos un vector complejo, donde las posiciones pares va a estar almacenado los valores reales arrojador por este algoritmo y el valor complejo asociado a ese real va a estar guardado en la posicion impar o sea una posicion hacia adelane de la posicion del real*/ //nuevo vector complejo de tamao n=2*sample_rate if(vector!=NULL) delete [] vector; vector=new float [2*sample_rate]; //colocar el arreglo de real(*data) en un arreglo de complejos(*vector) //la parte compleja es inicializada en 0's //Las posiciones del vector que quedan sin datos se llenas con 0's for(n=0; n<sample_rate;n++){ if(n<number_of_samples) vector[2*n]=data[n]; else vector[2*n]=0; vector[2*n+1]=0; } //inversion binaria (nota que los indices //comenzaron desde 0 la cual significa que la //parte real del complejo esta en los limites de los indices

Universidad de Carabobo - FACyT

Software Analizador de espectro

23 de abril de 2010

//y la parte compleja estan en los indices impares n=sample_rate << 1; j=0; for (i=0;i<n/2;i+=2) { if (j > i) { SWAP(vector[j],vector[i]); SWAP(vector[j+1],vector[i+1]); if((j/2)<(n/4)){ SWAP(vector[(n-(i+2))],vector[(n-(j+2))]); SWAP(vector[(n-(i+2))+1],vector[(n-(j+2))+1]); } } m=n >> 1; while (m >= 2 && j >= m) { j -= m; m >>= 1; } j += m; } //final del algoritmo de orden invertido por bit //Rutina Danielson-Lanzcos mmax=2; while (n > mmax) { istep=mmax << 1; theta=sign*(2*pi/mmax); wtemp=sin(0.5*theta); wpr = -2.0*wtemp*wtemp; wpi=sin(theta);

Universidad de Carabobo - FACyT

Software Analizador de espectro

23 de abril de 2010

wr=1.0; wi=0.0; for (m=1;m<mmax;m+=2) { for (i=m;i<=n;i+=istep) { j=i+mmax; tempr=wr*vector[j-1]-wi*vector[j]; tempi=wr*vector[j]+wi*vector[j-1]; vector[j-1]=vector[i-1]-tempr; vector[j]=vector[i]-tempi; vector[i-1] += tempr; vector[i] += tempi; } wr=(wtemp=wr)*wpr-wi*wpi+wr; wi=wi*wpr+wtemp*wpi+wi; } mmax=istep; } } //Finalizacin del algoritmo

Universidad de Carabobo - FACyT

Você também pode gostar