The frequency is generated by the AD9850 and the modulation is done by the arduino
The full code is here:
http://pastebin.com/YMErwwK3
The FM band channels are centered at certain frequency, in our case 90Mhz, any slight deviation of that freq (by a max of +/- 75Khz) will move the membrane of the speaker backward or forward, here is the bit of code that implements that. And this is the (unoptimized) modulation routine.
void playTone(unsigned int note, unsigned int duration ) { const double freq = 90 * 1e6; // transmitting at 90Mhz // play silence if ( note == 0) { ad.setfreq(freq); delay(duration); return; } unsigned long currentMillis = millis() + duration; while( millis()< currentMillis) { ad.setfreq(freq + 75e3/2); // speaker's membrane backward delayMicroseconds(note); ad.setfreq(freq - 75e3/2); // speaker's membrane forward delayMicroseconds(note); } ad.setfreq(freq ); }
Credits go to:
Brett Hagman for the RTTTL tune player
Poul-Henning Kamp for the AD9850 lib
You are right then... No idea how can come it comes can I get higher frequencies then... I am computing the FFT on its output (with a 1Ms/s) and I see a nice peak moving covering all the range... Maybe an harmonic is kicking in, if I had better equipment I could tell you. Thanks for pointing this!
ReplyDeletenice job can u give the schematic to do the connection with arduino and how modulate thank u
ReplyDeletenice job can u give the schematic to do the connection with arduino and how modulate thank u
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteSome of the transmitters can be controlled by hand while others can only be controlled by remote controls. Unlike radios, a wireless controller is portable and easy to handle. The other side of a drone transmitter is the receiver. Learn more about quadcopter transmitter product on online.
ReplyDeletepg game slot pocket games ได้ก้าวขึ้นมาเป็นหนึ่งในนวัตกรรมที่น่าติดตามในโลกของเกมสล็อตออนไลน์ pg slot เกมนี้ไม่เพียงทำให้ผู้เล่นตื่นเต้นและสนุกสนาน กราฟิกที่ทันสมัยและความคล่องตัว
ReplyDelete