реклама на сайте
подробности

 
 
> демодулятор BPSK, как сделать програмно
kaf
сообщение Jul 12 2006, 03:26
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 60
Регистрация: 11-07-06
Из: Челябинск
Пользователь №: 18 726



Есть фазомодулированный сигнал 18kHz. Как програмно демодулировать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Andy Mozzhevilov
сообщение Jul 12 2006, 04:20
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(kaf @ Jul 12 2006, 09:26) *
Есть фазомодулированный сигнал 18kHz. Как програмно демодулировать?

Нужно уточнить, как модулирован сигнал. Сколько значений фаз на символ используется.
Наиболее просто демодулируется DBPSK - где 0/1 передается изменением фазы. В этом случае достаточно сравнивать фазу сейчас и на 1 бит назад и использовать некогерентный демодулятор:
Домножить входной сигнал на I и Q компоненты локальной несущей.
В скользящем окне усреднить результат на длине бита.
Перемножить усредненные значения с их задержанной на 1 бит версией.
Сложить полученные I и Q и по знаку принять решение о значении бита.
Полученный цифровой сигнал пропустить еще раз через ФНЧ.

Упрощенно принцип показан в пристегнутом файле.
Прикрепленный файл  bpskdemod.rar ( 1.35 килобайт ) Кол-во скачиваний: 555


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post
kaf
сообщение Jul 12 2006, 07:01
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 60
Регистрация: 11-07-06
Из: Челябинск
Пользователь №: 18 726



Цитата(Andy Mozzhevilov @ Jul 12 2006, 10:20) *
Наиболее просто демодулируется DBPSK - где 0/1 передается изменением фазы. В этом случае достаточно сравнивать фазу сейчас и на 1 бит назад и использовать некогерентный демодулятор:
Домножить входной сигнал на I и Q компоненты локальной несущей.
В скользящем окне усреднить результат на длине бита.
Перемножить усредненные значения с их задержанной на 1 бит версией.
Сложить полученные I и Q и по знаку принять решение о значении бита.
Полученный цифровой сигнал пропустить еще раз через ФНЧ.

Спасибо за ответ, но проблема в том, что я немогу точно задержать сигнал на один период (гуляет частота, дрожат фронты). Как быть в этом случае
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Jul 12 2006, 07:06
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(kaf @ Jul 12 2006, 13:01) *
Спасибо за ответ, но проблема в том, что я немогу точно задержать сигнал на один период (гуляет частота, дрожат фронты). Как быть в этом случае

Поясните, какая частота гуляет, на сколько гуляет? Какие фронты дрожжат и откуда фронты в аналоговом сигнале?
Какая все-таки модуляция, какая несущая, какая символьная скорость? Обрисуйте задачу более конкретно.


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post
kaf
сообщение Jul 12 2006, 07:28
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 60
Регистрация: 11-07-06
Из: Челябинск
Пользователь №: 18 726



Цитата(Andy Mozzhevilov @ Jul 12 2006, 13:06) *
Поясните, какая частота гуляет, на сколько гуляет? Какие фронты дрожжат и откуда фронты в аналоговом сигнале?
Какая все-таки модуляция, какая несущая, какая символьная скорость? Обрисуйте задачу более конкретно.

Демодулятор нужно сделать на AVR. Входной сигнал компарируется и при переходе фаз начинается настояций бардак.
Входной сигнал 18 +/- 0.5 kHz. Есть две фазы 0 и 180. Минимальный период между изменениями 16 периодов несущей частоты.

PS Уже сделан апаратный демодулятор, но передомной лежит коробочка, котороя , кроме демодуляции делает еще кучу дел (а в приведенном алгоритме синусы(пусть табличные) и вагон умножений).
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 07:10
Рейтинг@Mail.ru


Страница сгенерированна за 0.01456 секунд с 7
ELECTRONIX ©2004-2016