Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
зразок курсової роботи.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
326.66 Кб
Скачать

3. Розрахунок характеристик завадостійкості прийому сигналів у дискретному каналі

Розрахуємо імовірність помилки символу на виході демодулятора для модуляції АМ-2 та когерентного способу прийому, вважаючи, що в каналі зв'язку немає завадостійкого кодування. Розрахункова формула виведена в теорії потенційної завадостійкості і є наступною:

. (3.1)

В цій формулі: h2 = Еs /N0 – відношення енергії сигналу Еs до спектральної густини потужності завади N0,.

Таблиця 3.1.

Імовірність помилки двійкового символу на виході оптимального демодулятора.

h2

0,001

1,56

3,43

10,79

18,94

27,46

45,15

Рпом

0,5

0,2

0,1

0,01

0,001

10-4

10-6

Обчислимо Рпом(h2) за формулою 3.1 згідно завданню і подамо результати у табл. 3.1. Побудуємо залежність Рпом = f(h2)для оптимального некогерентного приймання двійкових сигналів АМ-2, за формулою (3.1) і зобразимо її на рис. 3.1.

Знайдемо імовірнiсть помилки при оптимальному некогерентному прийманні сигналів АМ-2, якщо задані амплітуда модульованого сигналу а = 1,5 В та спектральна густина потужності завади No = 310-5 В2/Гц на виході демодулятора. Враховуючи, що Еs = Рs/В а потужність сигналу Рc = а2/2, для відношення h2 = Еs/Nо отримаємо формулу: h2 = Еs/Nо = Рs/(В Nо) = а2/(2В Nо). Зважаючи, що швидкість модуляції В = 1/с, де с визначене в розділі 2, дістанемо остаточно:

h2 = а2/(2ВNо) = а2с /(2Nо) = (1,525,8410-6) / (2310-5) = 0,219.

Використовуючи формулу (3.1), отримаємо величину імовірності помилки:

= 0,65 exp (–0,515) = 0,388.

Отримана величина імовірності помилки є небажаною. Вона виходить через перевищення сигналу шумом – оскільки h2 є меншим 1. Для можливості нормальної роботи системи необхідно збільшити рівень сигналу, щоб отримати величину Рпом принаймі на рівні 0,1. Потрібний для цього рівень сигналу знайдемо, використовуючи графік рис. 3.1.

Згідно рис 3.1 (або табл 3.1) для отримання Рпом = 0,1 необхідно забезпечити значення h2 =3,43. Звідси

а2 = (2Nоh2)/с = (23 10-53,43)/5,8410-6 = 35,24 В2.

Отже, амплітуда модульованого сигналу повинна становити: а = 5,94 В.

При аналізі завадостійкості систем за допомогою графіків типу зображеного на рис. 3.1 найчастіше знаходять значення так званого енергетичного виграшу gе дБ, – різницю рівнів енергій сигналів при однаковій імовірності помилки. В даному випадку енергетичний виграш становить gе = 10 lg (0,219/3,43) = –11,9 дБ, (тут маємо енергетичний програш) бо потрібно збільшувати амплітуду сигналу, правда її зростання становить як і gе всього 20 lg (5,94/ 1,5) = 7,9 дБ отже, щоб забезпечити достатню завадостійкість необхідно відносно невеликі енергетичні затрати, як це характерно для цифрових систем передачі, у яких енергія сигналу вигідно обмінюється на безпомилковість функціонування.

Для покращення якості роботи системи бажано також застосувати завадостійке кодування, яке дозволить додатково зменшити імовірність помилок.

4. Вибір корегуючого коду та розрахунок характеристик завадостійкого декодування

Запишемо кодові комбінації на виході завадостійкого кодера для трьох рівнів квантування – 38, 51, 96. Породжуюча матриця коду:

При утворенні кодових комбінацій в кодері і їх перевірці в декодері систематичних кодів будемо користуватися перевірковою матрицею Н. Візьмемо задану породжуючу матрицю для коду (10.6) і доповнимо її перевіркову частину (виділена курсивом) діагональною підматрицею (окреслена пунктиром). Отримана сумарна матриця розміром 4х10 і буде матрицею H. Оскільки процедура транспонування має просту геометричну інтерпретацію – обертання матриці відносно її головної діагоналі, знайдемо матрицю Н методом відповідної геометричної побудови. Виконавши її транспонування дістанемо шукану перевіркову матрицю Н для коду (10.6).

Результуюча матриця Н (на рис. 4.1–а вона окреслена штрихпунктиром) буде мати вигляд рис. 4.1–б.

а) б)

Рис. 4.1. Побудова перевіркової мат-риці – а) і її результат б) для коду (10.6)

Знайдемо кодові комбінації завадостійкого коду для рівнів з номерами 38, 51, 96. Запишемо номери рівнів у простому двійковому коді, для чого переведемо їх у двійкову систему числення:

3810 = 026+125+024+023+122+121+020 =

= 064+132+016+08+14+12+01 = 01001102

5110 = 026+125+124+023+022+121+120 =

= 064+132+116+08+04+12+11 = 01100112

9610 = 126+125+024+123+122+121+120 =

= 164+132+016+08+04+02+01 = 11000002

Оскільки в отриманих комбінаціях налічується більше ніж 6 знаків, опустимо їх старші розряди. Знайдемо для отриманих кодів комбінації систематичного коду (10.6), записавши всі можливі випадки і виконавши їх перевірку за допомогою перевіркової матриці. Одиничні розряди кодів у цій матриці вказують, що власне ці розряди вхідного коду потрібно додати по модулю 2 і в результаті отримати 0. Всі решта розряди комбінації до уваги не беруться. Якщо в результаті додавання отримано 0 (будемо помічати це символом !), вважається, що кодова комбінація пройшла перевірку на даній строчці перевіркової матриці. При одиничному результаті комбінація бракується (будемо помічати це символом Х) і не приймає участі в наступних перевірках як за допомогою даної, так і всіх інших строчок перевіркової матриці. Щоб бути допустимою, кодова комбінація повинна пройти перевірку у всіх строчках перевіркової матриці.

Операція додавання за модулем 2 виконується згідно наступних правил:

0  0 = 0; 0  1 = 1; 1  0 = 1; 1  1 = 0.

Для рівня 51 (кодова комбінація 110011) перевірка за першою строчкою перевіркової матриці дає старший розряд перевіркової частини:

1001011000 – перша строчка перевіркової матриці.

1100110000  1  0  1  0 = 0 !

1100110001 !

1100110010 !

1100110011 !

1100110100 !

1100110101 !

1100110110 !

1100110111 !

1100111000 1  0  1  1 = 1 Х

1100111001 Х

1100111010 Х

1100111011 Х

1100111100 Х

1100111101 Х

1100111110 Х

1100111111 Х

перевірка за другою строчкою перевіркової матриці виконується тільки для комбінацій, що пройшли перевірку першою строчкою і дає третій розряд перевіркової частини:

1100100100 – друга строчка перевіркової матриці.

1100110000  1  1  1  0 = 1 Х !

1100110001 Х !

1100110010 Х !

1100110011 Х !

1100110100 1  1  1  1 = 0 ! !

1100110101 ! !

1100110110 ! !

1100110111 ! !

перевірка за третьою строчкою перевіркової матриці в свою чергу проводиться тільки для комбінацій, що пройшли перевірку другою строчкою і дає другий розряд перевіркової частини:

0111000010 – третя строчка перевіркової матриці.

1100110100  1  0  0  0 = 1 Х ! !

1100110101 Х ! !

1100110110 1  0  0  1 = 0 ! ! !

1100110111 ! ! !

перевірка за четвертою строчкою перевіркової матриці, нарешті дає молодший (останній) розряд перевіркової частини, тобто повністю визначає кодову комбінацію:

0010110001 – четверта строчка перевіркової матриці.

1100110110 0  1  1  0 = 0 ! ! ! !

1100110111 0  1  1  1 = 1 Х ! ! !

Отже при кодуванні систематичним кодом (10.6) для інформаційної комбінації 110011 (номер рівня 51) допустимою кодовою комбінацією буде 1100110110.

Для інформаційної комбінації 100110 (номер рівня 38) перевірки у всіх строчках перевіркової матриці проходить кодова комбінація 1001100011, вона і буде допустимою:

1001100011  1  1  0  0 = 0 !

1001100010  1  0  1  0 = 0 ! !

1001100010 0  0  1  1 = 0 !

1001101011 0  1  0  1 = 0 !

Для інформаційної комбінації 100000 (з номеру рівня 96) перевірки у всіх строчках перевіркової матриці проходить кодова комбінація 1000001100, вона і буде допустимою:

1000001100  1  0  0  1 = 0 !

1000001100 1  0  0  1 = 0 !

1000001100 0  1  0  0 = 0 !

1000001100 0  0  0  0 = 0 !

Визначимо кодові відстані між комбінаціями на вході кодера та між комбінаціями на його виході.

Для кодових комбінацій на вході кодера завадостійкого коду кодові віддалі між усіма парами комбінацій будуть такими:

100110 110011 100110

  

110011 100000 100000

010101 d38–51 = 3 010011 d51–96 = 3 000110 d38–96 = 2.

Для кодових комбінацій на виході кодера завадостійкого коду кодові віддалі між усіма парами комбінацій будуть такими:

1001100011 1100110110 1001100011

  

1100110110 1000001100 1000001100

0101010101 d38–51 = 5 0100111010 d51–96 = 5 0001101111 d38–96 = 6.

Коректуючі можливості коду. Для даного випадку маємо на вході завадостійкого кодера мінімальну кодову віддаль між кодовими комбінаціями 38 і 96 d38–96 = 2, взагалі ж для простого двійкового коду d = 1, тобто існують дозволені комбінації, які відрізняються лише в одному розряді. Такий код, згідно теореми кодування, не має коректуючих можливостей і не дозволяє виявляти, а тим більше, виправляти помилки.

На виході кодера завадостійкого коду маємо найменшу кодову віддаль між кодовими комбінаціями 51 і 96 а також 51 і 38 d38–51= d51–96 = 5, взагалі ж для коду (10.6) d = 3, тобто не існує дозволених кодових комбінацій, які відрізнялися б менш ніж у трьох розрядах. Такий код згідно теореми кодування дозволяє виявляти всі помилки кратністю q < 3, тобто одно- і двократні і деякі помилки з кратністю q  3,а також виправляти помилки з кратністю 1.

Визначимо тривалість символу на виході кодера завадостійкого коду. Зменшення тривалості можна визначити, знаючи відносну швидкість коду R, яка показує відносне число дозволених кодових комбінацій у коді і розраховується за формулою

R = log2 Ма /log2 М = k/n.

Тривалість символу на виході кодера завадостійкого коду буде становити:

с.зав = с R = с (k/n) = 5,84 (6/10) = 3,5 мкс.

Вважаючи, що в каналі застосовується передача кодом (10.6), з тривалістю двійкових символів с.зав, знайдемо загальну імовірність помилки передачі двійкового символу p.

Без використання завадостійкого кодування в каналі передавалися б тільки інформаційні частини кодових комбінацій коду (10.6). Довжина кодової комбінації була б k = 6, тривалість двійкового символу с=5,84 мкс, величина співвідношення сигнал/шум на виході демодулятора становила б h2 = 3,43 і загальна імовірність помилки була б p = 0,1 (див. розділ 3).

Використання завадостійкого коду приводить до зменшення тривалості символу і зміни внаслідок цього співвідношення сигнал/шум:

h2зав = а2с.зав /(2Nо) = 35,243,510-6/(23 10-5) = 2,06.

Це дає (згідно рис. 3.1) загальну імовірність помилки p = 0,16.

Імовірності помилок в кодовій комбінації кратністю q на вході декодера для гаусового каналу, при імовірності помилки передачі двійкового символу p розраховуються з використанням біномінального закону: pn(q) = Cnq pq(1–p)n-q, де n – довжина кодової комбінації; Cnq = n!/[q!(n–q)!] – число сполучень із n по q.

Використовучи формулу біномінального закону для однократних та двократних помилок на вході декодера для коду (10.6) (n = 10) будемо мати відповідно:

p10(1) = C101 p (1– p)9 = 10!/[1!(9)!] p (1– p)9 = 10 p (1–p)9 =

= 100,16 (1– 0,16)9 = 0,333;

p10(2) = C102 p2 (1– p)8 = 10!/[2!(8)!] p2(1– p)8 = (90/2) p2 (1–p)8 =

= (90/2)0,162 (1– 0,16)8 = 0,286.

Корисний ефект від використання коректуючих кодів полягає в зменшенні імовірності помилки декодування кодових комбінацій Рпд, під якою розуміють імовірність помилки кодової комбінації на виході декодера, яка в разі незалежних помилок символів розраховуютєся за формулою

де n – довжина кодової комбінації; qв– кратність виправлених помилок; Сnі = n!/і!(n-і)!. число сполучень із n по і; р – імовірність помилки символу на вході декодера.

Використання коректуючого коду буде технічно доцільним, якщо в результаті його введення імовірність помилки декодування Рпд кодової комбінації зменшиться, незважаючи на підвищення імовірності помилок її символів. В даному випадку імовірність помилки символів зросла від 0,1 до 0,16 а імовірність однократної помилки декодування Рпд кодової комбінації при цьому зменшується від 0,387 до 0,333 бо

p10(1)0,1 = C101 p (1– p)9 = 10!/[1!(9)!] p (1– p)9 = 100,1 (1– 0,1)9 = 0,387.

Отже, використання коректуючого коду буде технічно доцільним.

Виправлення однократних помилок. При виправленні однократних помилок застосовують синдромне декодування. Термін "синдром" у теорії кодування визначає сукупність ознак, характерних для кожної певної конфігурації помилок. Тому під синдромом коду розуміють контрольне число s(s1, s2,..., sr), що свідчить про наявність помилок і їх розташування (конфігурацію) у кодовій комбінації. Відзначимо, що у двійковому коді синдром записується у двійковій системі числення, тобто його розряди s1, s2,..., sr приймають значення 0 або 1. Нульовий синдром вказує на те, що кодова комбінація є дозволеною, тобто виявлених помилок нема. Ненульовому синдрому відповідає певне (визначене раніше) розміщення помилок, які й виправляються.

Для двійкових кодів виправлення помилок провадиться єдиним способом – інверсією символів (0 замінюється на 1 і, навпаки, 1 – на 0). Тому знання синдрому є необхідною і достатньою умовою для виправлення помилок у двійкових кодах.