Щоб демодулювати сигнал фазового зсуву, з якого BPSK є найпростішим, вам потрібно відновити несучу частоту, фазу та символи часу.
Сигнали про розриви
Деякі сигнали є бурхливими і надають відому послідовність даних, яку називають преамбулою або серединою амбла (залежно від того, відображається вона на початку або середині зйомки). Демодулятори можуть використовувати відповідний фільтр, який "шукає" відому послідовність даних, і використовувати його для визначення частоти, фази і часу синхронізації. Вони роблять це під час кожного вибуху і не потрібно заважати "дрейфу" (поступова відстань, яка накопичується між демодулятором і отриманим сигналом у міру накопичення невеликих помилок), оскільки сплески, як правило, досить короткі, щоб дрейф не був проблема.
Постійні сигнали
Тоді виникають безперервні сигнали. Вони багато в чому складніші для відновлення, ніж бурхливі сигнали, оскільки зазвичай у вас немає відомої послідовності даних, яка б допомогла зафіксувати сигнал, і вам доведеться турбуватися про дрейф навіть після замикання на сигнал. Я спробую описати на високому рівні основні кроки, які зазвичай використовуються для відновлення безперервних сигналів.
Відновлення перевізника
Зазвичай ви знаєте, на якій частоті буде шуканий сигнал, або хоча б на якому наборі частот він може бути. Навіть маючи ці знання, однак, як правило, ви повинні бути в змозі виправити зміщення частоти, оскільки два передавачі не передають однакову частоту. Завжди є якась помилка. Звичайним методом є змішання частоти, на яку ви думаєте, що сигнал буде, та виправлення помилки залишкової частоти. Це можна зробити за допомогою петлі Костасаабо взявши четверту потужність даних сигналу базової смуги та шукаючи сплеск частоти. На зміщенні несучої * 4 має бути сплеск частоти (наприклад, якщо ви приймаєте FFT даних до 4-ї потужності і бачите сплеск частоти при 8300 Гц, це означає, що зсув несучої - 8300/4 = 2075 Гц). Це дуже ефективний засіб отримання початкового блокування на зміщення частоти. Ви також можете використовувати його для компенсації дрейфу, якщо ви робите це періодично. Є ще один спосіб компенсувати дрейф, якого я торкнуся пізніше.
Фаза носія
У цей момент, якщо ви побудували свої складні дані у складній площині (вісь x реальна, вісь y уявна), вона повинна виглядати приблизно так:
ej∗π
ej∗−ω
Після виправлення даних фази ви можете скинути уявну частину даних, оскільки вона не додає ніякої інформації.
Символ
Ви, звичайно, апріорно знаєте період символу, який ви намагаєтеся демодулювати. Якщо вам потрібно визначити період / частоту символу, ви можете зробити це аналогічно тому, як було виявлено зміщення несучої. Ви можете розподілити квадратні дані, що спричинить стрибок частоти вдвічі більше частоти символу.
Як і з носієм, вам доведеться виправити фазу (терміни) правильно, а потім компенсувати дрейф. Звичайний метод для обох цих проблем - пошук нульових перетинів. Якщо шум не поганий, він повинен перетинати нульову точку посередині переходу символу від -1 до 1 або від 1 до -1. Навіть якщо шум викликає це в середині символу, це буде не дуже часто.
Малюнок вище називають «діаграмою очей» або «очним малюнком». Це два періоди символів в ширину і має безліч символів, "складених" один над одним. Я не знаю, знайомі ви з осцилоскопами чи ні, але ви можете отримати осцилоскоп, щоб показати подібну картину. У будь-якому випадку два "X" - це символьні переходи. Високі до низьких ліній у X є, коли символ переходить від 1 до -1, а низький до високого рядків у X - це коли символ переходить від -1 до 1. Точка між ними, де рожева лінія - це оптимальне місце для вибірки даних, щоб побачити, чи є символ 1 або -1.
Цей самий прийом можна використовувати для обробки дрейфу символів. Візьміть середнє пробіг відстані від попереднього нульового переходу та наступного переходу нуля. Якщо два середніх значення приблизно однакові, все добре. Якщо одна більша за іншу, то вам потрібно зрушити туди, де ви захоплюєте зразок.
Після того, як ви відібрали символи у правильних точках, ваші точки даних повинні отримати щось подібне до класичних точок сузір'я BPSK.
Я сподіваюся, що це допомагає.