Ganz wichtig: Dein PWM muss ohne Vorteiler laufen, Prozessortakt mindestens 8Mhz.

Dann solltest Du die kleinste Zykluszeit des PWM erreichen können, mit der du die 31Khz Ausgabefrequenz schaffst.
Hast Du schon mal mit dem Oszilloskop nachgeschaut, welche Zykluszeit Dein PWM hat ?
Noch ein Tipp: Man sollte möglichst die Ausgabe mit dem PWM-Zyklus synchronisieren, sonst gibt es auch Störungen; d..h. als Grundtakt den Überlauf des PWM-Timers verwenden und dann immer einen neuen Wert schreiben.

Gruss,
stochri