Ist zwar nicht im hörbaren Bereich, aber durch Verringern der oberen Grenze (ICR1) bzw. erhöhen des Prescalers kommt man da ohne Probleme hin. Falls du die Timerproblematik verstanden hast, sollte dir das folgende helfen:

void _40khz_init (void) {
TCCR1A = _BV(COM1A1) | _BV(COM1A0) | _BV(WGM11);
TCCR1B = _BV(WGM12) | _BV(WGM13) | _BV(CS10);
OCR1A = 100;
ICR1 = 200;
}

//36kHz Träger
TCCR1A = _BV(COM1A1) | _BV(COM1A0) | _BV(WGM11);
TCCR1B = _BV(WGM12) | _BV(WGM13) | _BV(CS10);
OCR1A = 111;
ICR1 = 222;

Falls dir die Berechnung der Timereinstellungen unklar ist, dann schau hier:
http://mc-project.de/Pages/rc5.html

Gruß, Alex