Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
17 years ago

Help Generation Wave

Hello Friends!!

I am a beginner in the world of FPGA design and I need to make a sinusoidal modulation pwm multilevel Inverter (area of power electronics), basically what I need to know how to generate a sine wave and also a triangular wave.

What is the easiest way? ... I have seen some documents speak of using algorithms Cordic use or look up table, but do not address the problem as well.

My other option is to use the DSP builder, but do not wave as triagular so I generate HDL code to load the FPGA.

I hope I can guide and assist stg.

Greetings From Chile :):):)

Edgardo

PS: sorry for writing, what happens is that some texts I used a text translator

3 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Basic methods for sine ROM tables have been discussed e. g. in this thread http://www.alteraforum.com/forum/showthread.php?t=1902& This is, what I regard as the easiest way, I have used it with RF applications (digital receiver PLL) as well as 16.7/50 Hz power electronics. The other options you mentioned, are feasible ways too, also Altera NCO compiler.

    Triangle waveforms can be generated easily by an up/down counter and some additional logic.
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thank you very much for your response FVM

    Now I have another question, I wonder whether it is possible that the signals that I'm in the processing FPGA can be sent to the computer to activate the inverter that I modeled in Matlab Simulink, as investors have not built physically.

    Hopefully I can help

    Greetings

    Edgardo
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    A possible way is to use ModelSim simulator and write the output waveform to file, that is processed by MATLAB. There's no need for realtime operation in this case, I think.