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

 
 
> Демодуляция GFSK с помощью Витерби
STAR_IK
сообщение Mar 2 2011, 08:42
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 136
Регистрация: 10-04-09
Из: Омск
Пользователь №: 47 461



Доброго времени суток. Возникла необходимость переписать GFSK демодулятор, заменив посимвольное принятие решений на более помехоустойчивое, учитывающее память сигнала с помощью алгоритма Витерби. Пока даже не важен индекс модуляции и BT гауссовского фильтра, т.к. при необходимости можно и поменять. Построил модель в Matlab, для простоты первого понимания взял сигнал MSK. Однако даже в этом случае возникло непонимание. Во-первых не ясно как быть с начальными условиями. Везде для пояснения пишут что в начале "0", но как я на приемном конце могу знать, что передается если я ещё это не декодировал и не принял решения? Во-вторых, в "Прокис - Цифровая связь" сказано, что на каждом интервале необходимо для каждого узла вычислять метрики, т.е. в нашем случае для каждого из 4-х узлов необходимо вычислить две метрики и исключить наибольшую. При этом на каждом символьном интервале у нас могут быть только два состояния, соответствующие +/-(pi/2) от предыдущего фазового состояния. Поэтому не ясен смысл вычислений метрик для оставшихся двух узлов.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
petrov
сообщение Mar 2 2011, 09:25
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(STAR_IK @ Mar 2 2011, 11:42) *
Во-первых не ясно как быть с начальными условиями. Везде для пояснения пишут что в начале "0", но как я на приемном конце могу знать, что передается если я ещё это не декодировал и не принял решения?


Декодер необходимо синхронизировать, например по преамбуле устанавливать в исходное состояние.


Цитата(STAR_IK @ Mar 2 2011, 11:42) *
Во-первых не ясно как быть с начальными условиями. Везде для пояснения пишут что в начале "0", но как я на приемном конце могу знать, что передается если я ещё это не декодировал и не принял решения?


У MSK 4 фазовых состояния 0 pi/2 pi -pi/2, из предыдущего фазового состояния не все переходы возможны, возможные и образуют решётку переходов между 4-мя фазовыми состояниями.

Другое дело что MSK можно оптимально без витерби демодулировать, да и в случае GMSK c BT=0.3 такой демодулятор не очень много проигрывает, что-то в районе децибела с копейками.
Go to the top of the page
 
+Quote Post
petrov
сообщение Mar 2 2011, 12:44
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(petrov @ Mar 2 2011, 12:25) *
Декодер необходимо синхронизировать, например по преамбуле устанавливать в исходное состояние.


Нет вру, нет нужды знать начальное состояние автомата, выживший путь автоматом будет из правильного состояния выходить. Важно в конце блока автомат в известное состояние перевести чтобы последние символы декодировать.


Цитата(Serg76 @ Mar 2 2011, 15:32) *
Это устройство в общем и называется эквалайзером Витерби, которое производит оценку ИХ канала, а алгоритм Витерби применяется для расчета метрику и оценки переданной последовательности данных.


С чего бы это? А если я по этой известной настроечной последовательности рассчитываю коэффициенты DFE эквалайзера? Это всего лишь фильтр согласованный с известной последовательностью, почему он вдруг эквалайзером Витерби стал?

Go to the top of the page
 
+Quote Post
STAR_IK
сообщение Mar 3 2011, 05:48
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 136
Регистрация: 10-04-09
Из: Омск
Пользователь №: 47 461



Цитата(petrov @ Mar 2 2011, 18:44) *
Нет вру, нет нужды знать начальное состояние автомата, выживший путь автоматом будет из правильного состояния выходить. Важно в конце блока автомат в известное состояние перевести чтобы последние символы декодировать.


Если я правильно понял то не зная начальных условий мы перебираем все возможные пути. Однако если мы с помощью синхрослова синхронизируем начальный момент декодирования, то мы исключим из перебора те ветви, которые в принципе не могут выходить из данного начального состояния. Т.е. для той же MSK в синхрословом мы можем сократить количество путей в два раза???

Стоит наверно сказать более подробно о сигнале и приемнике: сигнал представляет собой короткое сообщение - 2 байта синхрослова + 10 байт данных. Приемник выполнен на сигнальном процессоре TMS320C5509. Может и не стоит в данном случае применять декодирование по Витерби, но как тогда учесть память сигнала. Посимвольные детектирование сигналов МНФ по максимуму апостериорной вероятности в данном случае не пойдет... каналов много, сигнальник не вытянет.

to petrov: В модели которой Вы привели система с обратной связью, она просто не успеет за это время войти в синхронизм.

Сообщение отредактировал STAR_IK - Mar 3 2011, 07:08
Go to the top of the page
 
+Quote Post
petrov
сообщение Mar 3 2011, 07:48
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(STAR_IK @ Mar 3 2011, 08:48) *
Если я правильно понял то не зная начальных условий мы перебираем все возможные пути. Однако если мы с помощью синхрослова синхронизируем начальный момент декодирования, то мы исключим из перебора те ветви, которые в принципе не могут выходить из данного начального состояния. Т.е. для той же MSK в синхрословом мы можем сократить количество путей в два раза???


Ну начальный момент это слишком мало чтобы тут что-то наэкономить, впрочем если в этом есть какой-то смысл то не проблема на передаче сбрасывать элементы памяти в начальное состояние.

Цитата(STAR_IK @ Mar 3 2011, 08:48) *
Стоит наверно сказать более подробно о сигнале и приемнике: сигнал представляет собой короткое сообщение - 2 байта синхрослова + 10 байт данных. Приемник выполнен на сигнальном процессоре TMS320C5509. Может и не стоит в данном случае применять декодирование по Витерби, но как тогда учесть память сигнала. Посимвольные детектирование сигналов МНФ по максимуму апостериорной вероятности в данном случае не пойдет... каналов много, сигнальник не вытянет.



ИМХО для GMSK выигрыш мал чтобы заморачиваться алгоритмом Витерби.

Цитата(STAR_IK @ Mar 3 2011, 08:48) *
to petrov: В модели которой Вы привели система с обратной связью, она просто не успеет за это время войти в синхронизм.


Можно сделать feed forward фазовую синхронизацию подобно как в модели для pi/4 qpsk приводил или по преамбуле синхронизироваться быстро а потом переключаться на обратную связь.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- STAR_IK   Демодуляция GFSK с помощью Витерби   Mar 2 2011, 08:42
|- - Alex65111   Цитата(petrov @ Mar 2 2011, 12:25) Другое...   Mar 2 2011, 09:56
||- - petrov   Цитата(Alex65111 @ Mar 2 2011, 12:56) Это...   Mar 2 2011, 10:00
||- - Alex65111   Цитата(petrov @ Mar 2 2011, 13:00) http:/...   Mar 2 2011, 10:41
||- - petrov   Цитата(Alex65111 @ Mar 2 2011, 13:41) Ну ...   Mar 2 2011, 10:54
|- - Serg76   Цитата(petrov @ Mar 2 2011, 15:44) С чего...   Mar 2 2011, 15:19
|- - STAR_IK   Цитата(petrov @ Mar 3 2011, 13:48) ИМХО д...   Mar 3 2011, 08:45
|- - petrov   Цитата(STAR_IK @ Mar 3 2011, 11:45) На са...   Mar 3 2011, 09:08
|- - Serg76   Цитата(STAR_IK @ Mar 3 2011, 12:45) Схема...   Mar 3 2011, 09:29
- - one_eight_seven   Алгоритм Витерби, вообще, не применяется для демод...   Mar 2 2011, 10:50
|- - Alex65111   Цитата(one_eight_seven @ Mar 2 2011, 13:5...   Mar 2 2011, 10:56
|- - petrov   Цитата(Alex65111 @ Mar 2 2011, 13:56) А к...   Mar 2 2011, 11:04
- - one_eight_seven   В GSM применяется Soft-Decision Viterbi Decoder, д...   Mar 2 2011, 11:00
|- - Serg76   Цитата(one_eight_seven @ Mar 2 2011, 15:0...   Mar 2 2011, 11:10
|- - petrov   Цитата(Serg76 @ Mar 2 2011, 14:10) В GSM ...   Mar 2 2011, 11:40
|- - Serg76   Цитата(petrov @ Mar 2 2011, 14:40) Вроде ...   Mar 2 2011, 12:32
- - one_eight_seven   Чтобы применить эквалайзер витерби нужно передават...   Mar 2 2011, 12:21
- - Gyga   Можно вопрос? Почему в эквалайзере витерби использ...   Dec 25 2012, 04:56


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

 


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


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