понеделник, 9 февруари 2015 г.

Обобщена схема за цифрово пренасяне на информацията - кодиране на източника, кодиране на канала, защита от грешки, капацитет на канала за пренос

Обобщена схема за цифрово пренасяне на информацията

Обобщената схема (фиг.2.1) обхваща три основни процеса на цифровото пренасяне на информация в канал за връзка: кодиране и декодиране на източника, кодиране и декодиране на канала, модулация и демодулация. В предавателната страна обработката на сигнала обхваща кодиране на източника, кодиране на канала и модулация и има за цел да преобразува сигнала на входната информация, така че да се осигори оптималното му предаване в канала за връзка. Това означава пренасянето в канал за връзка със зададени параметри (широчина на честотната лента, шумови характеристики и др.) на максимален обем цифрова информация с минимален брой грешки. Кодирането на канала и модулацията се избират по подходящ начин за всеки конкретен канал за връзка. Кодирането на източника зависи от вида и целите на предаваната информация. При правото и обратното кодиране на източника загубата на информация трябва да е незабележима.

В приемната страна се изпълняват обратните операции - демодулация, декодиране на канала и декодиране информацията на източника. При последната трябва да бъде възстановена входната информация с минимални изкривявания. Изкривяването на информацията настъпва в резултат на неидеалните процеси на правото и обратното преобразуване, неидеалните характеристики на канала за пренос и под въздействие на смущения.

При кодирането на източника най-напред аналоговата информация се преобразува в цифрова. Основната цел на кодирането на източника е съкращаване обема на предаваната информация, като по този начин се намаляват изискванията към системата за обработка ни предаване на информацията - обемът на необходимата памет за обработка и съхраняване, времето за обработване и предаване, и на честотната лента на канала за връзка.

Целта на кодирането на канала е безпогрешното предаване на информацията в канала за връзка. Телевизионното разпръскване е неинтерактивна система и при него се използва само права корекция на грешките с помощта на специални коригиращи кодове. Алгоритмите за откриване и коригиране на грешките изискват добавянето на специални служебни символи, които увеличават общия обем на пренасяната в канала за връзка информация. При силно зашумени канали постигането на практически безпогрешно предаване, общият обем на пренасяната информация може да се удвои.

При модулацията двоичните сигнали от изходната (основната) честотна лента се преобразуват в радиосигнали в честотната лента на канала за връзка. Всъщност при модулацията сигналът на двоичния цифров код се преобразува в радиосигнал, което позволява цифровата информация да се предаде в конкретния физически канал за връзка. Ефективната цифрова модулация позволява по-плътно предаване на данни в честотната лента на канала, която оптимизира използването на лентата. Най-удачният метод за модулация се избира по следните два критерия:
  • постигане на висока спектрална ефективност на предаване на цифровия поток (предаване на висока скорост в тясна честотна лента);
  • постигането на висока енергийна ефективност (предаване при ниски стойности на коефициента сигнал/шум при максимално заемане на честотната лента на канала за връзка.
За постигане на първия критерий се използват по-ефективни методи за модулация, позволяващи пренасяне на по-голям брой битове в `1 Hz` честотна лента на канала за връзка. Вторият критерий се постига с прилагането на по-ниско ефективни методи на модулация, но с използване на по-ефективни  коригиращи кодове, които въвеждат по-голям излишък. Във всеки конкретен случай се прави съответен компромис между двата критерия в зависимост от ширината на честотната лента и коефициента сигнал / шум на канала за пренос.

Оптималният избор на методите а кодиране на източника, за кодиране на канала и за модулация на сигнала, определя ефективността на системата за предаване на цифровата информация, т.е. степента на използване пропускателната способност на канала за връзка.

В съвременните системи за предаване на цифрова информация, методите и съответните блокове за кодиране на източника и за кодиране на канала, както и модулаторът се разработват съвместно, с цел постигане на оптимално използване на канала. В добре проектирана система за цифрово предаване на информация рядко възникват грешки.

Кодиране на източника

Скоростта на информационния поток на цифровия телевизионен сигнал в изхода на студиото при 8-битово кодиране е `216 {Mbit}/s` и съответно `270 {Mbit}/s` при 10-битово кодиране. При телевизия с висока разделителна способност (HDTV) скоростта на цифровия поток е още по-голяма - около `1 {Gbit}/s`. Тези скорости се повишават, ако към цифровия поток се добавят битове за защита от грешки.

Съществуващите телевизионни канали с широчина на лентата `8  MHz` при наземната и кабелната телевизия, и `27` или `36  MHz` при спътниковата телевизия не са пригодени за пренасяне на подобни скорости на цифровия поток.

За да могат да бъдат използвани съществуващите телевизионни канали за пренос на цифрови телевизионни сигнали е необходимо от една страна да се съкрати цифровия поток, а от друга - да се използват оптимални методи за модулация.

Намаляването скоростта на цифровия поток на телевизионния  сигнал се осъществява с отстраняване на излишната (повтарящата се) информация (redundance) и неуместната (irrelevance). Нерядко вместо съкращаване на цифровия поток, в литературата се използва понятието компресия на цифровия поток, което не е съвсем коректно, тъй като не се осъществява компресия в истинския смисъл на този термин. По тази причина се предпочитат понятията "кодиране" и "декодиране" на потока, които съответстват на терминнологията на ISO стандартите (encoding, decoding).

Редуцирането на скоростта на цифровия поток заедно с отстраняването на излишната и маловажна информация в сигнала се нарича кодиране на източника. Използването на оптимални методи за модулация позволява пренасянето на по-голям брой битове в дадена честотна лента - по-ефективно използване на канала за пренос.

Съкращаването на информационния излишък в телевизионния сигнал се базира на:

  • Отстраняване на времевите итервали на кадровите и редовите гасящи и синхронизиращи импулси, в които не се предава видеоиформация, чиято обща продължителност е `26,75 %`;
  • Силната корелационна връзка на сигнала в съседни елементи и редове от развивката;
  • Използването на факта, че при кадрова развивка `25  Hz` разликата между два съседни кадъра е минимална. Това позволява значително да се съкрати информацията, като в канала за връзка се предава само разликата между съседните кадри в изображението;
  • Прогнозирането на движението на обектите в кадъра на изображението;

Съкращаването на информационния излишък в телевизионния сигнал може да се осъществи по следните четири начина:
  • Съкращаване на видеоинформацията във времевата област. Разликата между съдържанието на изображението ина съседните кадри е практически малка и е достатъчно да се предаде изцяло информацията само за един кадър, а след това се предава само разликата между съседните кадри. В приемната страна тази разлика позволява да бъде възстановено изходното съдържание на всеки кадър. Този вид съкращаване на видеоинформацията се нарича междукадрова компресия.
  • Съкращаване на видеоинформацията в пространствената област. Тъй като в изображенията има части с еднаква яркост и цветност. В тези случаи е достатъчно да се предаде видеоинформацията за един отчет, а за останалите отчети от областта се посочва, че имат същата яркост и цветност, Този вид съкращаване на видеоинформацията се нарича вътрешнокадрова компресия.
  • Статистическо съкращаване на видеоинформацията. Разликата между съдържанието в следващите кадри на изображението подлежи на предсказване с определена степен на достоверност за това коя информация ще се съдържа и в следващия кадър.
  • Психооптично съкращаване на видеоинформацията. Основава се на ограничената пропускателна способност на зрението като система за предаване и обработка на видеоинформация. Човешкото възпиятие на оптични изображения има следните особености: окото е по-чувствително към изменения в яркостта, отколкото към изменения на цветността; то има ограничена пространствена разделителна способност както и ограничена времева разделителна способност, което облекчава предаването на бързоподвижни обекти.
Свойствата на човешкото зрение са били съобразени при определяне параметрите на телевизионната развивка и при избора на честотата на дискретизация на сигнала за яркост и на сигналите за цветност при преобразуването им в цифров вид.

Основни методи за съкращаването на информационния излишък са диференциална импулсно-кодова модулация (DPCM) и дискретна косинусова трансформация (DCT). Най-често се прилага комбинация от двете в така наречения Hibrid-DCT-Coder с използване на компенсация на движението.

При съкращаване на информационния излишък не се губи видеоинформация. Този вид редукция на цифровата информация се нарича кодиране без загуба.

Вторият начин за съкращаване на информацията е изключването на безполезните съставки на информацията - използва се свойството на окото (при видеосигнала) и на ухото (при звуковия сигнал) да не възприемат еднакво всички елементи на информацията. Налице е различие във възприемането на изменението на яркостта на обектите в изображението, което се използва при кодиране на сигнала в аналоговите системи за цветна телевизия PAL, SECAM и NTCS. При изключване на безполезните съставки в сигнала се отстранява информацията, която не е основна при възприемане на избражението и звука от човешките органи. Това е кодиране с частична загуба.

Следователно при кодиране на източника се извършва намаляване на скоростта на цифровия поток от източника на сигнала (TV студио) с цел редуцираният цифров поток да бъде предаден в канала за връзка (фиг.2.2). При кодиране на източника практически се отстранява излишната и безполезната информация във входния сигнал. Разликата между скоростта на входния и изходния цифров поток, се нарича степен на редукция. Степента на редукция (съкращаването на информация) би могло да достигне до 95% и повече. Кодирането на източника се осъществява в цифровото телевизионно кодиращо устройство - телевизионен кодер.

Кодиране на канала

Целта на кодирането на канала е да осигури практически безпогрешно приемане, което допуска не повече от една грешка на един час приемане. Тази задача се решава с избор на съответни средства за защита от грешки. При кодиране на канала се формира цифрова поредица, която се предава на модулатора и е съгласувана с параметрите на канала за пренос - наземна, спътникова или кабелна разпределителна мрежеа, за да се пренесе цивровият поток с максимална скорост при минимален брой грешки.

Процесът на каналното кодиране се състои от много стъпки:

  • равномерно разпределяне на енергията на спектъра на сигнала;
  • външно кодиране;
  • разместване на битовете в рамката;
  • вътрешно кодиранет;
  • формиране на основната лента на сигнала.
Кодирането на източника е еднакво и при трите вида цифрови телевизионни системи - спътникова, кабелна и наземна. Разликите са в кодирането на канала и формират съответните стандарти спътниково (DVB-S), кабелно (DVB-C) и наземно (DVB-T) цифрово телевизионно разпръскване.


Кодирането на канала се предхожда от формирането на мултиплексния канал (фиг.2.3). Цифровият канал на всяка телевизионна програма след кодирането на източника се подава на мултиплексор (MUX). Предназначението на мултиплексора е да се съберат заедно цифровите потоци на няколко цифрови телевизионни програми (видеосигнал с един или няколко звукови съпровода), на радиопрограмите и на други допълнителни цифрови информации. След кодирането на източника, цифровият поток на телевизионните програми се редуцира по такъв начин, че става възможно в съществуващите телевизионни канали едновременно да се предават по няколко програми.

След мултиплексора скоростта на цифровия поток става равна на сумата от скоростите на цивровите потоци на отделните телевизионни програми. Формираната след мултиплексора цифрова поредица, наречена транспортен поток, трябва да гарантира правилното разделяне на цифровите потоци в демултиплексора (DEMUX) в приемната страна на цифровите потоци на отделните програми.

Цифровата информация в транспортния поток е образувана от байтове по 8 бита и е организирана в рамки (фиг.2.4). Рамката, започваща с четири байта за синхронизация, се нарича флаг или заглавие (Header) и e последванa от информационно поле, което съдържа допълнителна информация, необходима за работата на приемното устройство. Битовете във флага се наричат служебни битове и служат за управление на комуникационния процес. Те не достигат до крайния потребител.

Пакетът MPEG-2 на мултиплексния сигнал преди каналното кодиране е с продължителност 188 байта (1504) бита. От тези 188 байта се използват 184 за предаване на полезната информация, а останалите 4 байта образуват флага (фиг.2.4). Първият байт във флага е първи байт на рамката и служи за синхронизация. Стойността му е `47HEX`. В следващите 3 байта на флага се предава информация за пакета (номер на пакета PID и др.).

Основната функция на кодирането на канала е добавянето на допълнителна информация за защита от грешки. В резултат на това скоростта на цифровия поток на след кодирането на канала се увеличава. Пример за предаване на пет телевизионни програми в спътников телевизионен канал с широчина на честотната лента `27  MHz` е показан на (фиг.2.5).

Защита от грешки

При пренасянето, приемането и декодирането на цифровия сигнал съществува вероятност за възникване на грешка в отделни битове или в група битове. Всяка грешка изкривява приетото съобщение, а при по-голям брой грешки приетата информация става неизползваема. Вероятността за грешка се увеличава с влошаване на отношението сигнал / шум на входа на приемното устройство.

При SDI телевизионен сигнал неправилното приемане на един или няколко последователни бита предизвиква грешка в един или два пиксела, което невинаги се забелязва на екрана. Обаче грешка в един бит цифров сигнал, кодиран по стандарта MPEG2/4 ще доведе до грешка в блок с размери 8 х 8 пиксела и ще се забележи върху изображението. Това е нежелателно и се налага да бъдат предприети мерки за защита от грешки при предаване на кодиран цифров поток.

Съществуват много фактори, които могат да доведат до грешки при декодирането на цифровия сигнал, като обикновено всяка грешка е придизвикана от съвкупност причини (табл.2.2).
За намаляване вероятността за грешка, в цифровия сигнал се въвежда защита от грешки с използването на подходящи алгоритми. На тази защита се подлага формираният от мултиплексора транспортен цифров поток на полезната информация. Защитата от грешки означава откриване (разпознаване) на грешката и отстраняването ѝ.

Грешките при приемане на дадена цифрова поредица могат да бъдат:
  • бит-грешка - невярно приемане на един двоичен елемент (единична грешка);
  • пакетна грешка в блок с дължина `n` бита е налице, когато най-малко първият и последният бит в блока са приети погрешно;
  • символна грешка - когато в даден символ един или няколко бита са приети погрешно, което прави и самият символ приет погрешно. В грешно приетия символ може да има бит-грешка и/или пакетна грешка.
Трите вида грешки са пояснени на фиг.2.6. Дължината на символа в примера е приета K=6 бита. Съществуват различни методи за защита от грешки:
  • откриване на грешки в цифровите данни и автоматично запитване за повторение на блока с повредените данни - този метод е подходящ при пренос на данни от "точка до точка";
  • откриване на грешки в блока от данни и отхвърляне или заместване с предходните данни, използва се в мултимедията, когато няма време за повторно предаване на данните - методът се нарича маскиране на грешката;
  • откриване и поправяне на грешките - прилага се в системите "точка - много точки", каквато представлява цифровата телевизионна система.
Защитата от грешки се постига с използването на шумоустойчиво кодиране чрез добавяне на допълнителни битове към информационните битове, т.е. с добавянето на излишък към полезната информация, който позволява в приемното устройство да се открият и коригират погрешно приетите битове. Целта на оптималната защита от грешки е с минимално добавени допълнителни битове да се получи максимална защита.

Принципът на шумоустойчивото кодиране се базира на факта, че при обикновените равномерни кодове, всяка кодова комбинация се различава от съседните си само с един разряд. Следователно при погрешно приемане на 1 разряд, кодовата комбинация просто ще се превърне в друга, и съобщението ще бъде грешно прието. Шумоустойчивият код обикновено се различава по това, че се използват само част от всички кодови комбинации (разрешени кодови комбинации), а останалите са забранени. В резултат всичките възможни кодови комбинации се разделят на две групи - разрешени и забранени. Ако при приемането в резултат на грешка разрешена кодова комбинация се трансформира в забранена, това е еднозначна индикация, че е открита грешка. Ако в кода се въведе по-голям излишък, би могло да се постигне не само откриване, но и коригиране на грешката.

На фиг.2.7 е дадена обща класификация на кодовете за корекция на грешки. Те са два основни вида - блокови и конволюционни. При блоковото кодиране цифровият поток се разпределя на блокове с фиксирана дължина. В общия случай блокът се състои от `m` бита. При кодирането към всеки блок от `m` информационни бита, се добавят `k` бита за защита от грешки, които създават излишък и служат за откриване и коригиране на грешките при приемането на информационните битове. Така дължината на блока става равна на `n=(m+k)` бита (фиг.2.8). При блоковите кодове кодирането и декодирането се осъществява в рамките на блока. За разлика от блоковото кодиране, при конволюционното кодиране допълнително добавените битове са разпределени между информационните битове и кодирането, и декодирането се осъществява непрекъснато в последователността на цифровия поток.
Блоковите кодове са разделими и неразделими. В разделимите кодове, във всяка кодова комбинация може да се покаже кои символи са информационни и кои са въведени допълнително за защита от грешки. При неразделимите кодове това е невъзможно.

Най-голям клас от разделимите блокови кодове са систематичните кодове, при които  допълнителните битове се определят като резултат от линейна операция на определени ингормационни битове. Към систематичните се отнасят: код с проверка по четност, код с повторение, код на Хеминг. код на Галей, код на Ред-Мюлер, код с малка плътност при проверка на четност (LDPC код) и др.

Разновидност на систематичните кодове са цикличните кодове. Освен всички свойства на систематичните кодове, цикличните се характеризират и с това, че ако дадена кодова комбинация принадлежи на цикличния код и е разрешена, то получената чрез циклично изместване на символите нова комбинация е също разрешена. Най-разпространени  циклични кодове са: мажоритарните кодове, код на Хеминг, код Боуз-Чоудхори-Хоквингем (BCH код), код Рийд-Соломон и др.

Друга класификация разделя кодовете на кодове за коригиране на случайни грешки и кодове за коригиране на пакети от грешки. Предимството на различните кодове може да се обедини чрез използване на каскадно кодиране. По този метод информацията първо се кодира с един код, след това с друг. В приемната среда декодирането става в обратен ред. Каскадното кодиране се използва в цифровата телевизия при пренасянето на цифровия поток чрез спътниковите и наземни телевизионни канали, в които нивото на шума е високо. За тази цел се използва два вида защита от грешки - външна и вътрешна.


Външна защита от грешки се прилага към цифровия сигнал непосредствено след мултиплексора, а вътрешна защита от грешки - преди модулацията (фиг. 2.9). И двата вида защита трябва да бъдат взаимно съгласувани и да се допълват. В приемната страна има съответни декодери за вътрешната и външната защита, които възстановяват сигнала от мултиплексора.
В стандартите DVB-S и DVB-T за външна защита се използва кодът Рийд-Соломон, за за вътрешна защита - конволюционно кодиране. Тази комбинация осигурява ефективна защита от грешки - например при отношение сигнал / шум `7dB`, вероятността за двоична грешка BER на входа на приемника е `3.10^2`. В резултат, от конволюционното кодиране на изхода на Витерби декодера, грешката се намалява до `2.10^-4`, а на изхода на Рийд-Соломон декодера - от `10^-10` до `10^-11`. Този пример показва как чрез комбинацията от кодиране Рийд-Соломон и конволюционно кодиране се постига практически безпогрешно приемане на сигнал в силно зашумени условия.

В стандартите DVB2 за външна защита от грешки се прилага BCH кодиране, а за вътрешна - LDPC кодиране. Тази комбинация позволява да се подобри отношението сигнал / шум с 3 dB при еднакъв брой битове, а защита от грешки в сравнение с DVB и съответно да се повиши пропускащата способност на канала с около `30%`

При предаването на информация по канала за връзка, вероятността за грешка зависи от отношението сигнал/шум на входа на демодулатора. При постоянно ниво на шума, решавашо значение има мощността на предаващото устройство. Тъй като шумоустойчивото кодиране позволява да се коригират грешките, това дава възможност да се намали мощносттс на предавателя при запазване скоростта на цифровия поток. Енергетичната печалба от използването на шумоустойчиво кодиране се определя от разликата в отношението сигнал/шум със и без шумоустойчиво кодиране при еднаква вероятност за битова грешка.

Важна стойност на шумоустойчивото кодиране е степента на кода `R_C`, която е отношението на битовете, носещи полезна информация `m`към общия брой `n` предадени битове:

`R_C=m/n=m/{n-k}={n-k}/n=1-k/n`, където `k` е броят на допълнителните битове за защита от грешки, а коефициентът `R_C` се нарича още относителна скорост на кода.

Очевидно, колкото по-голям е броят на допълнителните битове (т.е. по-малка стойност на `R_C`), толкова по-големи са възможностите на кода да открива и коригира грешно приетите битове. Параметри на блоковите кодове са числата `n`, `m` и `Т`, където `n` е броят на байтовете след кодирането (сума от байтовете на полезната информация и байтовете на дъпълнително добавената информация); `m` е броят на байтовете с полезната информация и `Т` е броят на байтовете с грешки, които могат да бъдат открити и поправени.

Блоковият код на Рийд-Соломон (RS-код) носи имената на изследователите Ървинг Рийд и Густав Соломон. Този код е цикличен и е подходящ за коригиране на пакетни грешки. Той се използва и в системите за оптичен запис на видео, звук  и данни върху компакт дискове, при записване на цифрова информация върху хард-дисковете в персоналните компютри, при предаване на данни чрез модеми и т.н. Кодът Рийд-Соломон е частен случай на BCH кода и е един от най-мощните кодове за корекция на многократни пакетни грешки, които не могат да бъдат коригирани с кодове за корекция на единични грешки. Той е линеен недвоичен систематичен блоков код. Линейните му блокове се образуват от набор кодови думи с фиксирана дължина, в които всеки елемент от кодовата дума се избира от азбука с `q` символа. Обикновено  `q=2^S` , което означава, че `S` информационни бита образуват един символ. Максималната дължина на кодовата дума не може да превишава стойността:

`n_{max}=2^n-1`

Ако `n<n_max`, то кодът се нарича съкратен. В системите за цифрово телевизионно разпръскване RS-кодът има байтова структура, т.е. `n=8` и `n_{max}=2^8-1=255`. Съответно оригиналният код има параметри `RS (255, 239, T=8)`, т.е. `239` информационни байта, 16 допълнителни байта и възможност да бъдат коригирани `8`. В системата DVB се използва съкратеният код `RS (204, 188, T=8)`, а относителната му скорост е `188/204=0.92`.

На фиг.2.10а е показана MPEG рамката на транспортния поток преди RS-кодирането. Нейната продължителност е `188` байта (`4` байта за флаг, от които един е за синхронизация на рамката и `184` информационни байта). След RS-кодирането към пакета се добавят `16`допълнителни байта за проверка на четност, поради което продължителността на пакета става `204` байта (фиг.2.10б).

Структурата на RS-кода и алгоритмите за декодирането му позволяват откриването и коригирането както на грешно приети битове, така и на изтрити битове. За целта RS-декодерът получава информация от демодулатора на цифровия радиосигнал по отделен канал за ненадеждно демодулиране на конкретни символи - т.нар. изтрити символи.

Всеки конкретен RS-код се характеризира с примитивен многочлен на полето на Галуа (полином на генератора на полето) и полином на генератора на кода. В системите DVB са приети следните многочлени за RS-кода:

  • полином на генератора на полето:
`p(x)=x^8+x^4+x^3+x^2+1`          (2.1)

  • полином на генератора на кода:
`g(x)=(x+1)(x+lambda)(x+lambda^2)...(x+lambda^{2T-1})`,           (2.2)
където `lambda=02_{HEX}`

Полиномите (2.1) и (2.2) се реализират с `2T`умножители и `2T` осемразрядни регистъра със свързани към тях суматори по модул 2. На фиг.2.11 е показана функционална схема за RS-кодиране. В схемата има два ключа `K_1` и `K_2`. В началото на цикъла, когато на входа на RS-кодера постъпва входната информация `i(x)`, ключът `K_1` е затворен, а ключът `K_2` се намира в долно положение. В резултат, входната информация `i(x)`, постъпва в схемата паралелно на първите входове на умножителите като същевременно се подава и към изхода. Суматорите по модул 2, умножителите и шините за данни са осемразрядни. На вторите входове на умножителите се подават фиксираните стойности `g`, съответстващи на полинома на генератора на кода. След завършване на информационния блок `i(x)`, ключът `K_2` се превключва в горно положение, а ключът `K_1` се изключва, с което се прекъсва обратната връзка. От регистрите се извличат `2T` байта за проверка, които завършват блока от кодовите думи. Изходният блок `c(x)=g(x)i(x)`

Тъй като при DVB RS-кодът е съкратен от `(255, 239)` на `(204, 188)`, след предаването на входния блок `i(x)` от  `204` байта се предават `51` байта от нули, които след това в изходния блок `c(x)` се изтриват.

Приетият блок цифрови данни `r(x)` се различава от предадения блок `c(x)` със стойността на вектора на грешката `e(x)`:
`r(x)=c(x)+e(x)=g(x)i(x)+e(x)`, откъдето се вижда, че при липса на грешка, приетият блок `r(x)` се дели на полинома `g(x)` без остатък, а когато има остатък - това е еднозначен признак за наличие на грешка..

На фиг.2.12 е показана функционална схема на RS-декодиращо усройство, изпълнено в интегрална схема CS3210/12. Входните сигнали постъпват по паралелна осембитова шина във входен регистър, който го запомня и го подава на схемата за обработване. От демодулатора към декодера постъпва и информация за символи, в които се подозира възможна грешка. Тези символи при демодулирането са отбелязани като потенциално неизправни (изтрити символи). В блока за изчисляване на `2T`синдрома се определят броят и местоположението на грешните символи. Местоположението на изтритите символи се определя в блока за изчисляване на изтриването. Информацията от тези два блока се подава към аритметичен блок, който определя и потвърждава грешките и изтритите символи в блока. В блока за оценка се изчисляват полиномите на кода и се определят корените им, които са необходими за поправяне на грешките. Заключителните оценки на блока и поправянето на грешките се осъществява по алгоритъма на Forney. Входната информация постъпва към блока за изчисляване на този алгоритъм от преместващ регистър FIFO. Коригираният от грешки блок се подава на към изхода на RS-декодера като 8-разреден паралелен код. Ако грешните байтове в една рамка са повече от 8 - неизбежно остават непоправени грешки. Наличието на непоправени грешки се отразява в заглавието на рамката.

При конволюционния код, инфомационните битове се вмъкват между битовете на конволюционния код. "Конволюция" е математическо понятие и означава формиране на производни на две функции, които са взаимно свързани. Чрез конволюцията може да се осъществи преобразуване на послведователност от числа `A_i` в нова последователност от числа `B_i`, при което числата от редицата `B_i` се получават като линейна комбинация от числата на `A_i`.

В цифровите системи последователността `А` е входният цифров поток, а изходният "нагънат" цифров поток `B` се формира чрез функционалната организация на кодиращото устройство.

Конволюционното кодиране е бит-ориентирано и се реализира с преместващ регистър, в който се запомнят `m` бита от входната цифрова поредица (след външното кодиране) и в резултат на свързани към регистъра допълнителни логически схеми (суматори по модул 2), в изхода се формират `n` бита на конволюционния код. Броят на битовете `n` на изходния цифров поток е по-голям от броя на битовете `m` на входния цифров поток за сметка на допълнително вмъкнатите битове на конволюционния код. Изходите на схемата за формиране на конволюционния код са два - горен клон `X` и долен клон `Y`. Формираните цифрови поредици `X` и `Y` се подават за следваща обработка в блока за кодиране на канала.

На фиг.2.13 е показан пример за конволюционно кодиране при `m=1` и `n=2`, т.е. за всеки входен бит, в изхода на кодиращата схема се получават два бита.

Дълбочината на запомняне на конволюционния кодер се определя от броя на разрядите `S` на преместващия регистър и от дължината на входната рамка `m`. На фиг.2.13 броят на разрядите в преместващия регистър е `6`. и съответно дълбочината на запомняне е `S.m=6 x 1=6`.

От дълбочината на запомняне на кодиращото устройство се определя броят на  на вътрешните състояния `Z_{вътр.}` на конволюционния кодер:

`Z_{вътр.}=2^{Sm}`, които тук са `2^6=64`.

Ефективността на корекцията на грешките при конволюционното кодиране зависи от дължината на въздействие, която се определя от броя `k` на битовете, които се обработват едновременно в схемата за кодиране. Дължината на въздействие `K=(S+1)m` в разгледания случай е `K=(6+1).1=7`.

Друга характеристична величина на кодиращата схема е броят и степента на изходите от преместващия регистър, тъй като това определя двете функции на конволюция. За формиране функциите на конволюция опикновено се използват генераторните полиноми `G`:
`G=a_0x^0+a_1x^1+a_2x^2+...+a_ix^i+...+a_sx^s`, където коефициентите `a_i` могат да бъдат `0` или `1`.

За схемата на фиг.2.14 генераторните полиноми са:
  • за горния клон `X  (a_1=a_3=a_6=0; a_2=a_4=a_5=1)`, а `G_X=1+X^2+X^4+X^5`.
  • за долния клон `Y  (a_1=a_2=a_5=0; a_3=a_4=a_6=1)`, а `G_Y=1+X^3+X^4+X^6`.
В резултат на конволюционното кодиране се въвежда сравнително голям излишък на бит-информацията в изходната цифрова поредица, което подобрява защитата от грешки, но увеличава скоростта на цифровия поток. За намаляването на тази скорост след конволюционното кодиране, сигналът се подлага на пунктиране.

Пунктирането означава, че от бит-потока от двата клона на конволюционния кодер се изключват определени битове. Това е възможно, тъй като допълнително въведените битове във всеки клон имат потенциал самостоятелно да поправят грешките в цифровия поток. Неизбежно, пунктирането намалява възможността за откриване и корекция на грешки.

За разлика от повечето блокови кодове, конволюционното кодиране се реализира чрез прости операции с помощта на преместващи регистри и суматори по модул две. Декодирането е значително по-сложно и става по алгоритъма на Витерби, който възстановява предадената цифрова последователност по критерия за максимално правдоподобие.

И при конволюционното кодиране важен параметър е степента на кода `R_C`, която е отношението на броя на входните информационни битове `m` към броя на изходните битове `n`. Последният представлява сума от броя на информационните битове и броя на допълнителните битове `k`. Степента на кода `R_C` е винаги по-малка от 1, като реципрочната стойност на този коефициент определя колко е "ускорението" на цифровия поток след кодирането. В някои случаи степента на кода се дефинира и като отношение на скоростта на потока само на полезната информация към скоростта на пълния цифров поток (сума от полезната информация и допълнителните битове за защита от грешки:
`R_C=(V_{bit})_{нето}/(V_{bit})_{бруто}<=1`

Степента (качеството) на защитата от грешки до голяма степен зависи от избраната стойност на `R_C` и степента на защита.

Тъй като всеки преносен канал има определена пропускателна способност, т.е. е в състояние да пренася цифрова поредица с пределна максимална скорост, необходимо е да се намери оптимален компромис при избора на степента `R_C` на кода за защита от грешки. През канала за връзка се пренася пълният цифров информационен поток със скорост (V_{bit})_{бруто}. Компромисът е да бъде избрана по-висока скорост на полезния цифров поток за сметка на по-ниска степен на защита от грешки или висока степен на защита от грешки за сметка на по-ниска скорост на цифровия поток на полезната информация.

В техниката за защита и корекция на грешки се използва и методът с разместване на битове (cross interleaving) - разместване по време и разместване по честота.

  • разместване по време - битовете се разместват в границите на една рамка и този процес цели да подреди информацията по случаен закон (фиг.2.14). Този подход предпазва много успешно от пакетни грешки, свеждайки ги до единични грешки, които са лесно откриваеми и поправими;
  • разместване по честота - битовете се разпределят в различни носещи честоти по случаен закон, което елиминира грешки, предизвикани от физическото разпространение на сигнала.
На фиг.2.15 е показан принципът на разместване на байтовете при `CIRSC` кодирането (Cross Interleave Reed Solomon Code). Този код се използва при записването на видео и звукова информация върху `CD`. Байтовете се подреждат в блокове като преди записването (и предаването по канала за връзка) се прочитат по диагоналите на блока (фиг.2.15а), а след прочитането се подреждат в нов блок (фиг.2.15б) . По този начин байтовете в новия блок са разместени. Ако при възпроизвеждането на информацията има групова грешка (на фиг.2.15б е прието, че погрешно са приети битовете от третия ред в блока), то във възпроизвеждащото (приемното) устройство в блока за възстановяване реда на цифровия поток, погрешно приетите битове се резпределят по всички редове (фиг.2.15в). Това позволява пакетната грешка да бъде коригирана с възможностите RS-кода.

Комбинацията между RS-кода и конволюционното кодиране има надеждно приложение в DVB стандарта за спътниково и наземно телевизионно разпръскване. За по-висока ефективност на използване честотната лента на канала, при спътниковите канали за връзка се прилагат по-нови методи за цифрова модулация. Изследванията на нови модели на преносната система са доказват, че по-ефективна от каскадното кодиране (Рийд-Соломон код + конволюционен код) е кодирането в комбинацията `BCH` `/` `LDPC`.

Кодът `BCH` (иницали на създателите му - Bose-Chadhuri-Hocquenghem) представлява широк клас циклични кодове, прилагани за защита от грешки с възможност за избор на дължина на блока и параметрите за корекция на грешки. Той е способен да коригира еднобитови грешки в цифрови блокове с дължина до няколко хиляди бита и се характеризира с образуващ полином `g(x)` от степен `(n-k)`:
`g(x)=1+g_1x+g_2x^2+...+g_{n-k}x^{n-k}`

Образуващите полиноми, използвани в `DVB-S2` и `DVB-T2` са посочени в съответните стандарти. Кодирането се осъществява с преместващи регистри с обратни връзки, а допълнително въведените битове за корекция на грешките се предават след блока от информационните битове (фиг.2.16). В табл.2.4 са показани коригиращите възможности на `BCH` кодав зависимост от броя на допълнителните битове.

Кодът `LDPC` (Low Density Parity Check - малка плътност за проверка на четност) е предложен от Роберт Галагер още през 1963 г., но едва в днешно време намира практическо приложение. `LDPC` се използва за поправяне както на единични, така и на пакетни грешки в дълги цифрови поредици. Кодът се описва с матрица с ниска плътност (съдържаща предимно нули и много малък брой единици). Използват се два метода за построяване матрицата на кода. При първия метод се генерира начална матрица а помощта на псевдослучаен генератор, а получените кодове се наричат случайни. Вторият метод използва групови и крайни полета, а формираните кодове се наричат структурирани и показват по-добри резултати при коригирането на грешки.

В стандартите `DVB-S2` и `DVB-T2` допълнителните битове за защита от грешки при `LDPC` кода се разполагат след битовете на `BCH`кода (фиг.2.16). Тези два стандарта предвиждат широка гама от стойности на относителната скорост на `LDPC` кода.

Капацитет на канала за пренос

Каналът за пренос се характеризира с ширина на честотната лента `Delta F`, честотна характеристика, отношение сигнал / шум, честота на грешките (BER), затихване на сигнала като функция на разстоянието, фазова характеристика и др. Тези параметри, както и избраната модулация определят максималната скорост на цифровия поток `(V_{bit})_{канал}`, която може да се пренася през дадения канал за връзка. За оценка на преносните свойства на канала, вместо максималната скорост на цифровия поток `(V_{bit})_{канал}`, обикновено се използва отношението на максималната скорост към ширината на честотната лента `Delta F`:

`(V_{bit})_{канал}/{Delta F}= (V_{bit})_{Hz}`

Получената стойност дава броя на пренесените битове в `1 Hz` честотна лента. При телевизията и радиото, за различните видове модулация стойността `(V_{bit})_{Hz}` е в границите от 1 до 8 бита за `1 Hz` честотна лента. Този параметър се нарича спектрална ефективност.

Максималната скорост на цифровия поток в даден канал се определя от избрания метод за модулация и се ограничава от шумовите параметри на канала. За приблизителна оценка на максималната скорост на цифровия поток в канала за връзка, може да се използва зависимостта:

`(V_{bit})_{канал}= 1/6 (S/N) DeltaF  [{Mbit}/s]`,

където `(S/N)` е отношението сигнал / шум в `[dB]`, а `DeltaF` е честотната лента на канала в `[MHz]`. Резултантната величина е с размерност `[{Mbit}/s]`.

Например при честотна лента `DeltaF=8 MHz` и отношение сигнал/шум `(S/N)= 33 [dB]`, от горната зависимост за максималната скорост на цифровия поток се получава `44 [{Mbit}/s]`.

Всеки вид модулация се характеризира с гранична стойност на отношението сигнал/шум. При повишаване му над граничната стойност става невъзможно приемането на телевизионната програма.






Няма коментари:

Публикуване на коментар

Equations

π 8 3