Понадобились коды Хеминга и я начал в них разбираться, вроде все понятно, но никак не разберусь с примером :-( Не совпадают ответы. Вообщем пример задания: есть числа: a1, a2, a3, a4, a5, a6, a7 где a5, a6, a7 проверочные вычисляемые как: a5 = a2 + a3 + a4 a6 = a1 + a3 + a4 a7 = a1 + a2 + a4 Как я понял надо построить единичную матрицу размерности 4: 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 А затем для каждой строки посчитать a5, a6, a7 и полученную матрицу приписать к единичной, получилось следующее: 1 0 0 0 | 0 1 1 0 1 0 0 | 1 0 1 0 0 1 0 | 1 1 0 0 0 0 1 | 1 1 1 Дальше я беру приписанную матрицу и транспонирую ее и приписываю единичную: 0 1 1 1 1 0 0 1 0 1 1 0 1 0 1 1 0 1 0 0 1 По всей видимости у меня получилась проверочная матрица. НО ответ совершенно другой и я не понимаю как он получился (думаю мжт ошибка в ответе, под описание проверочной он не подходит): 0 0 0 1 1 1 1 0 1 1 0 0 1 1 1 0 1 0 1 0 1 Пните в нужно русло если я ошибся где то.
Бог с Вами, Вы что делаете. Должно быть так C*Q=E (С - кодирующая, Q - проверочная, E - единичная) В вашем случает для вас проще всего будет решить систему C*X=E, где X - проверочная матрица. P.S. стоит хоть размерности пространств проверять)
Ну я делал по определению проверочной матрицы, во всех книгах написано следующее: Проверочная матрица в систематическом виде строится на основе матрицы G(n,k), а именно: H(n, k) = |R*(k,r), I(k)| I(k) - единичная матрица R*(k,r) - матрица в транспонированном виде из G(n,k) Вот и получилась у меня эта матрица. Но ночью я не приметил, что матрица в ответе есть моя получившаяся матрица только в упорядоченном виде по возрастанию. При умножении тестовых кодовых векторов на мою матрицу и матрицу в ответе получаются разные номера битов с ошибкой. Собственно вопрос в каких случаях надо ее упорядочивать?
А что у Вас за книга то? По сути если на пальцах, для Хемминга всегда (где я читал) строилась в начале проверочная матрица, а только затем кодирующая. А проверочная матрица строилась как бинарные цифры, записанные по столбцам по возрастанию. Если дадите ссылку на то, что читаете я попытаюсь понять что хотел сказать автор. P.S. по сути от перестановки столбцов у Вас меняется только определитель матрицы. Так что это не критично. Просто разные подходы к построению кодов.
К примеру тут: http://k501.xai.edu.ua/lib/otpi_uchpos_part2.pdf и http://kunegin.narod.ru/ref1/coding/glava1.htm В разделах про построение этих двух матриц
Спасибо за помощь, я просто не уловил правильно суть синдрома, я думал что его значение однозначно указывает на номер ошибки, но это справедливо только для упорядоченной матрицы с элементами от 1 .... n. А в правильной сути надо в проверочной найти строку равную синдрому, и позиция этой строки в проверочной матрице и есть ошибка.