140 likes | 261 Views
Error Correcting Decoder. Gergely Czuczy <phoemix@harmless.hu>. Codetable. τ '’. HNN. c’. τ. c. Codetable. BSC(p). c. τ. v. c. τ. Codetable. τ '’. Hammin. c’. τ. c. The Problem. The solution. GUI design using the FOX-toolkit Object-Oriented program design with C++
E N D
Error Correcting Decoder Gergely Czuczy <phoemix@harmless.hu>
Codetable τ'’ HNN c’ τ c Codetable BSC(p) c τ v c τ Codetable τ'’ Hammin c’ τ c The Problem
The solution • GUI design using the FOX-toolkit • Object-Oriented program design with C++ • Object-Oriented representation of problems • Graphical representation of the simulation statistics
Implementation - Solutions • Representation of information, the messages, words, codewords and sentences • Symbols: binary values, 0 and 1 • Words: vector of symbols(01001) • Sentences: some words (010,101,011)
Implementation - Codetable • Two modes: numeric and alphanumeric • Numeric mode: word length: 3, 8 words, numbers from 0 to 7 • Alphanumeric: word length: 6, 64 words, lower and uppercase letters, numbers, spaces and dots.
Implementation - Codewords • Two algorithms: exhaustive search and post-verified random vector generation • Exhaustive search: Searches for the best codewords, very good product, poor efficiency • Random vector: Randomly generate codewords and verify they quality, mostly good product, fast enough
Implementation - BSC • The Binary Symmetric Channel is the source of the error • The error rate is “p” • Implemented using a pseudo-random number generator
Implementation – Error Decoding • The BSC damages our information, so we need to correct it • Two error correcting algorithms implemented, the Hamming-detector and an associative Hopfield Nerual Network
Implementation - Hamming • Implemented as defined • Slow, but accurate
Implementation - HNN • Learning algorithm: Heb’s learning rule • Detection: using the sequential indexing rule • Fast detection, but sometimes misses • Slow learning