DSPRelated.com
Forums

flexible OFDM modulator

Started by konstantinos January 12, 2009
Hi all!!

I'm a student and for my thesis I have to implement a flexible OFDM
modulator in VHDL. That means that it has to be applicable in more
than one systems. For example DVB and WiMAX.  The elements to
implement are the Mapper the OFDM and the Guard Interval Insertion. As
you understand the mapper part should support all the possible
constellations given from those two standards and the the OFDM part
should support all the possible operating modes. The same applies for
the Guard interval insertion.

Could anyone give me some advices on the way to do it or what kind of
software to use for generate  code?
What FPGA do you think is more suitable for that kind of application?

Thanks in advance.
konstantinos  <blks303@gmail.com> wrote:

>Hi all!!
>I'm a student and for my thesis I have to implement a flexible OFDM >modulator in VHDL. That means that it has to be applicable in more >than one systems. For example DVB and WiMAX. The elements to >implement are the Mapper the OFDM and the Guard Interval Insertion. As >you understand the mapper part should support all the possible >constellations given from those two standards and the the OFDM part >should support all the possible operating modes. The same applies for >the Guard interval insertion.
>Could anyone give me some advices on the way to do it or what kind of >software to use for generate code?
I think you probably have a pretty good idea how to proceed, but there is one aspect that isn't clear from your question: do you need a VHDL design that implements the multiple standards, or do you need a software program that, given some parameters, spits out VHDL for a given standard? Assuming the latter, and you're asking in which language you should implement such a software program, that's a pretty open question. I personally would use C++, or perhaps C. It's a small enough job it could be done in C if your C++ skills are not up to it -- but given the choice C++ is preferable. Some would say do it in Perl or Python or even Matlab, but that is probably asking for trouble. It will go much smoother in C++. A combination of C++, and shell or Perl programming would also work. Finally, for any approach, strongly consider using make with the VHDL files as targets in the makefile. make is a very useful tool which hardware designers sometimes forget to use properly.
>What FPGA do you think is more suitable for that kind of application?
Any of them, if they are large enough. Whatever is available to you. Hope this helps. Steve
On Jan 12, 5:32&#4294967295;pm, spop...@speedymail.org (Steve Pope) wrote:
> konstantinos &#4294967295;<blks...@gmail.com> wrote: > >Hi all!! > >I'm a student and for my thesis I have to implement a flexible OFDM > >modulator in VHDL. That means that it has to be applicable in more > >than one systems. For example DVB and WiMAX. &#4294967295;The elements to > >implement are the Mapper the OFDM and the Guard Interval Insertion. As > >you understand the mapper part should support all the possible > >constellations given from those two standards and the the OFDM part > >should support all the possible operating modes. The same applies for > >the Guard interval insertion. > >Could anyone give me some advices on the way to do it or what kind of > >software to use for generate &#4294967295;code? > > I think you probably have a pretty good idea how to proceed, but > there is one aspect that isn't clear from your question: do you need > a VHDL design that implements the multiple standards, or do you need > a software program that, given some parameters, spits out VHDL for a > given standard? > > Assuming the latter, and you're asking in which language you > should implement such a software program, that's a pretty open > question. &#4294967295;I personally would use C++, or perhaps C. &#4294967295;It's > a small enough job it could be done in C if your C++ skills > are not up to it -- but given the choice C++ is preferable. &#4294967295;Some > would say do it in Perl or Python or even Matlab, but that is > probably asking for trouble. &#4294967295;It will go much smoother in C++. > > A combination of C++, and shell or Perl programming would also > work. &#4294967295;Finally, for any approach, strongly consider using make > with the VHDL files as targets in the makefile. &#4294967295;make is a very > useful tool which hardware designers sometimes forget to use > properly. > > >What FPGA do you think is more suitable for that kind of application? > > Any of them, if they are large enough. &#4294967295;Whatever is available > to you. > > Hope this helps. > > Steve
Hi Steve and thanks for your answer. What i need is the VHDL design that implements the multiple standards. bus i would like to use a program like Xilinx Core Generator to generate some VHDL code instead of writing it by my self. To be more clear, i was thinking about using a program that, as you said, given some parameters spits out VHDL for every standard or for the components of the standard and then put them together by my self and obtain the VHDL design that implements the multiple standards. The problem is I can't find such a software that meets what i want. I tried to use the Xilinx core generator but the only thing i can do is generate code for the mapper and the FFT (not IFFT) components. Then I must put them together implementing the interfaces and the rest of the components by my self. that's not so simple for so many signals and besides that i can't find any document that describes the systems in bits level so i can unerstand better the way to do it. Hope you understand what I'm trying to say. Unfortunately my English is not so good, I apologize for that. It could be also very useful to me having a VHDL code example that implements any of the standards, for using it to understand things they aren't so clear to me. somebody knows where can I find something like that? Thank you again
Hi,
 I'm involved at this time in a VHDL based DVB-T modualtor too. Regarding
the OFDM modulation, I could say you that there are available under Xilinx
Core Genertaor tool FFT/IFFT core and Reed-Soolomon core (this one is not
necessary for exclusively OFDM modulator, but it is necessary for DVB-T
channel coding). 
 I could not provide you with any code, due to we have signed-up
non-disclosure agereeemnts with third parties for this project.
 You can check if it is any possibility under Simulink-Xilinx SysGen
toolchain that allows an easier solution for you. Check it because Simulink
supports a lot of things in a simple way. And in relation with Sysgen it
allows automatic VHDL code generation.
 In opencores.org you havew a 'ofmd' project written in vhdl that you can
cehck too. There is another ofdm_modualtor project written in SystemC, but
it is not completed yet.
 Regarding the software program, SystemC could be a good alternative too.

Regards

>On Jan 12, 5:32=A0pm, spop...@speedymail.org (Steve Pope) wrote: >> konstantinos =A0<blks...@gmail.com> wrote: >> >Hi all!! >> >I'm a student and for my thesis I have to implement a flexible OFDM >> >modulator in VHDL. That means that it has to be applicable in more >> >than one systems. For example DVB and WiMAX. =A0The elements to >> >implement are the Mapper the OFDM and the Guard Interval Insertion.
As
>> >you understand the mapper part should support all the possible >> >constellations given from those two standards and the the OFDM part >> >should support all the possible operating modes. The same applies for >> >the Guard interval insertion. >> >Could anyone give me some advices on the way to do it or what kind of >> >software to use for generate =A0code? >> >> I think you probably have a pretty good idea how to proceed, but >> there is one aspect that isn't clear from your question: do you need >> a VHDL design that implements the multiple standards, or do you need >> a software program that, given some parameters, spits out VHDL for a >> given standard? >> >> Assuming the latter, and you're asking in which language you >> should implement such a software program, that's a pretty open >> question. =A0I personally would use C++, or perhaps C. =A0It's >> a small enough job it could be done in C if your C++ skills >> are not up to it -- but given the choice C++ is preferable. =A0Some >> would say do it in Perl or Python or even Matlab, but that is >> probably asking for trouble. =A0It will go much smoother in C++. >> >> A combination of C++, and shell or Perl programming would also >> work. =A0Finally, for any approach, strongly consider using make >> with the VHDL files as targets in the makefile. =A0make is a very >> useful tool which hardware designers sometimes forget to use >> properly. >> >> >What FPGA do you think is more suitable for that kind of application? >> >> Any of them, if they are large enough. =A0Whatever is available >> to you. >> >> Hope this helps. >> >> Steve > >Hi Steve and thanks for your answer. > > >What i need is the VHDL design that implements the multiple standards. >bus i would like to use a program like Xilinx Core Generator to >generate some VHDL code instead of writing it by my self. >To be more clear, i was thinking about using a program that, as you >said, given some parameters spits out VHDL for every standard or for >the components of the standard and then put them together by my self >and obtain the VHDL design that implements the multiple standards. >The problem is I can't find such a software that meets what i want. >I tried to use the Xilinx core generator but the only thing i can do >is generate code for the mapper and the FFT (not IFFT) components. >Then I must put them together implementing the interfaces and the rest >of the components by my self. that's not so simple for so many signals >and besides that i can't find any document that describes the systems >in bits level so i can unerstand better the way to do it. >Hope you understand what I'm trying to say. Unfortunately my English >is not so good, I apologize for that. > >It could be also very useful to me having a VHDL code example that >implements any of the standards, for using it to understand things >they aren't so clear to me. >somebody knows where can I find something like that? > >Thank you again > >