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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Демодуляция 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
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
Alex65111
сообщение Mar 2 2011, 09:56
Сообщение #3


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

Группа: Участник
Сообщений: 141
Регистрация: 25-10-07
Пользователь №: 31 729



Цитата(petrov @ Mar 2 2011, 12:25) *
Другое дело что MSK можно оптимально без витерби демодулировать


Это парой фильтров разнесенными на скорость?
Go to the top of the page
 
+Quote Post
petrov
сообщение Mar 2 2011, 10:00
Сообщение #4


Гуру
******

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



Цитата(Alex65111 @ Mar 2 2011, 12:56) *
Это парой фильтров разнесенными на скорость?


http://electronix.ru/forum/index.php?s=&am...st&p=818746
Go to the top of the page
 
+Quote Post
Alex65111
сообщение Mar 2 2011, 10:41
Сообщение #5


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

Группа: Участник
Сообщений: 141
Регистрация: 25-10-07
Пользователь №: 31 729



Цитата(petrov @ Mar 2 2011, 13:00) *


7ой матлаб (serv pack 1) чего то матерится по страшной силе, на два экрана красных надписей наваливает при попытке открытия проекта.

Ну и в любом случае. Вроде бы Витерби не просто демодулирует, а пытается исправить канал (т.е. это не столько демодулятор сколько эквалайзер), и как то не совсем мне понятно (пока не смог открыть соответствующий mdl), в чем же оптимальность демодуляции без Витерби, особенно в срезе коррекции канала?
Go to the top of the page
 
+Quote Post
one_eight_seven
сообщение Mar 2 2011, 10:50
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 916
Регистрация: 3-10-08
Из: Москва
Пользователь №: 40 664



Алгоритм Витерби, вообще, не применяется для демодуляции (СЮРПРИЗ!). Он применяется для декодирования сверточных кодов.
Go to the top of the page
 
+Quote Post
petrov
сообщение Mar 2 2011, 10:54
Сообщение #7


Гуру
******

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



Цитата(Alex65111 @ Mar 2 2011, 13:41) *
Ну и в любом случае. Вроде бы Витерби не просто демодулирует, а пытается исправить канал (т.е. это не столько демодулятор сколько эквалайзер), и как то не совсем мне понятно (пока не смог открыть соответствующий mdl), в чем же оптимальность демодуляции без Витерби, особенно в срезе коррекции канала?


Витерби это всего лишь алгоритм поиска максимально правдоподобного пути по решётке, автоматически он сам ничего не делает, в данном случае речь об учёте памяти модуляции, если необходим учёт памяти канала то нужно разрабатывать этот эквалайзер витерби.
Go to the top of the page
 
+Quote Post
Alex65111
сообщение Mar 2 2011, 10:56
Сообщение #8


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

Группа: Участник
Сообщений: 141
Регистрация: 25-10-07
Пользователь №: 31 729



Цитата(one_eight_seven @ Mar 2 2011, 13:50) *
Алгоритм Витерби, вообще, не применяется для демодуляции (СЮРПРИЗ!). Он применяется для декодирования сверточных кодов.



Во для GSM то на самом деле сюрприз! Они оказываются не по теме Витерби применяют когда канал корректируют (для сверточников вроде бы сюрпризов не наблюдается).

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



А какие мысли есть почему mdl не открывается?
Go to the top of the page
 
+Quote Post
one_eight_seven
сообщение Mar 2 2011, 11:00
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 916
Регистрация: 3-10-08
Из: Москва
Пользователь №: 40 664



В GSM применяется Soft-Decision Viterbi Decoder, декодер, а не демодулятор.
Демодулятор выдаёт символы, декодер их оценивает. Навроде как гаечный ключ нельзя ввернуть в отверстие, в отверстие ввинчивается винт, а вот его уже можно крутить гаечным ключом.
Go to the top of the page
 
+Quote Post
petrov
сообщение Mar 2 2011, 11:04
Сообщение #10


Гуру
******

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



Цитата(Alex65111 @ Mar 2 2011, 13:56) *
А какие мысли есть почему mdl не открывается?


Не знаю, если у вас более старая версия матлаба чем R2010a пробуйте более новую.
Go to the top of the page
 
+Quote Post
Serg76
сообщение Mar 2 2011, 11:10
Сообщение #11


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(one_eight_seven @ Mar 2 2011, 15:00) *
В GSM применяется Soft-Decision Viterbi Decoder, декодер, а не демодулятор.
Демодулятор выдаёт символы, декодер их оценивает. Навроде как гаечный ключ нельзя ввернуть в отверстие, в отверстие ввинчивается винт, а вот его уже можно крутить гаечным ключом.

В GSM применяется эквалайзер Витерби, который производит оценку ИХ канала для каждого слота по заранее известной кодовой последовательности при помощи алгоритма максимального правдоподобия Витерби, а уже после демодуляции производится декодирование сверточного кода также по алгоритму Витерби. кроме того, не обязательно для целей демодуляции/декодирования применять алгоритм Витерби, можно использовать и другие алгоритмы, например, алгоритм оптимального посимвольного принятия решения - MAP (maximum a posteriori), тогда получите еще большую помехоустойчивость.

Сообщение отредактировал Serg76 - Mar 2 2011, 11:44
Go to the top of the page
 
+Quote Post
petrov
сообщение Mar 2 2011, 11:40
Сообщение #12


Гуру
******

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



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


Вроде не так, определением ИХ канала занимается отдельное устройство, а эквалайзер Витерби используя ИХ уже ищет максимально правдоподобную последовательность символов.
Go to the top of the page
 
+Quote Post
one_eight_seven
сообщение Mar 2 2011, 12:21
Сообщение #13


Знающий
****

Группа: Участник
Сообщений: 916
Регистрация: 3-10-08
Из: Москва
Пользователь №: 40 664



Чтобы применить эквалайзер витерби нужно передавать с полезным сигналом (случайным) тестовый (детерминированый).
Демодулировать (объясните мне, как работает демодулятор Витерби, если он демодулирует ЛЮБОЙ сигнал?) обе последовательности, и уже после этого в дело вступает эквалайзер Витерби.
Go to the top of the page
 
+Quote Post
Serg76
сообщение Mar 2 2011, 12:32
Сообщение #14


Профессионал
*****

Группа: Участник
Сообщений: 1 050
Регистрация: 4-04-07
Пользователь №: 26 775



Цитата(petrov @ Mar 2 2011, 14:40) *
Вроде не так, определением ИХ канала занимается отдельное устройство, а эквалайзер Витерби используя ИХ уже ищет максимально правдоподобную последовательность символов.

Это устройство в общем и называется эквалайзером Витерби, которое производит оценку ИХ канала, а алгоритм Витерби применяется для расчета метрику и оценки переданной последовательности данных.

Цитата(one_eight_seven @ Mar 2 2011, 15:21) *
Чтобы применить эквалайзер витерби нужно передавать с полезным сигналом (случайным) тестовый (детерминированый).
Демодулировать (объясните мне, как работает демодулятор Витерби, если он демодулирует ЛЮБОЙ сигнал?) обе последовательности, и уже после этого в дело вступает эквалайзер Витерби.

Все правильно, в пакетах GSM в середине передается настроечная последовательность, копиия которой хранится в приемнике. По ней и производится оценка ИХ.

Сообщение отредактировал Serg76 - Mar 2 2011, 12:34
Go to the top of the page
 
+Quote Post
petrov
сообщение Mar 2 2011, 12:44
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 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

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

 


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


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