Error Detection and Correction 3: Forward Error Correction

  Рет қаралды 99,417

Jacob Schrum

Jacob Schrum

Күн бұрын

Sometimes, requesting that the sender retransmit data whenever there is an error is too costly, so Forward Error Correction is used. Extra information is sent along with each transmission so that certain types of errors can be fixed without requiring data to be retransmitted. This idea depends on the use of Hamming distance to assess which of several possible codewords from a dictionary was the most likely codeword originally sent. Much of this material is based on content from the book Data and Computer Communications by William Stallings.

Пікірлер
@TekCroach
@TekCroach 2 күн бұрын
simple, intuitive, clear, correct, and short.... the best mix in education... thanks :)
@alaamalek3575
@alaamalek3575 2 жыл бұрын
the clearest explanation for forward error correction ever
@kateiry4719
@kateiry4719 4 жыл бұрын
By the way this is the clearest explanation for forward error correction ever 👍
@kateiry4719
@kateiry4719 4 жыл бұрын
A normal person: Number of error bits Smartass scholars: *hAmmIGn d1StANcE*
@oluwaseunoyenuga6641
@oluwaseunoyenuga6641 6 ай бұрын
God have mercy 😂😂😂
@ghost_riderrr
@ghost_riderrr 3 ай бұрын
@@oluwaseunoyenuga6641 your mom
@adrianhartland8289
@adrianhartland8289 6 жыл бұрын
This explanation was beautiful in it's simplicity. Thank you...
@arty7926
@arty7926 2 жыл бұрын
Concise and understandable explained, thank you very much.
@dr.ahmedredhamahlous2575
@dr.ahmedredhamahlous2575 24 күн бұрын
Thanks for the good simple, clear explanation
@taqikhan5418
@taqikhan5418 4 жыл бұрын
good, i have a question. In case of tie in hamming distance, you said that data will be resend. Please clear that the complete data will be resend or only that part ?
@garychap8384
@garychap8384 3 жыл бұрын
Hmmm... So, if after the sent sequence there was a final checksum of the underlying message, I'm guessing you could then meaningfully explore the possibility space. Let's say you have two ambiguous symbols A and B, where A's possibilities were hamming=2 and B's symbol were hamming=3... then perhaps you'd be able to identify some relaxation priority between A and B that helps you choose between two possible permutations that each meet the checksum - such that, it too, gets met with some least distance metric? I mean, why throw out a possibility of distance=2, just because there are two solutions of distance=1 ... it could be that neither of those d=1 solutions can meet the checksum, but the d=2 does so... or some least-work combination of symbols. Oh, wait... I think you'd also have to see if there was a low-hamming distance change to the checksum, that made the resolution of A and B easier. I mean... sent checksums are data too. So, the checksum I'm using to find a workable set of permutations has to be part of the distance-balancing metric too. Maybe the least-cost permutation involves being prepared to admit a single bit error in the checksum. Oh, man, that complicates things a little :D Now it's a fuzzy sort of search. I understand that this is only a simple example and that modern FECs are far more efficient and can achieve close to the shannon limit - but it's fun to consider how I might approach the problem of choosing between candidates once we have identified one or more ambiguous symbols using this naive codeword strategy. Oooh... I think one intuitive tweak for bursty errors would be to interleave the codewords such that any burst errors are more likely to create single-bit errors across multiple words (high recoverability) - rather than concentrating multi-bit errors in single words (low recoverability) That sounds like something worth doing! Wow, a simple but thought-provoking video :D I guess it's now time for me to write some code to simulate noisy channels of various parameterised characteristics, with "bursty" noise and single-bit error rates - and see how I'd tweak this for different channel conditions. Maybe this scheme can be made adaptive, based on how many times a minute it is forced to ask for a retransmission. A little simple math should be able to find the noise threshold at which it makes sense for the endpoints to agree a larger or smaller codeword size. Oh... I'm definitely gonna have some fun playing with this in code. If only to put off trying to tackle the scarier stuff like Reed-Solomon, LDPC and Adaptive Turbo _(I've looked... they scare me)_ : / Anyway, thanks for taking the time to make this video. It's a great starting point for inquiring minds : )
@sunnyboy866
@sunnyboy866 2 жыл бұрын
A very clear and simple explanation. Thanks for the effort
@Iplayforfood88
@Iplayforfood88 Жыл бұрын
Thank you for this explanation.
@pataleno
@pataleno 5 жыл бұрын
Great Explaination. What does it mean by FEC being 3/5 2/5 etc ?
@ramadhan1481
@ramadhan1481 5 жыл бұрын
anybody have the answers?
@ezra6094
@ezra6094 5 жыл бұрын
I think n/m means that for every n bits, an m-length codeword is used
@gamobigz
@gamobigz 4 жыл бұрын
Hi Jacob a question. If in the case at 10:08, where a resend protocol happens. What if the resend gives the same exact errored bits or if a entirely difference sequence of bits happens? What will the FEC do then?
@skipperry63
@skipperry63 2 жыл бұрын
Excellent explanation! Thanks!
@DiskTuna
@DiskTuna 2 жыл бұрын
Thank you for this! Could you perhaps explain how this would work for a hard drive (ECC error detection/correction)? So sector is 'protected' by ECC to detect and correct errors. But if I'd apply this method we'd need a several sectors if we'd write 11100 rather than 01 (taking codewords from your example)?
@hyunseokjeong7994
@hyunseokjeong7994 7 жыл бұрын
It was great for me. Bluetooth 5 said they used FEC - then that makes longer range, lower data rate. This video explains a lot. :-)
@farazansari2170
@farazansari2170 5 жыл бұрын
Awesomely explained Mr.Jacob. Thank a lot awesome👏🤘✌👍
@danielahernandezprado6017
@danielahernandezprado6017 5 жыл бұрын
Hi, the dictionary of code is created by the sender/receiver? Or how this dictorionary is created? Thank you for the video!
@gayrozayppeli8431
@gayrozayppeli8431 4 жыл бұрын
Yes. It's like a reference guide. You have it with you on both sides since it's to be used specifically for this; it was specifically created for this by the creator. Say for example, this is for a data transmission between two branches of a company. The company creates the reference dictionary and gives it to both branches. So don't fret too much about it(especially if you're worried about exams and all since it will be given unless you're tasked to actually make one lmao)
@aruphareesh
@aruphareesh 6 жыл бұрын
Excellent detailed and easy to understand explanation
@seungbumyang
@seungbumyang 8 жыл бұрын
Thank you for this video
@allankyazze1
@allankyazze1 5 жыл бұрын
A very simple and excellent explanation! Thank you!!!
@COMB0RICO
@COMB0RICO 7 жыл бұрын
You have a talent for teaching. May the Lord Jesus Christ bless you for teaching the people.
@COMB0RICO
@COMB0RICO 7 жыл бұрын
I do have one concern. Your concept of FEC is different from the one presented in Kurose&Ross's Computer Networking 5th edition. They are stating a copy of the actual data of the first packet is piggybacked on the second packet. A completely different scheme from dictionary-code scheme.
@slamduncan1392
@slamduncan1392 3 жыл бұрын
Very well made and to the point, thanks!
@adamw1845
@adamw1845 8 жыл бұрын
Very VERY good video, clear and understandable, thank you
@duskviper
@duskviper 7 жыл бұрын
thanks a tonne for this. helped to get a grip on this concept completely.
@Timer1024
@Timer1024 6 жыл бұрын
Excellent video
@padmashrimm671
@padmashrimm671 6 жыл бұрын
On what based that 5 codeword are stored in sender & receiver dictionary??.....fr ex:- How 01 = 11100
@The5BYTE
@The5BYTE 3 жыл бұрын
thanks alot, helped me get the point.
@soumenduchaudhuri9383
@soumenduchaudhuri9383 8 жыл бұрын
good one, keep it up sir
@tekbaobaozhang
@tekbaobaozhang 4 жыл бұрын
clear and simple!!! great
@kaushalnijhawan9626
@kaushalnijhawan9626 6 жыл бұрын
how do we get code word
@lezwon
@lezwon 8 жыл бұрын
Your Video was very informative. Than you very much :)
@alichoudhary9156
@alichoudhary9156 Жыл бұрын
thank you life saver
@timefortourismjh6772
@timefortourismjh6772 6 жыл бұрын
How can I use LDPC code in QR code error correction????
@wei48221
@wei48221 6 жыл бұрын
great video..
@vatsk
@vatsk 4 жыл бұрын
But this only works on these specific codeword parts right. PS: Thanks for the video!
@priyanshuganatra
@priyanshuganatra 3 жыл бұрын
dammnnn, awesome explanantion!!!!!!!!!
@JRock1900
@JRock1900 7 жыл бұрын
Why not send send everything twice? which will save you one bit for every 2 bits. Every 2 bits should send a duplicate of itself and you just match them up. And resend if you have an error. Or send 6 bits (2 the original and 2 copies, with the majority winning, this will save time to compare it to a dictionary and less likely to have as many errors (misinterpretation) as the 5 bit method??? Thanks for the video
@hmdz150
@hmdz150 7 жыл бұрын
I think this is not practical for real-time/live broadcasting where every frame should be transmitted in the shortest time possible.
@COMB0RICO
@COMB0RICO 7 жыл бұрын
A very good question!
@odissey2
@odissey2 4 жыл бұрын
I support this question. The amount of transmitted bits increases 2.5 times. Why not to send a message 3 times in a row, and select bits which repeat twice? ("a majoritar")
@phanikiran8689
@phanikiran8689 7 жыл бұрын
thanks for this video
@gokuaravind
@gokuaravind 6 жыл бұрын
Thank you
@HussainAhmad-kh3eo
@HussainAhmad-kh3eo 5 жыл бұрын
Thanks sir
@amirgul8573
@amirgul8573 7 жыл бұрын
thank u sir
@billevans5612
@billevans5612 5 жыл бұрын
well explained. better too slow than too fast!
@LordSarcasticVlogger
@LordSarcasticVlogger 8 ай бұрын
watching from moon
@gantagayatri1251
@gantagayatri1251 5 жыл бұрын
Plz rise your voice
@harshaaeron1120
@harshaaeron1120 6 жыл бұрын
aosomw
Error Detection and Correction 1: Internet Checksum
9:08
Jacob Schrum
Рет қаралды 114 М.
Error Correcting Codes 1: Introduction + Hamming (7,4) Code
22:31
😜 #aminkavitaminka #aminokka #аминкавитаминка
00:14
Аминка Витаминка
Рет қаралды 1,8 МЛН
哈哈大家为了进去也是想尽办法!#火影忍者 #佐助 #家庭
00:33
火影忍者一家
Рет қаралды 130 МЛН
Seja Gentil com os Pequenos Animais 😿
00:20
Los Wagners
Рет қаралды 39 МЛН
НАШЛА ДЕНЬГИ🙀@VERONIKAborsch
00:38
МишАня
Рет қаралды 2,8 МЛН
But what are Hamming codes? The origin of error correction
20:05
3Blue1Brown
Рет қаралды 2,4 МЛН
Error Detection and Correction 2: Cyclic Redundancy Check
12:21
Jacob Schrum
Рет қаралды 157 М.
What are Reed-Solomon Codes? How computers recover lost data
16:53
Hamming Code Error Detection and Correction Visualization
7:21
David Johnson
Рет қаралды 51 М.
6.2 Error detection and correction
8:48
JimKurose
Рет қаралды 50 М.
GEL7014 - Module 5.1 - Introduction to Forward Error Correction (FEC)
34:52
Error Correction - Computerphile
11:30
Computerphile
Рет қаралды 248 М.
Error Correcting Curves - Numberphile
17:46
Numberphile
Рет қаралды 238 М.
😜 #aminkavitaminka #aminokka #аминкавитаминка
00:14
Аминка Витаминка
Рет қаралды 1,8 МЛН