# OFDM mod/demod test code

**URL:** <https://www.ruby-forum.com/t/ofdm-mod-demod-test-code/203624>\
**Category:** GNU Radio\
**Created:** [February 24, 2011, 1:07am UTC](https://www.ruby-forum.com/t/ofdm-mod-demod-test-code/203624 "2011-02-24T01:07:15Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![dubstep](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/cdc98d/32.png) [@dubstep](https://www.ruby-forum.com/u/dubstep)\
**Post date:** [February 24, 2011, 1:07am UTC](https://www.ruby-forum.com/t/ofdm-mod-demod-test-code/203624/1 "2011-02-24T01:07:15Z")

</div>

A lot of people seem to have problem with the OFDM receiver in gnuradio.  
Since there’s no confirmation of a working _2-way_ communication using  
OFDM  
yet, I’ve decided to dig into the OFDM receiver implementation. I want  
to  
test the performance of the OFDM synchronization block. To do that,  
first I  
want to isolate the ofdm\_sync block and make sure the rest of the chain  
works.

I found that there is a test file for OFDM mod and demod, named  
ofdm\_mod\_demod\_test.py, without invoking OFDM synchronization, FFT,  
preamble  
and cyclic. However, that code is outdated and not applicable for the  
current implementation.

I’m trying to generate similar test code for the current version of OFDM  
mod  
and demod but there seems to be no straight-forward way. It used to be  
that  
we can hook the ofdm\_mapper straight into an ofdm\_frame\_sink. It’s no  
long  
the case as the frame\_sink now requires a 2nd input, which is a stream  
of  
bytes signaling the beginning of a symbol. This input is provided by  
ofdm\_frame\_acquisition, which in turn requires the signaling from the  
ofdm\_sampler. The ofdm\_sampler gets the signaling from the ofdm\_sync  
x\_x.

Long story short, I haven’t found a way to test the system while  
bypassing  
the ofdm\_sync block yet. Can anyone give me some suggestion?

Thanks a lot,

Johnny

---

<div class="post-metadata">

**Author:** ![Tuan\_SJohnnyS\_Ta](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/ed655f/32.png) [@Tuan\_SJohnnyS\_Ta](https://www.ruby-forum.com/u/Tuan_SJohnnyS_Ta)\
**Post date:** [February 27, 2011, 10:33pm UTC](https://www.ruby-forum.com/t/ofdm-mod-demod-test-code/203624/2 "2011-02-27T22:33:39Z")

</div>

On Wed, Feb 23, 2011 at 5:41 PM, Tuan (Johnny) Ta  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)wrote:

> current implementation.  
> the ofdm\_sync block yet. Can anyone give me some suggestion?
> 
> Thanks a lot,
> 
> Johnny

Johnny,  
Try using the “fixed” version of the ofdm\_sync block found on line 96 of  
ofdm\_receiver.py. This takes information about what you expect the  
timing  
and frequency offset to be and does nothing but use that to trigger the  
follow-on components. It was made for doing exactly the kind of things  
you  
are looking at doing.

Tom

---

<div class="post-metadata">

**Author:** ![Tuan\_SJohnnyS\_Ta](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/t/ed655f/32.png) [@Tuan\_SJohnnyS\_Ta](https://www.ruby-forum.com/u/Tuan_SJohnnyS_Ta)\
**Post date:** [March 3, 2011, 5:50pm UTC](https://www.ruby-forum.com/t/ofdm-mod-demod-test-code/203624/3 "2011-03-03T17:50:18Z")

</div>

Sounds great. I’ll give it a shot and report the result later.
