Alexey_N 0 11 июня, 2016 Опубликовано 11 июня, 2016 · Жалоба Господа, я пытаюсь сделать обнаружитель гармонического сигнала в его смеси с шумом. По-моему это - классическая постановка, и все давно это уже умеют. А вот у меня не получается :(. Беру входную смесь с шумом (массив чисел) и умножаю её на синус и на косинус той же частоты, что и сигнал (тоже массивы чисел). Полученные два массива почленно возвожу в квадрат, суммирую и беру корень из суммы. Полученный результат накапливаю, ну типа сложением... Ожидаю, что в процессе обработки массивов на выходе значение будет нарастать. Так и есть, нарастает, но при этом не зависит от частоты входного сигнала. Ну то есть совпадает частота коррелятора со входным сигналом или нет, на выходе нарастающая пила одинакова. Вопрос - я что-то не так делаю? Или просто дикая ошибка где-то? Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 6 11 июня, 2016 Опубликовано 11 июня, 2016 · Жалоба После умножения на комплексную синусоиду накопить и только потом модуль вычислять. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Herz 4 11 июня, 2016 Опубликовано 11 июня, 2016 · Жалоба А просто FFT нельзя сделать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey_N 0 11 июня, 2016 Опубликовано 11 июня, 2016 · Жалоба После умножения на комплексную синусоиду накопить и только потом модуль вычислять. Я делаю: Вход = Сигнал + Шум (Вход*Синус)^2 + (Вход*Косинус)^2 = Сумма Результат = Результат + (Сумма)^0.5 В каком месте нужен модуль? А просто FFT нельзя сделать? FFT работает, без проблем. Но мне нужен именно коррелятор! Вот тот самый, - из старинных советских учебников, именно он почему-то не выходит... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serg76 0 12 июня, 2016 Опубликовано 12 июня, 2016 · Жалоба В каком месте нужен модуль? после свертки Вашего Входа с комплексной экспонентой Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Onkel 1 12 июня, 2016 Опубликовано 12 июня, 2016 · Жалоба Господа, я пытаюсь сделать обнаружитель гармонического сигнала в его смеси с шумом. По-моему это - классическая постановка, и все давно это уже умеют. А вот у меня не получается :(. Беру входную смесь с шумом (массив чисел) и умножаю её на синус и на косинус той же частоты, что и сигнал (тоже массивы чисел). Полученные два массива почленно возвожу в квадрат, суммирую и беру корень из суммы. Спасибо. синус квадрат плюс косинус квадрат будет 1, если я правильно понял вас, то и суммы почленные будут 1*входной сигнал. Я для проверки самописанных всяких функци использую фурье- анализ экзела, там есть такое, кстати операции все комплексные. Если у вас не просто таблица, а рельный эксперимент - не проще применить синхродетектирование? (Вход*Синус)^2 + (Вход*Косинус)^2 = Сумма сумма будет просто вход ^2 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey_N 0 13 июня, 2016 Опубликовано 13 июня, 2016 · Жалоба сумма будет просто вход ^2 Да, согласен, в суете накосячил, нужно сначала интегрировать. Исправил, - всё заработало. СПАСИБО! :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться