IV - Extra » History » Version 15

COLIN, Tony, 12/16/2015 05:16 PM

1 3 COLIN, Tony
h1. IV - Extra
2 2 COLIN, Tony
3 7 COLIN, Tony
{{>toc}}
4 7 COLIN, Tony
5 8 COLIN, Tony
h2. 1. CubeSat performances.
6 1 COLIN, Tony
7 5 COLIN, Tony
h3. 1.1 Measurement of encoding/decoding time.
8 5 COLIN, Tony
9 9 COLIN, Tony
h4. 1.1.1 In simulation.
10 9 COLIN, Tony
11 14 COLIN, Tony
The following program measures the time taken by the device 16-bit dsPIC33FJ256GP710 in order to perform the encoding process, the decoding process and the whole encoder/decoder RS process.
12 12 DUHAUTOIS, Brice
13 14 COLIN, Tony
The function clock() returns the number of clock ticks elapsed since the program was launched. Thus, the calling of clock just before and after the encoding process or the decoding process reveals the number of clock ticks elapsed during their execution. Thereafter, the value of the variable  CLOCKS_PER_SEC, combined with the results of the previous functions, gives the time elapsed during the execution of encoding and decoding process.
14 12 DUHAUTOIS, Brice
15 14 COLIN, Tony
The following hypothesis is assumed : _POSIX requires that CLOCKS_PER_SEC equals 1000000 independent of the actual resolution._
16 4 COLIN, Tony
17 4 COLIN, Tony
p=. !Clock1.png!
18 4 COLIN, Tony
*1000 ticks per milliseconds*
19 4 COLIN, Tony
20 4 COLIN, Tony
p=. !Clock2.png!
21 4 COLIN, Tony
*Time measurement of data encoding*
22 4 COLIN, Tony
23 1 COLIN, Tony
p=. !Clock3.png!
24 1 COLIN, Tony
*Printing clock data*
25 4 COLIN, Tony
26 14 COLIN, Tony
Thereby, a chart with the 3 curves illustrating the information word length [byte] as a function of the execution time [ms]. It highlights the linear behavior of the execution time, which is demonstrated afterwards. The simulation has been launched without intruducing error in the message, so we could reckon that the more errors there are, the shaper the slope of the decoding execution time would be.
27 14 COLIN, Tony
28 4 COLIN, Tony
p=. !Time_RS_resized.PNG!
29 1 COLIN, Tony
*Chart of Reed Solomon time measurement*
30 9 COLIN, Tony
31 4 COLIN, Tony
h4. 1.1.2 With Floating-Point OPeration (FLOP)
32 4 COLIN, Tony
33 4 COLIN, Tony
p=. !FLOPs2.png!
34 4 COLIN, Tony
35 1 COLIN, Tony
Hence, encoding stands for *O(nbytes x NPAR)* with _nbytes_ is the codeword length, _NPAR_ the number of parity bits.
36 1 COLIN, Tony
Since it is a systematic code _nbytes = information_word_length + NPAR_ encoding stands for *O(information_word_length)* with NPAR constant.
37 9 COLIN, Tony
38 9 COLIN, Tony
Note that a more accurate way would be to consider processor speed and Salvo function OSGetTiks :
39 10 COLIN, Tony
p=. !OSGetTiks.PNG!
40 5 COLIN, Tony
41 5 COLIN, Tony
h3. 1.2 Busy memory on CubeSat.
42 5 COLIN, Tony
43 13 COLIN, Tony
The dsPIC33F data width is 16 bits. All internal registers and data space memory are organized as 16 bits wide. The dsPIC33F features two data spaces. The data spaces can be accessed separately (for some Digital Signal Processing (DSP) instructions), or together as one 64-Kbyte linear address range (for microcontroller (MCU) instructions).
44 13 COLIN, Tony
45 15 COLIN, Tony
p=. !Memory2.png!
46 15 COLIN, Tony
*Before RS integration*
47 15 COLIN, Tony
48 5 COLIN, Tony
p=. !Memory.png!
49 15 COLIN, Tony
*After RS integration*
50 15 COLIN, Tony
51 15 COLIN, Tony
Memory comparison :
52 15 COLIN, Tony
* Data : 6% to 15% - Space for the storage of variables
53 15 COLIN, Tony
* Program : 13% to 16% - Storage of the application
54 13 COLIN, Tony
55 13 COLIN, Tony
More information about memory management for the dsPIC33F "Data Memory Manual":http://ww1.microchip.com/downloads/en/DeviceDoc/70202C.pdf
56 5 COLIN, Tony
57 5 COLIN, Tony
---
58 1 COLIN, Tony
59 7 COLIN, Tony
h2. 2. Current topics.
60 6 COLIN, Tony
61 6 COLIN, Tony
For the purpose of reliability for Land Mobile Satellite (LMS) channel, a solution is discussed about error correcting code on the Transport layer [1]. Regarding new trends of erasure codes related to satellites [2], an efficient way to perform encoding over LMS channel is to consider _Non-Binary codes_ such as Reed-Solomon code (studied in [[III - Advanced Project]] chapter) or Non-Binary LDPC code (which is highly complex to implement). The Non-Binary characteristic would be to consider a whole packet or a sliced packet as a symbol in order to decrease the error probability of packets. 
62 11 COLIN, Tony
A possible continuity to this project could be to integrate the OpenFEC code available on "OpenFEC - Downloads":http://openfec.org/downloads.html in the CubeSat Kit. This would be easily done by following chapter [[II - Tutorial - Simple project on CubeSat Kit|II - Tutorial]] and [[III - Advanced Project|III - Advanced Project]] that could be a integration pattern for any CubeSat project.
63 6 COLIN, Tony
64 1 COLIN, Tony
Research papers proposed on IEEE Website :
65 6 COLIN, Tony
[1] "Transport layer coding for the land mobile satellite channel":http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=1391458&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D1391458
66 6 COLIN, Tony
[2] "Erasure Codes for Space Communications: Recent Findings and New Challenges":http://ieeexplore.ieee.org/xpl/login.jsp?tp=&arnumber=6333092&url=http%3A%2F%2Fieeexplore.ieee.org%2Fxpls%2Fabs_all.jsp%3Farnumber%3D6333092
67 6 COLIN, Tony
68 6 COLIN, Tony
---