Arduino - Not outputting 2 separate signals
The better way to do this is to use timers.

The easiest way is to use a library that wraps up all the interrupt stuff for you, like the Timer1 library.

That library wraps all the details needed to set the interrupts and switch the outputs.  It can also be used on various members of the Arduino family.  

You can operate the two PWM pins at different rates.

Example:

#include &lt;TimerOne.h&gt;

#define SIGNAL_OUT_PIN 9

void setup() {
  pinMode(SIGNAL_OUT_PIN, OUTPUT);
  Timer1.initialize(1000);
  Timer1.pwm(SIGNAL_OUT_PIN,512,1000);
}


Just setup another output pin at the same time.



The whole complexity winds up behind one line:

Timer1.pwm(SIGNAL_OUT_PIN,512,1000);


That says "on pin 9 set a 50% duty cycle PWM at a period of 1000 microseconds repeat rate."

I defined "SIGNAL_OUT_PIN" as 9 earlier in the code.

The duty cycle is set in steps from 0 to 1023. 512/1023 is as close to 50% as you can reasonably get.

The period is set as microseconds.  1000 microseconds is 1 millisecond - that's 1kHz.