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

15 часов назад, komah сказал:

Можно просто интегрировать (БИХ - фильтрами) отдельно положительные и отрицательные значения на выходе демодулятора. Разница между ними пропорциональна уходу частоты. Если данные более-менее рандомизированы, то работает и для CPFSK-2 и для CPFSK-4.

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

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


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

А на чем демодулятор работать должен? Вычисления с плавающей точкой? Я делал универсальный демодулятор для cpfsk на основе библиотеки liquid-dsp. Для 4-х позиционной модуляции вероятность ошибки 10^(-4) при ОСШ где-то 13..15 дБ. Сдвиг частоты из-за допплера компенсируется легко, именно так как написал выше.

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


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

18 минут назад, komah сказал:

А на чем демодулятор работать должен? Вычисления с плавающей точкой? Я делал универсальный демодулятор для cpfsk на основе библиотеки liquid-dsp. Для 4-х позиционной модуляции вероятность ошибки 10^(-4) при ОСШ где-то 13..15 дБ. Сдвиг частоты из-за допплера компенсируется легко, именно так как написал выше.

Универсальный для чего-то там - это одно. А это стандарт транка. Где всякое есть.

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


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

10 минут назад, thermit сказал:

Универсальный для чего-то там - это одно. А это стандарт транка. Где всякое есть.

Для меня универсальный сделать сложнее. Но это не важно. Здесь упоминался демодулятор на основе алгоритма Витерби. Не проясните, как там сдвиг по частоте можно устранить? Получается, у нас есть условный буфер, например, на 128 символов. Есть символ на выходе этого буфера. Получили оценку фазы для этого символа и нашли ошибку относительно эталона. Теперь нужно "повернуть" остальные символы в буфере на полученный угол? А как быть со всеми рассчитанными метриками? Пересчитывать?

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


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

29 минут назад, komah сказал:

Для меня универсальный сделать сложнее. Но это не важно. Здесь упоминался демодулятор на основе алгоритма Витерби. Не проясните, как там сдвиг по частоте можно устранить? Получается, у нас есть условный буфер, например, на 128 символов. Есть символ на выходе этого буфера. Получили оценку фазы для этого символа и нашли ошибку относительно эталона. Теперь нужно "повернуть" остальные символы в буфере на полученный угол? А как быть со всеми рассчитанными метриками? Пересчитывать?

Витерби не демодулятор. Это детектор. Ему на вход подаются мягкие решения, для которых уже все отрегулировано за исключением, быть может канала.  Да. Оценивааем фазу,  дальше посимвольный фап. Т е фазу нужно будет оценивать для каждого символа. Для общего cpm фаза оценивается сложно и не оптимально. Нужно просуммировать сколько-то символов возведенных в удвоенную степень знаменателя индекса модуляции, взять аргумент полученного безобразия и поделить его на удвоенный знаменатель индекса. Эта фазовая ошибка для самого старого символа в буфере. Он и корректируется. Это схема для прямой коррекции фазы не зависящей от данных но при условии нормальной символьной синхронизации. Для петель предполагается, схема, зависящая от данных.

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


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

23 минуты назад, thermit сказал:

Для общего cpm фаза оценивается сложно и не оптимально.

Есть конкретный вариант, ARTM-CPM. Там индекс модуляции принимает два значения и меняется от символа к символу. Демодулировать как ЧМ-4 не получается даже при очень хорошем ОСШ. Только вариант с Витерби, но он получился очень медленным. Думал, может неправильно что-то делаем.

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


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

1 час назад, komah сказал:

Есть конкретный вариант, ARTM-CPM. Там индекс модуляции принимает два значения и меняется от символа к символу. Демодулировать как ЧМ-4 не получается даже при очень хорошем ОСШ. Только вариант с Витерби, но он получился очень медленным. Думал, может неправильно что-то делаем.

ЧМ с парциальным откликом тоже не демодулируется за исключением гмск. Но всегда есть четкая символьная синхронизация и несущая 0. Объем вычислений зависит от числа состояний. Но даже даже 256, 512 вполне себе используются и прекрасно работают в реальном масштабе времени на относительно скромных устройствах..

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


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

1 час назад, thermit сказал:

ЧМ с парциальным откликом тоже не демодулируется

В смысле? Обычным частотным дискриминатором все что угодно демодулируется. Только с разным качеством. Дискриминатор я уже вдоль и поперек исследовал и больше из него не вытянешь. Очевидно, что для сигналов с частичным откликом mlse должен быть лучше. Но тот вариант, который сделали для ARTM-CPM (делал не я) по скорости проигрывает дискриминатору раз в 400. Видимо, сделали плохо.

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


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

39 минут назад, komah сказал:

В смысле? Обычным частотным дискриминатором все что угодно демодулируется. Только с разным качеством. Дискриминатор я уже вдоль и поперек исследовал и больше из него не вытянешь. Очевидно, что для сигналов с частичным откликом mlse должен быть лучше. Но тот вариант, который сделали для ARTM-CPM (делал не я) по скорости проигрывает дискриминатору раз в 400. Видимо, сделали плохо.

Вы наверное имеете в виду корреляционный  приемник? Ему нужны сопоставимые с млсе ресурсы при прочих равных в качестве млсе проигрывает радикально. Все-же частотный дискриминатор предполагает наличие хотя бы периода гармоники (индекс >=1).

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


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

3 минуты назад, thermit сказал:

Все-же частотный дискриминатор предполагает наличие хотя бы периода гармоники (индекс >=1).

В соседней теме про извлечение бит из фазового демодулятора я даже строчку кода на Си для этого дискриминатора привел. Оценивание мгновенной частоты как разности фаз двух соседних (комплексных) отсчетов. Математически - аргумент произведения текущего отсчета на комплексно-сопряженный предыдущий. Напряжение на выходе пропорционально отклонению мгновенной частоты от 0.  Для многопозиционной (>2) модуляции желательно нормировать результат с учетом индекса модуляции. Если на входе дискриминатора стоит согласованный фильтр, некоторые говорят о когерентном демодуляторе. Я лично так не думаю.

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


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

11 минут назад, komah сказал:

В соседней теме про извлечение бит из фазового демодулятора я даже строчку кода на Си для этого дискриминатора привел. Оценивание мгновенной частоты как разности фаз двух соседних (комплексных) отсчетов. Математически - аргумент произведения текущего отсчета на комплексно-сопряженный предыдущий. Напряжение на выходе пропорционально отклонению мгновенной частоты от 0.  Для многопозиционной (>2) модуляции желательно нормировать результат с учетом индекса модуляции. Если на входе дискриминатора стоит согласованный фильтр, некоторые говорят о когерентном демодуляторе. Я лично так не думаю.

Это дифференциальный демодулятор. К частотному дискриминатору никакого отношения не имеет. На парциальных чм работает плохо. В упомянутых стандартах вполне себе работает.  По выходу жесткий детектор можно заменить на млсе. Попробую сделать. Просто интересно, сколько дб добавит.

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


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

10 минут назад, thermit сказал:

Это дифференциальный демодулятор. К частотному дискриминатору никакого отношения не имеет.

Прямо так и не имеет. Найти картинку с АЧХ дискриминатора? Помню, там еще был почти прямой отрезок из нижнего левого угла в верхний правый :)

Изменено пользователем komah

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


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

32 минуты назад, komah сказал:

Прямо так и не имеет. Найти картинку с АЧХ дискриминатора? Помню, там еще был почти прямой отрезок из нижнего левого угла в верхний правый :)

 

1 Не такой уж и прямой. Мы в картинках разбираемся.

2 Если и дискриминатор, то фазовый. 

 

 

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


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

15 минут назад, thermit сказал:

2 Если и дискриминатор, то фазовый. 

Да серьезно, частотный ). Это же античный термин, из теплых ламповых УКВ - приемников. Там разные детекторы были придуманы, но я запомнил только один - на расстроенных контурах. Еще про какой-то детектор с ФАПЧ писали, но по моему это миф. Когда я смог этот ФАПЧ программно сделать, видимо подходящие сигналы излучать перестали.

Смотрите, функция частотного дискриминатора - вырабатывать напряжение, пропорциональное отклонению частоты входного сигнала от какого-то среднего значения, условно - нуля. В моем случае - это дискретная версия. Да, разность фаз между отсчетами не равна производной, так что, имеем некоторую приближенную оценку мгновенной частоты. Но все равно, выход пропорционален именно разности фаз, то есть, частоте.   

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


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

1 час назад, komah сказал:

Да серьезно, частотный ). Это же античный термин, из теплых ламповых УКВ - приемников. Там разные детекторы были придуманы, но я запомнил только один - на расстроенных контурах. Еще про какой-то детектор с ФАПЧ писали, но по моему это миф. Когда я смог этот ФАПЧ программно сделать, видимо подходящие сигналы излучать перестали.

Смотрите, функция частотного дискриминатора - вырабатывать напряжение, пропорциональное отклонению частоты входного сигнала от какого-то среднего значения, условно - нуля. В моем случае - это дискретная версия. Да, разность фаз между отсчетами не равна производной, так что, имеем некоторую приближенную оценку мгновенной частоты. Но все равно, выход пропорционален именно разности фаз, то есть, частоте.   

Зато я хорошо все помню. Дискриминатор сферической лошади в вакууме вычисляет напряжение, пропорциональное ее изменению.

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


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

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

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

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

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

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

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

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

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

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