c++ - resumen - Trazar el espectro en tiempo real?
que se puede hacer con un analizador de espectro (1)
Me gustaría agregar y trazar el espectro de la señal en el ejemplo de Qwt Oscillocope. Mi idea es crear otra clase seriesData. SerieData. Me pregunto si no habrá conflicto entre la muestra de SeriesData y la muestra de Signaldata o solo necesito modificar los datos de señal. Cualquier ayuda y consejo sería apreciado. Gracias
la señal de entrada suele estar en forma de búfer cíclico, el búfer de salida puede ser estático. Esto se aplica también para los diagramas de dominio de tiempo. Sin ver realmente tus estructuras es imposible responder si tuviste que cambiarlas o no. Así es como hago esto:
make some buffer (array) para FFT
puede ser estático ... No habrá cambios en él. Su tamaño tiene que ser al menos
slowest_timebase/fsampling
samples. En caso de que su FFT tenga una entrada de dominio compleja, duplique el tamaño. Si desea desplazarse / acercar / alejarse, aumente el tamaño en consecuenciaencuentre la muestra de inicio de la vista real del osciloscopio
a través del disparador o para los principiantes solo la última muestra de N (pero parpadeará debido a la fase ...) o puedes previsualizar todas las muestras con trozos de muestra N de principio a fin con la misma velocidad que el muestreo. Similar a usted enviaría datos a la tarjeta de sonido para reproducir el sonido. Acabas de empezar después de un tiempo, por lo que ya tienes suficientes datos de muestra ...
procesar datos
Copie datos desde el punto de inicio al buffer de FFT agregue una parte imaginaria de las muestras si es necesario (
Im=0.0
) y procese FFT . Luego trace la primera mitad de la salida real.La frecuencia de
i
-ésima muestra (deN
) esf=i*samplerate/N [Hz]
dondei={ 1,...,(N/2)-1}
omitiendoi=0
que representa el componente DC .También puede agregar ejes logarítmicos a la frecuencia. En ese caso, no te olvides de cambiar el valor de
x
en la trama tambiénposición de inicio de actualización
simplemente agregue para comenzar la posición el tamaño de las muestras usadas (
N
) y no olvide que el activador también usa esta vez como punto de inicio antes de encontrar el inicio real ...