creating a spectral wave form from STM32F407 or EFR32fg14

Status
Not open for further replies.

yefj

Advanced Member level 4
Joined
Sep 12, 2019
Messages
1,483
Helped
1
Reputation
2
Reaction score
5
Trophy points
38
Activity points
9,001
Hello ,I have two boards STM32F407 and EFR32FG14 and i want to cretate a wave form so if i will plug the output into spectrum analizer
i will get 10MHz 30Mhz 100Mhz harmonics displayed on.
Is it possible to do?

Update:
One idea that i thought is to try and create such time signal in MATLAB(which FFT has such properties)
SO i will have in matlab some mathematical time domain samples of the signal.
and then try and transform the samples into DAC digital values.
but its very tough because the samples will be very close to each other.i am not sure the DAC could respond so fast.

i will try and see the limits of the DAC.
Thanks.
 
Last edited:

Most DACS in processors have settling times in the uS range, so
100 Mhz harmonics would more likely be found from the clock tree
PLL system in fast ARM type parts, the DAC simply almost irrelevant
in that scenario.

Another way would be to drive a DDS from the processor, there are
DDS parts that can get you to Ghz.

Or use onboard SOC freq synthesizer to generate harmonics.


Regards, Dana.
 
Reactions: yefj

    yefj

    Points: 2
    Helpful Answer Positive Rating
Hello Dana,Suppose i will try to use EFR32FG14 starter kit with reference manual links shown bellow .
I am used to learn hao to operate a peripherals.
" Direct digital synthesis (DDS) is a method employed by frequency synthesizers used for creating arbitrary waveforms from a single, fixed-frequency reference clock. "
The DDS method sound great but i could not find it in the manuals bellow
Could you please help me with material of implementing DDS on EFR32FG14 board?
Or if you know how to do DDS on STM32F407 descovery board,ill be happy to have some materials.
Thanks.
Update:
In STM32 i have found the article bellow but how can i create multiple harmonics simulationsly using DDS?



 
Last edited:

Hi,
.i am not sure the DAC could respond so fast.
There is a quite obvious way around "I'm not sure": reading it's datasheet.

Klaus
 
Reactions: yefj

    yefj

    Points: 2
    Helpful Answer Positive Rating
Last edited:

how can i create multiple harmonics simulationsly using DDS?
Usual DDS are designed to generate sine waves of variable frequency.

Signals with harmonics can be generated by multiplying the DDS phase accumulator with a series of integer factors, adding optional phase offsets, feeding each harmonic phase to a sine table, scaling the sine output with amplitude factors and adding up the harmonic components for the DAC input.

For 30 MHz signal, you need > 60 MHz DAC update rate according to Nyquist, and an analog anti-alias filter.

The intended frequency range isn't feasible with ARM processor. Considering the math effort to calculate the harmonics, I won't expect a DAC rate above a few MHz. Alternatively an arbitrary signal table with precalculated harmonics can be replayed at a slightly higher rate.
 
Reactions: yefj

    yefj

    Points: 2
    Helpful Answer Positive Rating
You want to generate 10, 20, and 100 Mhz off what waveform fundamental ?
No harmonics other than these 3 ? Have youy already synthesized the time
domain signal that fits your description ? Eg. its realizable ?


Regards, Dana.
 
Last edited:

Hello Dana, I have found the following article shown in the link bellow which is implemeting DDS in STM32.
This is the method i found,it has the following steps:
1.define an register 16bit long
2.increase its value by K every Tp tyme
3.put the value of the register in DAC
If this the method you mean for creating high frequency harmonics?
I cant see how to control the Tp clock in STM32F407?
Thanks.

 

Hi,

In your description you completely missed the table, which contains the waveform.

An kp usually is a constant value, determined by hardware, by interrupts, by software, by run time..

K is a variable value and determines the output waveform frequency.

Klaus
 

Hello Klaus,I have created in matlab the signal shown bellow and the FFT of it.

I will try to find more materials on it,because the diagram is easy but the implementation is very hard for me.
Could you please say how its better then putting values in DMA for DAC?
what is the advantage of DDS in creating high frequency accurate signals that is not present in regular DAC DMA?
Thanks.


 
Last edited:

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…