JBQ
Ovo je moje rješenje ali ga uzmi sa rezervom jer nisam siguran jel točno
Išao sam logikom da jednostruke vektore pogreške lako odredim - to su stupci matrice HT. No njih ima 5, tj. sa sindromom 000 daju samo 6 sindroma, a imaš sveukupno 8 mogućih sindroma mislim (000…111), dakle fale ti vektori pogreške za sindorme 011 te 110. Ja sam ta dva vektora odredio na način da sam gledao koje retke u HT trebam zbrojiti da dobijem 011 odnosno 110 , tj. preko formule S(e) = e*HT. Tako sam npr. vidio da zbrajanjem zadnja 2 reda HT mogu dobiti sindrom 011, pa sam stavio da je vektor pogreške koji pripada sindromu 011 00011. Slično sam napravio i za sindrom 110. Također, mislim da ti se vektor koji dodaješ kao novi vektor pogreške ne smije pojavljivati nigdje prije u std nizu (barem prema ovome https://en.wikipedia.org/wiki/Standard_array)
Međutim, 2 stvari i mene bune.
1) Ponekad, npr. u knjizi, standarni nizovi imaju samo jednostruke vektore pogreške. Kako bi mi trebali znati kad imamo standarni niz samo sa 1x, a kad sa preostalim 2x pogreškama ja nemam pojma, Koliko se sjećam, ja sam zaključio da moram imati standarni niz sa svim sindromima zbog iii) dijela zadatka, jer mislim da se takva formula može dobiti samo ako imamo 5 vektora pogreške sa 1 jedinicom i 2 vektora pogreške sa 2 jedinice. Da nisam imao tu formulu pod iii), ja nemam pojma kako bi znao trebam li dodati i vektore pogreške sa 2 jedinice.
2) Mislim da ovaj std. niz koji sam ja dobio nije jedinstven. Npr. mogao sam za e sindroma 011 uzeti vektor pogreške 01100, i mislim da bi to također bilo točno, iako takav kod bi drugačije dekodirao primljene kodne riječi. Mislim da je to svojstvo toga što ovakav kod može (pouzdano) ispraviti samo 1x pogreške, a ako se desi 2x pogreška, mi mu valjda sa std. nizom govorimo kako da tu 2x pogrešku interpretira. Tako sam bar ja shvatio, no nisam siguran je li to točno.