Перейти к содержанию
    

Приветствую.

 

Интересует алгоритм приема C4FM и вообще 4FSK модуляции. Конкретно интересует APCO P25. Собственно схема, по ТЗ должна быть такой:

33a7vr9.png

В сети есть варианты демодуляции, один вариант в GNU Radio, он работает, но дает некоторый BER, даже в ближней зоне. Обязательным условием в ТЗ является частота дискретизации АЦП после FM демодулятора – 8 КГц. Демодулятор из GNU Radio, мне так кажется, именно из-за этого (частоты дискретизации) имеет проблемы с символьной синхронизацией, давая иногда не нулевой BER даже в ближней зоне. Этот демодулятор состоит из полифазного ресемплера, и делает ресемпл из входной частоты дискретизации до частоты дискретизации 4800, и по идее, в каждом отчете уже должен быть символ, ждущий принятия решения, что это за символ (-3, -1, +1, +3). Но видимо из-за того, что входная частота 8КГц некратна 4800 Гц, в ходе передискретизации не всегда символы оказываются ровно внутри семпла. (Хотя может быть я чего-то здесь недопонимаю) Реализация 4FSK из GNU Radio тут

 

Попробовал написать свой, схема ниже:

wtev6d.png

Синхронизация производится по поиску максимальной корреляции в FIFO, по преамбуле APCO-P25. В FIFO кладу семплы повышая частоту семплирования с 8КГц до 24КГц, интерполируя Raised Cosine фильтром, представленном в стандарте, для модулятора. Засинхронизироваться вроде удается, так как значение корреляции получается 216, это значит совпали все символы, но остальная часть сообщения принимается с диким, BER порядка 20%.

 

Вопрос, на сколько вообще реализуем мой метод демодуляция, с настройкой тайминга в начала пакета или обязательно надо подстраивать положение символов в ходе приема остального пакета? (Как это например сделано в GNU Radio)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

simulink в руки и отлаживать тщательно алгоритмы, да и вообще стыдно уже через аналоговый частотный дискримнатор делать с потерями, CPFSK когерентно демодулируются как фазовые модуляции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. По стандарту в передатчике C4FM два фильтра: Raised Cosine и isinc. Соответственно, приемную сторону нужно проектировать с учетом данного факта.

2. Вроде бы apco25 C4FM передается в полосе 12.5 кГц, не мало ли будет полосы в 8 кГц на входе?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. По стандарту в передатчике C4FM два фильтра: Raised Cosine и isinc. Соответственно, приемную сторону нужно проектировать с учетом данного факта.

2. Вроде бы apco25 C4FM передается в полосе 12.5 кГц, не мало ли будет полосы в 8 кГц на входе?

 

В стандарте схема демодулятора приведена такая:

qouiih.png

 

То есть используется 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.

 

 

 

да и вообще стыдно уже через аналоговый частотный дискримнатор делать с потерями, CPFSK когерентно демодулируются как фазовые модуляции.

 

Это все конечно прекрасно, я же не спорю. Задача на уже существующем железе это сделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

То есть используется Integrate and Dump фильтр, но честно говоря, я не совсем понимаю, как принимать с его помощью.

 

Integrate and Dump фильтр можно реализовать в виде КИХ-фильтра (обычный sinc фильтр), это будет фильтр со всеми коэффициентами, равными 1 и длинной, равной длительности одного символа. Например, если у вас 4 отсчета на символ, то I&D фильтр будет КИХ фильтр с коэф. {1,1,1,1}. Не помню, нужно ли нормировать выход фильтра. Структурно, в приемнике, I&D нужно ставить после Raised Cosine.

Изменено пользователем D.I.M.A

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Структурно I&D нужно ставить после Raised Cosine.

 

Первый в приёмнике, второй в передатчике.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Первый в приёмнике, второй в передатчике.

 

Тогда еще вопрос, в догонку, а я правильно понимаю, что частота среза у RC фильтра 2400 (то есть половина символ рейта) и параметр beta=0.2? В приложениях для синтеза подобного фильтра спрашивают частоту среза (ну её-то по АЧХ понять можно) и бету, вот насчет беты сомнения у меня.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Первый в приёмнике, второй в передатчике.

 

А зачем I&D в передатчике? В передатчике нужен inverse sinc.

 

Тогда еще вопрос, в догонку, а я правильно понимаю, что частота среза у RC фильтра 2400 (то есть половина символ рейта) и параметр beta=0.2? В приложениях для синтеза подобного фильтра спрашивают частоту среза (ну её-то по АЧХ понять можно) и бету, вот насчет беты сомнения у меня.

 

Да, все верно.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А зачем I&D в передатчике? В передатчике нужен inverse sinc.

 

Я такого не писал. Приподнятый косинус в передатчике, скользящее среднее в приёмнике, наоборот структурно можно сделать?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я такого не писал. Приподнятый косинус в передатчике, скользящее среднее в приёмнике, наоборот структурно можно сделать?

Как тогда понимать фразу?

 

Первый в приёмнике, второй в передатчике.

 

Скользящее среднее должно быть реализовано в приемнике, что бы скомпенсировать Inverse Sinc передатчика. Т.е. в передатчике RC+InverseSinc, в приемнике - скользящее среднее. Мы говорим об одном и том же?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Странно, мне всегда в подобных схемах isinc на приемном конце встречался.

 

Но видимо в моих случаях была задача обузить полосу.

А в вашем isinc на передающем конце выполняет ту же роль, что и Pre-emphasis filter при чм передаче.

 

Скользящее среднее должно быть реализовано в приемнике, что бы скомпенсировать Inverse Sinc передатчика. Т.е. в передатчике RC+InverseSinc, в приемнике - скользящее среднее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Странно, мне всегда в подобных схемах isinc на приемном конце встречался.

 

Но видимо в моих случаях была задача обузить полосу.

А в вашем isinc на передающем конце выполняет ту же роль, что и Pre-emphasis filter при чм передаче.

 

В apco это сделано для того, что бы сделать общий демодулятор для двух фаз apco25: C4FSK и pi/4-DQPSK. multi_modulation_scheme_compatible_radio.pdf

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я подозреваю, что эта возможность - побочный продукт. По современным меркам расширение полосы лишь в угоду удобства обработки - дикость. Хотя и такие варианты мне встречались.

 

В apco это сделано для того, что бы сделать общий демодулятор для двух фаз apco25: C4FSK и pi/4-DQPSK.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Структурно, в приемнике, I&D нужно ставить после Raised Cosine.

 

Вот как это понимать? В приёмнике у вас изначально не было, исправлено было уже после моего поста. Зачем приподнятый косинус приёмнике?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вот как это понимать? В приёмнике у вас изначально не было, исправлено было уже после моего поста. Зачем приподнятый косинус приёмнике?

 

Виноват:) Даже не обратил на это внимание, прошу прощения. Конечно же, не за чем!

Изменено пользователем D.I.M.A

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...