No video

Error Detection and Correction 3: Forward Error Correction

  Рет қаралды 98,310

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.

Пікірлер: 56
@kateiry4719
@kateiry4719 4 жыл бұрын
A normal person: Number of error bits Smartass scholars: *hAmmIGn d1StANcE*
@oluwaseunoyenuga6641
@oluwaseunoyenuga6641 4 ай бұрын
God have mercy 😂😂😂
@ghost_riderrr
@ghost_riderrr Ай бұрын
@@oluwaseunoyenuga6641 your mom
@kateiry4719
@kateiry4719 4 жыл бұрын
By the way this is the clearest explanation for forward error correction ever 👍
@littleboot_
@littleboot_ 8 жыл бұрын
Thank you, very informative. I thought forward error detection was difficult but after this video I think it's easy :D
@adrianhartland8289
@adrianhartland8289 5 жыл бұрын
This explanation was beautiful in it's simplicity. Thank you...
@alaamalek3575
@alaamalek3575 2 жыл бұрын
the clearest explanation for forward error correction ever
@arty7926
@arty7926 Жыл бұрын
Concise and understandable explained, thank you very much.
@Iplayforfood88
@Iplayforfood88 Жыл бұрын
Thank you for this explanation.
@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. :-)
@sunnyboy866
@sunnyboy866 2 жыл бұрын
A very clear and simple explanation. Thanks for the effort
@farazansari2170
@farazansari2170 5 жыл бұрын
Awesomely explained Mr.Jacob. Thank a lot awesome👏🤘✌👍
@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 : )
@greatwhite44u69
@greatwhite44u69 2 жыл бұрын
Outstanding demonstration, thank you very much.
@skipperry63
@skipperry63 2 жыл бұрын
Excellent explanation! Thanks!
@seungbumyang
@seungbumyang 8 жыл бұрын
Thank you for this video
@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 ?
@adamw1845
@adamw1845 8 жыл бұрын
Very VERY good video, clear and understandable, thank you
@COMB0RICO
@COMB0RICO 6 жыл бұрын
You have a talent for teaching. May the Lord Jesus Christ bless you for teaching the people.
@COMB0RICO
@COMB0RICO 6 жыл бұрын
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.
@alichoudhary9156
@alichoudhary9156 Жыл бұрын
thank you life saver
@aruphareesh
@aruphareesh 5 жыл бұрын
Excellent detailed and easy to understand explanation
@slamduncan1392
@slamduncan1392 3 жыл бұрын
Very well made and to the point, thanks!
@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
@duskviper
@duskviper 7 жыл бұрын
thanks a tonne for this. helped to get a grip on this concept completely.
@priyanshuganatra
@priyanshuganatra 3 жыл бұрын
dammnnn, awesome explanantion!!!!!!!!!
@lezwon
@lezwon 8 жыл бұрын
Your Video was very informative. Than you very much :)
@soumenduchaudhuri9383
@soumenduchaudhuri9383 7 жыл бұрын
good one, keep it up sir
@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)?
@The5BYTE
@The5BYTE 3 жыл бұрын
thanks alot, helped me get the point.
@tekbaobaozhang
@tekbaobaozhang 4 жыл бұрын
clear and simple!!! great
@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?
@Timer1024
@Timer1024 5 жыл бұрын
Excellent video
@wei48221
@wei48221 6 жыл бұрын
great video..
@phanikiran8689
@phanikiran8689 7 жыл бұрын
thanks for this video
@danielahernandezprado6017
@danielahernandezprado6017 4 жыл бұрын
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)
@kaushalnijhawan9626
@kaushalnijhawan9626 6 жыл бұрын
how do we get code word
@padmashrimm671
@padmashrimm671 6 жыл бұрын
On what based that 5 codeword are stored in sender & receiver dictionary??.....fr ex:- How 01 = 11100
@gokuaravind
@gokuaravind 5 жыл бұрын
Thank you
@HussainAhmad-kh3eo
@HussainAhmad-kh3eo 4 жыл бұрын
Thanks sir
@vatsk
@vatsk 4 жыл бұрын
But this only works on these specific codeword parts right. PS: Thanks for the video!
@timefortourismjh6772
@timefortourismjh6772 6 жыл бұрын
How can I use LDPC code in QR code error correction????
@LordSarcasticVlogger
@LordSarcasticVlogger 6 ай бұрын
watching from moon
@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 6 жыл бұрын
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")
@billevans5612
@billevans5612 5 жыл бұрын
well explained. better too slow than too fast!
@gantagayatri1251
@gantagayatri1251 5 жыл бұрын
Plz rise your voice
@harshaaeron1120
@harshaaeron1120 6 жыл бұрын
aosomw
@allankyazze1
@allankyazze1 5 жыл бұрын
A very simple and excellent explanation! Thank you!!!
@amirgul8573
@amirgul8573 7 жыл бұрын
thank u sir
Error Detection and Correction 2: Cyclic Redundancy Check
12:21
Jacob Schrum
Рет қаралды 155 М.
But what are Hamming codes? The origin of error correction
20:05
3Blue1Brown
Рет қаралды 2,3 МЛН
白天使选错惹黑天使生气。#天使 #小丑女
00:31
天使夫妇
Рет қаралды 14 МЛН
Cute kitty gadgets 💛
00:24
TheSoul Music Family
Рет қаралды 16 МЛН
PEDRO PEDRO INSIDEOUT
00:10
MOOMOO STUDIO [무무 스튜디오]
Рет қаралды 18 МЛН
The Joker kisses Harley Quinn underwater!#Harley Quinn #joker
00:49
Harley Quinn with the Joker
Рет қаралды 17 МЛН
Error Correcting Codes 1: Introduction + Hamming (7,4) Code
22:31
Error Detection
8:08
Neso Academy
Рет қаралды 388 М.
What are Reed-Solomon Codes? How computers recover lost data
16:53
Error Detection and Correction 1: Internet Checksum
9:08
Jacob Schrum
Рет қаралды 113 М.
Reed Solomon Encoding - Computerphile
11:56
Computerphile
Рет қаралды 187 М.
Hamming Code || Error Detection and Error Correction
14:33
Sudhakar Atchala
Рет қаралды 140 М.
Hamming Code | Error Detection
12:20
Neso Academy
Рет қаралды 1,9 МЛН
Checksum
9:32
Neso Academy
Рет қаралды 823 М.
What is error correction? Hamming codes in hardware
36:46
Ben Eater
Рет қаралды 240 М.
白天使选错惹黑天使生气。#天使 #小丑女
00:31
天使夫妇
Рет қаралды 14 МЛН