Frequency Modulation with arduino

Hi everyone,

I'm doing a small project with arduino. What I want to do is modulate signal using Frequency Modulation has carrier's base frequency fc = 25 kHz. I've searched many topics but most of it is RF transmitter using external RF shield. Is there any way to do frequency modulation with only arduino. I just need fc about is 25 kHz, not large like RF band.

Thank all!

What sort of modulation frequencies and modulation amplitude? What sort of output waveform (sin, square etc)?

My target : Ultrasound carries audio signal, then the modulated signal go out to Piezo. Thank for your help!!!

Am I understanding this correctly? You have some device, unnamed, that generated a 25 KHz signal that is applied to a piezo. You want to use an arduino the change the frequency of the 25 KHz signal by some unknown amount. Does the generator unit currently have a connection for modulation? How fast do you need to have the frequency change? Certainly not at a 25KHz rate.

Paul

Not really exactly like that. Actually, I want to generate a white noise signal from Arduino. Then, for transmitting this signal go far, I need to mix it with a carrier wave signal (method: frequency modulation). The carrier signal maybe has base frequency is 25 Khz.

Can you give me any suggestion? It will be better if I have a example about Frequency Modulation using Arduino.

Thank a lot :slight_smile:

Read up on IR remote controls. They use 38KHz usually. I'm sure an IR library can be modified to your desired frequency. I'm not sure if the on/off modulation is what you want though. It's not "frequency" modulation.

Can you lead me to that example? I want to look over it a bit.

holucbme:
Not really exactly like that. Actually, I want to generate a white noise signal from Arduino.

White noise has infinite bandwidth which obviously cannot be used to modulate a 25 KHz carrier in any meaningful way. You are going to have to limit the bandwidth of the modulating white noise and you will need to specify the maximum magnitude of the frequency excursion of the carrier. So far you have failed to quantify these important parameters.

Though you have not said it, there is an implication that you want to modulate a square wave carrier driving the Piezo. Is this correct?

Have you looked at driving with the Arduino a DDS chip such as the AD9850? I have seen articles that use this chip for FM modulation. Google will find them.

Too many things are unknown here, so most of the posters above are babbling about things that may or may not be helpful without actually figuring out what you're doing. There are several issues I see and questions that I have and I'm not really sure what to start with.

  1. What is your intention for this system? Most of the time when people are worried about modulating a signal onto a carrier for transmission that signal carries information that the receiver has to know. However, in Reply #4 you claim it will be transmitting a "white noise signal". I can't think of a reason why you would need to transmit a noise signal to another module. Why can't you just build the white noise generator onto the receiver and cut out the intermediate communication link?

  2. How were you planning to demodulate the signal at the other end?

  3. "White noise" has a specific definition, it must have constant power spectral density within the bandwidth of interest. This is compared to other type of noise such as "pink noise", where the power spectral density is inversely proportional to frequency. Are you generating your white noise properly? Since it's an analog signal, I imagine it would be quite hard for a purely digital chip like an Arduino to generate.

  4. Are you intending to transmit an analog or digital signal?

A DDS chip like AD9850 that stowite suggested is not going to be useful for frequency modulation, only for frequency shift keying (or phase shift keying) of a binary digital signal. It will be pretty useless for analog modulation or demodulation. Modulation needs to be done with a voltage-controlled oscillator (VCO) and demodulation with a phase locked loop (PLL). PLLs have a VCO built into them, so you can more than likely use the same kind of chip on both the transmitter and receiver.

Jiggy-Ninja:
4) Are you intending to transmit an analog or digital signal?

A DDS chip like AD9850 that stowite suggested is not going to be useful for frequency modulation, only for frequency shift keying (or phase shift keying) of a binary digital signal. It will be pretty useless for analog modulation or demodulation. Modulation needs to be done with a voltage-controlled oscillator (VCO) and demodulation with a phase locked loop (PLL). PLLs have a VCO built into them, so you can more than likely use the same kind of chip on both the transmitter and receiver.

I found this article the other day ( All Digital FM modulation w/ Arduino & AD9850 – Zissis SV1RME Projects ) describing frequency modulation of a carrier with audio using an AD9850.

Until the OP comes back with the requested details then I can’t say whether or not an AD9850 might help him.