What is error correction? Hamming codes in hardware

แชร์
ฝัง
  • เผยแพร่เมื่อ 2 ต.ค. 2024

ความคิดเห็น • 497

  • @PowerhouseCell
    @PowerhouseCell 4 ปีที่แล้ว +1357

    *Ben Eater + 3b1b = a perfect Friday*

    • @TheMoritur
      @TheMoritur 4 ปีที่แล้ว +10

      Completely agree

    • @yonatanbeer3475
      @yonatanbeer3475 4 ปีที่แล้ว +5

      I feel like I've been seeing you everywhere ever since your first biology video.

    • @omniyambot9876
      @omniyambot9876 4 ปีที่แล้ว +8

      They're duch a humble, intelligent very interesting human beings

    • @omniyambot9876
      @omniyambot9876 4 ปีที่แล้ว +4

      @@jamescollier3 they did, and maybe for a month

    • @tainicon4639
      @tainicon4639 4 ปีที่แล้ว +3

      Both popped up together in my feed and I had a double take

  • @Eyalkamitchi1
    @Eyalkamitchi1 4 ปีที่แล้ว +704

    1ben3eater

    • @roridev
      @roridev 4 ปีที่แล้ว +31

      3ben1ben

    • @works4me89
      @works4me89 4 ปีที่แล้ว +15

      1men1jar

    • @pissmilker2313
      @pissmilker2313 4 ปีที่แล้ว +32

      This turned perverse quickly....

    • @thiesenf
      @thiesenf 4 ปีที่แล้ว +11

      @@works4me89 Unfortunatly I have seen that one... and I don't want to be reminded of it... ;-)

    • @HsinTsungChu
      @HsinTsungChu 4 ปีที่แล้ว +11

      blackbenredben

  • @prathamkalgutkar7538
    @prathamkalgutkar7538 4 ปีที่แล้ว +206

    When the world needed him The most HE CAME BACK

    • @oscill8ocelot
      @oscill8ocelot 4 ปีที่แล้ว +8

      He'd come back a couple days early if you join his Patreon ^.^

    • @matthewe3813
      @matthewe3813 4 ปีที่แล้ว +2

      @math your math so just add 1000000 to 0 and ull have $1000000

  • @StefanNoack
    @StefanNoack 4 ปีที่แล้ว +128

    8:50: the upside down dip switch outputs 0 when set to "NO", perfectly logical :D

    • @OrangeC7
      @OrangeC7 4 ปีที่แล้ว +13

      If "NO" = false = 0, then you have a programming language!

    • @ShenLong991
      @ShenLong991 4 ปีที่แล้ว +4

      @@OrangeC7 Correction: Then you have PHP or Javascript.

    • @KuraIthys
      @KuraIthys 4 ปีที่แล้ว +4

      @@ShenLong991 Also C/C++
      (older versions especially, where boolean wasn't always a first-class citizen and could be implemented as an integer where 0 = false, and non-zero = true. In fact even with formal implementation of a boolean type that still holds)

    • @GM1gV6f56
      @GM1gV6f56 4 ปีที่แล้ว +1

      @@KuraIthys I mean... that also how it works in python ( www.python.org/dev/peps/pep-0285/ ) and a lot of other languages

    • @NStripleseven
      @NStripleseven 3 ปีที่แล้ว

      Well that works

  • @timderks5960
    @timderks5960 4 ปีที่แล้ว +478

    You know what's really underappreciated about your video's? The audio consistency between voiceover during a sped up part, and the normal video where you're just talking to the camera (assuming you do that, the consistency is so good I'm not even sure it's not all a voiceover).
    I honestly sometimes have trouble figuring out if I'm watching a sped up video or not, because there literally isn't a change in audio that would indicate it. You're the only channel I've ever watched that accomplishes it, but IMO it makes for a much more comfortable video.
    Are you also planning on doing a video on error correction for bigger data, or for multiple errors, if that's even possible?

    • @nicholascopsey4807
      @nicholascopsey4807 4 ปีที่แล้ว +30

      It definitely sounds like VO to me, but I think he's talking as he doing everything because I think it would be harder to explain what you were doing after the fact vs while you were doing it

    • @thiesenf
      @thiesenf 4 ปีที่แล้ว +14

      He sure is good at explaining the logics and how it all works as well as editing it all together in a really seemless fashion...

    • @Xorume.
      @Xorume. 4 ปีที่แล้ว +45

      I believe he talks as he does things and records on a good setup with a good mic. When he needs to speed up some part, he explains what he is doing while doing the beggining; and speeds up the video portion to fit with the explanation. And then just cuts the rest of the audio. It's an awesome way of doing things, imo.

    • @msx80
      @msx80 4 ปีที่แล้ว +2

      I noticed it too! Would love to hear from mr Eater how he does it

    • @alexwang007
      @alexwang007 4 ปีที่แล้ว +4

      Check out reed solomon code, it uses finite fields and can correct lots (customly defined amounts) of errors. Very commonly used in server storage and military video transmission (AC130 AH64, and the drones)

  • @n2n8sda
    @n2n8sda 4 ปีที่แล้ว +45

    Always excited when I see you have dropped a new video. I have spent most of my career involved with design and programming of standalone control systems which often were coded in assembly so i'm very familiar with what you are doing yet you still make it entertaining and fun for people who are very familiar and even those that are new to it all, a real talent.

    • @omniyambot9876
      @omniyambot9876 4 ปีที่แล้ว +1

      Wow respect sir!!

    • @omniyambot9876
      @omniyambot9876 4 ปีที่แล้ว +1

      Whats is your advice? I want to go electronics engineering but for some reason I'm also into compsci

  • @dhardingham
    @dhardingham 4 ปีที่แล้ว +95

    I remember learning about Hamming codes when I was at University over 40 years ago. Needless to say, I'd forgotten everything. Very interesting.

    • @proccessingunit2337
      @proccessingunit2337 4 ปีที่แล้ว +3

      Idk how up-to-date your profile picture is, but I’m surprised you’re 60+. You look 40 at most. Whatever you’re doing, keep it up

  • @Mayank-mf7xr
    @Mayank-mf7xr 4 ปีที่แล้ว +47

    3b1b and ben eater both upload videos on hamming codes at exact same time. this cannot be a coincidence.
    ben eater IS 3b1b ( Grant Sanderson )

    • @igNights77
      @igNights77 4 ปีที่แล้ว +4

      Debunked, they've been seen together:
      th-cam.com/video/hKD-lBrZ_Gg/w-d-xo.html

    • @Mayank-mf7xr
      @Mayank-mf7xr 4 ปีที่แล้ว +5

      @@igNights77 ever heard of editing?

    • @NStripleseven
      @NStripleseven 3 ปีที่แล้ว

      Ooo

  • @JamesCoyle95
    @JamesCoyle95 4 ปีที่แล้ว +33

    I really hope this channel keeps growing. It's honestly one of the few channels where I always watch the new video as soon as I can. You break everything down and explain it really well making it really easy to enjoy watching and learning.
    As a programmer that dabbles in electronics I have to say I love seeing things done at such a low level. Everything I do is usually so far abstracted from the bare hardware that you really lose the appreciation of what is actually going into each line of code you write. It's kinda sad that most things now are just done in higher level languages when these hardware solutions are so elegant.

    • @nekrugderzweite8298
      @nekrugderzweite8298 3 ปีที่แล้ว

      Same for me, i appriciate the comforts of high level programming language much more, it is so smart whats going on in the computer, way to smart for me ^^

  • @broyojo
    @broyojo 4 ปีที่แล้ว +184

    Ben Eater = 3blue1brown ????? hmmmm

    • @omniyambot9876
      @omniyambot9876 4 ปีที่แล้ว +6

      Yeah and they have similar voice

    • @byronwatkins2565
      @byronwatkins2565 4 ปีที่แล้ว

      His Asian doppelganger...

    • @byronwatkins2565
      @byronwatkins2565 4 ปีที่แล้ว +1

      @Fred G. Oops. I was thinking of red pen blue pen...

    • @AmeshaSpentaArmaiti
      @AmeshaSpentaArmaiti 4 ปีที่แล้ว +8

      xor(Ben Eater, 3blue1brown) == 0

    • @jumilifyify
      @jumilifyify 4 ปีที่แล้ว

      Eli Eli Lema [xor(Ben Eater, 3blue1brown) == 0] => [Ben Eater == 3blue1brown] aha! I knew it!

  • @melkiorwiseman5234
    @melkiorwiseman5234 4 ปีที่แล้ว +66

    This scheme can be expanded by adding more "parity bits" to allow correction of 2-bit or 3-bit errors, which brings me to something else which can be (and occasionally has been) done. Distributed storage.
    By adding sufficient parity bits, in the right places, it's possible to divide a file into smaller "chunks" which collectively take up around 1.25 times the original storage space, but you only need to retrieve approximately 75% of the "chunks" and you can then calculate all of the missing data by using the parity bits stored with each "chunk" of data you did manage to retrieve.
    This means that in a distributed storage scheme, data pertaining to a particular file can be stored across multiple servers and if one or two servers go out of service, you can still retrieve and reconstruct the original file from the remaining servers.
    The down-side is that the reconstruction process takes a long time since the mathematics involved is complicated, and making hardware to perform the task would not be economically viable.

    • @1loshvitalik
      @1loshvitalik 4 ปีที่แล้ว +31

      For those who didn't know, this is exactly how RAID 3, 4 and 5 disk arrays work, using 25% of the space to store parity data, and RAID 6 doubling the amount of parity data to be able to restore if two drives fail. Also, RAID 2 uses Hamming codes.

    • @fuseteam
      @fuseteam 4 ปีที่แล้ว +4

      @@1loshvitalik oh my that's-a interesting to know

    • @NStripleseven
      @NStripleseven 3 ปีที่แล้ว +2

      Well, that's cool.

    • @kaitlyn__L
      @kaitlyn__L ปีที่แล้ว

      That last sentence is exactly why ZFS is still only used on servers, the overhead is too high to use on a desktop system. Plenty of people have tried, usually with ZFSonLinux, but they usually have to add a lot more RAM, or disable most of the features which make ZFS useful (rendering the exercise pointless).

    • @Crazytesseract
      @Crazytesseract 6 หลายเดือนก่อน

      Are you talking about binary BCH codes?

  • @frankjones4550
    @frankjones4550 4 ปีที่แล้ว +1

    Thank you for your channel. You bring back fond memories and some cold sweats from the early 1980’s building 8080 computers from scratch that controlled motors and sensors.

  • @Yaxqb
    @Yaxqb 2 ปีที่แล้ว

    Very refreshing to see a full on hardware implementation of hamming. In school I was teached that hamming codes are coordinates in a bit hyperspace, and that if we get an undefined codeword on the line, we can just pick the "closest" word instead. If there is a tie, then we have detected but not corrected the error

  • @putrid.p
    @putrid.p 4 ปีที่แล้ว +52

    Is 'Be nEater' an instruction to your viewers? If it is, you're a good example.

  • @AungWinHtutGH
    @AungWinHtutGH 2 ปีที่แล้ว

    Your videos are the real university for me

  • @rogerdearman
    @rogerdearman 4 ปีที่แล้ว +9

    Oh Ben. I love your content. I've watched your entire series for building a computer on bread boards and your "hello world"too.
    This is the first time I've not been able to enjoy one of your videos as I'm red\green colour blind :(
    Please may I respectfully request you use either red\blue or blue\ green pairings, if using to differentiate

    • @dx3910
      @dx3910 3 ปีที่แล้ว +1

      A bit late here, but can you not use video shaders? Android accessibility settings usually include color blind tone remapping as an OS feature. I'm fairly certain Windows 10 has this built in now too. Worst case, you might try downloading content you can't see correctly and watching it with VLC or any other video player that supports shaders.

    • @rogerdearman
      @rogerdearman 3 ปีที่แล้ว +1

      @@dx3910 interesting. This is certainly worth trying, just got curiosity sake.
      Tbh though, I watched the video anyway as even though the two colours look exactly the same to my eyes, the position and layout isn't effected by my visual impairment (it's the same reason I can deal with traffic lights in the daytime).
      I was just about to say that this is a huge effort to make and would require nerd-level technical ability, before I remembered that I've consumed hours of Ben's content involving low-level, on-the-fly programming of microprocessors :)
      It was more of a joking way of bringing the issue to light, so in the future it could be considered when choosing led colours for differentiating information

  • @sonam9881
    @sonam9881 4 ปีที่แล้ว +3

    Man you are SO underrated for how talented you are

  • @alexisraels1437
    @alexisraels1437 4 ปีที่แล้ว +1

    Thank you so much for your videos. Can't explain enough how excited I am to go through every project/kit you've done!

  • @WardL
    @WardL 4 ปีที่แล้ว +2

    Ben,
    I really enjoy your amazing videos. They really help me in understanding computers and electronics. You can explain everything in such a way that anyone can understand it. Keep up the good work and before you know you are at a million subscribers. Thanks for you amazing contant.

  • @animowany111
    @animowany111 4 ปีที่แล้ว +33

    Simultaneous 3b1b and Ben Eater uploads!? I love this

    • @rayauxey
      @rayauxey 4 ปีที่แล้ว +3

      Both about the same thing

    • @kamelfakih8340
      @kamelfakih8340 4 ปีที่แล้ว +1

      this is cool

    • @phiwatec2576
      @phiwatec2576 4 ปีที่แล้ว

      I wonder whether they did this on purpose or if it's just coincidence..🤔
      Edit: Just watch 0:42 where he's talking about iz

    • @alef-0
      @alef-0 4 ปีที่แล้ว

      I've received the three notifications at the same time, and was wondering if it was really coincidence.

  • @Talaxianer
    @Talaxianer 4 ปีที่แล้ว +5

    No matter how beneath you are, he is Ben Eater

  • @Brandon-youtube
    @Brandon-youtube 4 ปีที่แล้ว

    I have a degree in Computer Engineering and this was literally one of the things that blew my mind when first introduced to me. I think it went something like "the odds of a transistor being flipped by random electrons is minuscule, but with billions of transistors, we need to design for minuscule" very cool design

  • @DianaBell_MG
    @DianaBell_MG 4 ปีที่แล้ว +13

    well, now I know what ECC ram is so damn expensive

  • @iamalexkempton
    @iamalexkempton 4 ปีที่แล้ว

    This trilogy of videos was the brain food I so badly needed. Thank you.

  • @Johnny-tw5pr
    @Johnny-tw5pr ปีที่แล้ว +3

    On that final circuit how are you inverting those bits before the AND gate?

  • @ShahHarsh1999
    @ShahHarsh1999 4 ปีที่แล้ว +21

    Hats off to sir, You are sharing much powerful information about processor and controller in deeply......
    Thank you so much for all sir.
    Lots of Love from India 🇮🇳

    • @aaron41
      @aaron41 4 ปีที่แล้ว +11

      😂😂 Friend, I think you mean: "Hats off". "Heads off" is something the french say to royalty as they lead them to the guillotine.

    • @dnk8315
      @dnk8315 4 ปีที่แล้ว +1

      @@aaron41 TF lol

    • @techmad8204
      @techmad8204 4 ปีที่แล้ว

      @@aaron41 😂😂 I fucking laughed so much

    • @nagualdesign
      @nagualdesign 4 ปีที่แล้ว +1

      @@aaron41 _*led_ 😉

    • @ShahHarsh1999
      @ShahHarsh1999 4 ปีที่แล้ว +2

      @@aaron41 oh ya, Thanks 😅👍..
      it's my typo mistake ...

  • @dinofirechief40
    @dinofirechief40 4 ปีที่แล้ว

    Double teaming Hamming codes with 3B1B has got me more excited than I probably should be. Time to make popcorn.

  • @8BitShadow
    @8BitShadow 4 ปีที่แล้ว +6

    The best way I remember how parity (or at least hamming 7,4) bits work is:
    Parity 1 reads 1, skips 1, reads 1, e.t.c., including itself.
    For each parity bit, double the amount of reads and skips.
    The errored bit is either the total of each wrong parity minus one (for a 'human friendly' explanation) or the binary number represented by the parity bits.
    Single bit error correction, multi-bit error detection.

  • @crudybagger
    @crudybagger 4 ปีที่แล้ว

    Ben Eater + 3blue1brown = super awesome 🔥🔥

  • @garydunken7934
    @garydunken7934 4 ปีที่แล้ว +1

    Cool!! I'm actually subscribed to both channels.

  • @KhoaNguyen-sk8oy
    @KhoaNguyen-sk8oy 3 ปีที่แล้ว

    Just one word: brilliant!

  • @pv2b
    @pv2b 4 ปีที่แล้ว

    On the error corrector board there was an extra xor gate left over on each chip. Those could have been used as inverters by setting one of the inputs high, and you wouldn't have needed the hex inverter! :)

  • @Buoy2
    @Buoy2 4 ปีที่แล้ว +11

    22:26 beautiful demonstration

  • @mbarrio
    @mbarrio 4 ปีที่แล้ว

    Very good explanation, concise. Thanks!

  • @gudenau
    @gudenau 4 ปีที่แล้ว +6

    I never understood this before today.
    You make some amazing content, keep up the good work.

  • @AayushSingh
    @AayushSingh 4 ปีที่แล้ว +3

    I came here from 3B1B's video, watched this video, subscribed to this channel and binged watched an entire playlist of building a computer based on 65c02 microprocessor; At the end of the 9th video Ben said "You know how to make youtube tell you if I release another video for the continued work'"; and hearing that, I clicked the notifications icon on his channel.
    Commendable job Ben! Extremely impressed by the patience you observe while explaining even the hardest concepts. I used to be a bit scared of understanding electronics, leave aside understanding a computer to its machine code. But today, I understood each and every topic of the 5 hours of content I saw. Thank you.

  • @whobetterthankyle
    @whobetterthankyle 2 ปีที่แล้ว +1

    All my favorites on TH-cam know each other. 3b1b knows Matt Parker, MP knows Steve Mould, Steve Mould knows Electroboom, Electroboom knows EEVblog, Steve Mould knows Veritasium, 3b1b knows Ben Eater, I could go on

  • @n3r0z3r0
    @n3r0z3r0 4 ปีที่แล้ว +3

    3Blue1Brown here WOOOW ! Love it! Awesome!

  • @Jirayu.Kaewprateep
    @Jirayu.Kaewprateep ปีที่แล้ว +1

    📺💬 If Jirayu still can here have some conversation ( they added sentences into VDO )
    🥺💬 For the parity bits error correction by mapping of pattern to the frequency of its use compared to the same in the same sequences.
    🐑💬 Of course, for TCP/IP messages you need to divide message and information indicators.
    📺💬 Why Jirayu think that is the way they are doing⁉
    🥺💬 That is because of programming, the solution you are teaching is correct, and even odd parity bits is fundamental and important.
    📺💬 More examples when the combination bits is wrong ( 🔊💬 🏡🥺💬 They keep try to do to make exhaust )
    🥺💬 When the priority bit is wrong they are solved by patterns + priority bits but itself cannot verify but the number of messages together summing and priority bit can define the error priority bit and cycling process.
    🐑💬 For a small problem referees can judge instantly but referees must be standard, overall they can have supervisors and referees. The combination does not always solve the problem but the combination can merge the problems and information to create new referees as well.
    📺💬 We are using flips because the parity bit is wrong but we want to know which is the exact bit that needs to be correct. ( 📺💬 ยุ้ยแถม... นิดนึง , they add sentences into VDO )
    🥺💬 I understand now only the parity bit or message is error one type at a time but you need to correct the message by flipping the bit to see if it sums up to the parity bit or not⁉
    🐑💬 Yes, there is the appending method and flips he teaches flips, and the appending you add the next message and sum the parity bits together.
    🧸💬 Some programs they compared of messages by the few bit + parity bit prevent them from reading information because not full of the message they cannot decrypt with out dictionary or less of chance.
    📺💬 ยุ้ยครับกู Intel แต่นั่นแหละ Cycling Microsoft ... 🥺💬 ผมดูเพื่อศึกษาครับ น่าสนใจครับ
    📺💬 Hardware correct error 🥺💬 Yes, I see the topic and reading from VDO that is working under the level of programing language or in device communications and that is interesting anyone working in the level of hardware error correction⁉

  • @lightwaves1859
    @lightwaves1859 4 ปีที่แล้ว +2

    amazing! you're basically using parity groups to conduct a kind of binary search for the erronous bit!

  • @Twisted_Code
    @Twisted_Code 3 ปีที่แล้ว +1

    my first impression of this channel: You seem like the kind of hardware geek (note that's a compliment coming from me) I might've been, or at least been very good friends with, had I not become paralyzed at the end of 2013.
    While I was always more familiar with software, in all its abstracted-to-death safety (Love you anyway, Python!), I was uncertain enough about which way I want to go that I had recently invested in a breadboard and a few basic and/or/not logic gate ICs. so it's hard to say...

  • @adityasonavane2168
    @adityasonavane2168 4 ปีที่แล้ว +4

    Can't hope for any better Collab from two of my favourite youtubers!

  • @veramulatov
    @veramulatov ปีที่แล้ว +1

    Mr. What means instead 1 he have 5, "Istok Pavlovic", Aleksandar Miljković, I watch him on Q code, Vera

  • @BlokeOzzie
    @BlokeOzzie 4 ปีที่แล้ว +4

    I'm a veterinarian. I started out in computing, but it just got too heavy for me. Love watching your videos. Almost makes me wish I stuck with computing as my career instead.

    • @luxraider5384
      @luxraider5384 ปีที่แล้ว

      wow, i remember thinking two years ago: let's dump everything and become a veterinarian, but i quickly realised that i would be bored to hell

  • @Twisted_Code
    @Twisted_Code 2 ปีที่แล้ว +1

    as an electronics engineer, how often do you have to check which terminal has which function of your ICs? If it's anything like how I engineer software, you're probably checking a schematic or some other document for at least five minutes before each video and possibly between cuts. But unlike software, getting the wrong interface (terminal) with hardware can frequently cause immediate irreversible damage just from testing it.

  • @willyeverlearn7052
    @willyeverlearn7052 ปีที่แล้ว +1

    Where were you 40 years ago when I was first learning this stuff. "Just Memorize It" was the mantra from my teachers.....

  • @Wes8761
    @Wes8761 4 ปีที่แล้ว +4

    Is the 6502 project done?

  • @timehunter9467
    @timehunter9467 4 ปีที่แล้ว +1

    Thank god for PCBs, electronics would still take up entire rooms like they used to. These breadboards really put the size difference into perspective!

  • @thebinarybandit88
    @thebinarybandit88 4 ปีที่แล้ว +3

    Another great video Ben. Not sure where it came from, but very informative. Does this mean the 6502 project is finished? Or are you still working on that? I was looking forward to adding inputs and making a game which I think you mentioned previously. Or will this tie into that series somehow since you mentioned a software imitation?

  • @Zhixalom
    @Zhixalom 4 ปีที่แล้ว +5

    The puzzle game "Master Mind" springs to... uhm... mind.

    • @ericwalls7717
      @ericwalls7717 4 ปีที่แล้ว

      I wonder if there is a crossover application! That would be fun

  • @williamsquires3070
    @williamsquires3070 4 ปีที่แล้ว +3

    It should also be noted that you can take two more XOR gates and wire them up to the three outputs (yellow LEDs) on the bottom board, and wire the output of that to another LED. That will then tell us if the problem is a parity-bit error (odd # of yellow LEDs on), or a data-bit error (even # of yellow LEDs on)! 😊

  • @ranulfdoswell
    @ranulfdoswell 4 ปีที่แล้ว +1

    Maybe it was just me getting upset that he wasted a XOR gate in both circuits, and then didn't use a 3-to-8 decoder to decode the parity error!

  • @LegendaryFartMaster
    @LegendaryFartMaster 2 ปีที่แล้ว +1

    22:26 to 22:43
    If that doesn't sell you on this scheme, i don't know what will. Absolutely beautiful!!

  • @davidhicks8290
    @davidhicks8290 4 ปีที่แล้ว +2

    We used to have Timmy and Jimmy on Nickelodeon and now we got Ben and Graham on TH-cam

  • @py-tunes-studio
    @py-tunes-studio 4 ปีที่แล้ว

    Love your work mate.

  • @marcello7022
    @marcello7022 10 หลายเดือนก่อน +1

    8:07 Im late to realize but the parity groups make binary counting if you flip it

  • @capability-snob
    @capability-snob 4 ปีที่แล้ว +2

    Great to see you going into depth on the Parroty Bits shown in your VGA video. 🦜

  • @MrRlnansel
    @MrRlnansel 3 ปีที่แล้ว

    When I can, I prefer to use 24-AWG wirewrap wire, the kind with Kynar insulation. With really high-quality breadboards even 26-AWG wire can be used. Kynar insulation is significantly thinner, making for neater wire runs for busses in particular. It's a pity it's so much more expensive than regular 22-AWG hookup wire.

  • @kiisofttech618
    @kiisofttech618 3 ปีที่แล้ว

    Your video are best to understand

  • @prsephton
    @prsephton 4 ปีที่แล้ว

    Thank you Ben!

  • @AlvinBalvin321
    @AlvinBalvin321 4 ปีที่แล้ว +3

    When I first saw ur channel, I thought ur name was bean eater

  • @MrSirPain
    @MrSirPain 2 ปีที่แล้ว +1

    What happens if the data is perfect and a parity bit is wrong?

  • @vega1287
    @vega1287 4 ปีที่แล้ว

    6:46 lickily a 2 bit error shuld cause the wrong combination of worn parity bits meaning that after the correction the parity check shuld fail a second time

  • @proxy1035
    @proxy1035 4 ปีที่แล้ว +1

    I'm half-watching the video, pausing, thinking about how it could work, then building that in a logic simulator and then unpausing to see if i got it right
    this was amazing and blew my mind

  • @thiesenf
    @thiesenf 4 ปีที่แล้ว +1

    I bet Ben could teach me how to program an FPGA in 30 minutes... since he explains the logic needed really good...

  • @ChrisAthanas
    @ChrisAthanas 4 ปีที่แล้ว +1

    Best explanation of this, better than the blue brown guy who is way too academic for me

  • @shrutirao8212
    @shrutirao8212 3 ปีที่แล้ว +1

    6:50 - original hamming code
    16:07 - error generating ckt
    18:20 - computing correct parity bits
    27:27 - building back corrected hamming code ckt

  • @ianmathwiz7
    @ianmathwiz7 4 ปีที่แล้ว +1

    I remember back when you discussed CRC, one of the ways you described it was as a generalization of parity checks. It kind of makes me wonder if you could apply similar logic as the Hamming codes to come up with a CRC-based error correction code that could correct some multi-bit errors.

  • @F0RM4T
    @F0RM4T 4 ปีที่แล้ว +1

    How does this legend of a youtuber monetise his videos with all this swearing?

  • @AmauryJacquot
    @AmauryJacquot 4 ปีที่แล้ว

    I believe you could have used a 74x138 as a decoder in the last part with 74x266 xnor gates

  • @kolyra
    @kolyra 4 ปีที่แล้ว

    Great video

  • @tahamermer2321
    @tahamermer2321 4 ปีที่แล้ว +3

    learn a great thing today - check!

  • @ChrisPavey85
    @ChrisPavey85 4 ปีที่แล้ว

    Hi Ben. Quick question, how come in your error correcting circuit there is no case for a single parity bit been flipped. ie P1 only, so you would have 001? Is it the case that a single parity bit been flipped means it's that parity bit itself that is the error so we can ignore it? Fantastic work as always. Chris

    • @teakew8217
      @teakew8217 4 ปีที่แล้ว +1

      Every data bit is checked by at least 2 parity bits. This means (assuming a single bit error) that if _only_ a single parity bit is wrong, the error must be in that parity bit, and can be ignored.

  • @widenyourconscious2663
    @widenyourconscious2663 4 ปีที่แล้ว

    You're doing a great job.

  • @adityachk2002
    @adityachk2002 4 ปีที่แล้ว +1

    3ben1blue

  • @kylebowles9820
    @kylebowles9820 4 ปีที่แล้ว +1

    Oh shit I might actually have the hardware for this! Fun!

  • @matheusrodrigues9091
    @matheusrodrigues9091 4 ปีที่แล้ว +1

    very good, Boa Noite o seu canal foi recomendado polo WR Kits BR

  • @typedeaf
    @typedeaf 2 ปีที่แล้ว

    74LS86's for everything. Im going to Mouser and buying a gross of them, and 555's.

  • @adityachk2002
    @adityachk2002 4 ปีที่แล้ว +1

    Y'all teamed up?

  • @alistaw1866
    @alistaw1866 3 ปีที่แล้ว

    TRCI L2 GTR STHB university Algeria, when i first knew about error correction and message transfers.
    Great video.

  • @eefaaf
    @eefaaf 4 ปีที่แล้ว

    The first computer system I worked with was a CDC Cyber. It used 60 bit words (coding text as 10 6-bit display characters). It was said that the hardware WAS 64 bits. The 4 remaining bits used for parity... but clearly not for error correction. At least not the Hamming-way. Hemmingway?

  • @ajreukgjdi94
    @ajreukgjdi94 4 ปีที่แล้ว

    so memory or digital output cards or data bus hardware often comes in neat, power-of-2 numbers of bits. Like your 8-bit CPU or the 32/64 bit CPUs of Windows XP/7 or 10, or a 16-bit output card for a PLC. This method always uses exactly 1 less than a power of 2 bits (7 bits needed to guarantee transmission of 4 data bits or 15 needed to guarantee 11; 31 for 25 etc.) so my question is, with only 1 extra error checking bit, what is the most data we can recover? does it only add 1 additional bit error proofing or does it depend on the number of bits being sent? My intuition is the latter, but I don't know. Also, what would that look like? Again, my intuition says that there's a neat spot for that last bit, your parity groups are D1/D2/D4, D1/D3/D4, and D2/D3/D4, but there's no D1/D2/D3 parity group. If we use that group for the last bit, what does it get us, and is that the most efficient use of that bit?

  • @DrewpieDrew
    @DrewpieDrew 4 ปีที่แล้ว

    Truly a fan... But I keep thinking I'm being taught by Stephano from 'A Series of Unfortunate Events'

  • @Crazytesseract
    @Crazytesseract 6 หลายเดือนก่อน

    Now please implement double bit error correcting BCH codes using hardware, and show how to correct the errors.
    And then triple error correcting BCH codes.

  • @dexio85
    @dexio85 4 ปีที่แล้ว

    Was that LGBT promotion with that colored ribbon cable really necessary? Shame to put politics into educational video like that.

  • @alienpoker
    @alienpoker 3 ปีที่แล้ว

    What about biquinary encoding? Error detection is implicitly found in the received data. Probably not worth the extra encode/decode but easy to implement in hardware. It doesn’t allow for error correction, but is an interesting subject.

  • @johansugarev
    @johansugarev 3 ปีที่แล้ว

    Had to stop and comment. I know just barely enough to understand what is being explained. I’m blown away by how clever this logic is.
    Not an engineer but have to admire brilliance when I see it.

  • @duicenasty1078
    @duicenasty1078 4 ปีที่แล้ว

    Been watching your vids for about two weeks and enjoyed them. Then i saw your face and thought i know this bloke sure i have met you. If I'm right i live just down the road from your brother (:

  • @adijorio
    @adijorio 4 ปีที่แล้ว +1

    Ben great video, thank you.
    Question. Your thoughts on how often digital communications suffer from errors of this sort?

    • @SimonBuchanNz
      @SimonBuchanNz 4 ปีที่แล้ว +1

      Actually a lot higher than you would think, since the goal is to transmit as fast as possible. Numbers tend to look like bits per million for copper or less than 10e-14 for fiber - about 1 per 100 megabytes.

  • @FrankGraffagnino
    @FrankGraffagnino 17 วันที่ผ่านมา

    this is awesome. makes me want to build a hamming code simulator like this that teachers can use for demonstration purposes to students.

  • @nanamacapagal8342
    @nanamacapagal8342 4 ปีที่แล้ว +4

    Take a shot every time Ben says "xor gate"
    actually no don't it's too much

    • @urugulu1656
      @urugulu1656 4 ปีที่แล้ว

      if you really wanna die take one everytime he says bit.

  • @sdavis841
    @sdavis841 4 ปีที่แล้ว

    Ben amazing videos, I have a question, do you do any freelance work?

  • @Shmityorshen
    @Shmityorshen 4 ปีที่แล้ว

    But what if a parity bit is flipped? Wouldn't the error correction misidentify that as an error in the original 4 bits and change it accordingly?

  • @AlexEvans1
    @AlexEvans1 4 ปีที่แล้ว

    I guess you didn't want to confuse viewers by using only 4 xors rather than 6.

  • @ropersonline
    @ropersonline 3 ปีที่แล้ว

    It would have been helpful to have mentioned towards the end that you were only building error-correcting circuitry to correct incorrect actual data bits - you're not bothered to correct incorrect parity bits, since they've done their job and they're of no more use as far as that goes.

  • @alexwang007
    @alexwang007 4 ปีที่แล้ว

    Now I am ineterested to see if you could pull off Reed Solomon Code using discrete logic gate ICs...

  • @ihatethesensors
    @ihatethesensors 4 ปีที่แล้ว

    Another great video! Thanks Ben.

  • @Uvisir
    @Uvisir 3 ปีที่แล้ว

    what a nice device this is! This and other stuff like this also should be kits :D

  • @Terracraft321
    @Terracraft321 4 ปีที่แล้ว +1

    Nice and early

  • @guywith_dog
    @guywith_dog 4 ปีที่แล้ว

    realizing the correlation between this chart i.imgur.com/VB4t433.png and the grid patterns in grant's video was great