Re: [Discuss-gnuradio] Contribution: ofdm system
Hello all, Our team also implemented a MIMO-OFDM platform in the past few months. The system parameters are like LTE. But it is not fully in GNU Radio framework, so it's not suitable to be imported. One paper introducing this platform will be published in SDR07 Tech Conference. Unfortunately I cannot go to attend this conference. :( Otherwise maybe I could meet Eric or Ettus to thank you for such good USRP and GNU RADIO. Best wishes HUANG Lin 2007/10/19, Dominik Auras <[EMAIL PROTECTED]>: > > Hello, > > In the last months, we have developed an ofdm system using your gnuradio > architecture as part of a research on dynamic resource allocation. Now we > like to contribute parts of our code to the gnuradio project. We think > that > it will be useful to you since it partially employs more advanced > techniques > than in your example. If you like it, I suggest to add it as an > alternative > ofdm system. > > We are using this system on USRPs at revision 4 with daughterboards > RFX2400. > It is tested, stable and has a good performance in BER and SNR. All > hierarchical blocks are using the new style blocks. > > Here are some facts about the receiver and transmitter: > > - preamble based timing synchronization > The modified Schmidl & Cox algorithm is used to position the sampling > window > at the first preamble. Only coarse timing synchronization is done. > > - preamble based frequency offset synchronization > Before FFT, the frequency offset, divided into a fractional part and an > integer part, will be estimated based on the S&C preamble (also used for > timing sync) and a second preamble. Therefore both fine and coarse > frequency > offset estimation is performed. > > - preamble based channel estimation > The second preamble, used for frequency offset estimation, will be > exploited > to give an estimate of the current channel state. The fine timing > synchronization is absorbed into the channel transfer function (as phase > rotation), i.e. compensated for at this place. > > - pilot tone based sampling frequency offset estimation > We insert 8 pilot tones (or subcarriers) to ofdm data blocks. The sampling > frequency offset (as phase rotation) and the residual carrier frequency > offset is estimated and compensated for. Without SFO compensation, we > observed a severe drop of SNIR using the USRPs, especially between two > different charges we bought. The current algorithm acquires and tracks the > SFO and RCFO within an ofdm frame. > > - flexible channel estimator > The estimator block can easily use several ofdm blocks to estimate the > channel transfer function. It will output both the inverse ctf to be fed > to > the equalizer and the ctf. It uses a simple zero-forcing criteria. The > known > blocks' positions within the ofdm frame can be freely chosen. For example, > we used a midamble in our experiments to mitigate some special problems. > > - flexible mapper/demapper > We created a new ofdm mapper/demapper that allows to assign different > signal > constellations on different subcarriers. This can be either static or > dynamically changed. > > Please let me know if you want to have more details. > > If you accept our contribution, I will port the system to use your packet > utils and to have it behave like your systems. Please note that the system > has a modular design and uses simple gnuradio blocks if possible and > useful. > > Additionally, I personally want to thank you for your great work at the > gnuradio project. It is definitely one of the best SDR environments. > > Greetings, > Dominik Auras > > Chair of Theoretical Information Technology > RWTH Aachen University > http://www.ti.rwth-aachen.de > > > ___ > Discuss-gnuradio mailing list > Discuss-gnuradio@gnu.org > http://lists.gnu.org/mailman/listinfo/discuss-gnuradio > ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Contribution: ofdm system
Dominik Auras wrote: > No, it is not published. And I have got the permission to publish parts of > the code. I.e. if you want to see the code, I will need to move the needed > parts into a new project/makefile structure. As we don't use your normal > packet transmission scheme (ofdm mod/demod in python etc.), I also need to > put the code into that framework. > > So, as you say that there is chance that you will accept it, I will start to > move the code. It will take me some time, since I am going to do this after > work and studies. Understood, and thanks again. > | All of the host code in GNU Radio is copyrighted by FSF, so > | if we do incorporate it, there is a copyright assignment > | process you'll have to go through. > I think this will be possible. > > Any preferences for the system? Should it use a similar framework as your > ofdm example? Directory outside the gnuradio tree, or inside the > gnuradio-examples directory? For now, if you can create a module tree in the format of the "howto-write-a-block" code, that will make it easiest for us to compile and evaluate. This module allows you to create C++ blocks, Python hierarchical blocks, generic Python helper code, executable python scripts, and QA code, in one convenient build tree. Each of those can then be installed into all the right system locations to appear as part of the GNU Radio framework. (Let me know offline if you want help doing this.) This will also let you maintain whatever existing partition you've made between the modulator, packetizer, etc., and not force you to re-implement that in our packet framework. Once we get a chance to look at it, we can see how we might use it as-is or refactor it to fit in with the way things are done currently. Or, perhaps you're doing some things a better way and we'll change our stuff to match. Regarding licensing, the best way to do it is to initially publish this separate module tree under your own copyright with the GPLv3 license for everything. That way everyone here on the list can evaluate it and comment. If we decide to incorporate it into GNU Radio, then we can do the copyright assignment paperwork, etc. -- Johnathan Corgan Corgan Enterprises LLC http://corganenterprises.com ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Contribution: ofdm system
Hi, | Is it published anywhere else? No, it is not published. And I have got the permission to publish parts of the code. I.e. if you want to see the code, I will need to move the needed parts into a new project/makefile structure. As we don't use your normal packet transmission scheme (ofdm mod/demod in python etc.), I also need to put the code into that framework. So, as you say that there is chance that you will accept it, I will start to move the code. It will take me some time, since I am going to do this after work and studies. | All of the host code in GNU Radio is copyrighted by FSF, so | if we do incorporate it, there is a copyright assignment | process you'll have to go through. I think this will be possible. Any preferences for the system? Should it use a similar framework as your ofdm example? Directory outside the gnuradio tree, or inside the gnuradio-examples directory? Greetings, Dominik ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
Re: [Discuss-gnuradio] Contribution: ofdm system
Dominik Auras wrote: > In the last months, we have developed an ofdm system using your gnuradio > architecture as part of a research on dynamic resource allocation. Now we > like to contribute parts of our code to the gnuradio project. We think that > it will be useful to you since it partially employs more advanced techniques > than in your example. If you like it, I suggest to add it as an alternative > ofdm system. Dominik- You may have already heard privately from Eric, but yes, we'd like to see your code for review and possible incorporation into the project. Is it published anywhere else? All of the host code in GNU Radio is copyrighted by FSF, so if we do incorporate it, there is a copyright assignment process you'll have to go through. Thanks for offering it. While we already have an in-progress OFDM implementation, having multiple options is good, and it may even be possible to merge implementations. -- Johnathan Corgan Corgan Enterprises LLC http://corganenterprises.com ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio
[Discuss-gnuradio] Contribution: ofdm system
Hello, In the last months, we have developed an ofdm system using your gnuradio architecture as part of a research on dynamic resource allocation. Now we like to contribute parts of our code to the gnuradio project. We think that it will be useful to you since it partially employs more advanced techniques than in your example. If you like it, I suggest to add it as an alternative ofdm system. We are using this system on USRPs at revision 4 with daughterboards RFX2400. It is tested, stable and has a good performance in BER and SNR. All hierarchical blocks are using the new style blocks. Here are some facts about the receiver and transmitter: - preamble based timing synchronization The modified Schmidl & Cox algorithm is used to position the sampling window at the first preamble. Only coarse timing synchronization is done. - preamble based frequency offset synchronization Before FFT, the frequency offset, divided into a fractional part and an integer part, will be estimated based on the S&C preamble (also used for timing sync) and a second preamble. Therefore both fine and coarse frequency offset estimation is performed. - preamble based channel estimation The second preamble, used for frequency offset estimation, will be exploited to give an estimate of the current channel state. The fine timing synchronization is absorbed into the channel transfer function (as phase rotation), i.e. compensated for at this place. - pilot tone based sampling frequency offset estimation We insert 8 pilot tones (or subcarriers) to ofdm data blocks. The sampling frequency offset (as phase rotation) and the residual carrier frequency offset is estimated and compensated for. Without SFO compensation, we observed a severe drop of SNIR using the USRPs, especially between two different charges we bought. The current algorithm acquires and tracks the SFO and RCFO within an ofdm frame. - flexible channel estimator The estimator block can easily use several ofdm blocks to estimate the channel transfer function. It will output both the inverse ctf to be fed to the equalizer and the ctf. It uses a simple zero-forcing criteria. The known blocks' positions within the ofdm frame can be freely chosen. For example, we used a midamble in our experiments to mitigate some special problems. - flexible mapper/demapper We created a new ofdm mapper/demapper that allows to assign different signal constellations on different subcarriers. This can be either static or dynamically changed. Please let me know if you want to have more details. If you accept our contribution, I will port the system to use your packet utils and to have it behave like your systems. Please note that the system has a modular design and uses simple gnuradio blocks if possible and useful. Additionally, I personally want to thank you for your great work at the gnuradio project. It is definitely one of the best SDR environments. Greetings, Dominik Auras Chair of Theoretical Information Technology RWTH Aachen University http://www.ti.rwth-aachen.de ___ Discuss-gnuradio mailing list Discuss-gnuradio@gnu.org http://lists.gnu.org/mailman/listinfo/discuss-gnuradio