Error correction codes (Hamming coding)

Поділитися
Вставка
  • Опубліковано 6 січ 2014
  • How do we communicate digital information reliably in the presence of noise? Hamming's (7,4) error correction code demonstrates how parity bits can help us recover from transmission/storage errors. This must be taken into account when thinking about Shannon's idea of channel capacity and information rate. (hamming code, error correction)

КОМЕНТАРІ • 51

  • @ArtOfTheProblem
    @ArtOfTheProblem  3 роки тому

    Link to series playlist: ua-cam.com/play/PLbg3ZX2pWlgKDVFNwn9B63UhYJVIerzHL.html

  • @tim40gabby25
    @tim40gabby25 4 місяці тому

    Beautifully explained.

    • @ArtOfTheProblem
      @ArtOfTheProblem  4 місяці тому +1

      thanks, glad you found this series, was thinking of making a full version of it

  • @RealationGames
    @RealationGames 10 років тому +1

    So clever! Thanks for the explanation video, excellent as always.
    I might use this trick in practice in my RF project.

    • @powertomato
      @powertomato 10 років тому

      Read about Reed-Solomon-Codes that's the modern way to do this. Although they're more complicated

  • @andrewkaraganis2274
    @andrewkaraganis2274 8 років тому +1

    As usual, your content is informative and succinct. I teach many of the CompTIA classes and if I have a choice on videos to recommend, I always use yours.

    • @ArtOfTheProblem
      @ArtOfTheProblem  8 років тому

      +Andrew Karaganis Thanks wonderful Andrew thanks for sharing. I'd love to know how I can help CS teachers even more. Have you checked out the latest series?

  • @JamshadAhmad
    @JamshadAhmad 7 років тому

    Nice Explanation and great VD visuals (Y)

  • @nossonweissman
    @nossonweissman 5 років тому +1

    This is an absolutely amazing video and explains the concept so intuitively. 😊😊

    • @ArtOfTheProblem
      @ArtOfTheProblem  5 років тому +1

      Thanks for the feedback, I actually just published a new video on error correction which goes one step further than this one.

    • @nossonweissman
      @nossonweissman 5 років тому

      @@ArtOfTheProblem Thanks! I'm gonna check it out:)

  • @AvinashGz
    @AvinashGz 7 років тому +1

    Awesome Explanation, Thanks

  • @alonsorobots
    @alonsorobots 2 роки тому +1

    There are some small simplifications that made it a bit harder to understand. If the odd or even parity bit is evaluating 4 possible signals, it would be able to detect if ONE of the four signals is wrong, but not if there were TWO wrong, UNLESS it had the additional parity bits. So this is asking you to suspend your logical disbelief until the next point is made.
    My mind first went to if there was a parity bit to evaluate three spaces, it would always be right but perhaps the evaluating where the positional error is more difficult.
    Also, it makes me wonder if at the start it might* have possibly helped if you started with three spaces rather than four because at the end with the three overlapping circles, you are only evaluating odd / even for 3 spaces. Introducing the concept that way might* not lead to the problems above?
    It might also be cool to go into why because of repetition we can compress the message. Why the data can go from 4 signals to 3 to verify

  • @dimitrisvain
    @dimitrisvain 4 роки тому

    Great Video!

  • @atharvas4399
    @atharvas4399 7 років тому +7

    What if the parity or data bits are altered too? Are they not susceptible to interference?
    Great channel btw

    • @AJ-fo3hp
      @AJ-fo3hp 3 роки тому

      There is distance between the code
      If there is change parity as you say there is maximum likelihood or nearest code
      ua-cam.com/video/-15nx57tbfc/v-deo.html
      ua-cam.com/video/5sskbSvha9M/v-deo.html

    •  4 місяці тому

      Yes, parity bits are susceptible to interference, but it's also possible to know if that's the case and correct it by flipping it. If a data bit has an error, two parity bits will be wrong during the check - in this case, correct the data bit. If only one parity bit has an error, only the parity bit will be wrong during the check - in this case, correct it by flipping the parity bit.
      If you have two parity bits that are wrong, it's a pretty noisy transmission that needs more redundancy :)

  • @QuibblesTheMooKitten
    @QuibblesTheMooKitten 10 років тому +3

    And to think...Language of Coins will be over. I really enjoy it though!

  • @QUIZFILTER
    @QUIZFILTER 7 років тому +2

    interesting, but it seemed that the video got cut off & there's more to be said & learned

  • @ChristianMoentest
    @ChristianMoentest 8 років тому +5

    I've a test tomorrow, i'm gonna watch this till i can fucking explain point out every fucking part of this video backwards

    • @NickGhale
      @NickGhale 6 років тому +1

      stfu

    • @eli2858
      @eli2858 2 роки тому

      How did it go

    • @ChristianMoentest
      @ChristianMoentest 2 роки тому

      @@eli2858 Ending up with an A on it. So the video is good .. :)

  • @angelj6735
    @angelj6735 10 років тому

    the chalk board is supposed to read "The purpose of computing is insight, not numbers" correct? computers/computing
    I wonder if the recording was done before he released the book and may have changed the title

  • @griggiorouge
    @griggiorouge 10 років тому +1

    Finally another one.

    • @griggiorouge
      @griggiorouge 10 років тому

      is this the final one? or are you going to upload the 16/16?

    • @britcruise2629
      @britcruise2629 10 років тому

      andres martinez working on final now

    • @griggiorouge
      @griggiorouge 10 років тому +3

      its like waiting for game of thrones season 4.

  • @phandc4581
    @phandc4581 3 роки тому

    4:10 Does the trick preserve the order of input?

  • @plekkchand
    @plekkchand 7 років тому

    shouldn't it be, automatically correct errors at the expense of increasing the size, rather than the other way around? A minor point. Thank you for the video.

  • @dvdhoop
    @dvdhoop 10 років тому +2

    So if only 1 parity bit is incorrect, the data doesn't have an error, but the parity bit has an error right?

    • @razean22
      @razean22 10 років тому

      you said: "if the parity bit has an error, [...], the parity bit has an error"
      please ask again ;)
      remember that this code can only correct one error. if two or more errors occur, it can not correct it any more.
      if you're interested, google for "hamming code"

    • @dvdhoop
      @dvdhoop 10 років тому +2

      No, I mean if only 1 parity check doesn't compute, then we can asume the parity bit has a transmission error.

    • @razean22
      @razean22 10 років тому +1

      yep, exactly. still assuming that we only have one error.

  • @mrvlhs
    @mrvlhs 10 років тому +2

    What if the error occurs in the parity bits?
    PS: what's with the weird music in the background, are you trying to scare us?

    •  4 місяці тому

      Parity bits can have errors, but it's also possible to know if that's the case and correct it by flipping it. If a data bit has an error, two parity bits will be wrong during the check - in this case, correct the data bit. If only one parity bit has an error, only the parity bit will be wrong during the check - in this case, correct it by flipping the parity bit.
      If you have two parity bits that are wrong, it's a pretty noisy transmission that needs more redundancy :)

  • @Valyrie97
    @Valyrie97 10 років тому

    but... but... what if a parity bit gets screwed up. in a given error, its going to happen about half the time. and if a parity bit is messed up, it will falsely correct a non errored nibble. so this only corrects for 4/7 errors. if an error is going to happen, its going to happen, the hope here is only that the errored bit lands on the non parity bits. can someone explain why error correction works better than this?

    • @MattSpaul
      @MattSpaul 10 років тому +1

      Because only one parity bit will have an error. If a data bit has an error, there will always be a pair of parity errors. The only actual problem would be multiple bits all being screwed up. But for that to occur, there would be so much noise that it's considered too difficult to broadcast.

  • @JandCanO
    @JandCanO 9 років тому +3

    What would happen if a parity bit was wrong? It would "correct" all the other bits and mess up the data. So how is this an improvement?

    • @Unifrog_
      @Unifrog_ 9 років тому +11

      Add the rule "if only one parity bit is mismatched flip the parity bit".

    • @kagi95
      @kagi95 8 років тому

      +JonnyLatte What if two parity bits were flipped?

    • @Unifrog_
      @Unifrog_ 8 років тому +12

      +kagi95 then it would mess up the correction. If thats a problem then you need a system with more redundancy and if errors are in clusters then you need to distribute that redundancy so that it is unlikely to be completely overlapped by a chunk. Nothing is going to be perfect though and the more redundancy you add the more expensive it is to store and transmit the same amount of data. If you know how corrupt your communications channel is though you can work out how much redundancy is needed and you can use larger checksums to know if in the end your block of data is corrected with any level of certainty you need (256 bit checksums mean 1 in 2^256 chance of a corruption having the same checksum as the original for example)

    • @kagi95
      @kagi95 8 років тому

      JonnyLatte Thanks!

  • @ChristianMoentest
    @ChristianMoentest 8 років тому

    Are you sure the code aren't p1 p2 d1 p3 d2 d3 d4 at 3:45?

    • @ArtOfTheProblem
      @ArtOfTheProblem  8 років тому +1

      +Christian Moen yes good catch there was an annotation I"ll have to update it

    • @ChristianMoentest
      @ChristianMoentest 8 років тому

      +Art of the Problem As you see, i can explain this now... too bad i didn't get this at my test at all :/

    • @ArtOfTheProblem
      @ArtOfTheProblem  8 років тому +1

      +Christian Moen ha yes, you don't really know something until you can correct it.

  • @abriannagonzalez9221
    @abriannagonzalez9221 5 років тому

    Still confused asf help!

  • @YouTubist666
    @YouTubist666 7 років тому +3

    This is a really poorly presented explanation. 👎