We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for
Did you mean:
Observer
13,067 Views
Registered: ‎02-01-2012

## FM modulation with help of DDS

Hi every one.

I really need help to create FM modulation (Not FSK). I tried a lot with DDS compiler but until now I didn't`t get the FM modulation as well as theory. I want to modulate 19KHz  with clock frequency of 12.160MHz.

I really appreciate if some one help me.

Thanks

1 Solution

Accepted Solutions
Explorer
15,481 Views
Registered: ‎12-08-2010

## Re: FM modulation with help of DDS

Arash, first of all look at theory behind frequency modulation.

E.g., Wikipedia has article on this subject:

http://en.wikipedia.org/wiki/Frequency_modulation

Look at following equation:

fc - carrier frequency (central frequency of modulated signal y(t) ),

f_delta - frequency deviation (usually, for wideband FM it is 75 kHz),

x_m(t) - modulating (audio) signal.

So in order to design FM demodulator:

1) Choose carrier frequency fc.

2) Make integrator of modulating signal. In digital domain integrator is just accumulator which calculates sum of input samples.

If your modulating signal can be only one sine signal (i.e., not voice or music), then you can bypass integrator stage, because integral of sine equals -cosine:

/

| sin(x) dx = -cos(x) + constant,

/

/

| cos(x) dx = sin(x) + constant,

/

3) Calculate instantaneous frequency: f = fc + f_delta * Integral.

4) Calculate phase increment of DDS.

Best Regards,
Vitaly.
18 Replies
Explorer
15,482 Views
Registered: ‎12-08-2010

## Re: FM modulation with help of DDS

Arash, first of all look at theory behind frequency modulation.

E.g., Wikipedia has article on this subject:

http://en.wikipedia.org/wiki/Frequency_modulation

Look at following equation:

fc - carrier frequency (central frequency of modulated signal y(t) ),

f_delta - frequency deviation (usually, for wideband FM it is 75 kHz),

x_m(t) - modulating (audio) signal.

So in order to design FM demodulator:

1) Choose carrier frequency fc.

2) Make integrator of modulating signal. In digital domain integrator is just accumulator which calculates sum of input samples.

If your modulating signal can be only one sine signal (i.e., not voice or music), then you can bypass integrator stage, because integral of sine equals -cosine:

/

| sin(x) dx = -cos(x) + constant,

/

/

| cos(x) dx = sin(x) + constant,

/

3) Calculate instantaneous frequency: f = fc + f_delta * Integral.

4) Calculate phase increment of DDS.

Best Regards,
Vitaly.
Observer
13,062 Views
Registered: ‎02-01-2012

## Re: FM modulation with help of DDS

thanks a lot. but how about if want to modulate the sound signal or voice signal? for example the stereo signal?

Explorer
13,059 Views
Registered: ‎12-08-2010

## Re: FM modulation with help of DDS

I have meant that you can skip integrator stage if modulating signal is sine. If it's arbitrary audio signal (voice, music), then use accumulator to integrate this sound signal.

Stereo FM is more complicated case which involves SSB modulation of audio signal first, and only after that - FM.

Short description of stereo FM can also be found on Wikipedia:

Best Regards,
Vitaly.
Observer
13,055 Views
Registered: ‎02-01-2012

## Re: FM modulation with help of DDS

Thanks again Vitaly.

About fm stereo< i knew that and until now I create my FM stereo signal and now it is ready for FM modulation. With best help of you I think I can do it very well. But if I had some question, is it possible Iask you again? through this forum or private email or ....?

Best Regards

Arash

Explorer
13,046 Views
Registered: ‎12-08-2010

## Re: FM modulation with help of DDS

Sure, Arash. You can ask any well-defined question approriate to the topics of this forum. There are many talented persons here, who will be happy to answer questions.

Best Regards,
Vitaly.
Observer
13,033 Views
Registered: ‎02-01-2012

## Re: FM modulation with help of DDS

Thanks again vitaly

I didn`t get how to calculate instantaneous frequency? can you explain it more? and also when I calculate the instantaneous frequecy I have to pass it through DDS port ( pinc_in)?

Regards

Arash

Observer
13,030 Views
Registered: ‎02-01-2012

## Re: FM modulation with help of DDS

ok. Now I think generated fm signal. but there is some issues I want to share with you guys. If some knows the solution let us now ( or maybe I am wronge). based on Vitaly solution ( the steps he mentioned) I created a block diagram as I showed it here.

for steps Vilaty said I choose my carrier frequency to 760KHz( for example) and I have sinusoidal signal in 19KHz with sample rate of 3.04MHz. from carrier frequecy the number is 4096 with I added to output of my sinusoidal signal and pass it to DDS compiler. Now the frequency changed when the amplitude of 19KHz sinusoidal change.

But there is one problem : when the amplitude goes to high, the frequency is much more but the amplitude of FM signal on that position is quite smaler than when it is at lower frequency? I do`nt why this happen?

Regards

Arash

Explorer
13,002 Views
Registered: ‎12-08-2010

## Re: FM modulation with help of DDS

Arash, could you attach some plots or model describing the problem?

Best Regards,
Vitaly.
Observer
12,992 Views
Registered: ‎02-01-2012

## Re: FM modulation with help of DDS

Dear Vitaly

Sorry for such a delay. I was on a trip. Acually I had funny mistake. The carrier value was 8624(1.6MHz) and the maximum and minimum value of sinusoidal was (3932,-3932) so the maximum frequency was above 2.5MHZ and minimum was 750KHz and that is why my output signal was to bad ( I only needed 75KHz deviation) when I solve the problem it was like sinusoidal agian in oscop but when I look at it is spectrum analyzer it was like FM modulation.

I have one question : My clock is 12.160MHz and I want to have FM modulation. Is there any problem That the input of DDS has the sample rate of 3.04MHz and the clock of DDS is 12.04MHz? I think the output is 12.04MHz in sample rate but is it any problem if the input has lower sample rate or not? I hope my question is clear. If it is not let me.

Regards

Arash

Explorer
9,880 Views
Registered: ‎12-08-2010

## Re: FM modulation with help of DDS

@arash-rezaee wrote:

I have one question : My clock is 12.160MHz and I want to have FM modulation. Is there any problem That the input of DDS has the sample rate of 3.04MHz and the clock of DDS is 12.04MHz? I think the output is 12.04MHz in sample rate but is it any problem if the input has lower sample rate or not? I hope my question is clear. If it is not let me.

DDS has clock rate 12.160 MHz (I presume, 12.04 MHz is a misprinting).
Modulating signal has sample rate 3.04 MHz ( f_mod = f_dds / 4 ).

Is it ok or not? Lets see...

If we are going to change phase increment of DDS once in a four cycles (i.e., with sample rate 3.04 MHz, when samples rate of DDS is 12.160 MHz), then it's equivalent to the case when modulating signal is upsampled to 12.160 MHz with zero-order polynomial interpolation (i.e., sample and hold latch). Zero-order polynomial interpolation, of course, produces non-linear distortion as it makes 'steps' in originally 'smooth' signal.

But if frequency band of your input (modulating) signal is much less then original sample rate (i.e., 19 kHz << 3.04 MHz), then steps produced by this interpolation are not high (in time domain) and power of new harmonics (in frequency domain) is relatively low.

So, if you are going to use audio signals ( < 20 kHz) at sample rate 3.04 MHz, then it's ok. But if it doesn't suits you, then you can add additional upsampler from 3.04 MHz to 12.160 MHz (using sinc-interpolation, for example).

Best Regards,
Vitaly.
Observer
9,877 Views
Registered: ‎02-01-2012

## Re: FM modulation with help of DDS

Thanks agian. yes it was misprinting.

I will go to open new threat to ask about how can I done dynamic range contro for audio processing to not go above 75KHz deviation. if you have some information plaese let me know.

Regards

Observer
9,855 Views
Registered: ‎02-01-2012

## Re: FM modulation with help of DDS

Dear Vitaly

I confused about FM modulation. Can we have FM modulation in I/Q mode?! I know there is two kind of FM modulation : FSk and FM modulation. But is it possible to have Fm in I/Q terms modulation? If yes would you please help me how can I implemet it n FPGA.

Regards

Arash

Explorer
9,852 Views
Registered: ‎12-08-2010

## Re: FM modulation with help of DDS

Hi, Arash.

FSK (frequency shift key) is applied only to modulate digital data. FM is, first of all, analog type of modulation.

All types of modulation (digital / analog) can be implemented using I/Q technique.

I/Q means two channels: in-phase and quadrature. Mathematically, I/Q signal is complex signal, i.e. s(t) = I(t) + j*Q(t).

In telecommunications digital I/Q signal is used only in so called "baseband" signal representation. To put it simple: "baseband" means signal with central (carrier) frequency f_c = 0.

When carrier frequency is not equal to zero and lowest frequency of signal is higher than zero: 0 < f_c, 0 < f_lowest, then I/Q representation has no reason, because such signal can be represented only by one channel of I/Q signal (or, mathematically speaking, real signal). It's called 'passband' signal.

So to answer your question: yes, frequency modulation can be done at zero frequency (baseband) using I/Q (complex) representation.

But it's hard topic for exaplanation on the forum. I can suggest you to study complex math, complex signal representation, complex Fourier transform. And after that you will be able to design baseband frequency modulator.

Best Regards,
Vitaly.
Observer
9,848 Views
Registered: ‎02-01-2012

## Re: FM modulation with help of DDS

Thanks. But for FM broadcasting one method can be creating FM with DDS and then use high speed DAC to upconvert it. Am I right?

Regards

Arash

Explorer
9,846 Views
Registered: ‎12-08-2010

## Re: FM modulation with help of DDS

Yes, there are many different ways to design FM transmitter.

For example:

1) Digital passband FM (real) -> DAC -> analog upconverter from IF to RF

or

2) Digital passband FM (real) -> high speed DAC -> amplifier (in case of low RF and high sampling frequency)

or

3) Digital baseband FM (I/Q) -> high speed DAC with embedded interpolation and digital mixer -> amplifier

or

4) Digital baseband FM (I/Q) -> 2-channel DAC (I/Q) -> analog quadrature upconverter from IF to RF

and so on...

Best Regards,
Vitaly.
Highlighted
Observer
9,827 Views
Registered: ‎02-09-2010

## Re: FM modulation with help of DDS

@arash-rezaee:

I don't know if this thread is still open/applicable.

I have made a complete implementation of an FM + RDS modulator complete with interface to DAC/upconverter.

Regards

Visitor
9,473 Views
Registered: ‎09-08-2012

## Re: FM modulation with help of DDS

Hi, ru551n!

Can you help my for fm stereo modulator via FPGA please?

Newbie
7,592 Views
Registered: ‎04-24-2014

## Re: FM modulation with help of DDS

Dear ru551n,

I want to implement the Digital FM modulator using DDS in FPGA. The modulation signal is sinusoidal with frequency 1KHz generated using DDS. The Carrier signal frequency is 3 MHz which is again generated using DDS. The sampling frequency is 45 MHz.

The Accumulator size in both the DDS architecture is 32 bits.

I had tried the architecture for FM implementation given in the forum but I am not getting the right spectrum....How we can change the modulation index of Digital FM signal