Paso 4: Reducir el ancho de banda
Reducir el ancho de banda parece ser muy simple. Como sabe cada jamón, para la modulación de la frecuencia el ancho de banda puede ajustarse con el índice de modulación, que es igual al volumen de la señal de audio que modula el portador de hf. En el código fuente es un valor que puede encontrarse en la función de consumo de la clase Outputter.
Aquí está el código original:
void consume(float* data, int num) { for (int i=0; i<num;i++){ float value = data[i]*8; // modulation index (AKA volume!)
Hice un parámetro de línea de comandos de este valor, el nuevo código se ve como:
void consume(float* data, int num) { for (int i=0; i<num;i++){ float value = data[i]*modulation_index; // modulation index (AKA volume!) (original 8)
Lamentablemente esto no funciona muy bien, persiste de bandas laterales muy fuertes, para que esto necesita algunos se centran en el futuro las versiones del software.
La figura muestra un diagrama espectral de la señal de ancho de banda completo FM. El segundo espectro es el ancho de banda reducido, ajuste en el pico en el medio muestra una señal agradable y limpia, pero tenemos que deshacernos de las bandas laterales. El último es la señal de ancho de banda reducido de la primera versión de PiFm, buen ancho de banda, pero la señal se ve obstaculizada por clicks debido a la actividad de la cpu en otros procesos.