Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: У меня коррелятор не работает.
Форум разработчиков электроники ELECTRONIX.ru > Cистемный уровень проектирования > Математика и Физика
Alexey_N
Господа, я пытаюсь сделать обнаружитель гармонического сигнала в его смеси с шумом. По-моему это - классическая постановка, и все давно это уже умеют.
А вот у меня не получается sad.gif.
Беру входную смесь с шумом (массив чисел) и умножаю её на синус и на косинус той же частоты, что и сигнал (тоже массивы чисел). Полученные два массива почленно возвожу в квадрат, суммирую и беру корень из суммы. Полученный результат накапливаю, ну типа сложением...
Ожидаю, что в процессе обработки массивов на выходе значение будет нарастать. Так и есть, нарастает, но при этом не зависит от частоты входного сигнала. Ну то есть совпадает частота коррелятора со входным сигналом или нет, на выходе нарастающая пила одинакова.
Вопрос - я что-то не так делаю?
Или просто дикая ошибка где-то?
Спасибо.
petrov
После умножения на комплексную синусоиду накопить и только потом модуль вычислять.
Herz
А просто FFT нельзя сделать?
Alexey_N
Цитата(petrov @ Jun 11 2016, 22:02) *
После умножения на комплексную синусоиду накопить и только потом модуль вычислять.

Я делаю:
Вход = Сигнал + Шум
(Вход*Синус)^2 + (Вход*Косинус)^2 = Сумма
Результат = Результат + (Сумма)^0.5

В каком месте нужен модуль?

Цитата(Herz @ Jun 11 2016, 23:37) *
А просто FFT нельзя сделать?

FFT работает, без проблем.
Но мне нужен именно коррелятор! Вот тот самый, - из старинных советских учебников, именно он почему-то не выходит...
Serg76
Цитата(Alexey_N @ Jun 12 2016, 01:22) *
В каком месте нужен модуль?

после свертки Вашего Входа с комплексной экспонентой
Onkel
Цитата(Alexey_N @ Jun 11 2016, 22:03) *
Господа, я пытаюсь сделать обнаружитель гармонического сигнала в его смеси с шумом. По-моему это - классическая постановка, и все давно это уже умеют.
А вот у меня не получается sad.gif.
Беру входную смесь с шумом (массив чисел) и умножаю её на синус и на косинус той же частоты, что и сигнал (тоже массивы чисел). Полученные два массива почленно возвожу в квадрат, суммирую и беру корень из суммы.
Спасибо.


синус квадрат плюс косинус квадрат будет 1, если я правильно понял вас, то и суммы почленные будут 1*входной сигнал.
Я для проверки самописанных всяких функци использую фурье- анализ экзела, там есть такое, кстати операции все комплексные.
Если у вас не просто таблица, а рельный эксперимент - не проще применить синхродетектирование?


Цитата(Alexey_N @ Jun 12 2016, 02:22) *
(Вход*Синус)^2 + (Вход*Косинус)^2 = Сумма

сумма будет просто вход ^2
Alexey_N
Цитата(Onkel @ Jun 12 2016, 11:55) *
сумма будет просто вход ^2

Да, согласен, в суете накосячил, нужно сначала интегрировать. Исправил, - всё заработало.
СПАСИБО!
sm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2024 Invision Power Services, Inc.