-
Notifications
You must be signed in to change notification settings - Fork 86
/
changelog.txt
41 lines (37 loc) · 2.29 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
Newer updates since 2015: see github commits history.
Modification notes by lrq3000 07/2015:
- more precomputing (generator polynomial(s), log of generator polynomial, etc.)
- faster encoding (particularly with PyPy and Cython)
- more, more and more comments
- reordered the code a bit and separated it into 4 sections for cleaner overview.
- renamed variables for more understable code (closer to the academic books nomenclatura).
- added a few gf and poly functions like gf_poly_div to complete the set of possible actions (in case someone wants to extend the lib in the future).
- everything is a bytearray now, for faster computation
- xrange() for faster computation in Python 2, but reverts automatically to range() with Python 3
- added public rs_check() function to check if a message with ecc is tampered.
- added a fast cython implementation (about 2x faster than pure-python run with PyPy 2.5)
- (hopefully) fixed the decoding so that decoding under the bound 2*e+v <= (n-k) is always guaranted
- implemented more RS parameters so that it is now a universal Reed-Solomon codec.
Modification notes by rotorgit 2015-07-03:
- added test unit
- compatibility with Python 3+
Modification notes by rotorgit 2015-02-03:
- made the following changes to reedsolo by Tomer Filiba (TF) in order
to support ADSB UAT FEC standard as specified in:
http://adsb.tc.faa.gov/WG5_Meetings/Meeting27/UAT-DO-282B-FRAC.pdf
- TF code is based on wikiversity RS code, so the mods are applicable there
as well
- there were two changes needed to support ADSB UAT FEC decoding:
1. non-zero "first consecutive root" (fcr): implicitly hard-coded as
fcr=0 in previous version, needed fcr=120 for ADSB UAT
2. "primitive polynomial": hard-coded as 0x11d in previous version,
needed 0x187 for ADSB UAT
- both above params were hard-coded and are now user-definable (during
class instantiation), with defaults equal to old values to
prevent breakage of existing code
- there are many online resources for rs, but the best (most practical)
for me was:
http://downloads.bbc.co.uk/rd/pubs/whp/whp-pdf-files/WHP031.pdf
- as noted above, the wikiversity discussion and examples ignore/skip
the critical features that must be modified for ADSB UAT support
Modifications notes by tomerfiliba 07/06/2012: Initial release.