Cómo usar base de datos FFT en MATLAB

Escrito por margaret woodlawn | Traducido por carlos paulucci
  • Comparte
  • Twittea
  • Comparte
  • Pin
  • E-mail
Cómo usar base de datos FFT en MATLAB
La FFT te permite separar las diferentes frecuencias que componen una única señal. (Hemera Technologies/AbleStock.com/Getty Images)

La transformación rápida de Fourier (FFT) es una técnica muy utilizada en el procesamiento de señales. Una transformación rápida de Fourier aproxima cualquier función continua como la suma de funciones periódicas (senos y cosenos). La FFT hace lo mismo para las señales discretas (serie de puntos de datos en lugar de una función continua definida). FFT permite identificar componentes periódicos en tu señal discreta. Puede que sea necesario identificar una señal periódica enterrada con bajo ruido aleatorio, o analizar una señal con varias diferentes fuentes subyacentes periódicas. MATLAB incluye una implementación integrada de la FFT para ayudarte a hacer esto.

Nivel de dificultad:
Moderadamente difícil

Otras personas están leyendo

Necesitarás

  • MATLAB vector que contiene datos discontinuos de señal

Lista completaMinimizar

Instrucciones

    Realizar la FFT

  1. 1

    Calcula la longitud (número de elementos) del vector que contiene los datos. Por ejemplo, si los datos se almacenan en un vector llamado "d," tipo "L = longitud (d)," en la línea de comandos de MATLAB sin comillas. L contendrá ahora el número de elementos en d.

  2. 2

    Calcula la potencia de 2 que es mayor o igual que L, escribiendo "p = nextpow2 (L);" en la línea de comandos de MATLAB sin comillas. Si L = 1000, por ejemplo, p será 10, porque 2 ^ 10 = 1024.

  3. 3

    Realiza la FFT escribiendo "Y = fft (d, 2 ^ p)," en la línea de comandos de MATLAB sin comillas. Este comando agrega ceros a d para obtener un vector de longitud 2 ^ p y luego realiza la FFT en el 2 ^ p-elemento vector. Los ceros adjuntos no afectan el resultado de la FFT, pero la FFT funciona más rápido con un vector cuya longitud es una potencia de 2.

    El resultante vector Y proporciona los coeficientes de funciones seno y coseno a frecuencias que van desde - (2 ^ p / 2)) a 1 + (2 ^ p / 2) (d suponiendo fue muestreada a 1 muestra por segundo, o 1Hz). Estas son las funciones seno y coseno que se suman a la señal original d. Y es compleja; sus partes reales son los coeficientes de las funciones seno, y sus partes imaginarias son los coeficientes de las funciones coseno.

  4. 4

    Mantén sólo las partes específicas de Y escribiendo "Y = Y (1: ((2 ^ p +1) / 2));" sin las comillas en la línea de comandos de MATLAB. Esto es necesario porque la salida de la FFT es simétrica, es decir, el segundo medio de Y es simplemente el complejo conjugado de la primera mitad. Ahora, Y da los coeficientes de funciones seno y coseno a frecuencias desde 0 hasta 1 + (2 ^ p / 2)).

  5. 5

    Divide Y por L / 2 escribiendo "Y. Y = / (L / 2)," en la línea de comandos de MATLAB sin comillas. Esto es necesario porque la salida predeterminada de MATLAB de la FFT se multiplica por un factor de L / 2, por lo que será más grande si d es más larga. Dividiendo por L / 2 se normaliza la salida de la FFT de modo que no depende de la longitud de d.

    FFT resultados

  1. 1

    Si d no fue muestreada a 1 Hz, pero en algún frecuencia "f", las frecuencias reales representadas en Y será 0 a f * (1 + (2 ^ p / 2))). Calcula un vector de MATLAB que contiene estas frecuencias. En primer lugar, definir la frecuencia de muestreo actual en una variable f. Si la frecuencia de muestreo real fue de 0,5 Hz (1 muestra cada 2 segundos), debes escribir "f = 0,5;" en la línea de comandos de MATLAB sin comillas. A continuación, escribe "freq = f * (0: (1 + (2 ^ p / 2))))." En la línea de comandos de MATLAB sin comillas. Ahora frec contiene las frecuencias reales representados en Y.

  2. 2

    Obtén la amplitud de la componente de señal en cada frecuencia escribiendo "Ya = abs (Y)". en la línea de comandos de MATLAB sin comillas.

  3. 3

    Traza el espectro de amplitud de la señal escribiendo "trama (frecuencia, Ya)" en la línea de comandos de MATLAB sin comillas.

  4. 4

    Aproveche la potencia de la componente de la señal en cada frecuencia escribiendo "Yp = Y. ^ 2" en la línea de comandos de MATLAB sin comillas.

  5. 5

    Trazar el espectro de potencia de la señal escribiendo "plot(freq, Yp)" en la línea de comandos de MATLAB sin comillas.

Consejos y advertencias

  • Cuanto más larga sea la entrada de datos del vector d, mejor será la resolución de frecuencia que conseguirás .

No dejes de ver

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles