Étape 4: Réduire la bande passante
Réduire la bande passante semble très simple. Comme chaque jambon sait, pour la modulation de fréquence, que la bande passante peut être définie avec l’indice de modulation, qui est égal au volume du signal audio qui module la porteuse hf. Dans le code source, c’est juste une valeur, Qu'on le retrouve dans la fonction de consommer de la classe Outputter.
Voici le code d’origine :
void consume(float* data, int num) { for (int i=0; i<num;i++){ float value = data[i]*8; // modulation index (AKA volume!)
J’ai fait un paramètre de ligne de commande de cette valeur, le nouveau code ressemble à :
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)
Malheureusement cela ne fonctionne pas très bien, bandes latérales très fortes persiste, donc cela nécessite certains se concentrer à l’avenir versions du logiciel.
La figure montre un tracé spectral du signal pleine bande passante FM. Le second spectre est la bande passante réduite, tuning sur le pic dans le milieu montre un signal propre et agréable, mais il faut se débarrasser des bandes latérales. Le dernier d'entre eux est le signal de bande passante réduite de la première version de PiFm, belle bande passante, mais le signal est entravé par clics en raison de l’activité de l’UC dans d’autres procédés.