# Channel Estimation in benchmark OFDM Code

**URL:** <https://www.ruby-forum.com/t/channel-estimation-in-benchmark-ofdm-code/228268>\
**Category:** GNU Radio\
**Created:** [April 16, 2013, 8:23am UTC](https://www.ruby-forum.com/t/channel-estimation-in-benchmark-ofdm-code/228268 "2013-04-16T08:23:57Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Yahya\_E](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/858c86/32.png) [@Yahya\_E](https://www.ruby-forum.com/u/Yahya_E)\
**Post date:** [April 16, 2013, 8:23am UTC](https://www.ruby-forum.com/t/channel-estimation-in-benchmark-ofdm-code/228268/1 "2013-04-16T08:23:57Z")

</div>

Dear All,

Does the benchmark OFDM Code perform Channel synchronization ?  
I am moving through the code however I can’t seem to get the part where  
this is done ?

Can anyone give any pointers regarding this ?  
The number of pilots ? Estimation technique used ?

Best Regards,

---

<div class="post-metadata">

**Author:** ![Yahya\_E](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/858c86/32.png) [@Yahya\_E](https://www.ruby-forum.com/u/Yahya_E)\
**Post date:** [April 16, 2013, 9:22am UTC](https://www.ruby-forum.com/t/channel-estimation-in-benchmark-ofdm-code/228268/2 "2013-04-16T09:22:58Z")

</div>

On Tue, Apr 16, 2013 at 08:21:54AM +0200, Yahya E. wrote:

> Does the benchmark OFDM Code perform Channel synchronization ?  
> I am moving through the code however I can’t seem to get the part where this is  
> done ?
> 
> Can anyone give any pointers regarding this ?  
> The number of pilots ? Estimation technique used ?

Hi Yahya,

check out my previous email on OFDM. Also, have a look at the blocks in  
gr-digital/lib.

MB

–  
Karlsruhe Institute of Technology (KIT)  
Communications Engineering Lab (CEL)

Dipl.-Ing. Martin B.  
Research Associate

Kaiserstraße 12  
Building 05.01  
76131 Karlsruhe

Phone: +49 721 608-43790  
Fax: +49 721 608-46071  
www.cel.kit.edu

KIT – University of the State of Baden-Württemberg and  
National Laboratory of the Helmholtz Association

---

<div class="post-metadata">

**Author:** ![Yahya\_E](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/y/858c86/32.png) [@Yahya\_E](https://www.ruby-forum.com/u/Yahya_E)\
**Post date:** [April 17, 2013, 2:37pm UTC](https://www.ruby-forum.com/t/channel-estimation-in-benchmark-ofdm-code/228268/3 "2013-04-17T14:37:45Z")

</div>

Since you mentioned this, the code in gr-digital performs channel  
estimation base on known pilots. It is in the  
./gr-digital/lib/digital\_ofdm\_frame\_acquisition.cc

Channel estimation is based on preamble which contains known pilots each  
second carrier. Therefore the unknown carrier channel estimation is  
calculated by linear interpolation between the adjacent values.  
But before that, the module does a coarse frequency estimation in  
frequency domain, by shifting the freq domain so that the correlation of  
the known pilots with the received signal after FFT is maximum. The  
result will be a number of FFT bins to shift the signal with.

I was looking at this before and one question was always unanswered in  
my mind: why the factor  
gr\_expj(-M\_TWOPI_freq\_delta_d\_cplen/d\_fft\_length\*symbol\_count) is used  
for frequency correction, after finding out the frequency offset? I’m  
especially interested in the role of cp\_len in this.

Thanks,  
Bogdan

* * *

From: Yahya E. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
To: discuss-gnuradio [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
Sent: Tuesday, April 16, 2013 9:21 AM  
Subject: [Discuss-gnuradio] Channel Estimation in benchmark OFDM Code

Dear All,

Does the benchmark OFDM Code perform Channel synchronization ?  
I am moving through the code however I can’t seem to get the part where  
this is done ?

Can anyone give any pointers regarding this ?  
The number of pilots ? Estimation technique used ?

## Best Regards,

Yahya E.
