140 likes | 268 Vues
This project focuses on developing an advanced error-correcting decoder utilizing the FOXT toolkit for GUI design. Implementing object-oriented programming in C++, it addresses issues of information representation, including symbols, words, and sentences. The Binary Symmetric Channel (BSC) is analyzed with two error-correcting algorithms: the accurate Hamming detector and the fast Hopfield Neural Network (HNN). Various modes, including numeric and alphanumeric, are incorporated for codewords, employing exhaustive search and random vector generation techniques. Statistical performance measurements like bit error rate and codeword length are also evaluated.
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