Das virtuelle Audiogerät dient als (Standard-) Lautsprecher des Raspberry Pi, auf dem das aktuell abgespielte Audio ausgegeben wird. Dieser Audiostream kann nun von der Signalverarbeitung abgefragt werden.
Der PWM-Treiber ist für die Ansteuerung des PWM-Peripherals, also für die Ansteuerung der Teslaspule verantwortlich. Der Treiber bekommt von der Signalverarbeitung die Periodendauern übergeben und gibt anschließend PWM-Signale mit diesen Periodendauern (über die Periodendauer wird der Ton eingestellt) aus.
Über die Website kann der Benutzer zwischen zwei Betriebsmodi wählen.
Im PWM Modus wird das PWM-Peripheral des Raspberry Pi so konfiguriert, dass auf der Spule ein PWM-Signal mit der auf der Website eingestellten Frequenz (im Bereich zwischen 50Hz – 500Hz) und Dutycycle (bis maximal 10%) ausgegeben wird.
Im Audiomodus soll das am Raspberry Pi abgespielte Audiosignal auf die Teslaspule ausgegeben werden.
Beim Audiosignal handelt es sich um ein PCM-Signal (ein Signal welches nur zu bestimmten Zeitpunkten einen Wert besitzt). Um die Teslaspule anzusteuern, wird jedoch ein PDM-Signal (ein Rechtecksignal mit veränderlicher Frequenz) benötigt.
Um die Teslaspule anzusteuern, wird das Audiosignal vom virtuellen Audiogerät abgefragt und mit den von der Hardware vorgegebenen Einschränkungen Bandbegrenzt (auf 100Hz – 500Hz). Mittels Frequenzmodulation wird die Momentanfrequenz des Bandbegrenzten Signales ermittelt. Das frequenzmodulierte Signal wird in ein Rechtecksignal gewandelt und ausgegeben.