Die Arduino PWM-Analogausgabe arbeitet mit einer relativ niedrigen Frequenz (490 Hz), die zu hörbaren Effekten führt, wenn man sie als Modulationsquelle verwendet.

Dieser Befehl setzt die Frequenz des Timers 3 auf 31300 Hz. Dieser Timer ist für den Pin 2 zuständig.

TCCR3B = TCCR3B & 0b11111000 | 0x01;

Man muss aufpassen, dass man nicht den Timer setzt, der für die millis()-Funktion zuständig ist. Sonst muss man dort auch Umrechnungen machen.

Die Frequenz ist nun nicht mehr hörbar. Ich habe trotzdem einen einfachen R-C-Tiefpassfilter eingebaut.

Weitere Literatur: http://playground.arduino.cc/Main/TimerPWMCheatsheet