Здравствуйте, vdimas, Вы писали:
Ш>>Не понял этой фразы. Причем здесь свертка?
V>Математически то, как ты ищешь проекции — это оно и есть. Свертка с некоей образцовой частотой.
У нас похоже терминологические непонятки. Я вычисляю скалярное произведение, свертка сигналов -- это нечто иное.
V>>>К тому же, буфер каждый раз пересчитывается по кругу.
Ш>>Не понял, что ты имеешь ввиду?
V>Ну, у тебя вроде "окно" движется (буфер), и ты каждый раз производишь вычисления над всем буфером. В моем варианте я произвожу вычисления только над текущим сэмплом.
Нет, посмотри внимательно приведённый код. При поступлении очередного отсчета пересчитываются скалярные произведения, при этом нет нужды пересчитывать весь буфер -- мы учитываем только пришедший отсчет и ушедший. В сумме получается несколько операций умножения и сложения.
V>>>В общем, предлагаю вместо этого использовать "бесконечный" сумматор, выполненный в виде фильтра НЧ с частотой среза, обратной скорости реакции. Сама характеристика фильтра НЧ уже является некоей оконной ф-ией, где последние отсчеты будут больше влиять на результат, чем дальние. А в твоем варианте с кольцевым буфером "давние" отсчеты так же влияют на результат, как и самые последние. (Хотя, надо погонять оба варианта... Подход у них абсолютно одинаковый...)
Ш>>Ну так мы обсчитываем кусок сигнала -- с чего это старые отсчеты должны отличаться от новых?
V>Тут речь о помехоустойчивости. Кратковременные мощные помехи на частотах близких к обнаруживаемым искажают "картинку" все время, пока они находятся в твоем окне (отсчеты помехи находятся в буфере), и даже возможны ложные срабатывания. Это действительно так — поэкспериментируй. В моем варианте ситуация сглаживается фильтром НЧ, и подобные по характеру помехи не приводят к срабатыванию детектора.
Опять я чего-то не понял. Если у тебя идет такая помеха, что она задавила сигнал и сама из себя представляет DTMF тон, то сделать тут ты ничего не сможешь. Детектор должен на это дело реагировать. Но это случай исключительный. Обычно, мы находимя в ситуации, когда мощность помех значительно (хотя бы в несколько раз) меньше мощности полезного сигнала.