I submit that if you have a scope at one end and the arduino on the other , you will not be able to distinguish a FAST PWM 50% Duty cycle from a 30ihz CTC (Clear Timer on Compare Match -squarewave 50% duty cycle). I have not tried it yet but I will when I get time. So if your receiver is 38khz, why do you want to transmit on 30 khz instead of 38khz ?
Attached are two programs that generate a 30khz squarewave on D9 (Timer-1).
I can't compare them with your code because as you pointed out you did not post the entire code so it won't compile.
FREQ_GEN_30khz_TimerOne_50__50.ino (502 Bytes)
FREQ_GENERATOR_30khz_D9.ino (1.05 KB)