# Successful transmission in gr-ieee802-11 with adding extra samples (before OFDM preamble)

**URL:** <https://www.ruby-forum.com/t/successful-transmission-in-gr-ieee802-11-with-adding-extra-samples-before-ofdm-preamble/233264>\
**Category:** GNU Radio\
**Created:** [November 29, 2014, 7:02am UTC](https://www.ruby-forum.com/t/successful-transmission-in-gr-ieee802-11-with-adding-extra-samples-before-ofdm-preamble/233264 "2014-11-29T07:02:51Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![addis\_a](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/c4cdca/32.png) [@addis\_a](https://www.ruby-forum.com/u/addis_a)\
**Post date:** [November 29, 2014, 7:02am UTC](https://www.ruby-forum.com/t/successful-transmission-in-gr-ieee802-11-with-adding-extra-samples-before-ofdm-preamble/233264/1 "2014-11-29T07:02:51Z")

</div>

Hi,  
I am using gr-ieee-802-11 and putting a custom block, which is  
responsible  
for adding a 90-sample preamble at the head of incoming sample stream,  
right after the output of WiFi PHY Hier, as attached figure,  
generator.png.  
So the sample stream is changed as attached figure, adding\_preamble.png.

However, in the case of use of transceiver.grc, I can still successfully  
decode received data, which is keep printing out “Hello World!”.

Does anyone know why adding extra samples at the head of transmission  
samples does not affect the receiving results? Does it because somewhere  
in  
Rx side detect the OFDM preamble so the payload can be normally  
processed  
without being affecting by the extra samples placed before OFDM  
preamble?

Thanks.

_Best Regards,Isen I-Chun Chao_

---

<div class="post-metadata">

**Author:** ![Isen\_I-Chun\_Chao](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/b487fb/32.png) [@Isen\_I-Chun\_Chao](https://www.ruby-forum.com/u/Isen_I-Chun_Chao)\
**Post date:** [November 29, 2014, 12:23pm UTC](https://www.ruby-forum.com/t/successful-transmission-in-gr-ieee802-11-with-adding-extra-samples-before-ofdm-preamble/233264/2 "2014-11-29T12:23:35Z")

</div>

Hi Isen,

On 2014-11-29 07:01, Isen I-Chun Chao wrote:

> Does anyone know why adding extra samples at the head of transmission  
> samples does not affect the receiving results? Does it because somewhere  
> in Rx side detect the OFDM preamble so the payload can be normally  
> processed without being affecting by the extra samples placed before  
> OFDM preamble?

The sync long block does matched filtering with the long preamble and  
searches for peaks in a configurable window (sync length parameter).  
Looks like even if you add 90 symbols the peak that the block is looking  
for is still in the window.

Best,  
Bastian

---

<div class="post-metadata">

**Author:** ![Isen\_I-Chun\_Chao](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/b487fb/32.png) [@Isen\_I-Chun\_Chao](https://www.ruby-forum.com/u/Isen_I-Chun_Chao)\
**Post date:** [November 29, 2014, 12:24pm UTC](https://www.ruby-forum.com/t/successful-transmission-in-gr-ieee802-11-with-adding-extra-samples-before-ofdm-preamble/233264/3 "2014-11-29T12:24:11Z")

</div>

Hi Isen,

On 2014-11-29 07:01, Isen I-Chun Chao wrote:

> Hi,  
> I am using gr-ieee-802-11 and putting a custom block, which is  
> responsible for adding a 90-sample preamble at the head of incoming  
> sample stream, right after the output of WiFi PHY Hier, as attached  
> figure, generator.png. So the sample stream is changed as attached  
> figure, adding\_preamble.png.
> 
> However, in the case of use of transceiver.grc, I can still  
> successfully  
> decode received data, which is keep printing out “Hello World!”.
> 
> Does anyone know why adding extra samples at the head of transmission  
> samples does not affect the receiving results? Does it because  
> somewhere  
> in Rx side detect the OFDM preamble so the payload can be normally  
> processed without being affecting by the extra samples placed before  
> OFDM preamble?

The sync long block does matched filtering with the long preamble and  
searches for peaks in a configurable window (sync length parameter).  
Looks like even if you add 90 symbols the peak that the block is looking  
for is still in the window.

Best,  
Bastian

---

<div class="post-metadata">

**Author:** ![Isen\_I-Chun\_Chao](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/b487fb/32.png) [@Isen\_I-Chun\_Chao](https://www.ruby-forum.com/u/Isen_I-Chun_Chao)\
**Post date:** [November 29, 2014, 12:29pm UTC](https://www.ruby-forum.com/t/successful-transmission-in-gr-ieee802-11-with-adding-extra-samples-before-ofdm-preamble/233264/4 "2014-11-29T12:29:38Z")

</div>

Hi Bastian,  
Thanks for your reply.  
The peaks you mentioned is like the correlation result?

_Best Regards,Isen I-Chun Chao_

On Sat, Nov 29, 2014 at 6:21 AM, Bastian B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![Isen\_I-Chun\_Chao](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/b487fb/32.png) [@Isen\_I-Chun\_Chao](https://www.ruby-forum.com/u/Isen_I-Chun_Chao)\
**Post date:** [November 29, 2014, 12:35pm UTC](https://www.ruby-forum.com/t/successful-transmission-in-gr-ieee802-11-with-adding-extra-samples-before-ofdm-preamble/233264/5 "2014-11-29T12:35:42Z")

</div>

Okay, I got it.

One more quick question.  
I have been pretty confused about what the sync long and sync short are,  
respectively, responsible for?

Thanks.

_Best Regards,Isen I-Chun Chao_

On Sat, Nov 29, 2014 at 6:29 AM, Bastian B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![Isen\_I-Chun\_Chao](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/b487fb/32.png) [@Isen\_I-Chun\_Chao](https://www.ruby-forum.com/u/Isen_I-Chun_Chao)\
**Post date:** [November 29, 2014, 12:30pm UTC](https://www.ruby-forum.com/t/successful-transmission-in-gr-ieee802-11-with-adding-extra-samples-before-ofdm-preamble/233264/6 "2014-11-29T12:30:15Z")

</div>

On 2014-11-29 12:28, Isen I-Chun Chao wrote:

> Hi Bastian,  
> Thanks for your reply.  
> The peaks you mentioned is like the correlation result?

Yes, exactly

> ```
> On 2014-11-29 07:01, Isen I-Chun Chao wrote:
> decode received data, which is keep printing out "Hello World!".
> 
> The sync long block does matched filtering with the long preamble
> and searches for peaks in a configurable window (sync length
> parameter). Looks like even if you add 90 symbols the peak that the
> block is looking for is still in the window.
> 
> Best,
> Bastian
> 
> ```

–  
Dipl.-Inform. Bastian B.  
Distributed Embedded Systems  
University of Paderborn, Germany

> **[Home](https://www.bastibl.net/)**
>
> I'm Bastian Bloessl, a Research Group Leader at the Secure Mobile Networking Lab, TU Darmstadt. Checkout my blog, projects, publications, and resume; or connect on Github, Twitter, YouTube, or Facebook.

---

<div class="post-metadata">

**Author:** ![Isen\_I-Chun\_Chao](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/b487fb/32.png) [@Isen\_I-Chun\_Chao](https://www.ruby-forum.com/u/Isen_I-Chun_Chao)\
**Post date:** [November 29, 2014, 12:40pm UTC](https://www.ruby-forum.com/t/successful-transmission-in-gr-ieee802-11-with-adding-extra-samples-before-ofdm-preamble/233264/7 "2014-11-29T12:40:33Z")

</div>

On 2014-11-29 12:34, Isen I-Chun Chao wrote:

> Okay, I got it.
> 
> One more quick question.  
> I have been pretty confused about what the sync long and sync short are,  
> respectively, responsible for?

Sync short is for frame detection and searches for the cyclic pattern of  
the short preamble (autocorrelation). Once a (potential) frame is  
detected, sync long correlates sync\_length samples with the long  
preamble and searches for peaks to align OFDM symbols.

> ```
> /Best Regards,
> 
> in Rx side detect the OFDM preamble so the payload can
> parameter). Looks like even if you add 90 symbols the peak
> Distributed Embedded Systems
> University of Paderborn, Germany
> http://www.ccs-labs.org/~__bloessl/ <http://www.ccs-labs.org/~bloessl/>
> 
> ```

–  
Dipl.-Inform. Bastian B.  
Distributed Embedded Systems  
University of Paderborn, Germany

> **[Home](https://www.bastibl.net/)**
>
> I'm Bastian Bloessl, a Research Group Leader at the Secure Mobile Networking Lab, TU Darmstadt. Checkout my blog, projects, publications, and resume; or connect on Github, Twitter, YouTube, or Facebook.

---

<div class="post-metadata">

**Author:** ![Isen\_I-Chun\_Chao](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/b487fb/32.png) [@Isen\_I-Chun\_Chao](https://www.ruby-forum.com/u/Isen_I-Chun_Chao)\
**Post date:** [November 29, 2014, 3:57pm UTC](https://www.ruby-forum.com/t/successful-transmission-in-gr-ieee802-11-with-adding-extra-samples-before-ofdm-preamble/233264/8 "2014-11-29T15:57:45Z")

</div>

On 2014-11-29 12:49, Isen I-Chun Chao wrote:

> The long preamble should be the 320-sample one. right?

The short preamble is 160 samples (a 16-sample pattern that repeats 10  
times) and the long preamble is 160 samples (a 64-sample pattern that  
repeats 2.5 times)

you might want to have a look at this paper for those questions

> **[Literature Database Entry - Distributed Embedded Systems](https://www.ccs-labs.org/bib/bloessl2013ofdmreceiver/)**

Best,  
Bastian

> ```
> frame is detected, sync long correlates sync_length samples with the
> <removed_email_address@domain.invalid <mailto:removed_email_address@domain.invalid>
> 
> <mailto:removed_email_address@domain.invalid> <mailto:removed_email_address@domain.invalid
> which is
> 
> samples does not affect the receiving results?
> 
> block is looking for is still in the window.
> http://www.ccs-labs.org/~ ____ bloessl/
> http://www.ccs-labs.org/~__bloessl/ <http://www.ccs-labs.org/~bloessl/>
> 
> ```

–  
Dipl.-Inform. Bastian B.  
Distributed Embedded Systems  
University of Paderborn, Germany

> **[Home](https://www.bastibl.net/)**
>
> I'm Bastian Bloessl, a Research Group Leader at the Secure Mobile Networking Lab, TU Darmstadt. Checkout my blog, projects, publications, and resume; or connect on Github, Twitter, YouTube, or Facebook.

---

<div class="post-metadata">

**Author:** ![Isen\_I-Chun\_Chao](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/i/b487fb/32.png) [@Isen\_I-Chun\_Chao](https://www.ruby-forum.com/u/Isen_I-Chun_Chao)\
**Post date:** [November 29, 2014, 12:50pm UTC](https://www.ruby-forum.com/t/successful-transmission-in-gr-ieee802-11-with-adding-extra-samples-before-ofdm-preamble/233264/9 "2014-11-29T12:50:52Z")

</div>

The long preamble should be the 320-sample one. right?

_Best Regards,Isen I-Chun Chao_

On Sat, Nov 29, 2014 at 6:39 AM, Bastian B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
