Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/najwer23/bch-code-js
Reed–Solomon error correction(BCH) (encoder, decoder)
https://github.com/najwer23/bch-code-js
bch reed-solomon
Last synced: 7 days ago
JSON representation
Reed–Solomon error correction(BCH) (encoder, decoder)
- Host: GitHub
- URL: https://github.com/najwer23/bch-code-js
- Owner: najwer23
- Created: 2021-09-23T17:38:24.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-10-09T21:35:18.000Z (about 3 years ago)
- Last Synced: 2024-11-07T07:51:01.273Z (about 2 months ago)
- Topics: bch, reed-solomon
- Language: JavaScript
- Homepage: https://najwer23.github.io/bch-code-js/
- Size: 54.7 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Reed–Solomon error correction(BCH) (encoder, decoder)
# Intruduction
Reed–Solomon codes are a group of error-correcting codes that were introduced by Irving S. Reed and Gustave Solomon in 1960. They have many applications, the most prominent of which include consumer technologies such as MiniDiscs, CDs, DVDs, Blu-ray discs, QR codes, data transmission technologies such as DSL and WiMAX, broadcast systems such as satellite communications, DVB and ATSC, storage systems such as RAID 6, coding schemes used by NASA missions.# Used algorithms
- Binary Gauss-Jordan Elimination
- Gauss-Jordan Elimination Polynomials in Galois field
- Detrminant of Matrix n x n
- Transpose Matrix
- Zech's logarithm
- Adding polynomials
- Multiplication polynomials
- Dividing polynomials
- Peterson–Gorenstein–Zierler decoder
- Chien search
- Cryptographic PRNGs (finding primitive polynomials)# Instalation
```
yarn install
yarn start
```# Encoder
- Finding primitive polynomial
- Finding elements of finite field
- Finding minimals polynomials
- Generator polynomial G(x)
- Encoding
- (m(x) * x^n-k) / G(x) then take Remainder R(x)
- x^n-k + R(x)# Decoder
- Syndorm -> (x^n-k + R(x)) / R(x)
- if Syndrom == 0 then end;
- if Syndrom != 0 then:
- make Matrix of Syndorms S
- calculate determinat then det(S)
- loop if det(S) == 0 then decrease matrix rank abot 1 end;
- if (det(S) != 0) then find result of equation
- Result of equations are coefficients of Lambda Function
- Find Roots of Lambda functions
- (Roots)^-1 are positions of wrong bit in code