# Questions

**URL:** <https://www.ruby-forum.com/t/questions/220702>\
**Category:** GNU Radio\
**Created:** [June 17, 2012, 5:26pm UTC](https://www.ruby-forum.com/t/questions/220702 "2012-06-17T17:26:55Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![aris](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/258eb7/32.png) [@aris](https://www.ruby-forum.com/u/aris)\
**Post date:** [June 17, 2012, 5:26pm UTC](https://www.ruby-forum.com/t/questions/220702/1 "2012-06-17T17:26:55Z")

</div>

Hi all , i have some questions :

In " ./gr-digital/python/ofdm\_packet\_utils.py " file :

1- in pkt\_dt = ’ ’ . join ((payload\_with\_crc ,’\x55’))  
What is ‘\x55’ representing to , i found it “U” in ASCII . Why U  
specifically ? and why we concatenate it with payload\_with\_crc ?

2- How “random\_mask\_tuple” is generated through the 15-bit Linear  
Feedback Shift Register (LFSR) .  
Are they random ? if yes , why are they of length 8 bits (maximum  
number  
255 ) instead of 15 bits ?!

3- Pad for USRP , It is for USRP to pad zeros to reach a length of  
512  
Bytes (or its multiples) to send across the USB ! . Now , what about  
USRP  
2 ?! and the process across the Ethernet , in other wards , am i forced  
to  
make " Pad for USRP =True " while using USRP2 ?!

Thanks in-advance  
Amr ,

---

<div class="post-metadata">

**Author:** ![Amr\_Youssef](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/5e9695/32.png) [@Amr\_Youssef](https://www.ruby-forum.com/u/Amr_Youssef)\
**Post date:** [June 17, 2012, 7:58pm UTC](https://www.ruby-forum.com/t/questions/220702/2 "2012-06-17T19:58:13Z")

</div>

On 06/17/2012 08:25 AM, Amr Youssef wrote:

> Hi all , i have some questions :
> 
> In " ./gr-digital/python/ofdm\_packet\_utils.py " file :
> 
> 1- in pkt\_dt = ’ ’ . join ((payload\_with\_crc ,‘\x55’))  
> What is ‘\x55’ representing to , i found it “U” in ASCII . Why U  
> specifically ? and why we concatenate it with payload\_with\_crc ?

Well 0x55 is 0b1010101. So perhaps 0x55 is a sentinel to identify the  
end of payload. Also since the bits keep changing that probably has some  
desirable property… “take everything with a grain of salt”.

> 2- How “random\_mask\_tuple” is generated through the 15-bit Linear  
> Feedback Shift Register (LFSR) .  
> Are they random ? if yes , why are they of length 8 bits (maximum number  
> 255 ) instead of 15 bits ?!

They are psudo-random. Everything is in bytes and all of these examples  
operate on byte streams. And well, a 15 element lfsr can generate random  
8 bit data just fine.

> 3- Pad for USRP , It is for USRP to pad zeros to reach a length of 512  
> Bytes (or its multiples) to send across the USB ! . Now , what about USRP  
> 2 ?! and the process across the Ethernet , in other wards , am i forced to  
> make " Pad for USRP =True " while using USRP2 ?!

For USRP1, the host holds onto byte remainder and only flushes out  
multiple of 512 bytes. This is not necessary for newer USRP, or, if you  
specify the EOB tag, even the USRP1 will flush its output.

-josh
