Курсовая работа: Дослідження математичної моделі WiMax та розрахунок покриття на її основі
Рис.1.6.Згортковий кодер WiMax .
- Convolutional Encoder кодує двійкову інформацію перед передачею через канал із шумом. На виході кодера створюється потік інформації, вдвічі більший за вхідний(згортковий код із швидкістюR=1/2). Протягом кодування k вхідних бітів кодуються у n вихідних бітів з подальшою швидкістю k/n потоку кодованих бітів. Кодер складається з регістру зсуву з k*Lланками (L – обмеження довжини коду), куди за один кодовий такт входять k символів, і n суматорів, пов’язаних із відповідними розрядами регістрів. Зв’язок j-го суматора по mod2 описується шляхом задання j-го породжуючого поліному gi=(gi 0 ,gi 1 ,…,gi ( m -1)) , де і = 1...k, m- довжина регістра, а наявність коефіцієнтів відповідає наявності з’єднань. Породжуючи поліноми повністю визначають структуру кодера двійкового загорткового коду. Вихідні кодові символи можна представити у вигляді згортки послідовності інформаційних символів і породжуючи поліномів коду, що задають лінійні рекурсивні правила кодування. В перегляді D5 версії IEEEWIMAX 802.16 використовується кодер з обмеженням довжини 7 та породжуючими поліномами g0 = 171oct і g1 = 133oct , що в даній імітаційній моделі задається командою poly2trellis(7 [171 133]). Його будова показана на рис.1.7, де g0 і g1- породжуючіполіноми, а D-ланка затримки.Для програмної побудови кодера першим кроком є представлення вхідної послідовності як поліному. Згортковий кодер представляється у вигляді:
g0 = 1 + D + D2 + D3 + D6
g1 = 1 + D2 + D3 + D5 + D6
Далі згортковий кодер помножує породжуючий поліном на вхідний потік бітів:
A(x) = g0(x) * I(x) = a b c … g
B(x) = g1(x) * I(x) = P Q R … V
Чергуючи обидва виходи згорткового кодера отримаємо E(x) = aPbQcR … gV, що можу бути записано, як:
E(x) = (a0 b0 c0 … g0) + (0P0Q0R … 0V) = A(x2) + x*B(x2)
Тому,
E(x) = A(x2) + x * B(x2) , а A(x2) = g0(x2) * I(x2) і B(x2) = g1(x2) * I(x2)
Далі
E(x) = g0(x2) * I(x2) + x * g1(x2) * I(x2) = I(x2) * (g0(x2) + x * g1(x2)) = I(x2) * G(x), де G(x) = g0(x2) + x * g1(x2)
G(x) = 1 + x2 + x4 + x6 + x12 + x * (1 + x4 + x6 + x10 + x13) = 1 + x + x2 + x4 + x5 + x6 + x7 + x11 + x12 + x13
Рис. 1.7 . Блок-схема загорткового кодера WiMax .
- Runcture (виколювач) створює вихідний сигнал на основі видалення певних бітів із вхідної послідовності із збереженням усіх інших біт. В даному випадку виколювання відбувається за допомогою функції reshape([1 0 1 0 1;1 1 0 1 0], 10, 1) і отримується 384 вихідні біти.
Для прикладу при виколюванні вектора виколювача [1;0;1;1;1;0] буде видалятися 2 та 6 елементи з вхідної 6-символьної послідовності:
Рис.1.8. Приклад виколювання бітів.
o Interleaver (Перемішувач) реорганізовує порядок вхідних елементів без проведення повторення чи видалення елементів вхідного вектора.
o
Мал.1.9. Перемішувач.
Для прикладу, якщо вхідний вектор [40;32;59;1], а параметр „елементи” перемішувача [4,1,3,2], то буде побудований вихідний вектор [1;40;59;32].
o Modulator
Мал.1.10. Модулятор QPSK .