[email protected]
Участник-
Постов
24 -
Зарегистрирован
-
Посещение
-
CPFSK 4 демодулятор
[email protected] ответил [email protected] тема в Алгоритмы ЦОС (DSP)
Так ну хорошо, там 2 фильтра после демодулятора. Один из них rrc второй просто сглаживающий. Там везде фигурирует частота в Гц, видимо. Мне, что, получается мгновенную частоту вычислять именно в Гц? -
CPFSK 4 демодулятор
[email protected] ответил [email protected] тема в Алгоритмы ЦОС (DSP)
Так речь то не о созвездии, а о компенсации частотного смещения, как советовал petrov. Берём ожидаемые уровни, например, изменения фазы, в данном случае pi*h, либо 2pi*h. И пытаемся вычислить постоянную разницу с этими уровнями. Вот для обычной cpfsk с любым индексом это работает. А для cpfsk с памятью - нет. Вот я и спрашиваю, как же сделать - там разброс относительно опорного уровня очень велик. Как компенсировать смещение несущей? Или, может быть, для mlse не нужно компенсировать частотное смещение?? -
CPFSK 4 демодулятор
[email protected] ответил [email protected] тема в Алгоритмы ЦОС (DSP)
Сделал фапч, как Вы предлагаете с разницей между текущей разностью фаз и одной из предполагаемых. Понятно, что разница фаз считается на длительности 1 символа. Ожидаемо, работает только с cpfsk без памяти. На первом фото ошибка по частоте, рассчитанная таким способом и пид воздействие на DDS (зелёным) на втором фото сигнал, симметрично позиционированный около 0. А вот на 3ем фото ошибка, сгенерированная точно таким же сигналом, но с фильтром с памятью на 8 символов. И уже не работает. В связи с этим, у меня 2 вопроса: 1) можно ли сделать, что такой фапч работал для модуляции с памятью? -
CPFSK 4 демодулятор
[email protected] ответил [email protected] тема в Алгоритмы ЦОС (DSP)
интересное предложение. Спасибо! -
CPFSK 4 демодулятор
[email protected] ответил [email protected] тема в Алгоритмы ЦОС (DSP)
Так вот я описал структуру. Можно использовать atan-1 для psk модуляций и так далее. Можете описать хотя бы словами такой детектор? Не надо общих слов, я своими руками делаю приёмники на плис, мне нужно понимать очень конкретно. -
CPFSK 4 демодулятор
[email protected] ответил [email protected] тема в Алгоритмы ЦОС (DSP)
Ну вот Вам конкретный вопрос. Для psk4 мы берём фазовый детектор, управляемый решениями. Функция sign в обоих I и Q ветвях и перемножаем на значения сигналов, вычитаем. Вот сигнал ошибки по фазе, потом его используем, чтобы управлять DDS. Как такой сигнал ошибки сгенерировать для cpfsk4? -
CPFSK 4 демодулятор
[email protected] ответил [email protected] тема в Алгоритмы ЦОС (DSP)
Это все здорово, но как же быть с памятью? Я так демодулирую и вижу, что амплитуда текущего символа зависит от того, какие символы были перед этим. Причём, довольно сильно зависит, при шумах будет очень сложно отличить -1 от -3, например. 2) как с таким сигналом синхронизироваться по частоте. Приходит пока только одна мысль - вычислять мгновенную частоту и сильно её усреднять. Но это очень медленно будет. -
CPFSK 4 демодулятор
[email protected] ответил [email protected] тема в Алгоритмы ЦОС (DSP)
Ну есть такой открытый американский стандарт dPMR. Там скорость передачи 2400 и девиация 700 Гц между "уровнями" (-1050, -350, 350,1050 Гц) вот получается, что индекс 700/2400=0, 291666. Но я вообще хотел узнать, как умные люди такое демодулируют. Mlse это maksimum likelihood что то? Я так понял, что это то же, что Витерби, только более ёмкая в вычислениях. Есть ли какой то проект с этим алгоритмом? Каков принцип? -
CPFSK 4 демодулятор
[email protected] опубликовал тема в Алгоритмы ЦОС (DSP)
Добрый день! Прошу помочь разобраться, как можно ДЕМОДУЛИРОВАТЬ сигнал с модуляцией FSK4 и с индексом h=0, 29166666. Вообще, какие есть методы синхронизации и приёма. Я нашёл приёмник Витерби, но для такого индекса неинтересно совсем. Я хорошо знаю, как сделать фапч для qpsk модуляции, например. Поэтому ещё раз, мои вопросы: 1) как синхронизироваться по частоте для cpfsk4 сигнала с индексом 0,291666 2) как выделить символы, не используя алгоритм витерби. (Производную арктангенса знаю, но для такого сигнала слишком большой разброс мгновенной частоты для одного и того же символа в разном месте в сообщении получается) Может быть есть ссылка на реально работающий проект? -
Всем спасибо за ответы и версии. Проблема решена. Причина оказалась в том, что хоть в документации на ядро и указано что tready можно держать в нуле и использовать tready в качестве подтверждения приема с целью выдачи следующего пакета на шину, на деле же стабильно это работает только если держать tready постоянно в единице. Всё работает без дублирования если принять заголовок пакета, сохранить его содержимое, и пока идет обработка первого пакета, tready висит в нуле, а на шине при этом уже будет следующий пакет. Это удалось выяснить с помощью симуляции с задействованием PCI root, при этом тест был изменен таким образом, чтобы уже на стороне PCI root отправлялись два пакета в соседних тактах.
-
Спасибо за ответы! Сразу встречный вопрос- если запись в драйвере однократная. Что же в таком случае идёт из шины акси после завершения цикла? Что он там досылает, если из драйвера ничего не отправляли? Может ли быть дело в том, что у нас райзер для pcie 30 см?
-
Добрый день! Создали тестовый проект на kintex ultra scale. Обмен по pcie работает, но смущает одна проблема. Иногда при записи в адрес пакеты повторяются. То есть, другими словами, я вижу valid, принимаю пакет, поднимаю ready и опускаю его в 0, а valid и last от ядра pcie продолжают висеть в "1". Это шина ПК дублирует пакет или это висит предыдущий? И если это происходит, то почему и как это исправить? Прилагаю фото из даташита как должно быть и фото Ila как есть
-
Хорошо, что тогда делать? Использовать несколько каскадов? И еще: как то же люди собирают сигналы на частоте даже 200 МГц. Даже китайский лазерный дальномер излучает и принимает синус на 190-210 МГц без особых усилий. Я же не могу банальные 6 МГц принять на расстоянии больше 2 метров. Может быть я вообще что-то неправильно делаю? Может быть в оптике дело? Я не использую никаких линз. Поделитесь опытом!
-
Такой же, как синус подаваемый с ШИМ.
-
Но что может быть приичной несинусоидальности тока? НАпример ток в форме пилы даже на малых оборотах?Почему так?