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

Особенности алгоритма Герцеля

Гость TSerg
А тут мы с камрадом спорим совФФсем о другом. TSerg заменил герцы на милисекунды и построил на этом опровержение моего удивления понижением результатов работы фильтра Герцеля с увеличением частоты дискретизации :laughing: ...

 

Начнем с того, что в моем посте №7 к Вам относилась только корректировка Ваших умозаключений

по поводу классификации метода Goertzel.

 

Остальные примеры были явно адресованы автору сабжа с целью наглядного пояснения

результатов работы алгоритма при различных частотах дискретизации и времени наблюдения.

Третий пример с Fs=200 Гц и временем наблюдения 500 мс, в отличии от второго с Fs=200 Гц и временем наблюдения 1000 мс ясно показывает ухудшение разрешения по частоте (хорошо видны два одинаковых пика на частотах 21 и 22 Гц)

 

Если Вы решили, что вторая часть поста относится именно к Вам, то Вам померещилось и можно

перекреститься:)

 

Для автора сабжа:

 

Для коротких отрезков анализируемого сигнала могут подойти методы спектрального анализа, основанные на линейном моделировании - модель АРСС ( ARIMA).

Определение параметров модели может вестись на основе автокорелляционной функции процесса

или на только на основе выборок.

Для однократного нахождения параметров АР-модели по коротким последовательностям используются

те или иные варианты метода линейного предсказания (автокорреляционный, метод Берга, etc)

Порядок АР-модели оценивается как N/3 <= Q <= N/2.

 

Разумеется, на соотношения сигнала, шума и помех накладываются определенные ограничения.

 

Сложность этих методов достаточна высока для простейших контроллеров.

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


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

ОК. :)

 

Простите, не совсем понял, что Вы имели в виду? Какой конкретно способ предлагаете?

 

Классический. Так чтобы длительность сигнала была равна 1/df. Про +-1 гц это я выдумал для конкретности, а автор просто поддержал разговор. В начале темы у автора не было никакой вообще определённости с длительностью измерения, и ничего не получалось, наверное потому что при высокой частоте дискретизации длительность становилась такой малой, что полоса пропускания фильтра накрывала и 0 гц и 50 гц.

 

Реально может его +-5 устроит. Кроме мгновенной постоянной составляющей (дрейф нуля АЦП) помех судя по всему больше нет (может ещё 50 гц, которая тоже есть всегда, в воздухе). Цуг синусоиды длиной 0.1 с имеет частотную полосу 10гц, вот её и будем фильтровать.

 

Тем же Герцелем, или ДПФ, или полосовым фильтром (зачем нам Герцель вообще , если частота всего одна? зато можно добиться лучшего подавления дрейфа нуля АЦП). Хороший полосовой фильтр высокого порядка с полосой 10 гц вблизи 22 гц должен работать в таких условиях.

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


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

Классический.
Извините, но я в понятии классических методов не копенгаген. Не могли бы конкретизировать?

 

Так чтобы длительность сигнала была равна 1/df. Про +-1 гц это я выдумал для конкретности, а автор просто поддержал разговор. В начале темы у автора не было никакой вообще определённости с длительностью измерения, и ничего не получалось, наверное потому что при высокой частоте дискретизации длительность становилась такой малой, что полоса пропускания фильтра накрывала и 0 гц и 50 гц.
Насколько я понял автора темы, ему нужно лишь 10 раз в секунду выносить решение о наличии/отсутствии (квази)гармонического сигнала с частотой 22Гц+/- 0,5 Гц. Или я ошибаюсь?

 

...Реально может его +-5 устроит. Кроме мгновенной постоянной составляющей (дрейф нуля АЦП) помех судя по всему больше нет (может ещё 50 гц, которая тоже есть всегда, в воздухе). Цуг синусоиды длиной 0.1 с имеет частотную полосу 10гц, вот её и будем фильтровать.

 

Тем же Герцелем, или ДПФ, или полосовым фильтром (зачем нам Герцель вообще , если частота всего одна? зато можно добиться лучшего подавления дрейфа нуля АЦП). Хороший полосовой фильтр высокого порядка с полосой 10 гц вблизи 22 гц должен работать в таких условиях.

Я думаю, что подход с герцелем или ПФ может быть применим только при определённых условиях. Пока автор темы их не выставил, от каких-либо оценок применимости того или иного метода и собственных предложений воздержусь.
Изменено пользователем Stanislav

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


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

Извините, но я в понятии классических методов не копенгаген. Не могли бы конкретизировать?

У Марпла в книге по спектральному анализу классическими считаются все методы на основе ДПФ или линейной фильтрации. Все остальные от AR-моделирования до Писаренко и MUSIC считаются модернизмом и специальными.

 

Насколько я понял автора темы, ему нужно лишь 10 раз в секунду выносить решение о наличии/отсутствии сигнала с частотой 22Гц+/- 0,5 Гц. Или я ошибаюсь?

 

Вообще-то про 0.5 гц он вначале ничего не говорил. Ему нужно было просто 10 раз в секунду выносить решение о наличии сигнала. Про стабильность частоты - это я спросил

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


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

У Марпла в книге по спектральному анализу классическими считаются все методы на основе ДПФ или линейной фильтрации. Все остальные от AR-моделирования до Писаренко и MUSIC считаются модернизмом и специальными.
Понятно. Но это ещё не алгоритм, а часть алгоритма. Самое главное: по какому критерию будем выносить решение? Тут много вариантов, и применимость из зависит опять-таки от условий (например, что хуже: недоб.деть или переб.деть?).

 

Вообще-то про 0.5 гц он вначале ничего не говорил. Ему нужно было просто 10 раз в секунду выносить решение о наличии сигнала. Про стабильность частоты - это я спросил
А какая разница?

Главное, что эти сведения удалось-таки из автора темы вытянуть. Теперь дело за малым: описать остальные условия и выложить парочку реализаций процесса. :)

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


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

Отступление от темы: виноват, алгоритм Герцеля прнадлежит к так называемым полубыстрым преобразованиям.

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

Выделение отдельной спектральной составляющей алгоритмом Герцеля или узкополосным фильтром - это одно и то же (Об чем спор?;) Лучше помогите человеку:))

Про разрешающую способность я спрашивал ранее у автора темы...

Пример определения требуемой частоты с использованием FFT приведен на рисунке (использован wav-сигнал). Fs = 48 кГц, 14 - битный сигнал, размер БПФ - 32768.

P.S.: На практике, как вы понимаете, проще использовать БПФ, поэтому его и советовал использовать:) Хотя Герцелем можно подобрать число отсчетов произвольное (как и в ДПФ).

P.P.S.: случайно два раза картинку продублировал...

post-32353-1209129332_thumb.jpg

post-32353-1209129382_thumb.jpg

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


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

Не было меня несколько дней - к сожалению. Отвечаю на возникшие вопросы:

Насколько я понял автора темы, ему нужно лишь 10 раз в секунду выносить решение о наличии/отсутствии (квази)гармонического сигнала с частотой 22Гц+/- 0,5 Гц. Или я ошибаюсь?

Не ошибаетесь. Есть некий объект, на котором установлен трансмиттер - мощный передатчик фирмы пипетроникс, генерирующий 22 Гц(прерывисто, 1/3 секунды генерация есть, 2/3 - "молчит"). Объект движется в пространстве, а спомощью приёмника, который я пытаюсь сделать, его надо обнаружить, когда он подъедет(а он обязательно это сделает) к контрольному пункту - там приёмник и стоит. По специфике места есть наводки сетевые, от всякой техники и т.д. На 50+/-0,5 Гц после антенны стоит режекторный активный фильтр, также сделаны фильтры, убирающие более высокие частоты.

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

и его вычитанием(до Герцеля). Здесь проблем не встретил. Почему хочу ускорить - потому что генерация прерывистая, т.е. есть риск, что передатчик испустит пачку 22Гц импульсов далеко, приёмник не стработает, а устройство с передатчиком проедет и следующая пачка будет опять-таки далеко от места регистрации испущена и незамечена.

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

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


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

Есть некий объект, на котором установлен трансмиттер - мощный передатчик фирмы пипетроникс, генерирующий 22 Гц(прерывисто, 1/3 секунды генерация есть, 2/3 - "молчит"). Объект движется в пространстве, а спомощью приёмника, который я пытаюсь сделать, его надо обнаружить, когда он подъедет(а он обязательно это сделает) к контрольному пункту - там приёмник и стоит. По специфике места есть наводки сетевые, от всякой техники и т.д. На 50+/-0,5 Гц после антенны стоит режекторный активный фильтр, также сделаны фильтры, убирающие более высокие частоты.
Если параметры излучаемого сигнала и шума/помех полностью известны, сделайте для него оптимальный приёмник.

 

Почему хочу ускорить - потому что генерация прерывистая, т.е. есть риск, что передатчик испустит пачку 22Гц импульсов далеко, приёмник не стработает, а устройство с передатчиком проедет и следующая пачка будет опять-таки далеко от места регистрации испущена и незамечена.
Если огибающая сигнала не постоянна (нестационарна), можно воспользоваться квазиоптимальными методами приёма, с моделированием этой огибающей на основе динамики процесса сближения-удаления приёмника и передатчика. В простейшем случае, это лишь 3 варианта: нарастание, постоянный уровень и убывание амплитуды сигнала.

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

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

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


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

Гость TSerg
Объект движется в пространстве, а спомощью приёмника, который я пытаюсь сделать, его надо обнаружить, когда он подъедет(а он обязательно это сделает) к контрольному пункту - там приёмник и стоит.

..

Почему хочу ускорить - потому что генерация прерывистая, т.е. есть риск, что передатчик испустит пачку 22Гц импульсов далеко, приёмник не стработает, а устройство с передатчиком проедет и следующая пачка будет опять-таки далеко от места регистрации испущена и незамечена.

 

Без модели движения и ориентации антенн (a) не обойтись:)

И как минимум будет зависимость сигнала от 1/R * Cos(a)

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


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

А есть параметры передатчика ?

Было бы проще предложить вам варианты...

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


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

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

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

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

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

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

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

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

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

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