Як м'яко розшифрувати DQPSK?


9

Я успішно декодую D-BPSK, приймаючи крапковий добуток позиції сузір'я символу та попереднього символу. Якщо результат> = 1, то фаза символів не змінилася і біт дорівнює нулю. Якщо результат <= -1, то фаза змістилася, а результат - одиниця. Між -1 і 1 результат - м'який 0 або м'який 1.

Я не можу зрозуміти, як зробити те ж саме з D-QPSK. Я можу використовувати лише фазу, але це викидає багато інформації, яка могла б допомогти софт-декодеру.

У цій роботі пояснюється, як це зробити, і наводиться формула (10):

b1=Re{snsn1},b2=Im{snsn1}

Але я не розумію позначення - що означає *плаваючий нагорі? Я спробував просто помножити складні числа і взяти реальні та уявні частини, але це не вийшло.

Оскільки сузір’я може обертатися, як дві осі можуть розірватися?


Чи можете ви додати математику, яку ви використовуєте для "крапкових продуктів сузір'я символу та попереднього символу".
користувач2718

Звичайно, це: last_symbol.real cur_symbol.real + last_symbol.imag cur_symbol.imag
Dan Sandberg

На жаль, біти даних б1 і б2 неможливо оцінити, використовуючи формулу (10), подану вище. У DQPSK один ізRе{снсн-1} і Ям{снсн-1}великий за величиною, а інший - за величиною. Хто з них має велику величину, говорить вам про те, чи будуть біти даних працювати одним із{00,11} або один із {01,10}. Знак великого масштабу говорить вам , який з одного з двох варіантів є правильним. Тобто велика величина вказує вам, яку пару дібітів, а знак говорить вам, який з двох дибітів.
Діліп Сарват

@DilipSarwate, я отримав формулу, що працює вище, але мені довелося перекодувати дані якимось умовно довільним способом, щоб отримати правильні результати. Те, як я його заздалегідь закодував, може бути або не еквівалентним: shf.de/communication/support/application_notes/getfile/230/269 Якщо я використовую лише більшу величину, я не закінчуюсь інформацією, що підходить для програмного декодування - оскільки 00 та 11 є протилежними (а не сусідніми кодами), не корисно мати м'яку міру між ними. Можливо, я щось пропустив? Чи варто починати нове запитання про прекодери DQPSK?
Ден Сандберг

Відповіді:


5

Два послідовних символи в демодуляторі є Z1=(X1,Y1) і Z2=(Х2,Y2) де Х - вихід I гілки та Yвихід Q гілки приймача. Пристрій рішення рішень DBPSK розглядає питання:

Новий символ Z2 ближче до старого символу Z1або до негативного -Z1 старого символу?

і таким чином порівнює

(Х2-Х1)2+(Y2-Y1)2(Х2+Х1)2+(Y2+Y1)2

який можна спростити до порівняння знаків на Z1,Z2=Х1Х2+Y1Y2. Зауважте, що це по суті питання

Два вектори Z1 і Z2 вказують приблизно в одному напрямку (в цьому випадку внутрішній виріб або крапковий виріб є позитивним) або приблизно в протилежному напрямку (у такому випадку крапковий виріб є негативним)?

Третя точка зору думає Z1 і Z2як складні числа і запитує

Є Re(Z1Z2)=Х1Х2+Y1Y2 позитивний чи негативний?

Пристрій прийняття рішення про м'яке рішення просто передає точне значення крапкового продукту декодеру м'якого рішення, який може вирішити квантування точкових продуктів, які мають дуже велику величину, для прийняття важких рішень і продовжувати вафлі на решті. Саме це і є рішенням рішення, зазначеним у питанні щодо ОП, де велике значення приймається як перевищення1 за величиною

У DQPSK кодування використовує одну з двох конвенцій:

  • фаза сигналу затримується на0,π/2,π,3π/2 відповідно, як дібіт, що передається, є 00,01,11,10

  • фаза сигналу покращується за допомогою0,π/2,π,3π/2 відповідно, як дібіт, що передається, є 00,01,11,10

Зауважимо, що сигнал DQPSK не є сумою двох сигналів DBPSK, модульованих на фазо-ортогональних носіях, але біти I і Q спільно впливають на фазу чистої несучої.

Для демодуляції сигналу DQPSK потрібно запитати пристрій рішення

Який із чотирьох символівZ1,jZ1=(Y1,X1),Z1,jZ1=(Y1,X1) є Z2 найближчий до?

Таким чином, крім порівняння

(X2X1)2+(Y2Y1)2(X2+X1)2+(Y2+Y1)2

необхідно порівняти

(Х2+Y1)2+(Y2-Х1)2(Х2-Y1)2+(Y2+Х1)2

що виходить подивитися Ім(Z1Z2) на додаток до Re(Z1Z2)і прийняти рішення, згідно з яким кількість має найбільшу величину і знак найбільшої величини. Деталі того, як декодер м'якого рішення використовує статистику рішенняZ1Z2=(Re(Z1Z2),Ім(Z1Z2)) визначить, як ці числа далі масажуються.


Дякую за дуже складну відповідь Діліп. ЄZ1,Z1друкарський помилок? Чи має бутиZ1,Z2? І робитьА,Бпозначення означає крапковий продукт?
Ден Сандберг

Га, я мав на увазі дуже ретельну відповідь! :)
Дан Сандберг

Так, це помилка друку, і я це виправив. А,Бпозначення зазвичай використовується для позначення внутрішнього продукту, загалом якого крапковий продукт є окремим випадком.
Діліп Сарват

якщо я лише дивлюся, яка кількість має найбільшу величину, то здається, що я викидаю інформацію. Як приклад, уявна частина визначає, чи обертання 0 або 180 градусів. Але м'яка міра між цими двома не має сенсу, оскільки вони не є суміжними обертаннями (як 0 і 90). Будь-яка ідея, як отримати більш корисне м'яке декодування? Документ здається оманливим, оскільки стверджує, що перший біт - реальна частина, а другий - уявна частина.
Ден Сандберг

3

Зірочка відноситься до складного сполучника. Один типовий метод м'якого декодування диференціальних модуляцій - техніка затримки, кон'югації, множення :

Si=DiDi-1

де Di і Di-1 є двома послідовно різними кодованими символами та Siє диференційовано декодованим результатом. Ця загальна формула буде працювати для DBPSK або DQPSK (оскільки сигнали BPSK справжні, кон'югат просто випадає). Отриманий сигнальний потікSi лежить на тому ж сузір’ї, що і вхідний, тому ви можете приймати важкі рішення, використовуючи ті ж правила, що і для BPSK або QPSK.


Дякую, Джейсон. Я намагався множити на складний кон'югат перед публікацією, але тепер не зрозумів, як інтерпретувати результат. Оскільки я не знаю обертання сузір'я, як я можу дістатись до картографування, як я згадував у запитанні до DBPSK?
Ден Сандберг

Я переглянув результати вашої пропозиції, і здається, що уявна частина відображає або обертання на 0 градусів, або на 180 градусів, тоді як реальна частина відображає обертання на 90 або 270 градусів. Коли дані чисті (без шуму), одна частина (реальна чи уявна) дорівнює 0, а інша - -1 або 1. Як зробити програмне декодування цього файлу бітами, коли дані не чисті, а відображення не так ідеал?
Ден Сандберг

@JasonR Я не думаю, що Si=DiDi-1"лежить на тому ж сузір'ї, що і вхід", і жорсткі рішення для DQPSK не відповідають тим же правилам, що і жорсткі рішення для QPSK.
Діліп Сарват

@DilipSarwate: Я міг би бути більш детальним у своїй відповіді, але якщо ваш диференціальний кодер має функцію отримання вихідного символу з фазою, яка є сумою фаз попередніх двох входів, то аналогічна операція на декодері - формувати відмінності у фазі послідовно отриманих диференційно закодованих символів. Я міг би це пояснити краще, але у мене не було можливості переглянути відповідь, а може і не, оскільки ваша відповідь більш детальна.
Джейсон R

@JasonR Ваша відповідь досить детальна, і я не маю сварки з обчисленням статистики рішення. Я сумніваюсь - неявне твердження, що два біти даних у DQPSK можуть бути демодульовані незалежно один від одногоRe(Si) і Ім(Si) відповідно так само, як і в простому QPSK з когерентною демодуляцією, біти даних є лише ознаками Re(Di) і Ім(Di).
Діліп Сарват
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.