Private:leung

From NMSL
Revision as of 13:42, 17 May 2010 by Gal3 (talk | contribs)

Summary of accomplishments by Gordon Leung.


17 May 2010

  • Learning C++
  • Learning Unix
  • Compiled FEC library on Linux. It does not work on Windows. Also, you must disable compiler optimization.
  • Complied C++ code that uses the library to encode and decode random data stored in memory.

The library encodes and decodes an MPE-FEC frame one row at a time.

Test cases without padding:

  • Introduced 0, 16, 32, 33, 38 continuous errors in each row of the App Data table => Worked as expected.
  • Introduced 16, 32, 33, 38 errors spaced apart from each other in a App Data table row => Worked as expected.
  • Introduced 0, 16, 32, 33, 38 continuous errors in each row of the RS table => Worked as expected.
  • Introduced 16, 32, 33, 38 errors spaced apart from each other in a RS table row => Worked as expected.
  • Introduced 16,17 continuous errors in both the App Data table and RS table => Worked as expected.
  • Introduced 16,17 errors spread apart in both the App Data table and RS table => Worked as expected.

All of these test cases point to the fact that the current number of max errors fixable in a block of data is 32 regardless of where the errors occur in the block. With CRC, it should be possible to correct up to 64 errors. I don't know whether CRC is implemented in the system.

The library handles padding slightly differently than the Standard Specification. The library assumes the padding columns are on the leftmost of the App Data table whereas the Standard assumes the padding columns are on the rightmost of the App Data table. The library's padding parameter seems to work as expected.

Test cases with padding:

  • Introduced 1 padding column with 32 and 33 continuous errors in App Data table => Worked as expected
  • Introduced 32 padding columns with 64 and 65 continuous errors in App Data table => Worked as expected

Basically, the padding columns are ignored and marked as reliable. The max number of correctable errors per block still stands at 32.

Next Steps: Test with some text file. Need function to write data into the MPE-FEC frame.