Quasar 20 23 ноября, 2014 Опубликовано 23 ноября, 2014 · Жалоба Приветствую. Интересует алгоритм приема 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) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 23 ноября, 2014 Опубликовано 23 ноября, 2014 · Жалоба simulink в руки и отлаживать тщательно алгоритмы, да и вообще стыдно уже через аналоговый частотный дискримнатор делать с потерями, CPFSK когерентно демодулируются как фазовые модуляции. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
oshparenniy 0 24 ноября, 2014 Опубликовано 24 ноября, 2014 · Жалоба 1. По стандарту в передатчике C4FM два фильтра: Raised Cosine и isinc. Соответственно, приемную сторону нужно проектировать с учетом данного факта. 2. Вроде бы apco25 C4FM передается в полосе 12.5 кГц, не мало ли будет полосы в 8 кГц на входе? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Quasar 20 24 ноября, 2014 Опубликовано 24 ноября, 2014 · Жалоба 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. да и вообще стыдно уже через аналоговый частотный дискримнатор делать с потерями, CPFSK когерентно демодулируются как фазовые модуляции. Это все конечно прекрасно, я же не спорю. Задача на уже существующем железе это сделать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
oshparenniy 0 24 ноября, 2014 Опубликовано 24 ноября, 2014 (изменено) · Жалоба То есть используется Integrate and Dump фильтр, но честно говоря, я не совсем понимаю, как принимать с его помощью. Integrate and Dump фильтр можно реализовать в виде КИХ-фильтра (обычный sinc фильтр), это будет фильтр со всеми коэффициентами, равными 1 и длинной, равной длительности одного символа. Например, если у вас 4 отсчета на символ, то I&D фильтр будет КИХ фильтр с коэф. {1,1,1,1}. Не помню, нужно ли нормировать выход фильтра. Структурно, в приемнике, I&D нужно ставить после Raised Cosine. Изменено 24 ноября, 2014 пользователем D.I.M.A Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 24 ноября, 2014 Опубликовано 24 ноября, 2014 · Жалоба Структурно I&D нужно ставить после Raised Cosine. Первый в приёмнике, второй в передатчике. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Quasar 20 27 ноября, 2014 Опубликовано 27 ноября, 2014 · Жалоба Первый в приёмнике, второй в передатчике. Тогда еще вопрос, в догонку, а я правильно понимаю, что частота среза у RC фильтра 2400 (то есть половина символ рейта) и параметр beta=0.2? В приложениях для синтеза подобного фильтра спрашивают частоту среза (ну её-то по АЧХ понять можно) и бету, вот насчет беты сомнения у меня. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
oshparenniy 0 28 ноября, 2014 Опубликовано 28 ноября, 2014 · Жалоба Первый в приёмнике, второй в передатчике. А зачем I&D в передатчике? В передатчике нужен inverse sinc. Тогда еще вопрос, в догонку, а я правильно понимаю, что частота среза у RC фильтра 2400 (то есть половина символ рейта) и параметр beta=0.2? В приложениях для синтеза подобного фильтра спрашивают частоту среза (ну её-то по АЧХ понять можно) и бету, вот насчет беты сомнения у меня. Да, все верно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 28 ноября, 2014 Опубликовано 28 ноября, 2014 · Жалоба А зачем I&D в передатчике? В передатчике нужен inverse sinc. Я такого не писал. Приподнятый косинус в передатчике, скользящее среднее в приёмнике, наоборот структурно можно сделать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
oshparenniy 0 28 ноября, 2014 Опубликовано 28 ноября, 2014 · Жалоба Я такого не писал. Приподнятый косинус в передатчике, скользящее среднее в приёмнике, наоборот структурно можно сделать? Как тогда понимать фразу? Первый в приёмнике, второй в передатчике. Скользящее среднее должно быть реализовано в приемнике, что бы скомпенсировать Inverse Sinc передатчика. Т.е. в передатчике RC+InverseSinc, в приемнике - скользящее среднее. Мы говорим об одном и том же? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 4 28 ноября, 2014 Опубликовано 28 ноября, 2014 · Жалоба Странно, мне всегда в подобных схемах isinc на приемном конце встречался. Но видимо в моих случаях была задача обузить полосу. А в вашем isinc на передающем конце выполняет ту же роль, что и Pre-emphasis filter при чм передаче. Скользящее среднее должно быть реализовано в приемнике, что бы скомпенсировать Inverse Sinc передатчика. Т.е. в передатчике RC+InverseSinc, в приемнике - скользящее среднее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
oshparenniy 0 28 ноября, 2014 Опубликовано 28 ноября, 2014 · Жалоба Странно, мне всегда в подобных схемах isinc на приемном конце встречался. Но видимо в моих случаях была задача обузить полосу. А в вашем isinc на передающем конце выполняет ту же роль, что и Pre-emphasis filter при чм передаче. В apco это сделано для того, что бы сделать общий демодулятор для двух фаз apco25: C4FSK и pi/4-DQPSK. multi_modulation_scheme_compatible_radio.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 4 28 ноября, 2014 Опубликовано 28 ноября, 2014 · Жалоба Я подозреваю, что эта возможность - побочный продукт. По современным меркам расширение полосы лишь в угоду удобства обработки - дикость. Хотя и такие варианты мне встречались. В apco это сделано для того, что бы сделать общий демодулятор для двух фаз apco25: C4FSK и pi/4-DQPSK. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 7 28 ноября, 2014 Опубликовано 28 ноября, 2014 · Жалоба Структурно, в приемнике, I&D нужно ставить после Raised Cosine. Вот как это понимать? В приёмнике у вас изначально не было, исправлено было уже после моего поста. Зачем приподнятый косинус приёмнике? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
oshparenniy 0 28 ноября, 2014 Опубликовано 28 ноября, 2014 (изменено) · Жалоба Вот как это понимать? В приёмнике у вас изначально не было, исправлено было уже после моего поста. Зачем приподнятый косинус приёмнике? Виноват:) Даже не обратил на это внимание, прошу прощения. Конечно же, не за чем! Изменено 28 ноября, 2014 пользователем D.I.M.A Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться