Расшифровать сообщение при помощи алгоритма Хемминга
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
Расшифровать сообщение при помощи алгоритма Хемминга - 2008-11-22 20:55:54.106666
|
|
|
DeCoder
Сообщений: 209
Оценки: 0
Присоединился: 2007-10-29 15:09:04.486666
|
Получено сообщение: 0101110011000110100101011111001000000111100000111101001 11101001011011101100110010100110111001001101100111101110 Необходимо его декодировать, исправив(там не хватает 1й цифры, хз где) ошибки. quote:
Таблица значений: Пробел 0000000 А 0001111 Б 0010110 В 0011001 Г 0100101 Д 0101010 Е 0110011 Ё 0111100 Ж 1000011 З 1001100 И 1100110 К 1110000 Л 1011010 М 1010101 Н 1101001 О 1111111
|
|
|
RE: Расшифровать сообщение при помощи алгоритма Хемминга - 2008-11-22 23:33:56.213333
|
|
|
yTr42
Сообщений: 224
Оценки: 0
Присоединился: 2008-07-06 23:58:53.516666
|
Тебе прогу написать? Или перевести? Таблица значений есть, чего еще надо?
|
|
|
RE: Расшифровать сообщение при помощи алгоритма Хемминга - 2008-11-23 08:13:07.810000
|
|
|
kolPeeX
Сообщений: 1456
Оценки: 0
Присоединился: 2007-01-25 14:57:57.683333
|
quote:
ORIGINAL: DeCoder Получено сообщение: 0101110011000110100101011111001000000111100000111101001 11101001011011101100110010100110111001001101100111101110 Необходимо его декодировать, исправив(там не хватает 1й цифры, хз где) ошибки. quote:
Таблица значений: Пробел 0000000 А 0001111 Б 0010110 В 0011001 Г 0100101 Д 0101010 Е 0110011 Ё 0111100 Ж 1000011 З 1001100 И 1100110 К 1110000 Л 1011010 М 1010101 Н 1101001 О 1111111 Ну, там, кажется, несколько ошибок. Вот, гляди: Все значения по 7 бит. Берем первые семь. 0101110 - такой буквы в словаре нет. Значит там не хватает одной цифры. Берем последнюю и след. шесть. 0011000 - нет. Может ошибка? берем с 7 по 14. 0110001 - нет. Ищи ошибки в задании, может ты когда переписывал - ошибся
|
|
|
RE: Расшифровать сообщение при помощи алгоритма Хемминга - 2008-11-23 17:21:08.146666
|
|
|
DeCoder
Сообщений: 209
Оценки: 0
Присоединился: 2007-10-29 15:09:04.486666
|
В том-то и дело, это-часть задания. Исправить ошибки и перевести:@
|
|
|
RE: Расшифровать сообщение при помощи алгоритма Хемминга - 2008-11-23 20:44:47.880000
|
|
|
DeCoder
Сообщений: 209
Оценки: 0
Присоединился: 2007-10-29 15:09:04.486666
|
А, там ещё подвопрос: "Удалось ли расшифровать все символы однозначно?"
|
|
|
RE: Расшифровать сообщение при помощи алгоритма Хемминга - 2008-11-23 20:47:35.116666
|
|
|
Pashkela
Сообщений: 3756
Оценки: 736
Присоединился: 2007-01-03 06:19:40.900000
|
http://www.wasm.ru/forum/attachment.php?item=1011 http://www.overclock.net/application-programming/159908-hamming-encoder-decoder.html
|
|
|
RE: Расшифровать сообщение при помощи алгоритма Хемминга - 2008-11-24 05:12:01.653333
|
|
|
kolPeeX
Сообщений: 1456
Оценки: 0
Присоединился: 2007-01-25 14:57:57.683333
|
Сорри, я не всек в алгоритм.
|
|
|
RE: Расшифровать сообщение при помощи алгоритма Хемминга - 2009-01-16 05:06:07.986666
|
|
|
Dem0nBFG
Сообщений: 4
Оценки: 0
Присоединился: 2007-10-31 20:08:18.290000
|
обожал я кодирование … хех … Может у кого-то будет такая же проблема, поэтому постараюсь объяснить чтобы было совсем понятно. Тут всё предельно просто. Таблица значений вообще не в тему по-моему, может я и ошибаюсь. Простой (7,4) Код Хемминга. Длина 111 + одного не хватает 112. (С чего взял что 7,4 ? Для n = 2^m – 1 , k = 2^m – m – 1 , m > 2 существует (n,k)- код Хемминга. 112/7 = 16. Делится без остатка. В остальных случаях есть остаток.) Допустим что не хватает последнего символа. Удалось ли расшифровать все символы однозначно? Думаю что нет .. точно хз … символ то хз где пропущен следовательно какаято часть данных будет неверной , наверно даже 2 символа, зависит от того куда поставим потерянный символ. Итак хватит фигни и приступик к основному моменту . Берём первые 7 символов. 0101110(i1,i2,i3,i4,p1,p2,p3) определяем есть ли ошибка …. Находим синдром s1=i1+i2+i3+p1 , s2=i2+i3+i4+p2 , s3= i1+i2+i4+p3 всё %2(т.е. 1+1=0,0+1=1, 1+1+1=1). s1=(0+1+0+1)%2=0 s2=(1+0+1+1)%2=1 s3=(0+1+1+0)%2=0 Синдром 010 – ошибка в 6ом бите. Исправляем 0101110 -> 0101101 выписываем первые 4. 0101 это инфа до кодирования. Берём следующие 7 . Код 0110001 Синдром 000 - нет ошибок выписываем 0110. Список синдромов : 000 – нет ошибок. 101 – в 1 бите, 111- во 2, 110 – в 3, 011 – в 4, 100 – в 5, 010 –в 6, 001 – в 7. В итоге получаем 0101011010101111000000100100101011010100011000101001010001000011(это те символы которые мы выписывали). Вот оно … раскодированное и исправленное. ну вот собсна и весь процесс )))
|
|
|
|
|