Помехоустойчивое кодирование, распознавание символов
| Категория реферата: Остальные рефераты
| Теги реферата: шарарам ответы, антикризисное управление
| Добавил(а) на сайт: Krymov.
Предыдущая страница реферата | 3 4 5 6 7 8 9 10 11 12 13 | Следующая страница реферата
1. Теоретические основы информационной техники/Темников Ф.Е.и др.-
М.:Энергия, 1971
2. Орлов В.А., Филлипов Л.И. Теория информации в упражнениях и задачах. - М.:Высш.шк., 1976
3. Сигорский В.П. Математический аппарат инженера - Киев:Техника,
1975
4. Солодов А.В. Теория информации и её
применение к задачам автоматического управления и контроля - М.: Наука,
1967.
2.3 ВЫВОД
Во второй части была рассмотрена модель распознавания, основанная на шаблонной классификации. Программное моделирование показало неплохие результаты. Модель распознаёт строку практически в 100% случаев при уровне помех до 40%. Однако данный подход может использоваться только в том случае, если заранее известно, что распознаваемые символы будут одинакового шрифта.
ПРИЛОЖЕНИЕ А
Текст программы моделирования канала связи.
Program final_of_work; uses crt,graph; const a=5; b=0; m=10+(a mod 6); {15} r=trunc((m+a-b)/2); {10} var n, {n для (n,1) - кода} temp,ent,out,symb,decode:byte; {буферы для кодирования} p:array[1..m] of real; {вероятности} p01,p10:real; {p единичной ошибки} z,dl:array[1..m] of byte; {код, длина кода} mask: array[1..8] of byte; {маски для декодирования} data_n,data_p
:array[1..100] of integer; {данные для графика} i,j, {счетчики} count_of_errors, {счетчик ошибок восстановления} dlina,sh, {длина массива сообщений} count:integer; {счетчик для построения графика} range,c,s,l:byte; fl:boolean; function flag(px:real):boolean;
{---осуществляет событие с вероятностью p---} var ww,wq : word;
begin ww := round(px * 100); wq := random(100); if ww > wq then flag := true else flag := false; end;
procedure ver; {------------расчет вероятностей---------} var s,i3,j3: integer; tmp,s1:real; begin s:=0;tmp:=0; {вычисляем вероятности} for j3:=1 to m do s:=s+sqr(j3-r); s:=s+m; for i3:=1 to m do p[i3]:=(1+sqr(i3-r))/s;
{-------упорядочиваем вероятности--------} for i3:=1 to m-1 do {внешний цикл} begin tmp := p[i3]; {локальный максимум} for j3:=i3 to m do if p[j3] >= tmp then begin tmp := p[j3]; {максимум на i шаге} s:=j3 {его номер} end; p[s] := p[i3]; {обмен} p[i3] := tmp end;
end;
procedure deranges; {----------внесение помех------------} var tmp : byte; c0,c1 : integer; {счетчики 0 и 1 для декодирования} begin out := 0; {выходной код после помех} for i := 0 to 7 do {цикл по разрядам} begin c0 := 0; {сброс счетчиков} c1 := 0; tmp := (z[ent] shr i) and 1; {выделяем разряд} for j := 1 to n do {цикл по разрядам (n,1)-кода} case tmp of {определяемм помеху}
0 : if flag(p01) then inc(c1) else inc(c0);
1 : if flag(p10) then inc(c0) else inc(c1) end; if c1 > c0 then out := out or (1 shl i) end; {вносим помеху в выходной код} end;
procedure set_codes; {-----по алгоритму Шеннона - Фэно-----} var i3,j2 : byte; function numb(v:real):byte;{номер вероятности, находящейся} var i2 : byte; {"" той, что передается как параметр} begin for i2 := 1 to m do {цикл по вероятностям} if(v >= p[i2 + 1]) and (v 1) and (j < m)
{если > 2 элементов...} then dec(j); {...корректируем нижнюю границу} s := numb((p[i] + p[j])/2); {делим} if p[i] = p[j] {если два элемента...} then s := i; {середину - на "верхний"} if j = 0.98; gotoxy(10,24); writeln('Press any key to continue...'); readkey; graphiki; readkey; closegraph;
End.
ПРИЛОЖЕНИЕ Б
Текст программы распознавания символов
Program Final_of_work; uses graph; const BiH=50; {-------высота картинки в пикселях------}
BiW=160; {-------ширина картинки в пикселях------} stroka:array[1..10] of char=
('I','h','i','G','F','k','H','g','J','j');
Рекомендуем скачать другие рефераты по теме: реферат безопасность, земля реферат.
Категории:
Предыдущая страница реферата | 3 4 5 6 7 8 9 10 11 12 13 | Следующая страница реферата