VHDL algorithm/code for implementing QAM on FPGA

Hello Everyone, I am working on designing a digital modulator that will implement QAM on FPGA.

The FPGA will be programmed in VHDL to modulate an input signal(maybefrom a function generator)

A D/A converter will convert the digital signal to an analog one that canbe transmitted.

Anyway, what I need now is algorithm and/or VHDL code that will carry out the QAM on FPGA.

Any help is greatly appreciated

Anthony

Reply to
Tony Acquah
Loading thread data ...

Which form of QAM do you want to use? This could be as simple as a look up table for most small inputs, I'd probably use it for 16-QAM and up to 256-QAM. Which is probably all you're going to target anyways.

If this is the only thing that you'll have in the chip it's probably worth adding in some FEC coding as well. This would allow you to use TCM, and hence provide slightly better performance under noisy conditions.

I note that you want to use a function generator to create the input waveforms. This would generally be a serial train of digital pulses, and perhaps a clock signal (or the clocking may be intrinsic to the digital pulses ala Manchester encoding). The serial to parallel converter is simply a shift register, which is clocked in x number of times, then read out in parallel, then clocked in an additional x times etc. There is probably a standard block for this that would be faster in most cases than a manual implementation. There is likely a standard block for the ROM to use as the QAM lookup table. And if you wanted to implement TCM then I'm sure there's some code around for a viterbi algorithm, and the convolutional generator.

Reply to
Bevan Weiss

The coder is just a remapping of the input I and Q bits to the IQ plane. It is a straight-forward mapping whch usually does not need a table. For example, QAM64 uses 6 bit symbols. 3 bits each specify I and Q independently. Those 3 bits take on values +/-1, +/-3, +/-5 and

+/-7. There will also need to be a nyquist filter to limit the spectral footprint and a modulator. If desired, there may also be a convolutional encoder preceding the symbol conversion to I and Q.
--
--Ray Andraka, P.E.
President, the Andraka Consulting Group, Inc.
401/884-7930     Fax 401/884-7950
email ray@andraka.com  
http://www.andraka.com  

 "They that give up essential liberty to obtain a little 
  temporary safety deserve neither liberty nor safety."
                                          -Benjamin Franklin, 1759
Reply to
Ray Andraka

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.