for i:=1 to n do write(inp_code_word[i]);
TextColor(White);
writeln;
{ Вводим ошибку в передаваемую кодовую комбинацию}
TextColor(9); writeln('РАБОТАЕТ КАНАЛ'); TextColor(White);
for i:=1 to n do out_code_word[i]:=inp_code_word[i];
write(' Вводим номер искаженного бита',' ':4,'=> ');
n_err:=random (n+1);
out_code_word[n_err]:= out_code_word[n_err] xor 1;
writeln('out_code_word[',n_err,']=',out_code_word[n_err]);
write(' Принятая кодовая комбинация',' ':7,'=> ','out_code_word[i]=');
TextColor(LightRed);
for i:=1 to n do
begin
if i=n_err then
begin
TextColor(White); write(out_code_word[i]); TextColor(LightRed);
end
else write(out_code_word[i]);
end;
writeln;
TextColor(9); writeln('РАБОТАЕТ ДЕКОДЕР'); TextColor(White);
{Вызов процедуры транспонирования проверочной матрицы}
Trans(HmnT);
De_Coder(out_code_word,out_code);
ErrorBit(out_code, n_err);
{Определение ошибочного бита}
out_code_word[n_err]:= out_code_word[n_err] xor 1;
write(' Правильная кодовая комбинация',' ':5,'=> ','out_code_word[i]=');
TextColor(LightRed);
for i:=1 to n do
begin
if i=n_err then
begin
TextColor(White); write(out_code_word[i]); TextColor(LightRed);
end
else write(out_code_word[i]);
end;
writeln;
TextColor(White);
for i:=1 to n do out_inf_word[i]:=out_code_word[i];
write(' Правильное сообщение',' ':14,'=> ','out_inf_word[i]=');
TextColor(Green);
for i:=1 to k do write (out_inf_word[i]);
TextColor(White);
writeln;
{Определяем принятую цифру}
{Преобразование двоичного кода в десятичное число}
Bin_Dec(out_inf_word,dec_out);
writeln(' Принятая цифра',' ':20,'=> ',dec_out);
writeln; writeln;
ch:=readkey;
Until ch=#27 {Выход при нажатии кл. Esc}
End.
Результат работы программы
Лабораторная работа №2
Код Хэмминга
Цель работы: Приобретение практических навыков кодирования с использованием кода Хэмминга.
Задание:
1. Построить код Хэмминга способный передавать сообщения в виде последовательности 16-ричных цифр первичного алфавита с исправлением одиночной ошибки. Показать процесс кодирования, декодирования и исправления однократной ошибки для произвольно выбранного информационного слова (например, 1010).
2. Составить программу, реализующую процесс кодирования, декодирования и исправления однократной ошибки с использованием кода Хэмминга.
Порядок выполнения работы
1. Построение кода Хэмминга
Существуют различные методы реализации кода Хэмминга и кодов, которые являются модификацией кода Хэмминга. Рассмотрим алгоритм построения кода для исправления одиночной ошибки.
Пример. Построить код Хэмминга способный передавать сообщения в виде последовательности 16-ричных цифр первичного алфавита с исправлением одиночной ошибки. Показать процесс кодирования, декодирования и исправления однократной ошибки для произвольно выбранного информационного слова (например,1010).
Решение:
1. Выполним первичное кодирование, т. е. определим информационное слово для каждого символа первичного алфавита. Число информационных разрядов k для заданного объема кода можно определить из соотношения N = 16= 2k = 24
‘0’ => 0000 ‘4’ => 0100 ‘8’ => 1000 ‘C’ => 1100
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.