# DSRC demodulation with gr-ieee802\_11

**URL:** <https://www.ruby-forum.com/t/dsrc-demodulation-with-gr-ieee802-11/234826>\
**Category:** GNU Radio\
**Created:** [September 22, 2014, 3:53pm UTC](https://www.ruby-forum.com/t/dsrc-demodulation-with-gr-ieee802-11/234826 "2014-09-22T15:53:03Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![alcina](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/a587f6/32.png) [@alcina](https://www.ruby-forum.com/u/alcina)\
**Post date:** [September 22, 2014, 3:53pm UTC](https://www.ruby-forum.com/t/dsrc-demodulation-with-gr-ieee802-11/234826/1 "2014-09-22T15:53:03Z")

</div>

I’m new to Gnu Radio but I’m asked to demodulate a DSRC signal and I  
don’t  
know how handle that. DSRC is used in Intelligent Vehicule Systems, it  
is  
modulated with OFDM int the 5.9Hz band and is based on the IEEE 802.11p  
standard.

On my first approach, I found some papers about the module  
gr-ieee802\_11:  
[https://archive.fosdem.org/2014/schedule/event/towards\_an\_open\_source\_ieee\_802\_11p\_stack/](https://archive.fosdem.org/2014/schedule/event/towards_an_open_source_ieee_802_11p_stack/)

> **[bloessl2013decoding.pdf](https://www.ccs-labs.org/bib/bloessl2013decoding/bloessl2013decoding.pdf)**
>
> 4.52 MB

> **[bloessl2013ofdm-tr.pdf](https://www.ccs-labs.org/bib/bloessl2013ofdm-tr/bloessl2013ofdm-tr.pdf)**
>
> 2.23 MB

I installed the module as described here:  
[GitHub - bastibl/gr-ieee802-11: IEEE 802.11 a/g/p Transceiver](https://github.com/bastibl/gr-ieee802-11) and tried to use the  
examples/wifi\_rx.grc file to start. Here begin my problem: using the  
same  
record\_source\_file, I have several results printed on my console. It’s  
seems that the module cannot detect OFDM frames.

Is there something I missed to use gr-ieee802\_11 module ?

I’m using Gnu Radio 3.7.2 with USRP N210, my record\_source\_file is  
sampled  
with 5Msps at 5.127 GHz.

Do not hesitate to ask if I missed some required information.

Thanks !

---

<div class="post-metadata">

**Author:** ![Jean-Baptiste\_Truff](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/4da419/32.png) [@Jean-Baptiste\_Truff](https://www.ruby-forum.com/u/Jean-Baptiste_Truff)\
**Post date:** [September 23, 2014, 4:17am UTC](https://www.ruby-forum.com/t/dsrc-demodulation-with-gr-ieee802-11/234826/2 "2014-09-23T04:17:22Z")

</div>

Hi,

On 09/22/2014 03:51 PM, Jean-Baptiste Truffault wrote:

> I installed the module as described here:  
> [GitHub - bastibl/gr-ieee802-11: IEEE 802.11 a/g/p Transceiver · GitHub](https://github.com/bastibl/gr-ieee802-11) and tried to use the  
> examples/wifi\_rx.grc file to start. Here begin my problem: using the  
> same record\_source\_file, I have several results printed on my console.  
> It’s seems that the module cannot detect OFDM frames.

I’m afraid you have to be a bit more verbose… What did you do? And  
what exactly went wrong?

Did you follow the steps in the readme?

> I’m using Gnu Radio 3.7.2 with USRP N210, my record\_source\_file is  
> sampled with 5Msps at 5.127 GHz.

IIRC, you need at least 3.7.3 (will add that to the readme).

Best,  
Bastian

---

<div class="post-metadata">

**Author:** ![Jean-Baptiste\_Truff](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/4da419/32.png) [@Jean-Baptiste\_Truff](https://www.ruby-forum.com/u/Jean-Baptiste_Truff)\
**Post date:** [September 24, 2014, 4:17pm UTC](https://www.ruby-forum.com/t/dsrc-demodulation-with-gr-ieee802-11/234826/3 "2014-09-24T16:17:23Z")

</div>

Sorry for the time, I had some trouble with the 3.7.3 install, finally I  
installed the 3.7.5 thanks to the script  
[http://www.sbrac.org/files/build-gnuradio](http://www.sbrac.org/files/build-gnuradio).

First, I recorded a DSRC signal thanks to Gnu Radio and my USRP N210  
(with  
a CBX daughter card): 5Msps, 5.127 GHz. I now use this file as source.  
It  
contends some DSRC exchanges that I would like to decode (I am quite  
sure  
that the record is good thanks to the shape of it, cf attached picture  
[3\_fft.png]).

My grc scheme [1\_grc1.png & 2\_grc2.png] is very similar of yours, I just  
attached it to be sure.

The problem is when I read the debug from the OFDM Decode Mac,  
at the first time I launch the script, I get something like:

80 be 44 b5 e1 71 e5 57 31 ac 58 4e 0b db b8 1f  
03 63 c7 b4 1b e5 2c 8c 76 da 20 f5 c2 e0 8e bc  
62 ad 12 37 d5 07 1a 5f e6 d4 03 a4 e7 db 1c 9c  
eb 99 1c 52 e8 83 13 06 ac 08 70 4b bf 71 0c ab  
74 52 2c fc f9 ca 05 4a 29 55 c9 c6 cb 7c f8 51  
22 60 6f 5f 64 d7 55 f9 32 f6 79 7c 61 ea 89 86  
f3 33 ea 85 43 52 12 6e b2 92 e7 3c 81 5c 49 f2  
b6 30 03 dc c4 15 f4 cd f0 a1 5a 1b c9 88 a8 94 …

the second time I launch the script, I get something completly different  
that looks like:

00 ee 2b f8 e9 7c d4 5e 93 22 e9 fc d4 1a 9e 1a  
d5 3e 03 0b 93 da 15 fe 3a 2f 53 fd c0 9c 98 a6  
9e 8f 8c 0f 30 cc f6 a6 16 46 81 54 b7 95 3a 1e  
20 36 20 b6 91 3c 20 55 ab 02 ea a4 9f e8 69 88  
97 77 c8 de 92 25 0e 18 6b e1 29 4f e6 3c 86 65  
b0 7a 61 0b 47 d6 22 38 19 4c 0b b9 fb 1b 53 83  
aa 4b d7 fe 9f 4d de 0f 8b 99 a7 de a4 09 0d d5  
1c d5 6c dc 66 bf 5f 7c dc b7 a3 fa 88 b3 c8 7b  
11 1b 04 41 1a 41 5d 51 74 ea 48 11 33 d2 d1 82 …

Those results should be the same because they come from the same record  
file…

The debug indicates that the checksum is wrong so the frame is dropped  
and  
I do not receive anything on the OFDM Parse MAC Block.

My first idea is that it comes from the OFDM frame detection because of  
the  
strange shape of it (cf [5\_autocorrelation.png]), it acts like there  
were  
always something to decode when the messages come with a burst on the  
FFT  
[3\_fft.png].

Another thing that is different from your result is the constellation  
scope  
that may have 4 clusters (instead of one on the 4\_constellation.png)

I would be very kind if you had some idea where I did something wrong !

Thanks in advance for your time and your help !

2014-09-23 4:16 GMT+02:00 Bastian B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![Jean-Baptiste\_Truff](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/4da419/32.png) [@Jean-Baptiste\_Truff](https://www.ruby-forum.com/u/Jean-Baptiste_Truff)\
**Post date:** [September 24, 2014, 5:52pm UTC](https://www.ruby-forum.com/t/dsrc-demodulation-with-gr-ieee802-11/234826/4 "2014-09-24T17:52:40Z")

</div>

On 09/24/2014 04:14 PM, Jean-Baptiste Truffault wrote:

> Sorry for the time, I had some trouble with the 3.7.3 install, finally I  
> installed the 3.7.5 thanks to the script  
> [http://www.sbrac.org/files/build-gnuradio](http://www.sbrac.org/files/build-gnuradio).
> 
> First, I recorded a DSRC signal thanks to Gnu Radio and my USRP N210  
> (with a CBX daughter card): 5Msps, 5.127 GHz. I now use this file as  
> source. It contends some DSRC exchanges that I would like to decode (I  
> am quite sure that the record is good thanks to the shape of it, cf  
> attached picture [3\_fft.png]).

I don’t think so. This does not look like a 10MHz OFDM signal…

> My grc scheme [1\_grc1.png & 2\_grc2.png] is very similar of yours, I just  
> attached it to be sure.

This looks OK.

> My first idea is that it comes from the OFDM frame detection because of  
> the strange shape of it (cf [5\_autocorrelation.png]), it acts like there  
> were always something to decode when the messages come with a burst on  
> the FFT [3\_fft.png].

The autocorrelation is always high so frame detection is triggered all  
the time. This might happen when you start the USRP source. Try to drop  
samples at startup (skip head block).

> Another thing that is different from your result is the constellation  
> scope that may have 4 clusters (instead of one on the 4\_constellation.png)

Since you are not synced on a real frame you just see noise.

Best,  
Bastian

---

<div class="post-metadata">

**Author:** ![Jean-Baptiste\_Truff](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/4da419/32.png) [@Jean-Baptiste\_Truff](https://www.ruby-forum.com/u/Jean-Baptiste_Truff)\
**Post date:** [September 25, 2014, 9:55am UTC](https://www.ruby-forum.com/t/dsrc-demodulation-with-gr-ieee802-11/234826/5 "2014-09-25T09:55:40Z")

</div>

OK, I try to record a new signal and I tell you if I get something new.

2014-09-24 17:51 GMT+02:00 Bastian B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![Jean-Baptiste\_Truff](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/4da419/32.png) [@Jean-Baptiste\_Truff](https://www.ruby-forum.com/u/Jean-Baptiste_Truff)\
**Post date:** [September 25, 2014, 11:12am UTC](https://www.ruby-forum.com/t/dsrc-demodulation-with-gr-ieee802-11/234826/6 "2014-09-25T11:12:37Z")

</div>

I see there some double used terms. Is it the European ETSI style DSRC,  
or the US WAVE style? 802.11p?

Ralph.

From: discuss-gnuradio-bounces+ralph=removed\_email\_address@domain.invalid  
[[mailto:discuss-gnuradio-bounces+ralph=removed\_email\_address@domain.invalid](mailto:discuss-gnuradio-bounces+ralph=removed_email_address@domain.invalid)] On Behalf Of  
Jean-Baptiste Truffault  
Sent: Thursday, September 25, 2014 9:54 AM  
To: Bastian B.  
Cc: removed\_email\_address@domain.invalid  
Subject: Re: [Discuss-gnuradio] DSRC demodulation with gr-ieee802\_11

OK, I try to record a new signal and I tell you if I get something new.

2014-09-24 17:51 GMT+02:00 Bastian B. \<removed\_email\_address@domain.invalid  
[mailto:removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) \>:

On 09/24/2014 04:14 PM, Jean-Baptiste Truffault wrote:

Sorry for the time, I had some trouble with the 3.7.3 install, finally I  
installed the 3.7.5 thanks to the script  
[http://www.sbrac.org/files/build-gnuradio](http://www.sbrac.org/files/build-gnuradio).

First, I recorded a DSRC signal thanks to Gnu Radio and my USRP N210  
(with a CBX daughter card): 5Msps, 5.127 GHz. I now use this file as  
source. It contends some DSRC exchanges that I would like to decode (I  
am quite sure that the record is good thanks to the shape of it, cf  
attached picture [3\_fft.png]).

I don’t think so. This does not look like a 10MHz OFDM signal…

My grc scheme [1\_grc1.png & 2\_grc2.png] is very similar of yours, I just  
attached it to be sure.

This looks OK.

My first idea is that it comes from the OFDM frame detection because of  
the strange shape of it (cf [5\_autocorrelation.png]), it acts like there  
were always something to decode when the messages come with a burst on  
the FFT [3\_fft.png].

The autocorrelation is always high so frame detection is triggered all  
the time. This might happen when you start the USRP source. Try to drop  
samples at startup (skip head block).

Another thing that is different from your result is the constellation  
scope that may have 4 clusters (instead of one on the  
4\_constellation.png)

Since you are not synced on a real frame you just see noise.

Best,  
Bastian

---

<div class="post-metadata">

**Author:** ![Jean-Baptiste\_Truff](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/4da419/32.png) [@Jean-Baptiste\_Truff](https://www.ruby-forum.com/u/Jean-Baptiste_Truff)\
**Post date:** [September 25, 2014, 3:09pm UTC](https://www.ruby-forum.com/t/dsrc-demodulation-with-gr-ieee802-11/234826/7 "2014-09-25T15:09:18Z")

</div>

Finally I’ve got something better concerning the autocorrelation, but  
it’s  
still very noisy on the constellation…  
maybe something I’m still doing wrong ?

2014-09-25 13:05 GMT+02:00 Bastian B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![Jean-Baptiste\_Truff](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/4da419/32.png) [@Jean-Baptiste\_Truff](https://www.ruby-forum.com/u/Jean-Baptiste_Truff)\
**Post date:** [September 25, 2014, 1:07pm UTC](https://www.ruby-forum.com/t/dsrc-demodulation-with-gr-ieee802-11/234826/8 "2014-09-25T13:07:22Z")

</div>

Hi Ralph,

On 25 Sep 2014, at 11:10, Ralph A. Schmid, dk5ras [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
wrote:

> I see there some double used terms. Is it the European ETSI style DSRC, or the  
> US WAVE style? 802.11p?

IEEE WAVE and ETSI ITS G5 are both based on IEEE 802.11p. The module  
implements the phy and parts of the mac, which are defined in 11p. So it  
doesnt matter what you use it for.

Best,  
Bastian

---

<div class="post-metadata">

**Author:** ![Jean-Baptiste\_Truff](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/4da419/32.png) [@Jean-Baptiste\_Truff](https://www.ruby-forum.com/u/Jean-Baptiste_Truff)\
**Post date:** [September 25, 2014, 3:48pm UTC](https://www.ruby-forum.com/t/dsrc-demodulation-with-gr-ieee802-11/234826/9 "2014-09-25T15:48:43Z")

</div>

On 25 Sep 2014, at 15:07, Jean-Baptiste Truffault  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Finally I’ve got something better concerning the autocorrelation, but it’s still  
> very noisy on the constellation…  
> maybe something I’m still doing wrong ?

Now it looks like you are just concatenating long and short preamble and  
miss the actual frame.

Best,  
Bastian

---

<div class="post-metadata">

**Author:** ![Jean-Baptiste\_Truff](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/4da419/32.png) [@Jean-Baptiste\_Truff](https://www.ruby-forum.com/u/Jean-Baptiste_Truff)\
**Post date:** [September 25, 2014, 4:00pm UTC](https://www.ruby-forum.com/t/dsrc-demodulation-with-gr-ieee802-11/234826/10 "2014-09-25T16:00:13Z")

</div>

is there a way to troubleshoot that kind of problem ?

2014-09-25 15:47 GMT+02:00 Bastian B. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

---

<div class="post-metadata">

**Author:** ![Jean-Baptiste\_Truff](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/4da419/32.png) [@Jean-Baptiste\_Truff](https://www.ruby-forum.com/u/Jean-Baptiste_Truff)\
**Post date:** [September 25, 2014, 5:22pm UTC](https://www.ruby-forum.com/t/dsrc-demodulation-with-gr-ieee802-11/234826/11 "2014-09-25T17:22:46Z")

</div>

On 25 Sep 2014, at 15:58, Jean-Baptiste Truffault  
[removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> is there a way to troubleshoot that kind of problem ?

I think you should read the readme and follow the steps in order to find  
out what works and at which step things break (for example I dont know  
if the loopback flow graph works already).

If it does not work over the air use graphical sinks and the log / debug  
options of the blocks to find out at which stage of the receiver things  
go wron

In case you still have problems you should describe your setup in  
greater detail (including how you generate your frames).

Hope it helps,  
Bastian

---

<div class="post-metadata">

**Author:** ![Jean-Baptiste\_Truff](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/j/4da419/32.png) [@Jean-Baptiste\_Truff](https://www.ruby-forum.com/u/Jean-Baptiste_Truff)\
**Post date:** [September 25, 2014, 7:57pm UTC](https://www.ruby-forum.com/t/dsrc-demodulation-with-gr-ieee802-11/234826/12 "2014-09-25T19:57:07Z")

</div>

On Thu, Sep 25, 2014 at 09:53:54AM +0200, Jean-Baptiste Truffault wrote:

> > > First, I recorded a DSRC signal thanks to Gnu Radio and my USRP N210  
> > > (with a CBX daughter card): 5Msps, 5.127 GHz.  
> > >   
> > > I don’t think so. This does not look like a 10MHz OFDM signal…

Are you trying to capture a 10 MHz wide signal at 5 Msps? That would be  
a problem.

Mike
