create new tag
, view all tags
At the physical layer, packet radios do not inherently encapsulate, symbolise, or change the format of the data transmitted or received through it in any way – whatever data (bytes) that is passed through the packet radio is what appears on the serial port (and vice versa). On an unreliable communications channel, it is best to avoid having long sequences of zeros or ones in order to maintain clock synchronisation between the packet radios. This cannot be controlled by simply passing regular bytes to the packet radio.

Symbolisation aims to combat the issue by mapping regular bytes to predefined ‘symbols’ where their bit composition does not contain such long sequences of zeros or ones. Therefore, this process provides the most benefit when converting a complete link layer packet from bytes into ‘symbols’ for transmission right before it is to be written to the serial port. On receipt of that packet, the reverse takes place in terms of conversion from symbols to bytes. Essentially, it is physical layer emulation at the link layer.

Symbolisation iteratively works on chunks of up to 7 bytes, which are mapped to up to 8 symbols. It then adds the appropriate symbol headers (preamble, UART synchronisation and epilogue) to the symbolised packet before transmitting it (see Figure 6). Upon receiving the data, the receiving node must detect a complete receipt of the packet based on the symbolisation headers, and then de-symbolise the packet back into readable byte form. Although there is an increase in the transmitted length of the packet, and therefore slightly lowers channel efficiency and throughput, the tradeoff is that there is a substantial increase in reliability.

As symbolisation is simply physical layer emulation, it must therefore be transparent to all statistical functions working at the link layer. For example, when logging the length of the packet sent/received, the raw link layer packet length is considered, not the symbolised packet length.

As of revision 1.1, Symbolisation now takes place within the the Convergence Sub-layer of the Link Layer, and can be included with the use of the option --sym. Additionally, appropriate symbol headers, such as preamble UART synchronisation etc, are also included in the Convergence Sub-layer and can be activated using the --pro option.

-- XiaohongWu - 2012-01-18

Topic revision: r2 - 2012-01-29 - BenjaminFoo
This site is powered by the TWiki collaboration platformCopyright © 2008-2020 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback