# 802.15.4 transmitted signal structure

**URL:** <https://www.ruby-forum.com/t/802-15-4-transmitted-signal-structure/240053>\
**Category:** GNU Radio\
**Created:** [March 25, 2014, 10:44pm UTC](https://www.ruby-forum.com/t/802-15-4-transmitted-signal-structure/240053 "2014-03-25T22:44:47Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Detlef\_R](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@Detlef\_R](https://www.ruby-forum.com/u/Detlef_R)\
**Post date:** [March 25, 2014, 10:44pm UTC](https://www.ruby-forum.com/t/802-15-4-transmitted-signal-structure/240053/1 "2014-03-25T22:44:47Z")

</div>

Hello GR,

Is there any one who has monitored the signal generated by  
transceiver.py  
related to the 802.15.4 implementation. I want to understand the meaning  
its  
structure.

I find out that it consist of a bursty transmission of a signal compound  
of  
11 to 12 msec of wide-band signal followed by a narrower 400 Khz signal  
that  
lasts around 10 msec and is 20 db stronger then the wide-band signal.

- Another unrelated point: I need to decrease at minimum the signal  
transmitted, if I choose the gain at transmission at 0 dB. Is there a  
way to  
even go beyond that:  
Does it make sense to have the “blocks.multiply\_vcc” in the  
transceiver.py  
flowgraph values between 0 and 1 ? or that have nothing to do with  
decreasing the magnitude of the signal transmitted ?

Regards,  
Ruecan

–  
View this message in context:  
[http://gnuradio.4.n7.nabble.com/802-15-4-transmitted-signal-structure-tp47199.html](http://gnuradio.4.n7.nabble.com/802-15-4-transmitted-signal-structure-tp47199.html)  
Sent from the GnuRadio mailing list archive at [Nabble.com](http://Nabble.com).

---

<div class="post-metadata">

**Author:** ![naeo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/57b2e6/32.png) [@naeo](https://www.ruby-forum.com/u/naeo)\
**Post date:** [March 26, 2014, 6:47am UTC](https://www.ruby-forum.com/t/802-15-4-transmitted-signal-structure/240053/2 "2014-03-26T06:47:20Z")

</div>

> I find out that it consist of a bursty transmission of a signal compound of  
> 11 to 12 msec of wide-band signal followed by a narrower 400 Khz signal that  
> lasts around 10 msec and is 20 db stronger then the wide-band signal.

The wideband signal is the packet. Actually, it should be terminated  
with a tx\_eob tag. Do you see any Us on you console? AFAIK, if the  
packet does not end with an tx\_eob tag you might see the oscillator as  
narrow band signal.

> - Another unrelated point: I need to decrease at minimum the signal  
> transmitted, if I choose the gain at transmission at 0 dB. Is there a way to  
> even go beyond that:  
> Does it make sense to have the “blocks.multiply\_vcc” in the transceiver.py  
> flowgraph values between 0 and 1 ?

Yes, that works.

Bastian

---

<div class="post-metadata">

**Author:** ![naeo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/57b2e6/32.png) [@naeo](https://www.ruby-forum.com/u/naeo)\
**Post date:** [March 26, 2014, 3:05pm UTC](https://www.ruby-forum.com/t/802-15-4-transmitted-signal-structure/240053/3 "2014-03-26T15:05:49Z")

</div>

Hi Bastian,

Bastian B.-2 wrote

> The wideband signal is the packet. Actually, it should be terminated with  
> a tx\_eob tag. Do you see any ‘U’s on you console? AFAIK, if the packet  
> does not end with an tx\_eob tag you might see the oscillator as narrow  
> band signal.

Yes I see 'U’s on the console. However I am not sure that the  
implementation  
contain such element (tx\_eob).  
I’ve checked the mac.cc code but did not found something referring to a  
tag  
or end of burst.

May be that’s why I may see that narrow band signal. If may  
understanding is  
correct that should be fixed right and I should add such tag in the  
packet  
structure.

Bastian B.-2 wrote

> > Does it make sense to have the “blocks.multiply\_vcc” in the  
> > transceiver.py  
> > flowgraph values between 0 and 1 ?
> 
> Yes, that works.

But If for example I try to use 0.5 as value (blocks.multiply\_vcc(0.5))  
I  
got this error:  
TypeError: in method ‘multiply\_cc\_make’, argument 1 of type ‘size\_t’

Ruecan

–  
View this message in context:  
[http://gnuradio.4.n7.nabble.com/802-15-4-transmitted-signal-structure-tp47199p47223.html](http://gnuradio.4.n7.nabble.com/802-15-4-transmitted-signal-structure-tp47199p47223.html)  
Sent from the GnuRadio mailing list archive at [Nabble.com](http://Nabble.com).

---

<div class="post-metadata">

**Author:** ![naeo](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/57b2e6/32.png) [@naeo](https://www.ruby-forum.com/u/naeo)\
**Post date:** [March 26, 2014, 3:25pm UTC](https://www.ruby-forum.com/t/802-15-4-transmitted-signal-structure/240053/4 "2014-03-26T15:25:09Z")

</div>

> May be that’s why I may see that narrow band signal. If may understanding is  
> correct that should be fixed right and I should add such tag in the packet  
> structure.

You have to open the PHY block. The pdu\_to\_tagged\_stream block inserts a  
pdu\_length tag. Later the burst\_tagger block inserts tx\_sob and tx\_eob  
tags based on the pdu\_length tag. You can use the tag\_debug block to see  
where things go wrong. Also check the tag names in the blocks parameter.

> But If for example I try to use 0.5 as value (blocks.multiply\_vcc(0.5)) I  
> got this error:  
> TypeError: in method ‘multiply\_cc\_make’, argument 1 of type ‘size\_t’

I think you want something like  
blocks.multiply\_const\_vcc((.5,))
