Raspberry Pi (säkerhet) långsam Skanna TV-kamera (4 / 9 steg)
Steg 4: Att minska bandbredden
Att minska bandbredden som verkade vara mycket enkel. Som varje skinka känner för frekvensmodulering kan bandbredden ställas in med modulering index, som är lika med volymen av ljudsignalen som modulerar hf transportören. I källkoden är det bara ett värde det finns i klassen Outputter förbruka-funktion.
Här är den ursprungliga koden:
void konsumerar (float * uppgifter, int num) {
för (int jag = 0; jag < num; i ++) {
flyta värde = data [i] * 8; modulering index (AKA volym!)
Jag gjorde en kommandoradsparameter av detta värde, den nya koden ser ut:
void konsumerar (float * uppgifter, int num) {
för (int jag = 0; jag < num; i ++) {
flyta värde = data [i] * modulation_index; modulering index (AKA volym!) (original 8)
Tyvärr det fungerar inte mycket bra, mycket stark sidebandsna kvarstår, så detta behöver vissa fokus i framtida versioner av programvaran.
Figuren visar en spektral plot av full bandbredd FM-signalen. Andra spektrumet är reducerad bandbredd, Stämmande på toppen i mitten visar en bra signal, men vi måste bli av med sidebandsna. Den sista är reducerad bandbredd signalen från den första versionen av PiFm, fin bandbredd, men signalen hindras av klick på cpu aktivitet i andra processer.