¿Cómo puedo determinar el inicio y el final de la ola?

0

Estoy enfrentando un pequeño desafío al tratar de entender conceptos o términos básicos dentro del mundo de la señal.

Tengo una serie de valores recuperados de una señal muestreada que se genera aleatoriamente sin ningún propósito específico:

Seconds,      Volts
0,            0
3.702834E-08, 0.09484652
7.405668E-08, 0.1872366
1.11085E-07, 0.2747773
1.481134E-07, 0.3552014
1.851417E-07, 0.426426
2.2217E-07, 0.4866064
2.591984E-07, 0.5341839
2.962267E-07, 0.5679263
3.332551E-07, 0.5869598
3.702834E-07, 0.5907913
4.073117E-07, 0.5793217
4.443401E-07, 0.5528479
4.813684E-07, 0.5120556
5.183967E-07, 0.4580013
5.554251E-07, 0.392085
5.924534E-07, 0.3160141
6.294817E-07, 0.2317585
6.665101E-07, 0.1415004
7.035384E-07, 0.04757757
7.405668E-07, -0.04757759
7.775951E-07, -0.1415004
8.146235E-07, -0.2317585
8.516518E-07, -0.3160141
8.886801E-07, -0.3920851
9.257085E-07, -0.4580014
9.627369E-07, -0.5120556
9.997651E-07, -0.5528478
1.036793E-06, -0.5793217
1.073822E-06, -0.5907913
1.11085E-06, -0.5869598
1.147878E-06, -0.5679264
1.184907E-06, -0.5341839
1.221935E-06, -0.4866063
1.258963E-06, -0.4264261
1.295992E-06, -0.3552014
1.33302E-06, -0.2747772
1.370049E-06, -0.1872364
1.407077E-06, -0.09484658
1.444105E-06, 1.807601E-08
1.481134E-06, 0.09484661
1.518162E-06, 0.1872365
1.55519E-06, 0.2747773
1.592219E-06, 0.3552015
1.629247E-06, 0.4264261
1.666275E-06, 0.4866063
1.703304E-06, 0.5341839
1.740332E-06, 0.5679264
1.77736E-06, 0.5869598
1.814389E-06, 0.5907913
1.851417E-06, 0.5793217
1.888445E-06, 0.5528478
1.925474E-06, 0.5120555
1.962502E-06, 0.4580013
1.99953E-06, 0.3920853
2.036559E-06, 0.3160139

La lista continúa conteniendo más y más valores.

Se me pidió que calculara la frecuencia de la onda de amplitud más alta, pero no es el problema encontrar la amplitud más alta. Mi problema es que una vez que encontré la amplitud más alta, ¿cómo puedo determinar el inicio y el final de la ola (no estoy seguro de si la longitud de la ola es lo que debería ser después)?

¿También puede confirmar si una forma de onda puede contener más de una frecuencia?

Cualquier aclaración sería muy apreciada!

    
pregunta Aboudi

2 respuestas

3
  

¿También puede confirmar si una forma de onda puede contener más de una frecuencia?

Sí. Esta es la base del análisis de Fourier. Cualquier señal periódica (potencia finita) se puede descomponer en una suma de sinusoides. En términos de conversación, decimos que la señal tiene contenido o potencia en todas las frecuencias de las sinusoides necesarias para construir la señal.

  

Mi problema es que una vez que encontré la amplitud más alta, ¿cómo puedo determinar el inicio y el final de la ola?

Si está tratando de encontrar el período (o la frecuencia) de la señal, está preguntando sobre estimación espectral .

Una técnica muy simple no es encontrar el "inicio" y el "final" de la onda, sino encontrar los cruces por cero (después de eliminar cualquier componente de CC). Dado que cada período de la señal tendrá dos cruces por cero, puede contar algunos números (impares) \ $ N \ $ de cruces en los momentos \ $ T_1 ... T_N \ $, y obtener el período promedio de esa muestra como $$ \ frac {2 (T_N-T_1)} {N-1} $$ Dependiendo de la precisión con la que necesite estimar el período (y la frecuencia de muestreo en la que tomó la muestra), es posible que desee utilizar alguna interpolación entre las muestras para obtener buenas estimaciones de los tiempos de cruce por cero.

Un método (ligeramente) más sofisticado es hacer un periodograma . Esto esencialmente significa tomar la transformada de Fourier de la señal (por algún método numérico, como la FFT), y buscar picos en el espectro. Si la señal se comporta bien, el pico de frecuencia más baja (no dc) corresponderá a la frecuencia fundamental de la señal.

El periodograma en realidad no es un método particularmente bueno para encontrar la frecuencia fundamental, pero muchos métodos más sofisticados (mencionados en el artículo de Wiki) lo refinan para mejorar la capacidad de estimar la frecuencia de la señal.

    
respondido por el The Photon
1

Así es como abordaría este problema.

Primero quitaba el componente de CC y luego tomaba un FFT y lo ponía en cero a aproximadamente 2 ^ 13.

En Matlab, X = fft (x-mean (x), 8192);

Luego encontraría los puntos máximos.

En Matlab, encuentra (abs (X) == max (abs (X)))

Obtengo 421. Esto significa que la frecuencia máxima es la frecuencia de muestreo (estimo 2.7006 MHz desde las marcas de tiempo) * 420/8192 = 1.3846 MHz

La amplitud es 2 * abs (X (421)) / 56 (56 proviene de la longitud del conjunto de datos) = 0.2462

Por cierto, la fase es el ángulo (X (421)) = 3.1055 radianes, y puedes trazar abs (X (421)) * 2/56 * cos (2 * pi * 420 * fs / 8192 * t + ángulo (X (421)))

    
respondido por el MikeP

Lea otras preguntas en las etiquetas