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.
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.
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?
Hello Klauss,DDS method sound very good but i want to create a signal with 3 harmonics 10Mhz 20Mhz 30Mhz.
one way i thought is to generate a time domain signal with such properties and try to recreate them it in DDS
Is it possible?
Thanks.
UPDATE:
i have found this articlei will try to implement it.
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.
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 ?
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.
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.