|
4FSK, C4FM в частности |
|
|
|
Nov 23 2014, 09:27
|

Местный
  
Группа: Свой
Сообщений: 257
Регистрация: 2-12-06
Из: Default City
Пользователь №: 23 021

|
Приветствую. Интересует алгоритм приема C4FM и вообще 4FSK модуляции. Конкретно интересует APCO P25. Собственно схема, по ТЗ должна быть такой:  В сети есть варианты демодуляции, один вариант в GNU Radio, он работает, но дает некоторый BER, даже в ближней зоне. Обязательным условием в ТЗ является частота дискретизации АЦП после FM демодулятора – 8 КГц. Демодулятор из GNU Radio, мне так кажется, именно из-за этого (частоты дискретизации) имеет проблемы с символьной синхронизацией, давая иногда не нулевой BER даже в ближней зоне. Этот демодулятор состоит из полифазного ресемплера, и делает ресемпл из входной частоты дискретизации до частоты дискретизации 4800, и по идее, в каждом отчете уже должен быть символ, ждущий принятия решения, что это за символ (-3, -1, +1, +3). Но видимо из-за того, что входная частота 8КГц некратна 4800 Гц, в ходе передискретизации не всегда символы оказываются ровно внутри семпла. (Хотя может быть я чего-то здесь недопонимаю) Реализация 4FSK из GNU Radio тут Попробовал написать свой, схема ниже:  Синхронизация производится по поиску максимальной корреляции в FIFO, по преамбуле APCO-P25. В FIFO кладу семплы повышая частоту семплирования с 8КГц до 24КГц, интерполируя Raised Cosine фильтром, представленном в стандарте, для модулятора. Засинхронизироваться вроде удается, так как значение корреляции получается 216, это значит совпали все символы, но остальная часть сообщения принимается с диким, BER порядка 20%. Вопрос, на сколько вообще реализуем мой метод демодуляция, с настройкой тайминга в начала пакета или обязательно надо подстраивать положение символов в ходе приема остального пакета? (Как это например сделано в GNU Radio)
|
|
|
|
|
 |
Ответов
|
Nov 24 2014, 09:46
|

Местный
  
Группа: Свой
Сообщений: 257
Регистрация: 2-12-06
Из: Default City
Пользователь №: 23 021

|
Цитата(D.I.M.A @ Nov 24 2014, 11:41)  1. По стандарту в передатчике C4FM два фильтра: Raised Cosine и isinc. Соответственно, приемную сторону нужно проектировать с учетом данного факта. 2. Вроде бы apco25 C4FM передается в полосе 12.5 кГц, не мало ли будет полосы в 8 кГц на входе? В стандарте схема демодулятора приведена такая:  То есть используется Integrate and Dump фильтр, но честно говоря, я не совсем понимаю, как принимать с его помощью. По поводу полосы, да, полоса в эфире 12.5 КГц. По стандарту, при формировании модулирующего сигнала, его пропускают через Raised Cosine и isinc фильтры, ограничивая полосу частотой 2880. Цитата The response of the filter above 2880 Hz is not specified because the filter H(f) should cut off above 2880 Hz. Цитата(petrov @ Nov 23 2014, 22:40)  да и вообще стыдно уже через аналоговый частотный дискримнатор делать с потерями, CPFSK когерентно демодулируются как фазовые модуляции. Это все конечно прекрасно, я же не спорю. Задача на уже существующем железе это сделать.
|
|
|
|
|
Nov 24 2014, 09:51
|

Участник

Группа: Участник
Сообщений: 48
Регистрация: 26-08-08
Из: Москва
Пользователь №: 39 824

|
Цитата(Quasar @ Nov 24 2014, 12:39)  То есть используется Integrate and Dump фильтр, но честно говоря, я не совсем понимаю, как принимать с его помощью. Integrate and Dump фильтр можно реализовать в виде КИХ-фильтра (обычный sinc фильтр), это будет фильтр со всеми коэффициентами, равными 1 и длинной, равной длительности одного символа. Например, если у вас 4 отсчета на символ, то I&D фильтр будет КИХ фильтр с коэф. {1,1,1,1}. Не помню, нужно ли нормировать выход фильтра. Структурно, в приемнике, I&D нужно ставить после Raised Cosine.
Сообщение отредактировал D.I.M.A - Nov 24 2014, 10:13
|
|
|
|
|
Nov 28 2014, 09:55
|

Участник

Группа: Участник
Сообщений: 48
Регистрация: 26-08-08
Из: Москва
Пользователь №: 39 824

|
Цитата(petrov @ Nov 24 2014, 13:06)  Первый в приёмнике, второй в передатчике. А зачем I&D в передатчике? В передатчике нужен inverse sinc. Цитата(Quasar @ Nov 27 2014, 20:34)  Тогда еще вопрос, в догонку, а я правильно понимаю, что частота среза у RC фильтра 2400 (то есть половина символ рейта) и параметр beta=0.2? В приложениях для синтеза подобного фильтра спрашивают частоту среза (ну её-то по АЧХ понять можно) и бету, вот насчет беты сомнения у меня. Да, все верно.
|
|
|
|
|
Nov 28 2014, 13:16
|

Участник

Группа: Участник
Сообщений: 48
Регистрация: 26-08-08
Из: Москва
Пользователь №: 39 824

|
Цитата(petrov @ Nov 28 2014, 14:00)  Я такого не писал. Приподнятый косинус в передатчике, скользящее среднее в приёмнике, наоборот структурно можно сделать? Как тогда понимать фразу? Цитата(petrov @ Nov 24 2014, 13:06)  Первый в приёмнике, второй в передатчике. Скользящее среднее должно быть реализовано в приемнике, что бы скомпенсировать Inverse Sinc передатчика. Т.е. в передатчике RC+InverseSinc, в приемнике - скользящее среднее. Мы говорим об одном и том же?
|
|
|
|
|
Nov 28 2014, 14:00
|
ʕʘ̅͜ʘ̅ʔ
    
Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691

|
Странно, мне всегда в подобных схемах isinc на приемном конце встречался. Но видимо в моих случаях была задача обузить полосу. А в вашем isinc на передающем конце выполняет ту же роль, что и Pre-emphasis filter при чм передаче. Цитата(D.I.M.A @ Nov 28 2014, 14:16)  Скользящее среднее должно быть реализовано в приемнике, что бы скомпенсировать Inverse Sinc передатчика. Т.е. в передатчике RC+InverseSinc, в приемнике - скользящее среднее.
|
|
|
|
Сообщений в этой теме
Quasar 4FSK Nov 23 2014, 09:27 petrov simulink в руки и отлаживать тщательно алгоритмы, ... Nov 23 2014, 19:40         D.I.M.A Цитата(Fat Robot @ Nov 28 2014, 17:00) Ст... Nov 28 2014, 14:07          Fat Robot Я подозреваю, что эта возможность - побочный проду... Nov 28 2014, 14:21   petrov Цитата(D.I.M.A @ Nov 24 2014, 12:51) Стру... Nov 28 2014, 14:57    D.I.M.A Цитата(petrov @ Nov 28 2014, 17:57) Вот к... Nov 28 2014, 15:03    Quasar Цитата(petrov @ Nov 28 2014, 17:57) Вот к... Nov 28 2014, 15:19     petrov Цитата(Quasar @ Nov 28 2014, 18:19) Я его... Nov 28 2014, 15:35      Quasar Цитата(petrov @ Nov 28 2014, 18:35) Да. С... Jul 27 2015, 15:03       petrov Цитата(Quasar @ Jul 27 2015, 18:03) Почем... Jul 27 2015, 18:23
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|