Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

Подписываем
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Предоплата всего
Подписываем
Міністерство освіти і науки України
Національний технічний університет України
«Київський Політехнічний Інститут»
Кафедра телекомунікацій
РОЗРАХУНКОВО-ГРАФІЧНА РОБОТА
з курсу: « Цифрова обробка сигналів»
тема «Цифрова обробка звукового сигналу при передачі по каналу радіозвязку»
Перевірив
Мазуренко О.В.
«___»_________ 2011р
Захищено з оцінкою _______________
Виконав:
студент IV курсу
групи ТC-83
Червіньский І.І.
залікова книжка № 8314
2011
Зміст
Вихідні дані......................................................................................................................................................4
1. Вступ. Обґрунтування переваг цифрової обробки....................................6
2. АЦП звукового сигналу. Компресія сигналу.............................................8
2.1. Формування цифрової послідовності сигналу 8
2.2. Розрахунок вхідного обмежувального цифрового ФНЧ з CІХ; 8
2.3. Кодування звукового сигналу використанням АДІКМ 12
3. Завадостійке кодування:............................................................................................................ 17
3.1. Опис кодування методом Ріда-Соломона; 17
3.2. Опис декодування на основі синдромів коду Ріда-Соломона; 21
4. Модуляція............................................................................................................................................25
4.1. Опис модуляції та демодуляції КАМ-256; 25
4.2. Опис формування OFDM сигналу 32
4.3. Опис демодуляції OFDM сигналу 43
Висновки.............................................................................................................................................................48
НАЦІОНАЛЬНИЙ ТЕХНІЧНИЙ УНІВЕРСИТЕТ УКРАЇНИ
"КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ"
Інститут телекомунікаційних систем
Кафедра телекомунікацій
Дисципліна: «Цифрова обробка сигналів»
Спеціальність: «телекомунікаційні системи та мережі»
Курс 4 Група ТС-83 Семестр 7
на розрахунково-графічну роботу ___________________________________________________________
Керівник роботи Мазуренко О.В. Завдання отримав __________
(підпис студента)
Вихідні дані: Варіант 92
0,1180725 0,0880127 0,0267944 -0,0278625 -0,0626221 -0,0848083 -0,1099854 -0,1484985 -0,1788940 -0,1814880 -0,1658936 -0,1398010 -0,1056824 -0,0790710 -0,0706787 -0,0715637 -0,0625610 -0,0379333 -0,0190735 -0,0308533 -0,0713806 -0,1126099 -0,1289368 -0,1173096 -0,0860596 -0,0456543 -0,0138550 -0,0033264 -0,0009155 0,0180359 0,0581055 0,1058655 0,1493835 0,1778870 0,1918030 0,2014465 0,1953430 0,1635132 0,1340942 0,1277771 0,1331482 0,1438904 0,1581726 0,1687622 0,1799927 0,2112427 0,2691345 0,3217773 0,3327942 0,3050842 0,2497253 0,1684875 0,0760498 -0,0038757 -0,0517273 -0,0820007 -0,1309204 -0,1739807 -0,1635437 -0,1131287 -0,0431519 0,0290527 0,0583191 0,0445251 0,0224915 -0,0085754 -0,0464783 -0,0808105 -0,1201782 -0,1516724 -0,1563416 -0,1488342 -0,1412964 -0,1316223 -0,1270142 -0,1276550 -0,1150818 -0,0876160 -0,0683899 -0,0542603 -0,0225830 0,0060120 -0,0022583 -0,0381775 -0,0744324 -0,0989990 -0,1231384 -0,1559448 -0,1731262 -0,1753540 -0,1969910 -0,2048645 -0,1428223 -0,0469055 0,0198669 0,0535583 0,0731812 0,0859985 0,0910950 0,0893250 0,0838013 0,0657959 0,0237427 -0,0316467 -0,0775146 -0,1040039 -0,1119385 -0,1004944 -0,0792542 -0,0744019 -0,0927734 -0,1103821 -0,1132507 -0,1134949 -0,1204529 -0,1164551 -0,0737915 -0,0001831 0,0646362 0,0998535 0,1206360 0,1506653 0,1955872 0,2376709 0,2467041 0,2002869 0,1136169 0,0375671 0,0142822 0,0506592 0,1171875 0,1660461 0,1757507 0,1547852 0,1198425 0,1048889 0,1217346 0,1264343 0,0931396 0,0416565 -0,0161438 -0,0706177 -0,1079407 -0,1323853 -0,1554260 -0,1848145 -0,2062683 -0,1792908 -0,1029053 -0,0355530 -0,0234985 -0,0657654 -0,1309204 -0,1821289 -0,1991577 -0,1844177 -0,1676941 -0,1765747 -0,1862183 -0,1558533 -0,0937500 -0,0379028 -0,0079346 0,0029297 -0,0016479 -0,0253601 -0,0354919 -0,0028076 0,0304260 0,0360107 0,0544128 0,0958862 0,1250000 0,1300964 0,1197205 0,0957947 0,0585327 0,0205688 0,0039368 0,0086975 0,0179443 0,0281372 0,0324707 0,0217285 0,0124512 0,0272217 0,0689087 0,1215210 0,1578674 0,1664429 0,1589355 0,1429443 0,1134949 0,0702820 0,0191956 -0,0386658 -0,1025391 -0,1522827 -0,1631165 -0,1321716 -0,0726013 -0,0111389 0,0243530 0,0366516 0,0416870 0,0350342 -0,0005798 -0,0726624 -0,1538086 -0,1961975 -0,1898804 -0,1589661 -0,1225586 -0,0951538 -0,0781860 -0,0553284 -0,0158081 0,0354919 0,0769348 0,0942383 0,1035461 0,1154480 0,1189880 0,1119690 0,0865784 0,0332642 -0,0212097 -0,0585938 -0,1026306 -0,1552429 -0,1812134 -0,1741638 -0,1624146 -0,1637573 -0,1804810 -0,2061157 -0,2243958 -0,2380981 -0,2671814 -0,2969055 -0,2929993 -0,2507629 -0,1844788 -0,1188354 -0,0769653 -0,0414124 0,0149231 0,0832520 0,1424866 0,1708374 0,1561279 0,1245728 0,1129456 0,1289063 0,1602783 0,1929321 0,2200928 0,2368469 0,2409363 0,2477112 0,2637024 0,2632751 0,2330627 0,1907349 0,1486206 0,1040955 0,0563049 0,0175781 -0,0002441 -0,0010681 0,0121460 0,0413513 0,0776978 0,1125793 0,1366272 0,1316528 0,0913696 0,0265503 -0,0379333 -0,0700073 -0,0705566 -0,0604248 -0,0313110 0,0223083 0,0757446 0,1141357 0,1434937 0,1633301 0,1581116 0,1236877 0,0879517 0,0725403 0,0643616 0,0594482 0,0814514 0,1333313 0,1824036 0,2078857 0,2203064 0,2194519 0,1886292 0,1372375 0,0783997 0,0030212 -0,0787964 -0,1461182 -0,2048950 -0,2561951 -0,2709045 -0,2311096 -0,1652222 -0,1181335 -0,0985107 -0,0928955 -0,0985107 -0,1048889 -0,1075134 -0,1292419 -0,1770630 -0,2266235 -0,2534790 -0,2482300 -0,2282715 -0,2180786 -0,2222290 -0,2382507 -0,2569580 -0,2654724 -0,2634583 -0,2504578 -0,2397766 -0,2636108 -0,3097534 -0,3283691 -0,3009949 -0,2404175 -0,1759644 -0,1374207 -0,1160889 -0,0891418 -0,0522156 -0,0050659 0,0411987 0,0688782 0,0830994 0,1005554 0,1295166 0,1667175 0,1937561 0,1937256 0,1699829 0,1337280 0,0874329 0,0357056 -0,0000305 -0,0098267 -0,0151672 -0,0255737 -0,0255127 -0,0165710 -0,0198669 -0,0478516 -0,0898743 -0,1166687 -0,1131592 -0,0884399 -0,0541077 -0,0223999 0,0002747 0,0242920 0,0649109 0,1268921 0,1833801 0,1854858 0,1225586 0,0243225 -0,0758667 -0,1360779 -0,1356812 -0,1102600 -0,0973206 -0,0964355 -0,0898132 -0,0620117 -0,0163879 0,0253906 0,0452576 0,0270081 -0,0367432 -0,1213684 -0,1802368 -0,1866455 -0,1592102 -0,1334229 -0,1227112 -0,1174011 -0,0914001 -0,0212097 0,0724487 0,1365662 0,1394348 0,0903320 0,0312500 0,0037537 0,0070496 0,0068665 -0,0153198 -0,0364380 -0,0160828 0,0516968 0,1361389 0,2084656 0,2432556 0,2216492 0,1727905 0,1507568 0,1529236 0,1341553 0,0993042 0,0875854 0,0965271 0,1122131 0,1451111 0,1827087 0,2001343 0,2005310 0,1850281 0,1422424 0,0746460 -0,0008240 -0,0600891 -0,0894470 -0,0918274 -0,0649109 -0,0195618 0,0099792 0,0127563 0,0119324 0,0251465 0,0431824 0,0494690 0,0542603 0,0714111 0,0802307 0,0679932 0,0525513 0,0404663 0,0245667 -0,0042114 -0,0540466 -0,1150818 -0,1723328 -0,2180786 -0,2392883 -0,2346191 -0,2200317 -0,2094727 -0,2042542 -0,1859741 -0,1410522 -0,0871887 -0,0426636 -0,0191956 -0,0275269 -0,0434570 -0,0362244 -0,0157471 0,0039673 0,0230103 0,0358887 0,0426941 0,0489197 0,0632324 0,0975037 0,1421204 0,1724548 0,1780701 0,1598816 0,1245422 0,0857544 0,0589294 0,0533142 0,0535278 0,0315857 -0,0088501 -0,0395508 -0,0431519 -0,0220947 0,0113831 0,0509338 0,0922546 0,1241455 0,1419678 0,1457214 0,1294861 0,1042175 0,0971069 0,1165161 0,1434326 0,1416931 0,0881042 0,0160217 -0,0140381 -0,0004578 0,0071716 -0,0129089 -0,0375366 -0,0424805 -0,0252380 0,0042725 0,0377808 0,0653076 |
1000111100011101 1000101101000100 1000001101101110 0111110001101111 0111011111111100 0111010100100101 0111000111101100 0110110011111110 0110100100011010 0110100011000101 0110101011000100 0110111000011011 0111001001111001 0111010111100001 0111011011110100 0111011011010111 0111011111111110 0111101100100101 0111110110001111 0111110000001101 0111011011011101 0111000110010110 0110111101111111 0111000011111100 0111010011111100 0111101000101000 0111111000111010 0111111110010011 0111111111100010 1000001001001111 1000011101110000 1000110110001101 1001001100011111 1001011011000101 1001100010001101 1001100111001001 1001100100000001 1001010011101110 1001000100101010 1001000001011011 1001000100001011 1001001001101011 1001010000111111 1001010110011010 1001011100001010 1001101100001010 1010001001110011 1010100100110000 1010101010011001 1010011100001101 1001111111110111 1001010110010001 1000100110111100 0111111110000001 0111100101100001 0111010110000001 0110111100111110 0110100110111011 0110101100010001 0111000110000101 0111101001111010 1000001110111000 1000011101110111 1000010110110011 1000001011100001 0111111011100111 0111101000001101 0111010110101000 0111000010011110 0110110010010110 0110101111111101 0110110011110011 0110110111101010 0110111100100111 0110111110111110 0110111110101001 0111000101000101 0111010011001001 0111011100111111 0111100100001110 0111110100011100 1000000011000101 0111111110110110 0111101100011101 0111011001111001 0111001101010100 0111000000111101 0110110000001010 0110100111010111 0110100110001110 0110011011001001 0110010111000111 0110110110111000 0111100111111111 1000001010001011 1000011011011011 1000100101011110 1000101100000010 1000101110101001 1000101101101111 1000101010111010 1000100001101100 1000001100001010 0111101111110011 0111011000010100 0111001010110000 0111000110101100 0111001100100011 0111010111011011 0111011001111010 0111010000100000 0111000111011111 0111000110000001 0111000101111001 0111000010010101 0111000100011000 0111011010001110 0111111111111010 1000100001000110 1000110011001000 1000111101110001 1001001101001001 1001100100001001 1001111001101100 1001111110010100 1001100110100011 1000111010001011 1000010011001111 1000000111010100 1000011001111100 1000111100000000 1001010101000001 1001011001111111 1001001111010000 1000111101010111 1000110101101101 1000111110010101 1001000000101111 1000101111101100 1000010101010101 0111110111101111 0111011011110110 0111001000101111 0110111100001110 0110110000011011 0110100001011000 0110010110011001 0110100100001101 0111001011010100 0111101101110011 0111110011111110 0111011110010101 0110111100111110 0110100010110000 0110011010000010 0110100001100101 0110101010001001 0110100101100110 0110100000101010 0110110000001101 0111010000000000 0111101100100110 0111111011111100 1000000001100000 0111111111001010 0111110011000001 0111101101110101 0111111110100100 1000001111100101 1000010010011100 1000011011110111 1000110001000110 1001000000000000 1001000010100111 1000111101010011 1000110001000011 1000011101111110 1000001010100010 1000000010000001 1000000100011101 1000001001001100 1000001110011010 1000010000101000 1000001011001000 1000000110011000 1000001101111100 1000100011010010 1000111110001110 1001010000110101 1001010101001110 1001010001011000 1001001001001100 1000111010000111 1000100011111111 1000001001110101 0111101100001101 0111001011100000 0110110010000010 0110101100011111 0110111100010101 0111011010110101 0111111010010011 1000001100011110 1000010010110001 1000010101010110 1000010001111100 0111111111101101 0111011010110011 0110110001010000 0110011011100011 0110011110110010 0110101110100111 0111000001010000 0111001111010010 0111010111111110 0111100011101011 0111110111111010 1000010010001011 1000100111011001 1000110000010000 1000110101000001 1000111011000111 1000111100111011 1000111001010101 1000101100010101 1000010001000010 0111110101001001 0111100010000000 0111001011011101 0110110000100001 0110100011001110 0110100110110101 0110101100110110 0110101100001010 0110100011100110 0110010110011110 0110001101000111 0110000110000110 0101110111001101 0101100111111111 0101101001111111 0101111111100111 0110100001100011 0111000011001010 0111011000100110 0111101010110011 1000000111101001 1000101010101000 1001001000111101 1001010111011110 1001001111111100 1000111111110010 1000111001110101 1001000010000000 1001010010000100 1001100010110010 1001110000101100 1001111001010001 1001111011010111 1001111110110101 1010000111000001 1010000110110011 1001110111010101 1001100001101010 1001001100000110 1000110101010011 1000011100110101 1000001001000000 0111111111111000 0111111111011101 1000000110001110 1000010101001011 1000100111110010 1000111001101001 1001000101111101 1001000011011010 1000101110110010 1000001101100110 0111101100100101 0111011100001010 0111011011111000 0111100001000100 0111101111111110 1000001011011011 1000100110110010 1000111010011100 1001001001011110 1001010011101000 1001010000111101 1000111111010101 1000101101000010 1000100101001001 1000100000111101 1000011110011100 1000101001101101 1001000100010001 1001011101011001 1001101010011100 1001110000110011 1001110000010111 1001100000100101 1001000110010001 1000101000001001 1000000001100011 0111010111101010 0110110101001100 0110010111000110 0101111100110101 0101110101010011 0110001001101011 0110101011011010 0111000011100001 0111001101100100 0111010000011100 0111001101100100 0111001010010011 0111001000111101 0110111101110101 0110100101010110 0110001011111110 0101111110001110 0110000000111010 0110001011001000 0110010000010110 0110001110001110 0110000110000001 0101111100011100 0101111000000101 0101111001000111 0101111111110001 0110000101001111 0101111001000010 0101100001011010 0101010111111000 0101100101111001 0110000100111010 0110100101111010 0110111001101001 0111000100100100 0111010010010111 0111100101010001 0111111101011010 1000010101000110 1000100011010001 1000101010100011 1000110011011111 1001000010010100 1001010101010111 1001100011001101 1001100011001100 1001010111000010 1001000100011110 1000101100110001 1000010010010010 0111111111111111 0111111010111110 0111111000001111 0111110010111010 0111110010111100 0111110111100001 0111110101110101 0111100111100000 0111010001111111 0111000100010001 0111000110000100 0111010010101110 0111100100010011 0111110100100010 1000000000001001 1000001100011100 1000100001001111 1001000000111110 1001011101111001 1001011110111110 1000111110110000 1000001100011101 0111011001001010 0110111010010101 0110111010100010 0111000111100011 0111001110001011 0111001110101000 0111010010000001 0111100000010000 0111110111100111 1000001101000000 1000010111001011 1000001101110101 0111101101001100 0111000001110111 0110100011101110 0110100000011100 0110101110011111 0110111011101100 0111000001001011 0111000011111001 0111010001001101 0111110101001001 1000100101000110 1001000101111011 1001000111011001 1000101110010000 1000010000000000 1000000001111011 1000000011100111 1000000011100001 0111111000001010 0111101101010110 0111110111110001 1000011010011110 1001000101101101 1001101010101111 1001111100100011 1001110001011111 1001011000011110 1001001101001100 1001001110010011 1001000100101100 1000110010110110 1000101100110110 1000110001011011 1000111001011101 1001001010010011 1001011101100011 1001100110011110 1001100110101011 1001011110101111 1001001000110101 1000100110001110 0111111111100101 0111100001001111 0111010010001101 0111010000111111 0111011110110001 0111110101111111 1000000101000111 1000000110100010 1000000110000111 1000001100111000 1000010110000111 1000011001010101 1000011011110010 1000100100100100 1000101001000101 1000100010110100 1000011010111010 1000010100101110 1000001100100101 0111111101110110 0111100100010101 0111000101000101 0110100111110001 0110010000010110 0110000101011111 0110000111111000 0110001111010110 0110010100110000 0110010111011011 0110100000110010 0110110111110010 0111010011010111 0111101010001010 0111110110001011 0111110001111010 0111101001110000 0111101101011101 0111110111111100 1000000010000010 1000001011110010 1000010010011000 1000010101110111 1000011001000011 1000100000011000 1000110001111011 1001001000110001 1001011000010011 1001011011001011 1001010001110111 1000111111110001 1000101011111010 1000011110001011 1000011011010011 1000011011011010 1000010000001011 0111111011011110 0111101011110000 0111101001111010 0111110100101100 1000000101110101 1000011010000101 1000101111001111 1000111111100100 1001001000101100 1001001010100111 1001000010010011 1000110101010111 1000110001101110 1000111011101010 1001001001011100 1001001000100011 1000101101000111 1000001000001101 0111111000110100 0111111111110001 1000000011101011 0111111001011001 0111101100110010 0111101010010000 0111110011000101 1000000010001100 1000010011010110 1000100001011100 |
Цифрова обробка сигналів (ЦОС) (digital signal processing) це область обчислювальної техніки, що динамічно розвивається та охоплює як технічні, так і програмні засоби. Спорідненими областями для цифрової обробки сигналів є теорія інформації, зокрема, теорія оптимального прийому сигналів і теорія розпізнавання образів. При цьому в першому випадку основним завданням є виділення сигналу на фоні шумів і перешкод різної фізичної природи, а в другому автоматичне розпізнавання, тобто класифікація та ідентифікація сигналу.
При цифровій обробці використовується подання сигналів у вигляді послідовностей чисел або символів. Ціль такої обробки може полягати в оцінці характерних параметрів сигналу або в перетворенні сигналу у форму, що у деякому змісті більше зручна. Формули класичного чисельного аналізу, такі, як формули для інтерполяції, інтегрування й диференціювання, безумовно є алгоритмами цифрової обробки. Наявність швидкодіючих цифрових ЕОМ сприяє розвитку усе більше складних і раціональних алгоритмів обробки сигналів; останні ж успіхи в технології інтегральних схем обіцяють високу економічність побудови дуже складних систем цифрової обробки сигналів. Цифрова обробка сигналів застосовується в таких різних областях, як біомедицина, акустика, звукова локація, радіолокація, сейсмологія, зв'язок, системи передачі даних, ядерна техніка, і багатьох інших.
Цифрова обробка сигналів є альтернативою традиційній аналоговій. До її найважливіших якісних переваг відносять можливість реалізації будь-яких як завгодно складних (оптимальних) алгоритмів обробки з гарантованою і незалежною від дестабілізуючих факторів точністю; програмованість та функціональна гнучкість; можливість адаптації до сигналів що обробляються; технологічність.
Розвиток нової точки зору на цифрову обробку сигналів було прискорено відкриттям в 1965 р. ефективних алгоритмів для обчислень перетворень Фур'є. Цей клас алгоритмів став відомий як швидке перетворення Фур'є (ШПФ, fast Fourier transform). Можливості ШПФ були значними з декількох точок зору. Багато алгоритмів обробки сигналів, отримані на цифрових ЕОМ, вимагали часу обробки на декілька порядків більше, ніж реальний час. Часто це було пов'язане з тим, що спектральний аналіз був важливою складовою частиною обробки сигналів, а ефективні засоби для його виконання не були відомі. Алгоритм швидкого перетворення Фур'є зменшив час обчислення перетворення Фур'є на кілька порядків. Це дозволило створити дуже складні алгоритми обробки сигналів у реальному часі. Крім того, з урахуванням можливостей дійсної реалізації алгоритму швидкого перетворення Фур'є на спеціалізованому цифровому пристрої, багато алгоритмів обробки сигналів, що були раніше непрактичними, стали знаходити втілення на спеціалізованих пристроях.
Методами ЦОС є математичні співвідношення або алгоритми, відповідно до яких виконуються обчислювальні операції над цифровими сигналами. До них належать алгоритми цифрової фільтрації, спектрально-кореляційного аналізу, модуляції та демодуляції сигналів, адаптивної обробки та ін.
Засобами реалізації ЦОС є жорстка логіка, програмовані логічні інтегральні схеми, мікропроцесори загального призначення, мікроконтролери, персональні комп'ютери (комп'ютерна обробка сигналів) та цифрові сигнальні процесори.
За умовою, на вхід нашої системи подамо послідовність з відліків заданих за варіантом завдання
y = wavread ('11.wav', [30000+512*91,30511+512*91]); % до ФНЧ (беремо відліки з аудіофайлу)
Для розрахунку фільтра, скористуємося методом зважування. Цей метод побудований на тому факті, що частотна характеристика фільтра і відповідна імпульсна характеристика повязані зворотнім перетворенням Фурє.
Скористуємося табл. 1.1, для обрання необхідної імпульсної характеристики.
Табл. 2.1 Ідеальні імпульсні характеристики стандартних фільтрів
На практиці ідеальна частотна характеристика множиться на відповідну вагову функцію з кінечною довжиною. Таким чином, отримана імпульсна характеристика гладко затухає до нуля.
Найбільш розповсюдженішими є декілька вирізаючи функцій: Хеннінга, Хемминга, Блекмена і Кайзера. Оскільки по своїм характеристикам вони всі задовольняють умову (затухання в полосі подавлення 30 дБ), то скористаємося функцією Хеннінга.
Табл. 2.2 Особливості поширених вагових функцій
Звязок ширини полоси переходу фільтра, побудованого на основі функції Хеннінга, з довжиною фільтра варажається наступним чином:
де: довжина фільтра;
нормована ширина полоси переходу.
Отримали 75 елементів, значить n потрібно розглянути в діапазоні (-37; 37).
Імпульсна характеристика ФНЧ:
,
нормована центральна частота смуги переходу.
Вагова функція:
Імпульсна характеристика розраховуваного фільтра: .
n |
w(n) |
hd(n) |
h(n) |
±37 |
0,0004386 |
-0,006825 |
-2,993E-06 |
±36 |
0,0039426 |
-0,008842 |
-3,486E-05 |
±35 |
0,0109262 |
-0,007215 |
-7,883E-05 |
±34 |
0,0213403 |
-0,002423 |
-5,171E-05 |
±33 |
0,0351118 |
0,0036913 |
0,0001296 |
±32 |
0,0521441 |
0,0086145 |
0,0004492 |
±31 |
0,0723179 |
0,0101802 |
0,0007362 |
±30 |
0,0954915 |
0,0075026 |
0,0007164 |
±29 |
0,1215025 |
0,0014327 |
0,0001741 |
±28 |
0,1501683 |
-0,005684 |
-0,0008536 |
±27 |
0,181288 |
-0,010892 |
-0,0019746 |
±26 |
0,2146432 |
-0,011826 |
-0,0025383 |
±25 |
0,25 |
-0,007751 |
-0,0019377 |
±24 |
0,2871104 |
2,202E-16 |
6,321E-17 |
±23 |
0,325714 |
0,008425 |
0,0027441 |
±22 |
0,3655401 |
0,0139756 |
0,0051087 |
±21 |
0,4063093 |
0,0140038 |
0,0056899 |
±20 |
0,4477358 |
0,0079577 |
0,003563 |
±19 |
0,4895288 |
-0,002187 |
-0,0010705 |
±18 |
0,5313953 |
-0,012504 |
-0,0066448 |
±17 |
0,5730415 |
-0,018564 |
-0,0106379 |
±16 |
0,6141754 |
-0,017229 |
-0,0105816 |
±15 |
0,6545085 |
-0,008121 |
-0,0053151 |
±14 |
0,6937578 |
0,0058846 |
0,0040825 |
±13 |
0,731648 |
0,0194256 |
0,0142127 |
±12 |
0,7679134 |
0,0265258 |
0,0203695 |
±11 |
0,8022996 |
0,0229575 |
0,0184188 |
±10 |
0,8345653 |
0,0082385 |
0,0068755 |
±9 |
0,8644843 |
-0,013535 |
-0,0117005 |
±8 |
0,8918467 |
-0,034458 |
-0,0307313 |
±7 |
0,9164606 |
-0,045084 |
-0,0413175 |
±6 |
0,9381533 |
-0,037513 |
-0,0351931 |
±5 |
0,9567727 |
-0,00831 |
-0,0079504 |
±4 |
0,9721882 |
0,0397887 |
0,0386821 |
±3 |
0,9842916 |
0,0980267 |
0,0964868 |
±2 |
0,992998 |
0,1537319 |
0,1526554 |
±1 |
0,9982464 |
0,1937748 |
0,193435 |
0 |
1 |
0,2083333 |
0,2083333 |
Рис. 2.1 Отримана імпульсна характеристика фільтра
Спроектуємо такий же фільтр за допомогою MATLAB:
fc = 4593.75/44100; % номована середня частота зрізу
fp = 1837.5/44100; % нормована полоса переходу
N = ceil(3.1/fp); % довжина фільтру, ceil - з округленням вгору
n = -(N-1)*0.5:(N-1)*0.5; % n від -37 до 37
h = [(2*fc)*(sin((6.283*fc).*(n)))./((6.283*fc).*(n))];
hh = [h(1,1:(N-1)*0.5),2*fc,h(1,39:N)]; % Імп хар-ка ідеального ФНЧ
w = window(@hann,N); % Функція Хеннінга
F = hh.*w'; % імпульсна характеристика нашого ФНЧ
figure(1);
plot(n, F); grid on % Графік імп хар-ки нашого ФНЧ
y_0 = zeros(1,(N-1)/2)'; % Нульова матриця рядок
y_fi = [y;y_0]; % В кінець послідовності добавляємо нулі
y_fo = filter(F,1,y_fi).*1; % Пропускаємо послідовність через ФНЧ
g = y_fo(38:549); % Після ФНЧ
t = 1:512;
figure(2);
plot(t, g,'--r', t, y, 'b'); % Графік послідовності до і після ФНЧ
grid on;
Рис. 2.2. Імпульсна характеристика сформованого ФНЧ
Порівняємо відліки цифрового сигналу на вході та на виході фільтру (рис.2.3.). Як бачимо, сигнал трішки викривився, оскільки відфільтрувались високочастотні складові спектру сигналу.
Рис. 2.3. Послідовність до і після ФНЧ
Особливим видом ДІКМ є адаптивна диферинціальна імпульсно-кодова модуляція (АДІКМ), що по своїй суті є гібридом ДІКМ та логарифмічних законів та логарифмічних законів компресії (А та ), тобто різниця амплітуд дискет кантується по різному взалежності від того в якому з сегментів знаходиться амплітуда вхідного сигналу. В АДІКМ на основі декількох попередніх значень величини сигналу прогнозується наступний дискретний сигнал і по каналу звяку передається тільки різниця між дійсною і передбачуваною величинами. Адаптивність полягає в динамічній підстройці кроку квантування різниці по попереднім значенням.
Кодер АДІКМ. Вхідний ІКМ сигнал закона А або спочатку перетворюється в лінійну ІКМ, далі шляхом віднімання оцінки вхідного сигналу від самого вхідного сигналу одержується різницевий сигнал. Для визначення 4 двійкових символів величини різницевого сигналу для передачі до декодера використовується адаптивний 15-рівневий квантувач. Із тих самих 4 двійкових символів інверсний квантувач формує квантований різницевий сигнал. Для одержання відновленої версії вхідного сигналу до квантованого різницевого сигналу додається оцінка сигналу. Відновлений сигнал і квантований різницевий сигнал обробляються за допомогою адаптивного передбачувача, який проводить оцінку вхідного сигналу, закінчуючи цим коло зворотного зв'язку.
Декодер АДІКМ. Декодер містить структуру, ідентичну коду зворотного зв'язку кодера, перетворювач лінійної ІКМ в сигнал ІКМ закона А або і пристрій установки синхронного кодування.
Пристрій установки синхронного кодування запобігає накопиченню спотворень, що виникають при синхронному послідовному кодуванню за певних обставин. Установка синхронного кодування досягається таким чином, щоб здійснити спробу усунути спотворення квантування в наступному каскаді квантування АДІКМ.
Процес кодування та декодування ДІКМ проведемо програмними засобами середовища MatLab з допомогою функцій “dpcmenco” та “dpcmdeco”.
Синтаксис процесу кодування має наступний вигляд:
indx dpcm_coded = dpcmenco(g,codebook,partition,predictor)
Вхідна послідовність відліків сигналу «in_sig», які можуть мати безкінечно велику кількість значень амплітуди, перетворюється у послідовність цілих чисел «indx», в яку закладено інформацію про зміну поведінки вхідного сигналу. Кодування проводиться у відповідності до векторів, які власне і визначають роботу кодера:
partition вектор, що визначає межі інтервалів квантування. Вектор задає лише проміжні точки між інтервалами, без обмеження значень зверху чи знизу. Тому його довжина визначається як 2n-1, де n розрядність символів вихідної послідовності.
codebook вектор, що вказує значення, до яких буде проведено округлення (квантування) вхідного сигналу в межах кожного діапазону визначеного вектором partition. Частіше ці значення відповідають середині кожного інтервалу. Довжина вектора 2n, що відповідає кількості можливих значень сигналу на виході кодера ДІКМ.
predictor вектор, що визначає як залежить окремий відлік в коді ДІКМ від певної (обмеженої) кількості попередніх відліків та значення на виході кодера. Якщо передавальна функція має порядок передбачення M, predictor є вектором довжини M+1 і починається значенням 0.
Декодування ДІКМ або відновлення абсолютних значень сигналу «sig»:
sig = dpcmdeco(indx,codebook,predictor)
Для коректного декодування необхідно використовувати однакові значення codebook та predictor в dpcmenco та dpcmdeco.
Оцінити ефективні значення параметрів codebook, partition та predictor можна використовуючи функцію dpcmopt:
[predictor,codebook,partition] = dpcmopt(tr_set,ord,len)
Порядок передавальної функції передбачувача визначається змінною ord, при чому predictor є вектор-рядком довжини ord+1.
Оптимізація параметрів кодера відбувається для навчальних даних, що містяться в векторі tr_set.
predictor = 0 2.4751 -2.5651 1.4367 -0.4192 0.0366
partition =
-0.2377 -0.2359 -0.2342 -0.2325 -0.2309 -0.2294 -0.2278 -0.2263 -0.2247 -0.2232 -0.2217 -0.2201
-0.2186 -0.2171 -0.2155 -0.2140 -0.2124 -0.2109 -0.2094 -0.2078 -0.2063 -0.2047 -0.2032 -0.2017
-0.2001 -0.1986 -0.1971 -0.1955 -0.1940 -0.1924 -0.1909 -0.1894 -0.1878 -0.1863 -0.1848 -0.1832
-0.1817 -0.1801 -0.1786 -0.1771 -0.1755 -0.1740 -0.1725 -0.1709 -0.1694 -0.1678 -0.1663 -0.1648
-0.1632 -0.1617 -0.1601 -0.1586 -0.1571 -0.1555 -0.1540 -0.1525 -0.1509 -0.1494 -0.1478 -0.1463
-0.1448 -0.1432 -0.1417 -0.1402 -0.1386 -0.1371 -0.1355 -0.1340 -0.1325 -0.1309 -0.1294 -0.1278
-0.1263 -0.1247 -0.1230 -0.1213 -0.1196 -0.1181 -0.1167 -0.1154 -0.1139 -0.1124 -0.1109 -0.1094
-0.1079 -0.1063 -0.1048 -0.1032 -0.1017 -0.1002 -0.0986 -0.0971 -0.0956 -0.0940 -0.0925 -0.0909
-0.0894 -0.0878 -0.0863 -0.0848 -0.0832 -0.0817 -0.0802 -0.0786 -0.0771 -0.0756 -0.0740 -0.0724
-0.0708 -0.0692 -0.0675 -0.0660 -0.0646 -0.0631 -0.0617 -0.0602 -0.0586 -0.0571 -0.0556 -0.0540
-0.0525 -0.0510 -0.0494 -0.0479 -0.0463 -0.0448 -0.0432 -0.0417 -0.0401 -0.0384 -0.0368 -0.0351
-0.0335 -0.0318 -0.0305 -0.0295 -0.0280 -0.0265 -0.0249 -0.0231 -0.0217 -0.0204 -0.0188 -0.0171
-0.0154 -0.0140 -0.0125 -0.0108 -0.0092 -0.0080 -0.0066 -0.0048 -0.0033 -0.0018 -0.0003 0.0013
0.0030 0.0048 0.0064 0.0078 0.0094 0.0107 0.0119 0.0134 0.0152 0.0169 0.0184 0.0200
0.0217 0.0230 0.0242 0.0259 0.0273 0.0290 0.0309 0.0326 0.0341 0.0355 0.0369 0.0384
0.0399 0.0415 0.0432 0.0449 0.0465 0.0478 0.0492 0.0506 0.0521 0.0536 0.0552 0.0567
0.0582 0.0598 0.0613 0.0629 0.0644 0.0659 0.0675 0.0690 0.0705 0.0721 0.0736 0.0752
0.0767 0.0782 0.0798 0.0813 0.0828 0.0844 0.0859 0.0875 0.0890 0.0905 0.0921 0.0936
0.0952 0.0967 0.0982 0.0998 0.1013 0.1028 0.1044 0.1059 0.1075 0.1090 0.1105 0.1121
0.1136 0.1152 0.1168 0.1184 0.1201 0.1218 0.1233 0.1247 0.1261 0.1275 0.1290 0.1305
0.1321 0.1337 0.1353 0.1370 0.1387 0.1402 0.1416 0.1430 0.1444 0.1459 0.1475 0.1491
0.1507 0.1525 0.1542
codebook =
-0.2386 -0.2368 -0.2350 -0.2333 -0.2317 -0.2301 -0.2286 -0.2271 -0.2255 -0.2240 -0.2224 -0.2209
-0.2194 -0.2178 -0.2163 -0.2147 -0.2132 -0.2117 -0.2101 -0.2086 -0.2071 -0.2055 -0.2040 -0.2024
-0.2009 -0.1994 -0.1978 -0.1963 -0.1948 -0.1932 -0.1917 -0.1901 -0.1886 -0.1871 -0.1855 -0.1840
-0.1824 -0.1809 -0.1794 -0.1778 -0.1763 -0.1748 -0.1732 -0.1717 -0.1701 -0.1686 -0.1671 -0.1655
-0.1640 -0.1625 -0.1609 -0.1594 -0.1578 -0.1563 -0.1548 -0.1532 -0.1517 -0.1502 -0.1486 -0.1471
-0.1455 -0.1440 -0.1425 -0.1409 -0.1394 -0.1378 -0.1363 -0.1348 -0.1332 -0.1317 -0.1302 -0.1286
-0.1271 -0.1255 -0.1239 -0.1222 -0.1205 -0.1187 -0.1174 -0.1161 -0.1147 -0.1132 -0.1117 -0.1102
-0.1086 -0.1071 -0.1056 -0.1040 -0.1025 -0.1009 -0.0994 -0.0979 -0.0963 -0.0948 -0.0932 -0.0917
-0.0902 -0.0886 -0.0871 -0.0855 -0.0840 -0.0825 -0.0809 -0.0794 -0.0779 -0.0763 -0.0748 -0.0732
-0.0716 -0.0700 -0.0684 -0.0667 -0.0653 -0.0639 -0.0624 -0.0609 -0.0594 -0.0579 -0.0563 -0.0548
-0.0533 -0.0517 -0.0502 -0.0486 -0.0471 -0.0456 -0.0440 -0.0425 -0.0409 -0.0393 -0.0376 -0.0360
-0.0343 -0.0327 -0.0310 -0.0300 -0.0290 -0.0271 -0.0258 -0.0239 -0.0223 -0.0212 -0.0196 -0.0179
-0.0162 -0.0146 -0.0133 -0.0117 -0.0100 -0.0085 -0.0075 -0.0056 -0.0040 -0.0025 -0.0011 0.0005
0.0021 0.0039 0.0058 0.0071 0.0086 0.0101 0.0113 0.0125 0.0144 0.0160 0.0177 0.0191
0.0208 0.0226 0.0233 0.0250 0.0267 0.0279 0.0301 0.0317 0.0334 0.0348 0.0362 0.0376
0.0391 0.0407 0.0423 0.0440 0.0459 0.0472 0.0485 0.0499 0.0514 0.0529 0.0544 0.0559
0.0575 0.0590 0.0605 0.0621 0.0636 0.0652 0.0667 0.0682 0.0698 0.0713 0.0729 0.0744
0.0759 0.0775 0.0790 0.0805 0.0821 0.0836 0.0852 0.0867 0.0882 0.0898 0.0913 0.0928
0.0944 0.0959 0.0975 0.0990 0.1005 0.1021 0.1036 0.1051 0.1067 0.1082 0.1098 0.1113
0.1128 0.1144 0.1160 0.1176 0.1192 0.1209 0.1226 0.1240 0.1254 0.1268 0.1283 0.1298
0.1313 0.1329 0.1345 0.1361 0.1378 0.1396 0.1409 0.1423 0.1437 0.1452 0.1467 0.1483
0.1499 0.1516 0.1533 0.1551
Вектори codebook і partition зобразимо графічно:
Рис. 2.4. Вектори partition і codebook
Представимо кодування і декодування в MatLab:
ord = 5; % порядок предіктора (передбачення)
len = 256; % кількість сходинок (зон,сегменті) у квантувача
y1 = y(1:300);
y2 = y(300:512);
tr_set = [y1', y', y2'];
[predictor,codebook,partition] = dpcmopt(tr_set,ord,len);
indx = dpcmenco(g,codebook,partition,predictor);%Промодульований сигнал АДІКМ
sig = dpcmdeco(indx,codebook,predictor); %Демодульований сигнал АДІКМ
error = g-sig'; % Помилка пов'язана з АДІКМ і АДІКДМ
figure(3);
bar(indx) % Відліки, що утворилися після АДІКМ
figure(4);
plot(t, g,'--r', t, sig', '.b'); % Графік сигналу до АДІКМ і після АДІКДМ
grid on;
predictor
figure(5);
plot(partition)
partition;
figure(6);
plot(codebook)
codebook;
2.5.Гістограма отриманої послідовність після АДІКМ (512 відліків по 8 біт записані в десятковій формі).
Рис. 2.6. Графік що зображує сигнал до модуляції і після демодуляції.
У даній моделі каналу радіозвязку використовується завадостійке кодування Ріда-Соломона (РС). Цей код можна класифікувати як лінійний блочний. Основною його відмінністю від інших блочних кодів (Хеммінга, БЧХ) є те, що код РС обробляє не лише послідовності двійкових символів, а послідовності символів з алфавітом 2m. Тобто кожен символ при кодуванні та декодуванні містить декілька біт інформації. У нашому випадку вибрано m=4, це означає, що кожен символ в коді буде сформовано з 4 біт.
Після модуляції АДІКМ отримали матрицю “q”.
Всі закодовані кодом РС символи в десятковій формі представлені матрицею "WW":
Отже нам необхідно закодувати комбінацію: 1011 1100 0110 0111 1011
GF(16)=GF(24) 4 кількість біт в символі кода РС.
Визначимо алфавіт кодових комбінацій за допомогою полів Галуа GF(24). За допомогою кореляційного поліному розширене поле Галуа.
Знайдемо циклотомічні класи за формулою:
.
Тепер по кожному циклотомічному класу розкладу побудуємо многочлен , коренями якого є такі , степені яких взяті з циклотомічного класу .
Оскільки , то ,
є незводимим і рівним розкладу , при .
Тоді , .
Отже отримали:
Візьмемо породжуючий поліном
Поле Галуа GF(16) з породжуючим поле поліномом х4 + х + 1
Визначимо як базисні елементи поля GF(16) b0, b1, b2, b3
додавання та множення в GF(16):
Таблиця 3.1. Додавання символів для GF(16)
+ |
0 |
b0 |
b1 |
b2 |
b3 |
b4 |
b5 |
b6 |
b7 |
b8 |
b9 |
b10 |
b11 |
b12 |
b13 |
b14 |
||
0000 |
1000 |
0100 |
0010 |
0001 |
1100 |
0110 |
0011 |
1101 |
1010 |
0101 |
1110 |
0111 |
1111 |
1011 |
1001 |
|||
0 |
0 |
0000 |
0 |
|||||||||||||||
8 |
b0 |
1000 |
b0 |
0 |
Матриця симетрична відносно головної діагоналі |
|||||||||||||
4 |
b1 |
0100 |
b1 |
b4 |
0 |
|||||||||||||
2 |
b2 |
0010 |
b2 |
b8 |
b5 |
0 |
||||||||||||
1 |
b3 |
0001 |
b3 |
b14 |
b9 |
b6 |
0 |
|||||||||||
12 |
b4 |
1100 |
b4 |
b1 |
b0 |
b10 |
b7 |
0 |
||||||||||
6 |
b5 |
0110 |
b5 |
b10 |
b2 |
b1 |
b11 |
b8 |
0 |
|||||||||
3 |
b6 |
0011 |
b6 |
b13 |
b11 |
b3 |
b2 |
b12 |
b9 |
0 |
||||||||
11 |
b7 |
1101 |
b7 |
b9 |
b14 |
b12 |
b4 |
b3 |
b13 |
b10 |
0 |
|||||||
10 |
b8 |
1010 |
b8 |
b2 |
b10 |
b0 |
b13 |
b5 |
b4 |
b14 |
b11 |
0 |
||||||
5 |
b9 |
0101 |
b9 |
b7 |
b3 |
b11 |
b1 |
b14 |
b6 |
b5 |
b0 |
b12 |
0 |
|||||
14 |
b10 |
1110 |
b10 |
b5 |
b8 |
b4 |
b12 |
b2 |
b0 |
b7 |
b6 |
b1 |
b13 |
0 |
||||
7 |
b11 |
0111 |
b11 |
b12 |
b6 |
b9 |
b5 |
b13 |
b3 |
b1 |
b8 |
b7 |
b2 |
b14 |
0 |
|||
15 |
b12 |
1111 |
b12 |
b11 |
b13 |
b7 |
b10 |
b6 |
b14 |
b4 |
b2 |
b9 |
b8 |
b3 |
b0 |
0 |
||
11 |
b13 |
1011 |
b13 |
b6 |
b12 |
b14 |
b8 |
b11 |
b7 |
b0 |
b5 |
b3 |
b10 |
b9 |
b4 |
b1 |
0 |
|
9 |
b14 |
1001 |
b14 |
b3 |
b7 |
b13 |
b0 |
b9 |
b12 |
b8 |
b1 |
b6 |
b4 |
b11 |
b10 |
b5 |
b2 |
0 |
Таблиця 3.2. Множення символів для GF(16)
× |
0 |
b0 |
b1 |
b2 |
b3 |
b4 |
b5 |
b6 |
b7 |
b8 |
b9 |
b10 |
b11 |
b12 |
b13 |
b14 |
|
0000 |
1000 |
0100 |
0010 |
0001 |
1100 |
0110 |
0011 |
1101 |
1010 |
0101 |
1110 |
0111 |
1111 |
1011 |
1001 |
||
0 |
0000 |
0 |
|||||||||||||||
b0 |
1000 |
0 |
0 |
Матриця симетрична відносно головної діагоналі |
|||||||||||||
b1 |
0100 |
0 |
b1 |
0 |
|||||||||||||
b2 |
0010 |
0 |
b2 |
b3 |
0 |
||||||||||||
b3 |
0001 |
0 |
b3 |
b4 |
b5 |
0 |
|||||||||||
b4 |
1100 |
0 |
b4 |
b5 |
b6 |
b7 |
0 |
||||||||||
b5 |
0110 |
0 |
b5 |
b6 |
b7 |
b8 |
b9 |
0 |
|||||||||
b6 |
0011 |
0 |
b6 |
b7 |
b8 |
b9 |
b10 |
b11 |
0 |
||||||||
b7 |
1101 |
0 |
b7 |
b8 |
b9 |
b10 |
b11 |
b12 |
b13 |
0 |
|||||||
b8 |
1010 |
0 |
b8 |
b9 |
b10 |
b11 |
b12 |
b13 |
b14 |
b0 |
0 |
||||||
b9 |
0101 |
0 |
b9 |
b10 |
b11 |
b12 |
b13 |
b14 |
b0 |
b1 |
b2 |
0 |
|||||
b10 |
1110 |
0 |
b10 |
b11 |
b12 |
b13 |
b14 |
b0 |
b1 |
b2 |
b3 |
b4 |
0 |
||||
b11 |
0111 |
0 |
b11 |
b12 |
b13 |
b14 |
b0 |
b1 |
b2 |
b3 |
b4 |
b5 |
b6 |
0 |
|||
b12 |
1111 |
0 |
b12 |
b13 |
b14 |
b0 |
b1 |
b2 |
b3 |
b4 |
b5 |
b6 |
b7 |
b8 |
0 |
||
b13 |
1011 |
0 |
b13 |
b14 |
b0 |
b1 |
b2 |
b3 |
b4 |
b5 |
b6 |
b7 |
b8 |
b9 |
b10 |
0 |
|
b14 |
1001 |
0 |
b14 |
b0 |
b1 |
b2 |
b3 |
b4 |
b5 |
b6 |
b7 |
b8 |
b9 |
b10 |
b11 |
b12 |
0 |
Під час побудови таблиць додавання та множення в полях Галуа для встановлення відповідності між десятковим представленням інформації та символами алфавіту GF(16) проводилося пряме зчитування значень базисних елементів. В такому разі виникає невідповідність між результатом кодування математичними діями та функціями MatLab. Тому запишемо відповідність символів у полях, до їх десяткового представлення у MatLab. При кодуванні також будемо користуватись цією відповідністю.
Таблиця.3.3 Представлення символів поля Галуа (16) в десятковій формі
0 |
b0 |
b1 |
b2 |
b3 |
b4 |
b5 |
b6 |
b7 |
b8 |
b9 |
b10 |
b11 |
b12 |
b13 |
b14 |
0 |
1 |
2 |
4 |
8 |
3 |
6 |
12 |
11 |
5 |
10 |
7 |
14 |
15 |
13 |
9 |
Розкладемо кожен елемент алфавіту поля Галуа за базисом та сформуємо таблицю додавання в GF(16):
Послідовність, що буде поступати на кодер:
Сформуємо породжуючий поліном для коду РС(15,5).
Користуючись породжуючим поліномом і сформованим полем Галуа GF(16), сформуємо зокодовану послідовність:
x14b13 |
+ |
x13b11 |
+ |
x12b5 |
+ |
x11b4 |
+ |
x10b13 |
g(x) |
|||||||||||||||||||
x14b13 |
+ |
x13b0 |
+ |
x12b1 |
+ |
x11b7 |
+ |
x10b4 |
+ |
x9b12 |
+ |
x8b0 |
+ |
x7b14 |
+ |
x6b4 |
+ |
x5b14 |
+ |
x4b8 |
x4b13 |
+ |
x3b12 |
+ |
x2b10 |
+ |
xb5 + b2 |
|
x13b12 |
+ |
x12b11 |
+ |
x11b3 |
+ |
x10b11 |
+ |
x9b12 |
+ |
x8b0 |
+ |
x7b14 |
+ |
x6b4 |
+ |
x5b14 |
+ |
x4b8 |
||||||||||
x13b12 |
+ |
x12b14 |
+ |
x11b0 |
+ |
x10b6 |
+ |
x9b3 |
+ |
x8b11 |
+ |
x7b14 |
+ |
x6b13 |
+ |
x5b3 |
+ |
x4b13 |
+ |
x3b8 |
||||||||
x12b10 |
+ |
x11b14 |
+ |
x10b1 |
+ |
x9b10 |
+ |
x8b12 |
+ |
0 |
+ |
x6b11 |
+ |
x5b0 |
+ |
x4b3 |
+ |
x3b8 |
||||||||||
x12b10 |
+ |
x11b12 |
+ |
x10b13 |
+ |
x9b4 |
+ |
x8b1 |
+ |
x7b9 |
+ |
x6b12 |
+ |
x5b11 |
+ |
x4b1 |
+ |
x3b11 |
+ |
x2b5 |
||||||||
x11b5 |
+ |
x10b12 |
+ |
x9b2 |
+ |
x8b13 |
+ |
x7b9 |
+ |
x6b0 |
+ |
x5b12 |
+ |
x4b9 |
+ |
x3b7 |
+ |
x2b5 |
||||||||||
x11b5 |
+ |
x10b7 |
+ |
x9b8 |
+ |
x8b14 |
+ |
x7b11 |
+ |
x6b4 |
+ |
x5b7 |
+ |
x4b6 |
+ |
x3b11 |
+ |
x2b6 |
+ |
x1b0 |
||||||||
x10b2 |
+ |
x9b0 |
+ |
x8b2 |
+ |
x7b2 |
+ |
x6b1 |
+ |
x5b2 |
+ |
x4b5 |
+ |
x3b8 |
+ |
x2b9 |
+ |
x1b0 |
||||||||||
x10b2 |
+ |
x9b4 |
+ |
x8b5 |
+ |
x7b11 |
+ |
x6b8 |
+ |
x5b1 |
+ |
x4b4 |
+ |
x3b3 |
+ |
x2b8 |
+ |
x1b3 |
+ |
b12 |
||||||||
x9b1 |
+ |
x8b1 |
+ |
x7b9 |
+ |
x6b10 |
+ |
x5b5 |
+ |
x4b8 |
+ |
x3b13 |
+ |
x2b12 |
+ |
x1b14 |
+ |
b12 |
Поліном перевірочної частини повідомлення:
Закодована послідовність:
В десятковій формі коефіцієнти поліному мають представлення:
[11 7 6 12 11 4 4 5 14 6 10 11 15 9 15]
При передачі повідомлення через канал радіозвязку можлива поява ситуацій неправильного прийому радіосигналу та видача помилкових символів демодулятором через вплив завад у каналі. Завадостійке кодування дозволяє відновити вражені біти.
Створимо породжуючу матрицю КРС(15,5).
Щоб створити матрицю G, необхідно закодувати матрицю R вигляду:
Одержана матриця G у десятковому представленні має вигляд:
З якої ми можемо виділити породжуючи матрицю P:
Тепер можна одержати перевірочну матрицю КРС Н:
Тепер декодуємо закодовану послідовність з врахуванням внесеної помилки:
(x) =0x14+0x13+0x12+0x11+0x10+0x9+0x8+0x7+0x6+0x5+3x4+0x3+0x2+1x+0
В десятковій формі коефіцієнти поліному мають представлення:
[11 7 6 12 11 4 4 5 14 6 11 11 15 11 15]
При декодуванні використовується синдромний метод виявлення помилок та знаходження їх позицій. При отриманні повідомлення без помилок, знайдений синдром буде нульовим. У випадку отримання забороненої комбінації вектор синдромів дозволяє провести знаходження та виправлення помилок. Для отримання синдрому можна скористатись перевірочною матрицею Н.
Якщо для отриманого повідомлення
[11 7 6 12 11 4 4 5 14 6 11 11 15 11 15]
обчислити вектор синдромів
[0 0 0 0 0 0 0 0 0 0 1 0 0 2 0]
то він відповідатиме закладеній у повідомлення помилці
S ↔ x4𝛽3 + 𝛽1 x
Додавання вектору помилки до прийнятого повідомлення не має сенсу, бо з нього буде використовуватись лише перші 5 символів. Можна зробити припущення, що якщо кількість ненульових символів у векторі синдрому більше ніж 5, то помилка присутня у інформаційній частині прийнятого повідомлення. У такому випадку потрібно виконувати процедури знаходження локаторів помилок.
Кодування і декодування коду РС в MatLab:
Використовуємо код Ріда-Соломона(15,5), для цього нам потрібно створити чотирьох бітні символи, що будуть подаватися на кодер по 5 символів.
q=dec2bin(indx); % перетворення десяткових чисел в бінарні (512*8)
w1=q(:,1:4); % виділення перших чотирьох біт
w2=q(:,5:8); % видлення других чотирьох біт
w1dec=bin2dec(w1); % перетворення в десятковий вигляд
w2dec=bin2dec(w2); % перетворення в десятковий вигляд
W=[w1dec,w2dec]'; % матриця (2*512)
WW=W(:); % записання в правельній послідовності (1*1024)
WWZ=[WW;0]'; % додаємо нуль, щоб кількість символів була кратна 5
dlyaRS1=WWZ(1,1:5:end); % Вормуємо рідки через 5 символів
dlyaRS2=WWZ(1,2:5:end); % Вормуємо рідки через 5 символів
dlyaRS3=WWZ(1,3:5:end); % Вормуємо рідки через 5 символів
dlyaRS4=WWZ(1,4:5:end); % Вормуємо рідки через 5 символів
dlyaRS5=WWZ(1,5:5:end); % Вормуємо рідки через 5 символів
dlyaRS=[dlyaRS1;dlyaRS2;dlyaRS3;dlyaRS4;dlyaRS5]; % Необхідна послідовність (5*205)
enc = fec.rsenc(15,5); % створився об'єкт, що вказує код і його параметри
code = encode(enc,dlyaRS); % закодували РС
decoder = fec.rsdec(enc); % створюємо об'єкт декодера
[decoded,cnumerr,ccode] = decode(decoder,code); % декодували РС
decoded; % декодований сигнал
Рис. 3.1. Символи при кодуванні РС (dlyaRS символи що подаються на кодер, code закодовані символи КРС(15,5), decode символи після декодування).
Алгоритм квадратурної амплітудної модуляції (QAM - Quadrature Amplitude Modulation) являє собою різновид багатопозиційної амплітудно-фазової модуляції. Цей алгоритм широко використовується в сучасних модемах для каналів ТЧ (комутовані лінії).
При використанні даного алгоритму передаючий сигнал кодується одночасними змінами амплітуди синфазної (I) і квадратурної (Q) компонент несучого гармонійного коливання (), які зміщені по фазі один відносно одного на / 2. Результуючий сигнал Z формується в результаті сумування цих коливань. Таким чином, QAM-модульований дискретний сигнал може бути представлений співвідношенням:
де: змінюється в діапазоні [(m-1)*Dt m*Dt];
m порядковий номер дискрети часу;
Dt крок квантування вхідного сигналу по часу;
p крок квантування вхідного сигналу по амплітуді;
модуляційні кофіціенти.
Цей сигнал може бути представлений і в комплексному виді:
алгоритм зміни амплітуди модульованого сигналу
алгоритм зміни фази модульованого сигналу
Рис. 4.1. Принцип формування сигналу QAM
Таким чином, при використанні квадратурної амплітудної модуляції передаюча інформація кодується одночасними змінами амплітуди і фази несучого коливання. На рис. 4.1 представлений принцип формування результуючого коливання Z шляхом підсумовування вектора квадратурної складової Q з вектором синфазної складової I. Амплітуда вектора Z визначається співвідношенням Am, а кут, який цей вектор утворює з віссю абсцис, визначається співвідношенням jm.
Для даного алгоритму істотно, що при модуляції синфазної і квадратурної складової несучого коливання використовується одне і те ж значення дискрет зміни амплітуди. Тому закінчення векторів модульованого коливання утворюють прямокутну сітку на фазовій площині дійсною - Re {Z} та уявної складової вектора модульованого сигналу - Im {Z}. Число вузлів цієї сітки визначається типом використовуваного алгоритму QAM. Схему розташування вузлів на фазовій площині модульованого QAM коливання прийнято називати сузір'ям (constellation).
За вимогою завдання РГР, ми повинні використовувати модуляцію QAM-256, це означає, що одному символі буде відповідати 8 біт інформації. Оскільки кожен символ коду РС(15,5) можна інтерпретувати 4 бітами, а позиційність модуляції 256 (передається 8 біт за один модуляційний символ), то необхідно здійснити перетворення даних.
code1=code(:); % формуємо вектор стовбець з отриманих символів після КРС
code2=[code1;0]; % оскільки кількість біт повинна бути парна, то дописуємо 0
dlyaCAM=dec2bin(code2); % переводимо в двійкову систему
dlyaCAM1=dlyaCAM(1:2:end,:);% операція для формування відліків по 8 біт
dlyaCAM2=dlyaCAM(2:2:end,:);% операція для формування відліків по 8 біт
dlyaCAM3=[dlyaCAM1,dlyaCAM2];% формування відліків по 8 біт
dlyaCAM4=bin2dec(dlyaCAM3); % переведення в десятковий вид
modemQAM = modem.qammod('M', 256, 'SymbolOrder', 'Gray'); % об'єкт
pislyaQAM = modulate(modemQAM, dlyaCAM4); % модуляція кам256
Для формування одного символу OFDM сигналу необхідно мультиплексувати в частотній області 4 піднесучі (16 точкове ШПФ з прорідженням), тому розглянемо далі операції над першими чотирма символами, підготовленими для подачі на модулятор.
Модуляція полягає у перетворенні двійкової інформації у координати вектора на модуляційному сузірї QAM256. Вектор представляється у комплексній формі, при чому перші 4 біти вхідного слова вкладаються в значення реальної частини вектора, а останні 4 біти - в уявну частину.
Примітка: проводилося перетворення в код Грея
Покажемо всі значення "pislyaQAM":
pislyaQAM =
11.0 - 1.0i
-7.0 + 5.0i
11.0 + 9.0i
1.0 + 1.0i
11.0 - 7.0i
-5.0 -11.0i
5.0 + 3.0i
-3.0 + 5.0i
15.0 -13.0i
13.0 + 7.0i
1.0 -11.0i
-1.0 + 3.0i
-13.0 -15.0i
-9.0 +13.0i
-5.0 + 5.0i
13.0 +11.0i
13.0 + 7.0i
13.0 - 1.0i
-11.0 +11.0i
1.0 + 7.0i
-11.0 + 7.0i
1.0 - 1.0i
13.0 + 7.0i
13.0 -15.0i
13.0 -11.0i
-11.0 - 1.0i
-7.0 + 5.0i
-15.0 - 3.0i
1.0 -15.0i
-9.0 -11.0i
13.0 - 9.0i
13.0 - 1.0i
13.0 -13.0i
7.0 + 3.0i
-3.0 +15.0i
-1.0 - 5.0i
3.0 + 1.0i
1.0 - 1.0i
13.0 -11.0i
13.0 -11.0i
-15.0 +13.0i
-11.0 - 1.0i
-9.0 +13.0i
15.0 - 5.0i
13.0 + 7.0i
13.0 -13.0i
13.0 -15.0i
13.0 + 9.0i
-3.0 -11.0i
-3.0 - 5.0i
15.0 - 3.0i
7.0 + 7.0i
-7.0 + 5.0i
13.0 -15.0i
13.0 + 3.0i
15.0 - 7.0i
-3.0 - 9.0i
13.0 +11.0i
15.0 +15.0i
-11.0 -11.0i
13.0 -13.0i
13.0 -15.0i
13.0 + 9.0i
-3.0 -11.0i
-3.0 - 5.0i
15.0 - 3.0i
7.0 + 7.0i
-7.0 -13.0i
13.0 -11.0i
13.0 -11.0i
3.0 +15.0i
-13.0 + 5.0i
-13.0 - 7.0i
13.0 + 7.0i
9.0 - 5.0i
13.0 - 3.0i
13.0 - 1.0i
13.0 + 3.0i
9.0 -11.0i
1.0 + 3.0i
7.0 +11.0i
-9.0 -13.0i
11.0 - 5.0i
13.0 - 7.0i
13.0 - 5.0i
-1.0 -11.0i
-13.0 +15.0i
3.0 + 1.0i
-1.0 + 5.0i
-1.0 -13.0i
9.0 +13.0i
13.0 - 5.0i
9.0 -13.0i
-3.0 + 1.0i
-11.0 + 3.0i
-9.0 +11.0i
7.0 + 7.0i
11.0 +15.0i
9.0 +13.0i
13.0 - 1.0i
13.0 -11.0i
13.0 - 5.0i
-11.0 + 5.0i
3.0 -13.0i
-15.0 + 9.0i
13.0 - 5.0i
13.0 -11.0i
13.0 - 7.0i
3.0 +13.0i
15.0 - 3.0i
15.0 +11.0i
1.0 +13.0i
-9.0 - 1.0i
13.0 -11.0i
13.0 - 3.0i
11.0 + 1.0i
9.0 + 9.0i
-13.0 - 9.0i
-1.0 +13.0i
-3.0 + 5.0i
13.0 - 3.0i
9.0 + 9.0i
9.0 -11.0i
9.0 -15.0i
-13.0 -11.0i
3.0 - 7.0i
5.0 + 5.0i
11.0 +13.0i
9.0 + 3.0i
9.0 + 3.0i
15.0 + 1.0i
-9.0 - 3.0i
11.0 -15.0i
-11.0 + 9.0i
-11.0 + 3.0i
9.0 + 3.0i
9.0 + 1.0i
13.0 -11.0i
-7.0 + 3.0i
11.0 + 5.0i
-7.0 + 1.0i
15.0 -15.0i
13.0 - 5.0i
13.0 - 7.0i
13.0 -15.0i
11.0 + 7.0i
-9.0 + 9.0i
-5.0 -11.0i
9.0 + 3.0i
9.0 - 5.0i
13.0 + 7.0i
13.0 +11.0i
13.0 - 7.0i
11.0 +11.0i
9.0 + 5.0i
3.0 + 9.0i
-11.0 + 1.0i
9.0 +13.0i
13.0 +11.0i
13.0 + 1.0i
-1.0 -15.0i
9.0 - 1.0i
-1.0 + 3.0i
-15.0 + 5.0i
-13.0 -15.0i
13.0 + 5.0i
13.0 -11.0i
13.0 + 5.0i
9.0 + 9.0i
-11.0 - 5.0i
1.0 - 9.0i
9.0 - 3.0i
9.0 - 7.0i
13.0 - 5.0i
9.0 +13.0i
-5.0 -11.0i
9.0 +13.0i
-11.0 + 5.0i
7.0 + 1.0i
3.0 - 5.0i
13.0 - 7.0i
13.0 - 3.0i
13.0 - 5.0i
15.0 - 5.0i
-3.0 + 5.0i
-5.0 + 7.0i
13.0 - 3.0i
-5.0 -11.0i
13.0 + 7.0i
13.0 + 5.0i
1.0 +11.0i
-15.0 - 5.0i
-7.0 + 5.0i
7.0 -11.0i
-3.0 + 5.0i
13.0 + 9.0i
13.0 + 7.0i
13.0 + 9.0i
15.0 +13.0i
5.0 -11.0i
9.0 -15.0i
15.0 + 1.0i
15.0 + 1.0i
13.0 + 7.0i
13.0 -15.0i
-13.0 +13.0i
9.0 -13.0i
3.0 - 1.0i
-15.0 -11.0i
3.0 + 1.0i
13.0 -15.0i
13.0 -13.0i
13.0 + 5.0i
-9.0 -11.0i
9.0 + 1.0i
-15.0 + 5.0i
3.0 +13.0i
15.0 - 9.0i
13.0 -15.0i
13.0 - 9.0i
13.0 -13.0i
-3.0 - 3.0i
3.0 - 7.0i
-11.0 -11.0i
-1.0 +11.0i
13.0 - 9.0i
13.0 -11.0i
13.0 - 3.0i
1.0 -11.0i
-5.0 +13.0i
-11.0 +15.0i
11.0 - 5.0i
-5.0 - 9.0i
13.0 - 1.0i
13.0 - 1.0i
13.0 -11.0i
-13.0 -13.0i
5.0 -15.0i
-5.0 - 3.0i
-7.0 +13.0i
13.0 - 9.0i
13.0 - 9.0i
13.0 + 7.0i
-15.0 -13.0i
11.0 + 5.0i
-9.0 + 1.0i
1.0 +15.0i
15.0 + 7.0i
13.0 -15.0i
13.0 + 9.0i
-13.0 -15.0i
-11.0 +13.0i
3.0 - 5.0i
3.0 - 7.0i
-11.0 +13.0i
13.0 +11.0i
13.0 + 3.0i
13.0 + 9.0i
-1.0 + 3.0i
11.0 - 1.0i
-15.0 - 9.0i
-3.0 - 7.0i
11.0 +11.0i
13.0 + 5.0i
13.0 - 9.0i
7.0 +11.0i
11.0 +11.0i
3.0 +11.0i
-9.0 +15.0i
5.0 - 1.0i
13.0 -11.0i
13.0 - 3.0i
9.0 +15.0i
-9.0 -15.0i
3.0 +11.0i
-15.0 +11.0i
13.0 + 3.0i
11.0 +13.0i
13.0 - 5.0i
9.0 +13.0i
-11.0 -15.0i
1.0 - 5.0i
-7.0 + 3.0i
3.0 - 1.0i
15.0 + 5.0i
13.0 - 5.0i
13.0 - 3.0i
13.0 +13.0i
-11.0 - 3.0i
-7.0 - 9.0i
7.0 -15.0i
3.0 + 3.0i
-7.0 - 1.0i
13.0 -13.0i
13.0 -15.0i
-15.0 +15.0i
-13.0 - 7.0i
-11.0 + 9.0i
9.0 - 1.0i
15.0 + 5.0i
13.0 + 7.0i
13.0 + 5.0i
13.0 + 1.0i
7.0 -11.0i
5.0 - 1.0i
13.0 +13.0i
1.0 - 3.0i
-11.0 + 3.0i
13.0 -15.0i
13.0 + 5.0i
1.0 -15.0i
15.0 +15.0i
-5.0 - 3.0i
13.0 +15.0i
15.0 - 7.0i
13.0 - 9.0i
13.0 -13.0i
13.0 -15.0i
-5.0 - 5.0i
1.0 - 3.0i
-13.0 -15.0i
-3.0 + 9.0i
9.0 - 9.0i
13.0 -13.0i
13.0 -13.0i
-11.0 + 5.0i
-7.0 +13.0i
15.0 - 1.0i
-5.0 - 7.0i
15.0 - 7.0i
13.0 + 7.0i
13.0 -15.0i
13.0 + 5.0i
-7.0 + 7.0i
-5.0 -15.0i
-7.0 -15.0i
-5.0 + 5.0i
13.0 + 5.0i
13.0 -15.0i
13.0 -11.0i
-3.0 + 5.0i
-11.0 - 7.0i
7.0 - 7.0i
-5.0 + 1.0i
1.0 + 5.0i
13.0 - 7.0i
13.0 - 7.0i
9.0 - 3.0i
-1.0 + 1.0i
-3.0 + 3.0i
15.0 - 1.0i
-5.0 -13.0i
1.0 + 3.0i
9.0 +13.0i
9.0 + 3.0i
15.0 -13.0i
15.0 + 3.0i
-5.0 -13.0i
-13.0 - 5.0i
-15.0 +11.0i
9.0 +15.0i
9.0 +15.0i
13.0 + 9.0i
-9.0 + 5.0i
-13.0 +15.0i
13.0 + 1.0i
-15.0 - 5.0i
-3.0 -11.0i
13.0 -11.0i
13.0 -15.0i
3.0 - 7.0i
-7.0 +13.0i
-7.0 + 1.0i
9.0 - 9.0i
-11.0 - 3.0i
13.0 -13.0i
13.0 -11.0i
13.0 - 1.0i
-9.0 - 3.0i
-9.0 + 3.0i
11.0 +13.0i
-5.0 + 1.0i
-1.0 -11.0i
13.0 - 5.0i
13.0 - 5.0i
13.0 + 1.0i
15.0 -13.0i
3.0 + 7.0i
1.0 +15.0i
-11.0 -15.0i
9.0 +15.0i
9.0 +13.0i
13.0 -13.0i
7.0 + 3.0i
3.0 + 7.0i
15.0 +15.0i
-5.0 +15.0i
9.0 - 5.0i
13.0 - 7.0i
13.0 - 3.0i
1.0 -15.0i
-7.0 -11.0i
1.0 - 1.0i
-15.0 - 1.0i
-15.0 + 5.0i
13.0 -11.0i
13.0 - 9.0i
13.0 -15.0i
11.0 -11.0i
15.0 - 9.0i
11.0 - 9.0i
15.0 -15.0i
13.0 + 5.0i
13.0 + 5.0i
13.0 + 1.0i
15.0 +15.0i
9.0 + 3.0i
-5.0 + 9.0i
-5.0 +13.0i
3.0 + 3.0i
13.0 + 1.0i
13.0 + 1.0i
13.0 + 3.0i
1.0 -13.0i
7.0 - 5.0i
11.0 + 9.0i
3.0 - 1.0i
-11.0 + 1.0i
13.0 + 5.0i
13.0 -13.0i
-11.0 - 1.0i
7.0 - 7.0i
13.0 + 7.0i
-15.0 + 3.0i
-3.0 + 5.0i
13.0 - 9.0i
13.0 - 3.0i
13.0 + 9.0i
-9.0 + 5.0i
13.0 + 7.0i
-3.0 -11.0i
9.0 -11.0i
-11.0 -11.0i
13.0 - 3.0i
13.0 + 7.0i
-5.0 - 9.0i
-9.0 - 9.0i
13.0 -11.0i
13.0 + 9.0i
-3.0 - 9.0i
13.0 -13.0i
13.0 + 9.0i
13.0 +15.0i
-1.0 - 1.0i
-1.0 + 7.0i
-9.0 +11.0i
3.0 - 9.0i
9.0 +11.0i
13.0 +13.0i
13.0 + 7.0i
1.0 + 1.0i
15.0 +11.0i
-11.0 + 1.0i
-3.0 +11.0i
3.0 + 3.0i
13.0 + 3.0i
13.0 -11.0i
13.0 -15.0i
5.0 + 7.0i
-3.0 + 7.0i
3.0 + 3.0i
-9.0 - 7.0i
15.0 - 9.0i
13.0 - 5.0i
13.0 - 3.0i
-5.0 - 1.0i
9.0 -11.0i
-9.0 - 3.0i
-11.0 + 5.0i
13.0 - 9.0i
13.0 - 1.0i
13.0 - 1.0i
13.0 -11.0i
-13.0 -13.0i
5.0 -15.0i
-5.0 - 3.0i
-7.0 +13.0i
9.0 -13.0i
13.0 -13.0i
13.0 -13.0i
13.0 -13.0i
13.0 -13.0i
13.0 -13.0i
13.0 -13.0i
13.0 -13.0i
13.0 - 9.0i
13.0 - 1.0i
13.0 -13.0i
7.0 + 3.0i
-3.0 +15.0i
-1.0 - 5.0i
3.0 + 1.0i
1.0 - 3.0i
13.0 - 5.0i
13.0 - 5.0i
7.0 -11.0i
-3.0 - 9.0i
5.0 - 1.0i
-11.0 - 7.0i
-13.0 + 7.0i
9.0 +15.0i
13.0 - 3.0i
13.0 - 7.0i
7.0 - 5.0i
1.0 - 1.0i
-3.0 +11.0i
-11.0 + 3.0i
7.0 - 1.0i
13.0 - 1.0i
13.0 -13.0i
13.0 - 9.0i
15.0 +11.0i
-7.0 + 3.0i
-9.0 - 9.0i
7.0 + 5.0i
13.0 -15.0i
13.0 -11.0i
13.0 + 9.0i
13.0 - 5.0i
-13.0 -15.0i
-9.0 - 5.0i
-11.0 - 1.0i
-3.0 -15.0i
13.0 -11.0i
13.0 -11.0i
11.0 -11.0i
-1.0 - 7.0i
5.0 - 3.0i
-9.0 - 9.0i
-1.0 +11.0i
13.0 -11.0i
13.0 - 3.0i
13.0 - 1.0i
13.0 + 3.0i
9.0 -11.0i
1.0 + 3.0i
7.0 +11.0i
-9.0 -11.0i
13.0 - 5.0i
13.0 - 3.0i
-13.0 + 5.0i
5.0 + 9.0i
1.0 - 7.0i
15.0 -11.0i
-5.0 + 7.0i
9.0 +15.0i
9.0 +15.0i
9.0 - 7.0i
13.0 - 9.0i
-7.0 -15.0i
-3.0 + 9.0i
-5.0 -13.0i
1.0 +13.0i
13.0 - 5.0i
13.0 - 7.0i
-1.0 - 7.0i
-7.0 +15.0i
-9.0 - 5.0i
1.0 - 3.0i
-5.0 - 7.0i
13.0 -11.0i
13.0 -15.0i
13.0 - 3.0i
-15.0 - 5.0i
-11.0 + 7.0i
13.0 + 9.0i
-7.0 + 3.0i
-1.0 + 1.0i
13.0 +11.0i
13.0 + 9.0i
-9.0 - 1.0i
-13.0 -13.0i
-1.0 +13.0i
3.0 +15.0i
7.0 +15.0i
13.0 + 3.0i
13.0 + 7.0i
13.0 - 7.0i
1.0 - 5.0i
-7.0 - 7.0i
-15.0 + 1.0i
-5.0 -13.0i
5.0 -11.0i
13.0 - 3.0i
9.0 + 9.0i
9.0 -11.0i
9.0 -15.0i
-13.0 -11.0i
3.0 - 7.0i
5.0 + 5.0i
13.0 - 5.0i
9.0 +15.0i
13.0 - 3.0i
5.0 + 3.0i
11.0 + 7.0i
-9.0 - 5.0i
7.0 - 5.0i
3.0 - 1.0i
13.0 - 9.0i
13.0 + 3.0i
11.0 - 3.0i
11.0 +11.0i
15.0 + 9.0i
-3.0 -13.0i
1.0 - 7.0i
13.0 + 9.0i
13.0 + 1.0i
13.0 + 5.0i
-11.0 + 3.0i
-1.0 + 5.0i
15.0 +15.0i
-7.0 -13.0i
-3.0 +15.0i
13.0 + 7.0i
13.0 + 5.0i
-11.0 - 9.0i
-13.0 +11.0i
7.0 -13.0i
-5.0 + 7.0i
3.0 - 9.0i
13.0 -13.0i
13.0 - 3.0i
13.0 +11.0i
1.0 +13.0i
1.0 + 9.0i
3.0 - 9.0i
-7.0 +15.0i
-15.0 - 1.0i
13.0 - 7.0i
13.0 - 3.0i
-7.0 + 7.0i
13.0 +11.0i
3.0 -13.0i
7.0 -11.0i
-13.0 +15.0i
9.0 +15.0i
13.0 -11.0i
9.0 - 3.0i
11.0 - 7.0i
-3.0 +11.0i
5.0 - 7.0i
-3.0 + 5.0i
-11.0 +13.0i
13.0 - 1.0i
13.0 - 5.0i
9.0 -13.0i
3.0 + 9.0i
5.0 - 9.0i
15.0 + 5.0i
15.0 + 3.0i
13.0 - 3.0i
13.0 - 1.0i
13.0 + 3.0i
9.0 -11.0i
1.0 + 3.0i
7.0 +11.0i
-9.0 -13.0i
11.0 - 9.0i
13.0 + 5.0i
13.0 + 5.0i
1.0 - 3.0i
11.0 - 3.0i
-3.0 - 9.0i
-5.0 + 3.0i
-13.0 - 5.0i
13.0 +11.0i
13.0 + 7.0i
13.0 - 1.0i
-11.0 +11.0i
1.0 + 7.0i
-11.0 + 7.0i
1.0 - 1.0i
13.0 +11.0i
13.0 + 7.0i
13.0 -15.0i
-15.0 + 3.0i
-9.0 +11.0i
-13.0 + 3.0i
-1.0 -13.0i
-13.0 + 7.0i
13.0 + 5.0i
13.0 + 5.0i
13.0 - 9.0i
-3.0 -13.0i
1.0 +13.0i
-15.0 - 5.0i
15.0 + 3.0i
-9.0 -15.0i
13.0 + 7.0i
13.0 +11.0i
-3.0 -11.0i
-13.0 + 9.0i
-3.0 +13.0i
15.0 -13.0i
1.0 - 5.0i
13.0 + 1.0i
13.0 +15.0i
13.0 - 5.0i
13.0 +13.0i
11.0 + 1.0i
5.0 +13.0i
-9.0 + 3.0i
9.0 + 1.0i
13.0 + 9.0i
13.0 -15.0i
9.0 + 7.0i
-5.0 +11.0i
1.0 +13.0i
15.0 +11.0i
-11.0 + 5.0i
13.0 -15.0i
13.0 - 3.0i
13.0 - 3.0i
-5.0 +11.0i
5.0 - 5.0i
-1.0 + 1.0i
-9.0 -15.0i
-13.0 - 7.0i
9.0 +15.0i
9.0 +13.0i
-9.0 +11.0i
13.0 + 5.0i
-15.0 - 9.0i
-9.0 + 3.0i
9.0 + 3.0i
9.0 +15.0i
9.0 +15.0i
13.0 + 9.0i
-9.0 + 5.0i
-13.0 +15.0i
13.0 + 1.0i
-15.0 - 5.0i
-3.0 - 3.0i
13.0 - 3.0i
13.0 - 1.0i
7.0 - 9.0i
-5.0 -15.0i
7.0 - 5.0i
-13.0 - 3.0i
-15.0 + 5.0i
13.0 - 3.0i
13.0 - 1.0i
13.0 + 3.0i
9.0 -11.0i
1.0 + 3.0i
7.0 +11.0i
-9.0 -13.0i
11.0 - 5.0i
13.0 - 5.0i
9.0 +13.0i
-13.0 +15.0i
5.0 -15.0i
3.0 + 1.0i
-3.0 -15.0i
-11.0 +11.0i
9.0 +11.0i
9.0 + 9.0i
9.0 - 9.0i
1.0 -15.0i
15.0 +15.0i
5.0 -11.0i
-3.0 - 5.0i
-9.0 + 1.0i
9.0 +15.0i
9.0 + 9.0i
-5.0 - 9.0i
-15.0 + 3.0i
7.0 -11.0i
-7.0 +11.0i
9.0 - 3.0i
13.0 - 1.0i
13.0 - 7.0i
13.0 - 7.0i
9.0 - 3.0i
-1.0 + 1.0i
-3.0 + 3.0i
15.0 - 1.0i
-5.0 + 5.0i
13.0 - 9.0i
13.0 + 5.0i
1.0 + 5.0i
3.0 + 1.0i
-13.0 + 1.0i
15.0 - 5.0i
-15.0 - 3.0i
13.0 + 7.0i
13.0 -11.0i
13.0 -13.0i
-13.0 +15.0i
-15.0 + 9.0i
-3.0 + 1.0i
7.0 + 3.0i
11.0 - 9.0i
13.0 - 7.0i
13.0 - 5.0i
13.0 - 9.0i
-11.0 -11.0i
7.0 -11.0i
-3.0 - 7.0i
-5.0 +15.0i
9.0 +13.0i
9.0 + 9.0i
13.0 -13.0i
-9.0 +13.0i
13.0 +13.0i
-9.0 + 9.0i
9.0 - 9.0i
13.0 - 5.0i
13.0 - 1.0i
13.0 -11.0i
11.0 + 5.0i
-15.0 +15.0i
-7.0 -15.0i
15.0 + 7.0i
11.0 - 7.0i
13.0 + 3.0i
13.0 + 3.0i
13.0 +15.0i
11.0 -13.0i
-13.0 + 1.0i
-11.0 -15.0i
7.0 -11.0i
3.0 + 3.0i
13.0 + 7.0i
13.0 -13.0i
-11.0 + 9.0i
-3.0 - 1.0i
9.0 -11.0i
13.0 -11.0i
-13.0 - 5.0i
13.0 - 3.0i
9.0 +15.0i
9.0 - 7.0i
-13.0 - 1.0i
9.0 + 5.0i
5.0 + 7.0i
-13.0 - 9.0i
-7.0 + 9.0i
9.0 + 1.0i
9.0 +15.0i
-11.0 +13.0i
-5.0 + 5.0i
1.0 + 1.0i
-3.0 - 7.0i
-9.0 - 7.0i
9.0 + 9.0i
13.0 -11.0i
13.0 - 7.0i
-3.0 + 5.0i
-1.0 + 9.0i
-9.0 + 5.0i
9.0 + 9.0i
15.0 - 1.0i
13.0 + 5.0i
13.0 - 9.0i
9.0 +15.0i
3.0 - 3.0i
15.0 +13.0i
-13.0 -15.0i
9.0 + 1.0i
13.0 -13.0i
13.0 -11.0i
9.0 +15.0i
13.0 +15.0i
-3.0 - 3.0i
-5.0 + 5.0i
-15.0 + 9.0i
3.0 +15.0i
13.0 - 5.0i
9.0 + 3.0i
-7.0 + 3.0i
-5.0 +11.0i
9.0 + 3.0i
7.0 + 3.0i
7.0 + 1.0i
9.0 + 9.0i
9.0 + 1.0i
9.0 -11.0i
13.0 + 7.0i
-3.0 - 9.0i
-15.0 - 7.0i
-15.0 +11.0i
-5.0 +13.0i
13.0 - 3.0i
13.0 - 9.0i
11.0 + 9.0i
-5.0 +15.0i
13.0 +11.0i
-15.0 - 1.0i
15.0 -13.0i
13.0 + 7.0i
13.0 + 1.0i
15.0 - 7.0i
-13.0 + 5.0i
-1.0 - 5.0i
7.0 - 5.0i
13.0 - 3.0i
-7.0 - 5.0i
13.0 +13.0i
13.0 +13.0i
3.0 + 1.0i
-9.0 + 5.0i
3.0 - 1.0i
-7.0 - 7.0i
-5.0 - 1.0i
13.0 + 9.0i
13.0 + 5.0i
13.0 -13.0i
-1.0 +11.0i
-11.0 - 3.0i
11.0 - 1.0i
5.0 -11.0i
-5.0 -15.0i
13.0 -11.0i
13.0 - 3.0i
-15.0 - 7.0i
3.0 +15.0i
1.0 + 7.0i
7.0 + 1.0i
15.0 + 9.0i
13.0 - 3.0i
13.0 - 9.0i
13.0 - 9.0i
-1.0 + 5.0i
-9.0 + 9.0i
15.0 -15.0i
-11.0 - 3.0i
5.0 -11.0i
13.0 -15.0i
13.0 +11.0i
3.0 + 7.0i
-3.0 + 9.0i
7.0 - 5.0i
13.0 +13.0i
11.0 + 3.0i
13.0 + 3.0i
13.0 + 9.0i
13.0 + 1.0i
13.0 + 5.0i
-11.0 + 3.0i
-1.0 + 5.0i
15.0 +15.0i
-7.0 +11.0i
13.0 + 9.0i
13.0 + 7.0i
-7.0 -11.0i
13.0 - 3.0i
-5.0 + 3.0i
-11.0 + 3.0i
-15.0 -13.0i
13.0 + 1.0i
13.0 + 5.0i
13.0 -11.0i
11.0 - 5.0i
13.0 + 3.0i
15.0 - 7.0i
-1.0 - 7.0i
-13.0 + 3.0i
13.0 -15.0i
13.0 + 3.0i
-1.0 -11.0i
5.0 -11.0i
-7.0 + 3.0i
3.0 -11.0i
1.0 +15.0i
13.0 + 3.0i
13.0 +11.0i
13.0 - 5.0i
-3.0 + 3.0i
5.0 +11.0i
-3.0 +11.0i
5.0 - 5.0i
13.0 + 3.0i
13.0 +15.0i
13.0 +11.0i
9.0 +15.0i
5.0 + 9.0i
-5.0 + 5.0i
-9.0 + 7.0i
5.0 + 5.0i
13.0 + 1.0i
13.0 +13.0i
13.0 + 1.0i
-3.0 +11.0i
-5.0 + 9.0i
7.0 + 3.0i
-3.0 - 9.0i
-3.0 -15.0i
13.0 + 5.0i
13.0 -13.0i
3.0 +13.0i
-5.0 -15.0i
3.0 +13.0i
3.0 - 9.0i
-13.0 -15.0i
13.0 -11.0i
13.0 - 1.0i
13.0 + 5.0i
-3.0 + 5.0i
-7.0 - 3.0i
3.0 +13.0i
13.0 - 1.0i
3.0 -11.0i
13.0 - 7.0i
13.0 - 9.0i
15.0 - 5.0i
-9.0 -11.0i
11.0 - 5.0i
-1.0 -11.0i
-11.0 + 1.0i
13.0 - 7.0i
13.0 -11.0i
9.0 - 1.0i
3.0 - 7.0i
1.0 -15.0i
3.0 -11.0i
5.0 - 5.0i
9.0 +15.0i
13.0 - 7.0i
9.0 +15.0i
-5.0 - 7.0i
3.0 +13.0i
1.0 - 1.0i
-7.0 - 7.0i
7.0 -15.0i
9.0 +13.0i
13.0 - 5.0i
13.0 + 3.0i
7.0 -13.0i
-1.0 - 3.0i
7.0 + 3.0i
13.0 +15.0i
-9.0 - 5.0i
13.0 - 1.0i
13.0 -11.0i
11.0 + 5.0i
-15.0 +15.0i
-7.0 -15.0i
15.0 + 7.0i
11.0 - 7.0i
13.0 -13.0i
13.0 + 5.0i
13.0 +13.0i
3.0 + 7.0i
3.0 -11.0i
-5.0 + 1.0i
-3.0 - 1.0i
1.0 + 5.0i
13.0 - 9.0i
13.0 -15.0i
-3.0 + 7.0i
-13.0 - 1.0i
5.0 - 3.0i
-3.0 + 5.0i
3.0 + 7.0i
13.0 -11.0i
13.0 -11.0i
13.0 +11.0i
-5.0 -13.0i
-1.0 - 1.0i
9.0 - 7.0i
5.0 + 5.0i
-7.0 - 1.0i
13.0 -13.0i
13.0 - 9.0i
15.0 +11.0i
-7.0 + 3.0i
-9.0 - 9.0i
7.0 + 5.0i
1.0 -13.0i
13.0 + 5.0i
13.0 + 7.0i
13.0 +13.0i
13.0 -11.0i
-15.0 + 5.0i
-13.0 -11.0i
5.0 - 9.0i
3.0 + 5.0i
13.0 -15.0i
13.0 -15.0i
13.0 - 1.0i
7.0 -13.0i
-7.0 + 9.0i
-13.0 +11.0i
9.0 - 7.0i
13.0 - 3.0i
13.0 - 5.0i
9.0 + 5.0i
-7.0 +15.0i
1.0 + 5.0i
-13.0 -13.0i
1.0 - 3.0i
-15.0 +13.0i
9.0 + 9.0i
9.0 +11.0i
-9.0 -13.0i
-5.0 + 5.0i
3.0 - 5.0i
-13.0 + 9.0i
1.0 -11.0i
13.0 - 5.0i
13.0 - 3.0i
13.0 +13.0i
-11.0 - 3.0i
-7.0 - 9.0i
7.0 -15.0i
3.0 + 3.0i
-7.0 -15.0i
13.0 + 7.0i
13.0 + 1.0i
9.0 + 7.0i
-9.0 +15.0i
5.0 - 7.0i
-7.0 -11.0i
-9.0 -13.0i
13.0 +15.0i
13.0 + 1.0i
13.0 -15.0i
-7.0 +13.0i
-9.0 - 7.0i
13.0 - 5.0i
7.0 - 9.0i
-5.0 + 3.0i
13.0 -15.0i
13.0 - 1.0i
-7.0 - 5.0i
9.0 - 3.0i
11.0 + 5.0i
1.0 - 3.0i
3.0 - 9.0i
13.0 - 3.0i
9.0 +15.0i
13.0 + 9.0i
9.0 +13.0i
3.0 - 5.0i
-11.0 +15.0i
-7.0 - 1.0i
5.0 - 7.0i
13.0 - 7.0i
13.0 -11.0i
-13.0 + 7.0i
9.0 - 1.0i
-13.0 + 1.0i
-5.0 - 7.0i
-9.0 - 9.0i
13.0 -15.0i
13.0 + 7.0i
13.0 + 1.0i
9.0 + 7.0i
-9.0 +15.0i
5.0 - 7.0i
-7.0 -11.0i
-9.0 + 1.0i
13.0 +13.0i
13.0 +11.0i
9.0 - 7.0i
-1.0 +15.0i
-1.0 - 9.0i
11.0 -15.0i
11.0 - 5.0i
13.0 + 3.0i
13.0 + 7.0i
13.0 - 7.0i
1.0 - 5.0i
-7.0 - 7.0i
-15.0 + 1.0i
-5.0 -13.0i
5.0 - 9.0i
13.0 - 3.0i
13.0 - 5.0i
-11.0 + 3.0i
-9.0 + 3.0i
9.0 - 9.0i
-11.0 -15.0i
9.0 - 1.0i
9.0 +15.0i
9.0 +11.0i
13.0 - 1.0i
-3.0 +13.0i
-7.0 - 9.0i
9.0 -15.0i
13.0 - 3.0i
-5.0 - 5.0i
13.0 - 5.0i
13.0 - 9.0i
-3.0 +15.0i
11.0 + 9.0i
11.0 - 3.0i
1.0 - 1.0i
-1.0 + 3.0i
13.0 -11.0i
13.0 + 1.0i
13.0 +15.0i
5.0 + 1.0i
1.0 -15.0i
-3.0 + 5.0i
-1.0 - 3.0i
1.0 + 5.0i
13.0 + 7.0i
13.0 -13.0i
5.0 + 5.0i
5.0 - 3.0i
-3.0 - 3.0i
1.0 +15.0i
7.0 + 1.0i
13.0 - 9.0i
13.0 - 5.0i
9.0 -11.0i
-9.0 - 7.0i
-3.0 + 9.0i
11.0 + 3.0i
-11.0 +15.0i
-5.0 + 9.0i
9.0 +11.0i
9.0 + 3.0i
-3.0 + 5.0i
5.0 - 9.0i
-9.0 - 5.0i
-13.0 -13.0i
11.0 -13.0i
9.0 +11.0i
9.0 +13.0i
13.0 -15.0i
-15.0 +11.0i
15.0 + 9.0i
-15.0 +13.0i
11.0 -11.0i
13.0 - 7.0i
13.0 -11.0i
13.0 - 9.0i
15.0 - 1.0i
-11.0 +13.0i
-1.0 +11.0i
5.0 -15.0i
-1.0 - 9.0i
13.0 -15.0i
13.0 -13.0i
13.0 + 5.0i
-9.0 -11.0i
9.0 + 1.0i
-15.0 + 5.0i
3.0 +13.0i
15.0 - 1.0i
13.0 - 3.0i
9.0 +13.0i
-5.0 + 1.0i
5.0 + 3.0i
-3.0 - 7.0i
5.0 -11.0i
-3.0 - 1.0i
9.0 + 9.0i
9.0 + 1.0i
9.0 -11.0i
13.0 + 7.0i
-3.0 - 9.0i
-15.0 - 7.0i
-15.0 +11.0i
-5.0 +13.0i
9.0 +13.0i
13.0 -11.0i
-15.0 - 3.0i
5.0 + 1.0i
-5.0 -11.0i
15.0 + 5.0i
-15.0 -15.0i
13.0 -11.0i
13.0 + 1.0i
13.0 +15.0i
5.0 + 1.0i
1.0 -15.0i
-3.0 + 5.0i
-1.0 - 3.0i
1.0 + 5.0i
13.0 + 9.0i
13.0 -13.0i
-1.0 +15.0i
-9.0 + 5.0i
-1.0 +15.0i
-1.0 -15.0i
-15.0 + 5.0i
13.0 + 7.0i
13.0 - 1.0i
13.0 - 3.0i
-11.0 - 7.0i
-9.0 +11.0i
-9.0 -11.0i
15.0 - 7.0i
-15.0 - 1.0i
13.0 - 5.0i
13.0 - 3.0i
-15.0 +11.0i
-5.0 -15.0i
-15.0 + 5.0i
1.0 -13.0i
11.0 + 1.0i
13.0 - 7.0i
13.0 - 1.0i
13.0 + 1.0i
-1.0 - 3.0i
13.0 +13.0i
-7.0 + 9.0i
7.0 + 9.0i
15.0 - 3.0i
13.0 - 9.0i
13.0 - 3.0i
11.0 - 9.0i
-13.0 +15.0i
-9.0 + 5.0i
3.0 - 5.0i
-13.0 - 5.0i
13.0 - 9.0i
13.0 - 7.0i
13.0 - 1.0i
-3.0 +13.0i
7.0 - 1.0i
-7.0 + 5.0i
-11.0 -13.0i
-13.0 -11.0i
13.0 - 3.0i
13.0 -11.0i
-7.0 -15.0i
13.0 -13.0i
-7.0 - 9.0i
-15.0 +13.0i
1.0 - 5.0i
13.0 - 9.0i
13.0 + 5.0i
13.0 +15.0i
-11.0 +15.0i
15.0 - 5.0i
5.0 + 3.0i
13.0 + 5.0i
5.0 + 7.0i
13.0 +11.0i
13.0 +11.0i
9.0 +13.0i
-13.0 + 1.0i
-9.0 +11.0i
9.0 + 5.0i
-11.0 - 1.0i
13.0 + 9.0i
13.0 +11.0i
13.0 +11.0i
-13.0 -11.0i
-7.0 + 7.0i
5.0 - 5.0i
-15.0 + 9.0i
7.0 + 1.0i
13.0 + 7.0i
13.0 + 5.0i
15.0 +15.0i
-7.0 +13.0i
-11.0 + 3.0i
3.0 +11.0i
-15.0 - 5.0i
13.0 -11.0i
13.0 -15.0i
13.0 - 3.0i
-15.0 - 5.0i
-11.0 + 7.0i
13.0 + 9.0i
-7.0 + 3.0i
-1.0 - 3.0i
13.0 -11.0i
13.0 -11.0i
-7.0 - 9.0i
-7.0 + 3.0i
1.0 + 9.0i
-11.0 +11.0i
-5.0 - 9.0i
13.0 - 1.0i
13.0 -11.0i
13.0 - 5.0i
-11.0 + 5.0i
3.0 -13.0i
-15.0 + 9.0i
-15.0 - 9.0i
-13.0 -15.0i
13.0 - 1.0i
13.0 -13.0i
-9.0 +15.0i
5.0 +13.0i
11.0 -13.0i
15.0 - 5.0i
-11.0 + 9.0i
13.0 - 9.0i
13.0 -11.0i
13.0 - 3.0i
1.0 -11.0i
-5.0 +13.0i
-11.0 +15.0i
11.0 - 5.0i
-5.0 - 1.0i
13.0 - 3.0i
13.0 - 3.0i
1.0 -13.0i
15.0 - 3.0i
13.0 -15.0i
15.0 - 3.0i
1.0 - 1.0i
13.0 - 5.0i
13.0 - 5.0i
9.0 -15.0i
-11.0 + 1.0i
9.0 - 7.0i
-15.0 + 7.0i
-1.0 - 7.0i
-9.0 +15.0i
13.0 - 7.0i
13.0 - 5.0i
-15.0 -15.0i
-5.0 - 7.0i
15.0 + 7.0i
-5.0 - 5.0i
-13.0 +13.0i
13.0 - 3.0i
13.0 - 3.0i
13.0 - 7.0i
-7.0 -13.0i
-15.0 +11.0i
5.0 + 5.0i
-3.0 + 7.0i
-1.0 -11.0i
13.0 - 9.0i
13.0 - 9.0i
-11.0 -15.0i
5.0 +13.0i
9.0 + 9.0i
1.0 +11.0i
3.0 + 5.0i
13.0 + 5.0i
13.0 -13.0i
13.0 + 9.0i
-13.0 + 7.0i
15.0 +11.0i
7.0 + 9.0i
-1.0 +15.0i
-5.0 -15.0i
13.0 - 9.0i
13.0 - 9.0i
13.0 + 7.0i
-15.0 -13.0i
11.0 + 5.0i
-9.0 + 1.0i
1.0 +15.0i
13.0 - 3.0i
13.0 - 7.0i
13.0 +15.0i
-13.0 - 5.0i
-5.0 -13.0i
1.0 -11.0i
1.0 + 1.0i
-7.0 - 3.0i
9.0 +13.0i
13.0 - 7.0i
13.0 - 7.0i
-9.0 -11.0i
15.0 -11.0i
5.0 +13.0i
7.0 - 5.0i
13.0 - 5.0i
13.0 - 7.0i
13.0 - 5.0i
-1.0 -11.0i
-13.0 +15.0i
3.0 + 1.0i
-1.0 + 5.0i
-1.0 - 7.0i
13.0 - 1.0i
13.0 - 3.0i
-7.0 -13.0i
1.0 + 5.0i
11.0 +15.0i
5.0 + 1.0i
13.0 +11.0i
13.0 - 3.0i
13.0 - 1.0i
13.0 + 3.0i
9.0 -11.0i
1.0 + 3.0i
7.0 +11.0i
-9.0 -13.0i
11.0 -11.0i
13.0 - 1.0i
13.0 -13.0i
15.0 - 7.0i
-15.0 -13.0i
9.0 - 1.0i
-7.0 -15.0i
-9.0 + 3.0i
13.0 -13.0i
13.0 -13.0i
13.0 -13.0i
13.0 -13.0i
13.0 -13.0i
13.0 -13.0i
13.0 -13.0i
13.0 -15.0i
13.0 -13.0i
13.0 -11.0i
-5.0 +13.0i
11.0 -11.0i
-7.0 + 9.0i
-7.0 - 7.0i
-11.0 -11.0i
13.0 - 9.0i
13.0 - 3.0i
13.0 + 9.0i
-9.0 + 5.0i
13.0 + 7.0i
-3.0 -11.0i
9.0 -11.0i
-11.0 - 1.0i
13.0 - 3.0i
13.0 -11.0i
-5.0 - 1.0i
-13.0 +11.0i
9.0 +11.0i
-1.0 +11.0i
-15.0 - 3.0i
13.0 - 3.0i
13.0 -15.0i
-15.0 - 3.0i
11.0 + 7.0i
5.0 +11.0i
15.0 +13.0i
11.0 +13.0i
15.0 +15.0i
Рис. 4.2 Сузіря QAM-256
Сигнал на виході КАМ-модулятора представлено у вигляді координат векторів комплексної площини модуляційного сузіря. Для формування OFDM сигналу у передавачі використовується операція зворотнього перетворення Фурє, яка забезпечує ортогональність промодульованих сигналів різних підканалів у частотній області.
За умовою завдання необхідно виконати прорідження піднесучих, при побудові OFDM сигналу. Для цього слід подати комплексний сигнал на вхід ЗПФ особливим чином, що дозволить отримати на виході ЗПФ дійсні числа.
0 X1 X2 0 0 X3 X4 0 0 0 X4* X3* 0 0 X2* X1*
Рис.4.3. OFDM маска на базі 16 точкового ЗШПФ
Розрахунок вихідних значень операції ЗШПФ проведемо рішенням 16-точкового «метелика» (сторінка 26).
Створення OFDM сигналу за допомогою MatLab.
dlyaIFFT=[pislyaQAM;0;0]; % добавляємо 2 значення, щоб кратність символів була 4
dlyaIFFT1=dlyaIFFT(1:4:end,1); % формування прорідження
dlyaIFFT2=dlyaIFFT(2:4:end,1); % формування прорідження
dlyaIFFT3=dlyaIFFT(3:4:end,1); % формування прорідження
dlyaIFFT4=dlyaIFFT(4:4:end,1); % формування прорідження
dlyaIFFT0=zeros(385,1); % формування прорідження
dlyaIFFT16=[dlyaIFFT0,dlyaIFFT1,dlyaIFFT2,dlyaIFFT0,dlyaIFFT0,dlyaIFFT3,dlyaIFFT4,dlyaIFFT0,dlyaIFFT0,dlyaIFFT0,conj(dlyaIFFT4),conj(dlyaIFFT3),conj(dlyaIFFT0),conj(dlyaIFFT0),conj(dlyaIFFT2),conj(dlyaIFFT1)];
IFFT=ifft(dlyaIFFT16'); % зворотнє перетворення Фур'є
FFT=(fft(IFFT))'; % пряме перетворення Фур'є
Рис.4.4. Сформовані символи з прорідженням для IFFT
Рис.4.5. Символи що утворились після ШПФ
Рис.4.6. Символи після FFT
Співпадіння значень, що відображені в таблицях на рис 4.4 і рис 4.6 свідчить про функціональну здатність передачі одного високошвидкісного потоку декількома низько швидкісними.
Всі значення після ОФДМ модулятора:
pislyaFFT = |
11.0 + 1.0i 11.0 + 7.0i 15.0 +13.0i
-13.0 +15.0i 13.0 - 7.0i
-11.0 - 7.0i
-7.0 - 5.0i
-5.0 +11.0i 13.0 - 7.0i
-9.0 -13.0i 13.0 + 1.0i 1.0 + 1.0i
11.0 - 9.0i 5.0 - 3.0i
1.0 +11.0i -5.0 - 5.0i -11.0 -11.0i 13.0 - 7.0i
1.0 - 1.0i -3.0 - 5.0i -1.0 - 3.0i 13.0 -11.0i 1.0 - 7.0i 13.0 +15.0i
13.0 +11.0i 1.0 +15.0i 13.0 +13.0i 3.0 - 1.0i -15.0 -13.0i 13.0 - 7.0i
-11.0 + 1.0i -9.0 +11.0i 7.0 - 3.0i 1.0 + 1.0i -11.0 + 1.0i 13.0 +13.0i
-7.0 - 5.0i 13.0 + 9.0i -3.0 -15.0i 13.0 +11.0i -9.0 -13.0i 13.0 +15.0i
-15.0 + 3.0i 13.0 + 1.0i -1.0 + 5.0i 13.0 +11.0i 15.0 + 5.0i 13.0 - 9.0i
-3.0 +11.0i -7.0 - 5.0i -3.0 + 9.0i 13.0 +13.0i -3.0 + 5.0i 13.0 +11.0i
-3.0 + 5.0i 13.0 +15.0i 13.0 -11.0i 13.0 +15.0i 15.0 + 3.0i 13.0 +11.0i
15.0 + 3.0i 13.0 - 3.0i 15.0 -15.0i 13.0 - 9.0i 7.0 - 7.0i 3.0 -15.0i
7.0 - 7.0i 15.0 + 7.0i -11.0 +11.0i -3.0 +11.0i -7.0 +13.0i -13.0 - 5.0i
-13.0 + 7.0i 13.0 + 1.0i 7.0 -11.0i 13.0 + 5.0i -1.0 - 5.0i 9.0 +13.0i
13.0 - 7.0i 13.0 - 3.0i -9.0 +13.0i -1.0 +11.0i -1.0 +13.0i -3.0 - 1.0i
9.0 + 5.0i 9.0 +11.0i 11.0 + 5.0i -13.0 -15.0i 9.0 -13.0i -11.0 - 3.0i
13.0 + 3.0i 1.0 - 3.0i 13.0 + 7.0i 3.0 - 1.0i 13.0 + 5.0i -9.0 -11.0i
7.0 - 7.0i 13.0 +11.0i -15.0 - 9.0i 3.0 -13.0i
-9.0 + 1.0i 9.0 - 9.0i
11.0 -15.0i 13.0 + 5.0i 13.0 + 5.0i 15.0 + 3.0i 13.0 +11.0i -13.0 + 9.0i
9.0 -13.0i -11.0 - 5.0i 13.0 +11.0i 15.0 -11.0i 13.0 + 3.0i -1.0 -13.0i
13.0 + 1.0i 3.0 +13.0i 13.0 + 7.0i 1.0 -13.0i 11.0 - 1.0i
-3.0 - 5.0i
13.0 + 3.0i
-13.0 +11.0i 9.0 - 3.0i 11.0 +15.0i 9.0 - 1.0i
-7.0 - 1.0i
9.0 - 9.0i 3.0 + 7.0i 9.0 - 3.0i -11.0 - 9.0i 13.0 +11.0i 15.0 +15.0i
9.0 +11.0i 5.0 - 5.0i 15.0 - 1.0i
-11.0 - 3.0i
-7.0 - 3.0i 13.0 + 5.0i
9.0 +15.0i 11.0 -13.0i
-9.0 + 3.0i 9.0 - 3.0i 11.0 - 5.0i 13.0 + 7.0i
13.0 +15.0i 9.0 - 3.0i 13.0 + 7.0i
-11.0 - 1.0i
-1.0 +15.0i
-13.0 +15.0i
11.0 - 7.0i 9.0 + 5.0i 11.0 -11.0i 9.0 -13.0i 9.0 + 1.0i 13.0 - 5.0i
-9.0 - 9.0i 13.0 - 7.0i 9.0 - 5.0i 13.0 -11.0i -1.0 - 3.0i 13.0 +11.0i
-5.0 +11.0i 13.0 -11.0i 3.0 - 9.0i 13.0 - 1.0i -15.0 - 5.0i 13.0 - 5.0i
9.0 - 9.0i 9.0 + 7.0i 9.0 -13.0i 13.0 + 7.0i -3.0 - 5.0i 13.0 - 7.0i
-11.0 + 5.0i 13.0 + 5.0i -11.0 - 5.0i 13.0 + 3.0i -5.0 - 7.0i 13.0 - 5.0i
1.0 + 9.0i 9.0 -13.0i 7.0 - 1.0i 13.0 + 5.0i 13.0 + 3.0i 1.0 -11.0i
9.0 + 3.0i -5.0 +11.0i 3.0 + 5.0i 15.0 + 5.0i -5.0 +11.0i -15.0 + 5.0i
-7.0 - 5.0i 13.0 - 7.0i 9.0 +15.0i 13.0 +15.0i -15.0 +11.0i 13.0 - 5.0i
7.0 +11.0i 13.0 - 9.0i 15.0 - 1.0i -13.0 -13.0i 3.0 - 1.0i -9.0 +11.0i
-3.0 - 5.0i 15.0 -13.0i 15.0 - 1.0i 9.0 +13.0i 13.0 +15.0i 9.0 - 1.0i
13.0 - 9.0i 5.0 +11.0i 13.0 - 7.0i 3.0 + 1.0i 13.0 +13.0i -15.0 - 5.0i
3.0 -13.0i 13.0 +13.0i -1.0 -11.0i 1.0 +11.0i -5.0 + 9.0i -13.0 +13.0i
15.0 + 9.0i -3.0 + 3.0i 13.0 + 9.0i -5.0 -13.0i 13.0 + 1.0i 5.0 +15.0i
13.0 +15.0i 3.0 + 7.0i 13.0 +11.0i -11.0 -15.0i 13.0 + 1.0i -5.0 + 3.0i
13.0 + 9.0i -11.0 +11.0i 13.0 + 3.0i 11.0 + 5.0i 13.0 +11.0i -7.0 -13.0i
13.0 + 9.0i 11.0 - 5.0i 13.0 +15.0i 3.0 + 5.0i 13.0 - 3.0i -15.0 + 9.0i
13.0 + 9.0i -9.0 - 1.0i 13.0 - 9.0i 3.0 + 7.0i 13.0 - 9.0i -3.0 + 7.0i
13.0 - 7.0i 1.0 -15.0i -13.0 +15.0i -11.0 -13.0i -1.0 - 3.0i 11.0 -11.0i
-15.0 +13.0i 15.0 - 7.0i -11.0 -13.0i 13.0 -11.0i 11.0 + 1.0i 13.0 - 5.0i
13.0 + 9.0i -9.0 -15.0i 9.0 -15.0i 13.0 - 3.0i -11.0 +15.0i 15.0 - 5.0i
7.0 -11.0i 5.0 + 1.0i -9.0 +15.0i 11.0 -13.0i 1.0 + 5.0i 13.0 + 5.0i
11.0 -11.0i 13.0 +11.0i 3.0 -11.0i 13.0 + 5.0i -7.0 - 3.0i 13.0 + 3.0i
3.0 -11.0i 13.0 + 3.0i -15.0 -11.0i 9.0 -13.0i 3.0 + 1.0i 13.0 -13.0i
-11.0 + 3.0i -7.0 + 1.0i -13.0 + 7.0i 13.0 - 7.0i 5.0 + 1.0i 13.0 +15.0i
-7.0 + 9.0i 13.0 +13.0i -11.0 - 9.0i 13.0 - 5.0i 13.0 -13.0i 13.0 - 5.0i
7.0 +15.0i 13.0 +15.0i 9.0 + 1.0i 13.0 - 1.0i 1.0 + 3.0i 1.0 +15.0i
3.0 - 3.0i -15.0 -15.0i 15.0 - 5.0i 7.0 +11.0i -11.0 - 3.0i 15.0 -15.0i
-5.0 + 3.0i 13.0 +13.0i -13.0 +15.0i 13.0 +13.0i -5.0 + 7.0i 13.0 - 5.0i
13.0 -15.0i 13.0 +15.0i -3.0 - 9.0i -11.0 - 5.0i 15.0 + 7.0i -7.0 - 7.0i
15.0 + 7.0i -5.0 + 5.0i 9.0 + 9.0i -7.0 -13.0i 13.0 - 7.0i -5.0 +15.0i
13.0 + 9.0i 1.0 + 3.0i 13.0 +13.0i 15.0 + 1.0i 13.0 +15.0i -7.0 +15.0i
-5.0 - 5.0i -3.0 - 5.0i 1.0 - 5.0i -1.0 - 1.0i 1.0 - 3.0i 15.0 - 3.0i
13.0 - 5.0i -11.0 + 7.0i 13.0 + 7.0i -3.0 - 3.0i 9.0 -13.0i -5.0 +13.0i
13.0 +15.0i 7.0 + 7.0i 13.0 + 7.0i 15.0 + 1.0i 9.0 - 3.0i -13.0 + 5.0i
13.0 +11.0i -5.0 - 1.0i 9.0 + 3.0i -5.0 +13.0i 15.0 +13.0i -15.0 -11.0i
9.0 -15.0i -13.0 -15.0i 13.0 +11.0i -7.0 - 1.0i 13.0 +11.0i 11.0 -13.0i
9.0 -15.0i 13.0 - 1.0i 13.0 +15.0i 9.0 + 9.0i 13.0 + 1.0i -5.0 - 1.0i
13.0 - 9.0i -15.0 + 5.0i 3.0 + 7.0i -11.0 + 3.0i -9.0 + 3.0i -1.0 +11.0i
-9.0 - 5.0i -3.0 +11.0i -7.0 -13.0i 13.0 +13.0i -9.0 - 3.0i 13.0 + 5.0i
13.0 + 5.0i 1.0 -15.0i 13.0 +13.0i -5.0 -15.0i 1.0 +15.0i -15.0 - 5.0i
13.0 - 1.0i -11.0 +15.0i 7.0 - 3.0i 9.0 + 5.0i -7.0 +11.0i 13.0 +11.0i
15.0 +13.0i 9.0 -15.0i 3.0 - 7.0i 13.0 + 7.0i 1.0 + 1.0i 13.0 + 9.0i
3.0 - 7.0i 9.0 -13.0i 15.0 -15.0i 13.0 + 3.0i -15.0 + 1.0i 13.0 +15.0i
11.0 +11.0i 13.0 - 5.0i 9.0 - 3.0i 13.0 - 1.0i 7.0 + 5.0i 13.0 - 5.0i
15.0 + 9.0i 13.0 - 5.0i -5.0 - 9.0i 13.0 - 1.0i 11.0 - 9.0i 13.0 +13.0i
11.0 + 9.0i 13.0 - 1.0i -5.0 -13.0i 13.0 - 3.0i 3.0 + 1.0i -11.0 + 1.0i
15.0 +15.0i 15.0 -15.0i 3.0 - 3.0i 1.0 +13.0i -11.0 - 1.0i 7.0 + 7.0i
13.0 - 7.0i 13.0 + 3.0i -3.0 +11.0i 13.0 - 7.0i 13.0 - 9.0i 13.0 -15.0i
-15.0 - 3.0i 13.0 - 9.0i 9.0 +11.0i -5.0 + 9.0i -3.0 + 9.0i -1.0 + 1.0i
-3.0 - 5.0i -9.0 - 5.0i -11.0 +11.0i -9.0 + 9.0i 13.0 +13.0i -1.0 - 7.0i
13.0 + 9.0i 13.0 - 7.0i 13.0 + 3.0i 13.0 +11.0i 13.0 - 9.0i -9.0 -11.0i
3.0 + 9.0i 1.0 - 1.0i 3.0 - 3.0i 5.0 - 7.0i 15.0 + 9.0i 9.0 +11.0i
9.0 -11.0i 15.0 -11.0i 13.0 - 3.0i -3.0 - 7.0i 13.0 + 5.0i -9.0 + 3.0i
13.0 -13.0i -11.0 - 1.0i 13.0 +11.0i 3.0 - 3.0i 13.0 + 3.0i -11.0 - 5.0i
13.0 - 7.0i -3.0 -11.0i 13.0 +15.0i -9.0 + 7.0i -5.0 + 1.0i 13.0 + 9.0i
13.0 + 1.0i 5.0 +15.0i 13.0 +13.0i 13.0 +13.0i 13.0 + 1.0i -1.0 + 5.0i
13.0 + 1.0i -5.0 + 3.0i 13.0 +13.0i 13.0 +13.0i 13.0 +13.0i 3.0 - 1.0i
13.0 +11.0i -7.0 -13.0i 13.0 +13.0i 13.0 +13.0i 7.0 - 3.0i 1.0 + 3.0i
-13.0 +13.0i 9.0 +13.0i 13.0 +13.0i 13.0 + 9.0i -3.0 -15.0i 13.0 + 5.0i
13.0 + 5.0i -11.0 + 7.0i 13.0 + 7.0i -11.0 - 3.0i 13.0 + 9.0i 7.0 - 5.0i
7.0 +11.0i -13.0 - 7.0i 7.0 + 5.0i 7.0 + 1.0i 15.0 -11.0i 13.0 +15.0i
-3.0 + 9.0i 9.0 -15.0i 1.0 + 1.0i 13.0 + 1.0i -7.0 - 3.0i 13.0 +11.0i
5.0 + 1.0i 13.0 + 3.0i -3.0 -11.0i 13.0 +13.0i -9.0 + 9.0i 13.0 - 9.0i
13.0 + 5.0i -3.0 +15.0i -1.0 + 7.0i 13.0 +11.0i 9.0 +11.0i 13.0 + 5.0i
-13.0 +15.0i 13.0 +11.0i 5.0 + 3.0i 13.0 + 3.0i 1.0 - 3.0i 13.0 + 3.0i
-9.0 + 5.0i 13.0 +11.0i -9.0 + 9.0i 13.0 + 1.0i 7.0 -11.0i -13.0 - 5.0i
-11.0 + 1.0i 11.0 +11.0i -1.0 -11.0i 13.0 - 3.0i -9.0 +11.0i 5.0 - 9.0i
1.0 + 7.0i 9.0 -15.0i -3.0 - 9.0i 13.0 + 7.0i 1.0 + 3.0i 13.0 + 3.0i
15.0 +11.0i 9.0 + 7.0i -5.0 +13.0i -1.0 + 7.0i -5.0 + 7.0i -15.0 + 5.0i
-5.0 - 7.0i 13.0 + 9.0i 1.0 -13.0i -7.0 -15.0i 13.0 +11.0i -11.0 - 7.0i
9.0 -15.0i -7.0 +15.0i 13.0 + 5.0i -9.0 + 5.0i 13.0 +15.0i 13.0 - 9.0i
-7.0 - 3.0i -9.0 + 1.0i 7.0 -15.0i 1.0 + 5.0i 5.0 +11.0i 9.0 +15.0i
-1.0 - 1.0i -13.0 +13.0i 13.0 - 3.0i -7.0 + 7.0i 13.0 + 3.0i -13.0 +11.0i
13.0 -11.0i -1.0 -13.0i 13.0 - 7.0i -15.0 - 1.0i 9.0 - 9.0i 3.0 + 7.0i
13.0 - 9.0i 3.0 -15.0i 13.0 + 7.0i -5.0 +13.0i 9.0 +11.0i 5.0 - 5.0i
13.0 + 5.0i 11.0 - 7.0i 13.0 + 9.0i 15.0 - 9.0i 13.0 - 1.0i 15.0 -15.0i
9.0 -15.0i -9.0 + 5.0i 13.0 - 3.0i -3.0 +13.0i 13.0 - 5.0i -7.0 +13.0i
13.0 + 3.0i 7.0 + 5.0i 11.0 + 3.0i 1.0 + 7.0i -11.0 - 3.0i -3.0 -15.0i
5.0 - 3.0i 3.0 + 1.0i 11.0 -11.0i 13.0 - 9.0i -1.0 - 5.0i 13.0 - 7.0i
13.0 - 5.0i -5.0 - 7.0i 13.0 -11.0i -7.0 -15.0i -7.0 - 7.0i -13.0 -15.0i
-11.0 + 9.0i 3.0 + 9.0i 1.0 -13.0i -15.0 + 1.0i 13.0 -11.0i 9.0 -15.0i
-13.0 -11.0i 13.0 +13.0i 1.0 - 9.0i 13.0 + 7.0i 3.0 +13.0i 13.0 +11.0i
7.0 +13.0i 13.0 + 3.0i 3.0 + 9.0i 13.0 + 3.0i 7.0 +11.0i 9.0 + 3.0i
11.0 + 7.0i -11.0 -13.0i 3.0 - 9.0i 13.0 + 3.0i 1.0 - 3.0i 13.0 - 5.0i
-3.0 -11.0i 13.0 + 1.0i 5.0 + 9.0i 13.0 + 1.0i 7.0 -11.0i 13.0 - 5.0i
5.0 + 7.0i 13.0 + 5.0i 15.0 - 5.0i 13.0 - 3.0i -9.0 +13.0i 1.0 + 3.0i
-3.0 - 5.0i 9.0 +13.0i 15.0 - 3.0i 9.0 +11.0i 11.0 + 9.0i 11.0 + 3.0i
-3.0 + 9.0i 13.0 - 7.0i -11.0 - 7.0i 13.0 +15.0i -1.0 +13.0i 13.0 + 9.0i
-5.0 - 3.0i 13.0 + 1.0i 1.0 + 1.0i -15.0 - 3.0i -13.0 - 7.0i -3.0 +13.0i
-13.0 + 5.0i -11.0 -11.0i 13.0 -11.0i -9.0 -11.0i 13.0 - 5.0i 1.0 -13.0i
13.0 -11.0i 1.0 - 7.0i 13.0 - 7.0i -13.0 - 3.0i 13.0 - 5.0i -15.0 + 5.0i
15.0 - 3.0i -3.0 +11.0i 1.0 + 5.0i 13.0 -13.0i 9.0 - 1.0i -5.0 -11.0i
-9.0 +15.0i -13.0 - 9.0i 13.0 - 1.0i 11.0 - 1.0i 13.0 - 9.0i 1.0 -13.0i
13.0 - 7.0i -3.0 -13.0i 13.0 -15.0i 5.0 -13.0i 13.0 +15.0i 15.0 -11.0i
13.0 -11.0i 15.0 +13.0i 13.0 + 5.0i -9.0 - 3.0i 9.0 - 7.0i -11.0 - 5.0i
13.0 +15.0i 5.0 + 5.0i 9.0 -15.0i -15.0 + 9.0i 9.0 -15.0i 13.0 - 1.0i
13.0 + 3.0i -1.0 - 1.0i 9.0 -13.0i -9.0 - 3.0i 13.0 - 9.0i -15.0 + 5.0i
13.0 + 3.0i -9.0 +15.0i -9.0 -11.0i 9.0 - 3.0i -9.0 - 5.0i -3.0 + 3.0i
-5.0 -11.0i -13.0 + 7.0i 13.0 - 5.0i 9.0 -15.0i -13.0 -15.0i 13.0 + 3.0i
13.0 + 1.0i -13.0 + 3.0i 13.0 - 3.0i -9.0 +13.0i -13.0 -15.0i -11.0 -11.0i
7.0 + 9.0i -15.0 - 5.0i 9.0 +11.0i 11.0 + 5.0i 5.0 +15.0i 9.0 -11.0i
-5.0 +15.0i 13.0 + 3.0i 1.0 - 3.0i 13.0 + 5.0i 3.0 - 1.0i 9.0 - 9.0i
7.0 + 5.0i 13.0 + 1.0i 7.0 -11.0i 9.0 -13.0i -3.0 +15.0i 9.0 + 9.0i
1.0 +15.0i -9.0 - 1.0i -15.0 - 3.0i 13.0 + 1.0i -1.0 - 1.0i 13.0 + 9.0i
15.0 -15.0i 9.0 -15.0i 7.0 +11.0i 13.0 + 7.0i -3.0 - 3.0i 13.0 - 5.0i
5.0 +11.0i 9.0 - 9.0i -7.0 -11.0i 13.0 + 7.0i 15.0 + 1.0i 1.0 - 5.0i
-3.0 + 5.0i -5.0 + 9.0i 9.0 + 3.0i 9.0 + 3.0i -5.0 - 5.0i 3.0 - 1.0i
-13.0 - 1.0i 13.0 +11.0i -3.0 - 1.0i 13.0 + 5.0i -3.0 + 7.0i 13.0 +13.0i
15.0 + 5.0i 13.0 +13.0i 7.0 - 3.0i 13.0 + 9.0i -5.0 -15.0i -9.0 -13.0i
-15.0 + 3.0i -13.0 -15.0i 11.0 + 9.0i -11.0 +11.0i 9.0 -13.0i 13.0 -13.0i
13.0 - 7.0i -15.0 - 9.0i 13.0 + 7.0i 7.0 +11.0i 9.0 - 9.0i -9.0 - 9.0i
9.0 + 9.0i 11.0 - 5.0i 11.0 + 7.0i 11.0 +13.0i 3.0 - 3.0i -3.0 + 1.0i
13.0 + 5.0i -15.0 -15.0i 13.0 - 3.0i -13.0 - 1.0i 13.0 - 7.0i 9.0 +11.0i
13.0 + 1.0i -7.0 +15.0i 13.0 - 3.0i -11.0 +15.0i 13.0 +13.0i 13.0 +11.0i
13.0 +11.0i 15.0 - 7.0i 13.0 -15.0i 7.0 +11.0i -11.0 - 9.0i -13.0 + 5.0i
13.0 + 3.0i 9.0 - 5.0i 9.0 - 1.0i 1.0 - 1.0i 13.0 +11.0i -9.0 - 5.0i
9.0 -15.0i 5.0 - 7.0i 9.0 -15.0i -3.0 + 7.0i 13.0 + 7.0i 9.0 - 9.0i
9.0 + 7.0i -13.0 + 9.0i -11.0 -13.0i -9.0 + 7.0i -3.0 - 5.0i 15.0 + 1.0i
-13.0 + 1.0i -7.0 - 9.0i -5.0 - 5.0i 9.0 - 9.0i -1.0 - 9.0i 13.0 - 5.0i
13.0 + 9.0i -13.0 +15.0i 9.0 -15.0i -15.0 - 9.0i -7.0 - 3.0i 7.0 - 1.0i
9.0 -15.0i 9.0 - 1.0i 13.0 -15.0i 3.0 -15.0i -5.0 -11.0i 9.0 - 9.0i
3.0 + 3.0i 13.0 +13.0i -3.0 + 3.0i 13.0 + 5.0i 9.0 - 3.0i 9.0 - 1.0i
15.0 -13.0i 13.0 +11.0i -5.0 - 5.0i 9.0 - 3.0i 7.0 - 3.0i 9.0 +11.0i
13.0 - 7.0i -5.0 -13.0i -5.0 -15.0i 13.0 - 7.0i -1.0 + 5.0i 13.0 -13.0i
-3.0 + 9.0i 13.0 + 3.0i 13.0 -11.0i 13.0 - 1.0i 7.0 + 5.0i 13.0 -13.0i
-15.0 + 7.0i 13.0 + 9.0i -15.0 + 1.0i 15.0 + 7.0i 13.0 + 3.0i 3.0 - 1.0i
-15.0 -11.0i 11.0 - 9.0i 15.0 +13.0i -13.0 - 5.0i -7.0 + 5.0i -9.0 - 5.0i
3.0 + 1.0i 13.0 - 5.0i 11.0 + 1.0i 13.0 + 3.0i 7.0 - 1.0i 13.0 + 9.0i
-7.0 + 7.0i 13.0 +13.0i 5.0 +11.0i -15.0 + 7.0i 15.0 - 9.0i -1.0 - 5.0i
-5.0 + 1.0i -1.0 -11.0i -5.0 +15.0i 3.0 -15.0i 13.0 + 3.0i -9.0 - 9.0i
13.0 - 9.0i -11.0 + 3.0i 13.0 +11.0i 1.0 - 7.0i 13.0 + 9.0i 15.0 +15.0i
-11.0 + 3.0i 3.0 - 7.0i 11.0 - 3.0i 13.0 - 5.0i -7.0 -11.0i 13.0 + 3.0i
5.0 +11.0i -3.0 - 9.0i 13.0 - 3.0i -11.0 - 3.0i 13.0 - 9.0i -5.0 - 3.0i
13.0 +15.0i 7.0 + 5.0i 13.0 - 9.0i -1.0 - 5.0i 13.0 - 7.0i -11.0 - 3.0i
13.0 -11.0i 13.0 -13.0i 13.0 - 1.0i 15.0 -15.0i -7.0 +11.0i -15.0 +13.0i
13.0 - 1.0i 13.0 - 3.0i 13.0 +15.0i -7.0 - 3.0i 13.0 -11.0i -3.0 -11.0i
13.0 - 5.0i 15.0 + 7.0i 13.0 - 3.0i 3.0 +11.0i 13.0 + 5.0i 5.0 + 5.0i
13.0 +11.0i -1.0 + 7.0i -1.0 +11.0i 1.0 -15.0i -3.0 - 3.0i 13.0 - 3.0i
11.0 + 5.0i -13.0 - 3.0i 5.0 +11.0i 13.0 - 3.0i 5.0 -11.0i 13.0 -15.0i
13.0 -11.0i -9.0 - 7.0i 13.0 - 1.0i -3.0 + 9.0i 3.0 -13.0i -13.0 +15.0i
9.0 -15.0i 5.0 - 5.0i -3.0 -11.0i -3.0 +15.0i -5.0 +15.0i 13.0 +11.0i
5.0 - 9.0i 13.0 - 1.0i -5.0 - 9.0i 13.0 - 5.0i 3.0 -13.0i 13.0 + 1.0i
-5.0 - 5.0i 13.0 -13.0i 7.0 - 3.0i 13.0 +13.0i 3.0 + 9.0i 13.0 - 5.0i
-3.0 - 5.0i 3.0 +11.0i -9.0 +11.0i 13.0 + 7.0i 1.0 +15.0i 13.0 + 7.0i
-7.0 + 3.0i 13.0 + 7.0i 11.0 + 5.0i 13.0 +11.0i 3.0 +11.0i 9.0 -15.0i
3.0 -13.0i 13.0 + 9.0i -1.0 +11.0i 9.0 + 1.0i 5.0 + 5.0i -5.0 + 7.0i
13.0 + 1.0i 15.0 + 5.0i -11.0 - 1.0i 3.0 + 7.0i 9.0 -15.0i 3.0 -13.0i
1.0 + 1.0i 13.0 + 5.0i 7.0 - 3.0i 13.0 +11.0i 15.0 - 7.0i 13.0 -13.0i
-7.0 + 7.0i 13.0 - 3.0i 13.0 -15.0i 11.0 - 5.0i 11.0 + 7.0i 3.0 - 7.0i
7.0 +15.0i 7.0 +13.0i -9.0 + 5.0i -15.0 -15.0i 13.0 +13.0i 3.0 +11.0i
9.0 -13.0i -1.0 + 3.0i 13.0 + 1.0i -7.0 +15.0i 13.0 - 5.0i -5.0 - 1.0i
-3.0 + 1.0i -3.0 - 7.0i 3.0 - 7.0i -5.0 +13.0i -7.0 + 1.0i -7.0 - 3.0i
1.0 - 5.0i -13.0 + 1.0i 13.0 +11.0i -1.0 + 1.0i 13.0 +13.0i -9.0 + 9.0i
13.0 + 9.0i 5.0 + 3.0i 13.0 +11.0i 9.0 + 7.0i 13.0 + 9.0i 7.0 - 5.0i
13.0 +15.0i -3.0 - 5.0i 13.0 -11.0i 5.0 - 5.0i 15.0 -11.0i 1.0 +13.0i
13.0 - 5.0i -15.0 - 5.0i 13.0 +15.0i -7.0 - 9.0i 13.0 + 5.0i -13.0 +13.0i
13.0 - 7.0i -13.0 +11.0i 13.0 +15.0i -13.0 -11.0i 9.0 - 5.0i 1.0 + 3.0i
13.0 -13.0i 5.0 + 9.0i 13.0 + 1.0i 9.0 + 7.0i -7.0 -15.0i -15.0 -13.0i
13.0 +11.0i 3.0 - 5.0i 7.0 +13.0i 13.0 + 3.0i 1.0 - 5.0i 9.0 - 9.0i
9.0 -11.0i -13.0 - 9.0i 13.0 -13.0i 3.0 - 3.0i 9.0 - 7.0i -9.0 +13.0i
-9.0 +13.0i 1.0 +11.0i -11.0 + 3.0i -7.0 +15.0i -9.0 -15.0i 13.0 -15.0i
-5.0 - 5.0i 13.0 + 5.0i -7.0 + 9.0i 13.0 - 7.0i 5.0 + 7.0i 13.0 - 1.0i
3.0 + 5.0i 13.0 + 3.0i 7.0 +15.0i 13.0 - 1.0i -7.0 +11.0i 13.0 +15.0i
-7.0 -13.0i
-5.0 - 3.0i 9.0 + 3.0i 13.0 + 3.0i 3.0 + 5.0i 13.0 + 7.0i -9.0 + 7.0i 13.0 +15.0i 11.0 - 5.0i 9.0 -15.0i -11.0 -15.0i 13.0 +11.0i
13.0 + 5.0i 13.0 + 1.0i 1.0 + 3.0i 13.0 - 9.0i
-7.0 + 1.0i -13.0 - 7.0i
7.0 + 9.0i
-7.0 + 5.0i 3.0 + 9.0i 9.0 -13.0i 5.0 + 7.0i 9.0 + 1.0i
-13.0 - 1.0i 13.0 - 7.0i 5.0 + 7.0i 13.0 -11.0i 11.0 +15.0i 13.0 + 7.0i
-5.0 + 7.0i 13.0 - 1.0i -7.0 +11.0i 9.0 + 7.0i 11.0 + 5.0i 1.0 + 5.0i
-9.0 + 9.0i 9.0 - 7.0i
-9.0 - 1.0i -1.0 -15.0i 13.0 - 3.0i -7.0 + 7.0i
13.0 +15.0i -9.0 -15.0i 13.0 -13.0i -1.0 + 9.0i 13.0 - 7.0i -15.0 - 1.0i
-5.0 +13.0i -11.0 - 3.0i 9.0 + 1.0i -3.0 -13.0i -5.0 + 5.0i 11.0 - 9.0i
5.0 + 9.0i -9.0 - 3.0i 9.0 -15.0i -7.0 + 9.0i 13.0 + 5.0i 11.0 + 3.0i
13.0 + 3.0i 9.0 + 9.0i 9.0 -11.0i 9.0 +15.0i 13.0 + 9.0i 1.0 + 1.0i
13.0 + 5.0i -11.0 +15.0i 13.0 + 1.0i 13.0 + 3.0i -3.0 -15.0i -1.0 - 3.0i
13.0 +11.0i 1.0 +15.0i 13.0 - 7.0i -3.0 + 3.0i 13.0 + 5.0i 11.0 - 3.0i
13.0 - 1.0i -3.0 - 5.0i 13.0 +13.0i 1.0 -15.0i 9.0 +11.0i -11.0 -15.0i
13.0 -15.0i -1.0 + 3.0i 5.0 - 5.0i 7.0 - 1.0i -9.0 + 7.0i -5.0 - 9.0i
5.0 - 1.0i 1.0 - 5.0i 5.0 + 3.0i 13.0 + 9.0i -3.0 - 9.0i 9.0 -11.0i
9.0 - 3.0i -13.0 +13.0i 13.0 +15.0i 11.0 +11.0i 15.0 + 1.0i -1.0 + 9.0i
-3.0 - 5.0i 11.0 +13.0i -15.0 -11.0i 13.0 + 7.0i -11.0 -13.0i 13.0 +15.0i
5.0 + 9.0i 9.0 -11.0i 15.0 - 9.0i 13.0 +11.0i -1.0 -11.0i 13.0 +13.0i
-9.0 + 5.0i 9.0 -13.0i -15.0 -13.0i 13.0 + 9.0i 5.0 +15.0i 13.0 - 5.0i
-9.0 +11.0i 15.0 + 1.0i 5.0 - 3.0i 9.0 - 9.0i -3.0 + 9.0i 9.0 -13.0i
9.0 - 1.0i 13.0 + 3.0i -3.0 + 7.0i 9.0 - 1.0i -15.0 + 7.0i 13.0 +11.0i
-15.0 - 5.0i 9.0 -13.0i 5.0 +11.0i 9.0 +11.0i -15.0 -11.0i -15.0 + 3.0i
3.0 -13.0i -5.0 - 1.0i -3.0 + 1.0i 13.0 - 7.0i -5.0 -13.0i 5.0 - 1.0i
-5.0 +11.0i 13.0 - 1.0i -3.0 - 5.0i 13.0 +13.0i -1.0 +15.0i 13.0 + 3.0i
15.0 - 5.0i 13.0 -15.0i -1.0 + 3.0i -1.0 -15.0i -15.0 - 5.0i -11.0 + 7.0i
-15.0 +15.0i 5.0 - 1.0i 1.0 - 5.0i -9.0 - 5.0i 13.0 - 7.0i -9.0 -11.0i
13.0 +11.0i 1.0 +15.0i 13.0 - 9.0i -1.0 -15.0i 13.0 + 1.0i -9.0 +11.0i
15.0 + 7.0i -15.0 -11.0i 11.0 - 1.0i -1.0 + 3.0i 15.0 + 3.0i -13.0 -15.0i
-15.0 + 1.0i -5.0 +15.0i 13.0 + 7.0i 13.0 -13.0i 13.0 + 9.0i -9.0 - 5.0i
13.0 + 5.0i -15.0 - 5.0i 13.0 + 1.0i -7.0 - 9.0i 13.0 + 3.0i 3.0 + 5.0i
13.0 + 3.0i 1.0 +13.0i 13.0 - 1.0i 7.0 - 9.0i 11.0 + 9.0i -13.0 + 5.0i
13.0 + 9.0i 7.0 + 1.0i 13.0 + 3.0i -7.0 + 9.0i 13.0 - 5.0i 5.0 - 3.0i
13.0 + 7.0i -7.0 - 5.0i 13.0 +11.0i -15.0 -13.0i 13.0 -15.0i 13.0 - 5.0i
13.0 + 1.0i -11.0 +13.0i -7.0 +15.0i 1.0 + 5.0i -11.0 -15.0i 5.0 - 7.0i
-3.0 -13.0i -13.0 +11.0i 13.0 +13.0i 13.0 + 9.0i 15.0 + 5.0i 13.0 -11.0i
13.0 -11.0i 9.0 - 5.0i 13.0 -11.0i -15.0 - 9.0i 15.0 -15.0i -15.0 + 5.0i
9.0 -13.0i -11.0 + 1.0i -13.0 +11.0i 7.0 - 1.0i -7.0 -13.0i 13.0 +11.0i
-13.0 - 1.0i 13.0 - 9.0i -7.0 - 7.0i 13.0 - 7.0i -11.0 - 3.0i 13.0 +15.0i
-9.0 -11.0i 13.0 -11.0i 5.0 + 5.0i 13.0 - 5.0i 3.0 -11.0i 13.0 + 3.0i
-15.0 + 5.0i -1.0 + 3.0i -7.0 - 3.0i 13.0 + 1.0i 3.0 +13.0i 13.0 + 1.0i
-11.0 - 7.0i 13.0 +11.0i 1.0 - 9.0i 13.0 +11.0i -15.0 - 9.0i 13.0 +13.0i
13.0 - 9.0i 13.0 +11.0i -11.0 -11.0i 13.0 + 5.0i -15.0 + 9.0i -9.0 -15.0i
-7.0 - 3.0i -7.0 + 9.0i -5.0 + 9.0i -11.0 - 5.0i -13.0 +15.0i 5.0 -13.0i
11.0 +13.0i 13.0 +11.0i -11.0 -15.0i 13.0 + 3.0i 15.0 + 3.0i 9.0 +15.0i
15.0 + 5.0i 13.0 + 3.0i 11.0 + 5.0i 1.0 +13.0i 1.0 + 1.0i -11.0 - 1.0i
-11.0 - 9.0i 1.0 +11.0i -5.0 + 1.0i 15.0 + 3.0i 13.0 + 5.0i 9.0 + 7.0i
13.0 + 9.0i -5.0 -13.0i 13.0 + 3.0i 13.0 +15.0i 13.0 + 5.0i -15.0 - 7.0i
-1.0 + 7.0i -15.0 +15.0i -13.0 -13.0i -7.0 +13.0i -1.0 +11.0i 5.0 -13.0i
-9.0 -15.0i -5.0 + 7.0i 13.0 + 3.0i -15.0 -11.0i 13.0 + 9.0i 9.0 - 9.0i
13.0 + 7.0i 15.0 - 7.0i 13.0 + 3.0i 5.0 - 5.0i 13.0 + 9.0i 1.0 -11.0i
13.0 + 5.0i -5.0 + 5.0i 13.0 + 7.0i -3.0 - 7.0i -11.0 +15.0i 3.0 - 5.0i
13.0 - 5.0i 15.0 -11.0i 13.0 + 9.0i 11.0 - 5.0i 13.0 + 7.0i 1.0 +11.0i
13.0 +13.0i 7.0 - 9.0i 13.0 + 9.0i -9.0 - 1.0i 13.0 -15.0i 1.0 - 1.0i
13.0 - 9.0i -1.0 -15.0i 13.0 - 7.0i 1.0 -15.0i -13.0 + 5.0i -7.0 + 3.0i
-13.0 - 7.0i -5.0 +15.0i -15.0 +13.0i 13.0 + 3.0i -5.0 +13.0i 9.0 -13.0i
13.0 + 7.0i 5.0 -13.0i 13.0 + 5.0i -1.0 - 5.0i -7.0 +13.0i 13.0 -11.0i
13.0 + 7.0i 7.0 + 5.0i -1.0 +11.0i -1.0 + 7.0i 1.0 - 5.0i 13.0 + 3.0i
-9.0 +11.0i 13.0 + 5.0i -13.0 -15.0i 13.0 + 1.0i 11.0 -15.0i 13.0 + 1.0i
15.0 +11.0i 13.0 + 7.0i 3.0 - 1.0i 13.0 + 3.0i 5.0 - 1.0i 13.0 - 3.0i
9.0 +11.0i 11.0 +11.0i -15.0 +13.0i 13.0 +13.0i 13.0 +13.0i 13.0 +13.0i
1.0 - 3.0i 13.0 + 1.0i 9.0 + 1.0i 13.0 +13.0i 13.0 +13.0i 13.0 +11.0i
7.0 -11.0i 13.0 +13.0i -7.0 +15.0i 13.0 +13.0i 13.0 +13.0i -5.0 -13.0i
-9.0 +13.0i 15.0 + 7.0i -9.0 - 3.0i 13.0 +13.0i 13.0 +15.0i 11.0 +11.0i
-7.0 - 9.0i 13.0 + 3.0i -3.0 +11.0i 13.0 +11.0i -1.0 -11.0i -15.0 + 3.0i
-7.0 + 7.0i 13.0 - 9.0i 9.0 +11.0i -5.0 + 1.0i -15.0 + 3.0i 11.0 - 7.0i
-11.0 +11.0i -9.0 - 5.0i -11.0 + 1.0i -13.0 -11.0i 13.0 + 3.0i 5.0 -11.0i
13.0 + 9.0i 13.0 - 7.0i 13.0 + 3.0i 9.0 -11.0i 13.0 +15.0i 15.0 -13.0i
11.0 -13.0i
15.0 -15.0i
0 + 0.0i
-0.0 - 0.0i
Рис.4.6. Графік значень після OFDM модулятора
"Метелик" ІФФТ
Розрахунок "метелика" в МатКаді
У приймачі після демодуляції та АЦП прийнятого сигналу утворюється послідовність відліків дійсних чисел, які є згорткою в часовій області сигналів на ортогональних піднесучих. Ця послідовність проходить буферизацію, для формування групи символів на вході блоку прямого ШПФ. На виході перетворення утворюється розділення мультиплексованого каналу, за тим же законом, за яким було введено підканали в блок ЗШПФ на передачі. Після проходження ШПФ потрібно виділити канали з корисним сигналом і провести демодуляцію цифрового сигналу в кожному підканалі.
Для першого символу OFDM сигналу операцію 16-точкового ШПФ також розрахуємо на «метелику».
"Метелик" ФФТ
Розрахунок "метелика" в МатКаді
Висновки
Виконуючи розрахунково-графічну роботу ми розглянули ключові етапи перетворення інформації на етапах цифрової обробки звукового сигналу в моделі радіоканалу передачі.
Використання в реальних пристроях операції кодування інформації, дозволяє значно покращити завадозахищеність двійкової інформації, яку передають. Це дозволяє значно покращити використання частотного ресурсу, при збереженні якості відтвореної інформації на прийомі.
Оскільки радіоканал є найменш захищеним від завад, при передачі можливі спотворення сигналу, та помилковий прийом. Для зменшення впливу завад, та отримання задовільного показника ймовірності помилки на біт інформації ефективним є введення завадостійкого кодування. Розглянутий код Ріда_Соломона (15,5) володіє високою виправляючою здатністю, хоча він ефективний лише для боротьби з «пакетами» помилок.
Також особливістю радіоканалу в реальних умовах є властивість багатопроменевого поширення ЕМЕ, що призводить до міжсимвольної інтерференції. Дієвим рішенням для боротьби з цим виявилось застосування технології OFDM, де завдяки цифровій обробці операції ШПФ дозволяють синтезувати сигнал, що відповідає передачі інформації у кількох паралельних потоках з нижчою швидкістю на сусідніх частотних ділянках без взаємного впливу.