Error Correcting Codes 2c: Linear Codes - Parity-Check Matrix

preview_player
Показать описание
Рекомендации по теме
Комментарии
Автор

You have saved me so much work trying to decipher my supervisor's notes.

jacobianmigoto
Автор

This videos playlist should be a mandatory watch for information & coding theory students to really understand the practicalities of the theory

sandeep
Автор

Parity Check Matrix (H) - 0:30
Syndrome Vector - 3:00
Getting d from H - 5:26
General Hamming Code - 8:00
Generator Matrix for Parity Matrix- 10:22
(n, k) code - 11:00
(n, k, d) code - 11:05

prajwolgyawali
Автор

It seems like you've mentioned a topic related to Error Correcting Codes, specifically Linear Codes and Parity-Check Matrices. To help clarify the stages involved in deciding problems related to this topic, I'll break it down into simpler terms.

1. Understanding Linear Codes: Linear codes are a type of error-correcting codes that are generated by a linear combination of a set of codewords. These codes have a structure that makes them amenable to efficient encoding and decoding techniques.

2. Parity-Check Matrix: A parity-check matrix is a fundamental tool in the study of linear codes. It is an n x m matrix, where n is the block length of the code, and m is the dimension of the code. The rows of the matrix represent the codewords, and the columns represent the parity-check equations.

3. Decoding Problems: Decoding is the process of determining the original message from the received message, which may contain errors. In the context of error-correcting codes, the primary goal is to design codes that can efficiently correct errors.

4. Stages in Deciding Problems: When it comes to deciding problems related to error-correcting codes and parity-check matrices, the process generally involves the following stages:

a. Problem Formulation: Clearly define the problem you want to solve, such as finding the best way to correct errors in a given code or determining the optimal parity-check matrix for a specific linear code.

b. Theoretical Analysis: Analyze the problem using mathematical tools and theories related to error-correcting codes and linear algebra. This may involve understanding properties of the code, its distance, and the structure of the parity-check matrix.

c. Algorithm Development: Develop an algorithm or method to solve the problem. This may involve designing efficient encoding and decoding techniques, such as the well-known decoding algorithms for linear codes, like the Berlekamp-Massey-Sipser algorithm or the Peterson-Gorenstein-Zierler algorithm.

d. Implementation: Implement the algorithm or method on a computer or in a practical setting. This step may involve designing software, hardware, or protocols that utilize the error-correcting codes and parity-check matrices.

e. Testing and Evaluation: Test the implemented solution with various inputs and evaluate its performance, such as error correction capability, decoding speed, and memory requirements.

f. Improvement and Optimization: Based on the results from the testing and

ВиталийОвчаренко-ин
Автор

Error at 7:30. H (cT + eT) should NOT be equal to 0 because of the presence of an error.

eigenchris
Автор

Thanks, I'm constructing some RDS decoder for my radio and now it got more clear for me how error corection works there. There are frames with 16 data and 10 error correction bits, but there's no indication when a frame starts, only from error correction. I made an amplifier with LC filters, signal from radio's tuner chip's DET OUT pin goes through it to ATmega8 which does phase demodulation to get the binary stream and process it.

sebastiankusyk
Автор

Great videos. Much appreciated. Pacing is good - maybe a little fast for those with rusty LA, but mostly just right with out too much fluff.

Is there a small error around 7:30? If there's an error in the codeword, shouldn't the output vector no longer be 0-arrow? As in, H (cT + eT) != O?

bentupper
Автор

you're saving my ass 2 days before my exam

hosampb
Автор

good video, very understandable and fast

Akira-homf
Автор

You write your vertically arranged vectors with ^T?
I like your funny words, magic man.

oceannuclear
Автор

do you think you'd be up to doing one on differential geometry? <3 ur vids

XanderGouws
Автор

Hello thanx for the help the explanation was awesome. However what is the logic behind implementing this theory into code in order to generate the matrixes?

thodorisapostolopoulos
Автор

I wonder that how to create matrix H or we use an arbitrary H?

vietanhang
Автор

Shouldn't you also negate the transpose of H before appending it to an identity matrix to get the generator?

vengerer
Автор

Is there any particular reason for treating messages & codewords as row vectors when encoding but as column vectors when decoding?

It seems to me that things would be simpler if messages & codewords were always treated as column vectors. The process of creating a codeword from a message word would then be to pre-multiply (rather than post-multiply) it by a generator matrix. And obviously, this new generator matrix would be the transpose of the generator matrix defined in the video series.

Also, the process of creating the generator matrix from the parity check matrix as described at 10:33 would instead be to simply insert an identity matrix at the top.

Then, there'd be no need for any transpositions.

philp
Автор

Your are redefining matrix vector multiplication at 2:19. I would have used a xor function like H cT = xor(v) = [0 0 0]T with v = [1 1 0 1 1 0 0]

gummybears
Автор

Substraction equals XOR? at 0:50
How that?

1100 1100
- 0011 0011 XOR

1001 1111

leonhardlischka