|
Особенности алгоритма Герцеля, соотношение величнины выборки и частоты дискретизации |
|
|
|
Apr 24 2008, 05:32
|
Группа: Участник
Сообщений: 12
Регистрация: 30-10-07
Пользователь №: 31 878

|
Добрый день! Есть задача - определение в сигнале составлющей 22 Гц. АЦП достаточно мощный. Мне требуется в секунду делать порядка 10 проверок того, что сигнал 22Гц есть. Как оптимизировать частоту дискретизации и величину выборки на обработку для данной задачи?(при величине выборки 50 на высоких частотах дискретизации у меня получается полная фигня) В инете копал, но не нашёл прямого ответа на этот вопрос. Книга Блейхута же так написана, что мне, несмотря на физическое образование, не хватает математической подготовки, чтобы её расшифровать.
|
|
|
|
|
 |
Ответов
|
Apr 24 2008, 06:00
|

Эксперт
    
Группа: Свой
Сообщений: 1 467
Регистрация: 25-06-04
Пользователь №: 183

|
Цитата(YDM86 @ Apr 24 2008, 09:32)  Добрый день! Есть задача - определение в сигнале составлющей 22 Гц. АЦП достаточно мощный. Мне требуется в секунду делать порядка 10 проверок того, что сигнал 22Гц есть. Как оптимизировать частоту дискретизации и величину выборки на обработку для данной задачи?(при величине выборки 50 на высоких частотах дискретизации у меня получается полная фигня) В инете копал, но не нашёл прямого ответа на этот вопрос. Книга Блейхута же так написана, что мне, несмотря на физическое образование, не хватает математической подготовки, чтобы её расшифровать. Дело не в Герцеле. А в принципе. Герцель - это просто способ вычислять отсчёт ДПФ с помощью простейшего фильтра. Существует принцип непределённости - dF*dT ~ 1. Неопределённость частоты, время измерения... Поэтому, если измерять в течентии секунды - то все частоты находящиеся примерно в окрестности +-1гц от 22 гц будут схвачены. Или другими словами, если частота дискретизации АЦП 8кгц, частота Найквиста 4 кгц то необходимо использовать 4кгц/1гц=4000 точек, чтобы иметь непределённость частоты 1 гц. Где здесь 50 точек? 50 точек дают полосу измерения (неопределённость) 4000/50 = 80 гц. 80 гц много больше 22 гц и прихватывают много мусора, в том числе и огромный дрейф обычно присущий в АЦП на постоянной составляющей Цитата(eugen_pcad_ru @ Apr 24 2008, 09:56)  Алгоритм Герцеля есть по своей сути частный случай БПФ. Только ДПФ. БПФ из другой, быстрой, оперы ))
|
|
|
|
|
Apr 24 2008, 06:21
|
Группа: Участник
Сообщений: 12
Регистрация: 30-10-07
Пользователь №: 31 878

|
Так всё же - мне отправляться от величины выборки для Герцеля и подбирать под неё частоту дискретизации или наоборот? Требуется просто обнаружить 22 Гц и всё. Я пробовал 50 точек в выборке с частотой дискретизации 200 Гц(именно по алгоритму Герцеля). При этом был хороший результат - при сигнале 22,5 Гц мощность(22Гц-овой компоненты), рассчитанная по Герцелю была меньше на порядок, чем если подать именно 22Гц. При 500Гц дискр-ии уже хуже - что 22Гц подавай, что 23, а результат вычисления 22 герцовой компоненты почти один и тот же. Предложите, пожауйста рецепт - я раньше не работал ни сБПФ, ни с ДПФ, так что в предыдущий постах понял не всё, простите меня,теоретика.
|
|
|
|
|
Apr 24 2008, 06:42
|

山伏
    
Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294

|
Цитата(eugen_pcad_ru @ Apr 24 2008, 08:56)  Алгоритм Герцеля есть по своей сути частный случай БПФ. Если мусор показывает БПФ, то и алгоритм Герцеля тже ничего не даст (он дает только выигрыш во времени). ИМХО для оценки точности определения частоты можно воспользоваться требованиями к разрешающей способности спектра мощности (с учетом применяесого окна). Mожно наверное попробовать промоделировать? Это ни в коей мере не БПФ и даже не ДПФ !!! Это скорее FIFO фильтр с неким подобием коррелятора. Основное отличие Герцеля - он может быть настроен на любую частоту включая дробную частоте дискретизации! Цитата(YDM86 @ Apr 24 2008, 09:21)  Так всё же - мне отправляться от величины выборки для Герцеля и подбирать под неё частоту дискретизации или наоборот? Требуется просто обнаружить 22 Гц и всё. Я пробовал 50 точек в выборке с частотой дискретизации 200 Гц(именно по алгоритму Герцеля). При этом был хороший результат - при сигнале 22,5 Гц мощность(22Гц-овой компоненты), рассчитанная по Герцелю была меньше на порядок, чем если подать именно 22Гц. При 500Гц дискр-ии уже хуже - что 22Гц подавай, что 23, а результат вычисления 22 герцовой компоненты почти один и тот же. Предложите, пожауйста рецепт - я раньше не работал ни сБПФ, ни с ДПФ, так что в предыдущий постах понял не всё, простите меня,теоретика. Немного странно что у Вас с повышением частоты дискретизации качество фильтрации падает...хм... а Вы при этом сам фильтр Герцеля, надеюсь, меняете? Еще вопрос - Вы это делаете на какой-то физической установке или в опиумном MatLabе?
--------------------
Нас помнят пока мы мешаем другим... //-------------------------------------------------------- Хороший блатной - мертвый... //-------------------------------------------------------- Нет старик, это те дроиды которых я ищу...
|
|
|
|
Guest_TSerg_*
|
Apr 24 2008, 08:10
|
Guests

|
Цитата(DRUID3 @ Apr 24 2008, 10:42)  Это ни в коей мере не БПФ и даже не ДПФ !!! И все же это разновидность ДПФ. Цитата(YDM86 @ Apr 24 2008, 10:21)  Я пробовал 50 точек в выборке с частотой дискретизации 200 Гц Как видим, даже при частоте дискретизации 70 Гц, но при времени наблюдения 1 с мы получаем вполне различимый пик на 22 Гц
А при частоте 200 Гц ситуация намного лучше.
Если же время наблюдения 500 мс, то разрешение по частоте ухудшается и в полном соответствии с вышесказанным группой товарищей.
|
|
|
|
|
Apr 24 2008, 10:18
|

山伏
    
Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294

|
Цитата(fontp @ Apr 24 2008, 10:22)  Это в точности ДПФ. Угу...Только FIFO и на основе резонатора с БИХ. Еще он легко, при желании, переделывается на спектр мощностей. Уж лучше его классифицировать как фильтр Цитата(fontp @ Apr 24 2008, 10:22)  Хоть и к БПФ отношения не имеет. ДПФ тоже может быть "настроен" на дробные. ДПФ = Сумма (s(j)*exp(iwj)) По определению ДПФ не может быть настроен на дробные по отношению к частоте дискретизации, а "механически", как накапливающий оконный фильтр - конечно может... Цитата(fontp @ Apr 24 2008, 10:22)  Толку от того, что Вы можете взять произвольные частоты - почти никакого. Это как с нейросетями - для одного никакого, а другой на эффекте прибор разработал. Цитата(fontp @ Apr 24 2008, 10:22)  Герцель всего лишь удобный рекурсивный способ вычисления ДПФ ... В свете царящей на данный момент языково-смысловой парадигмы в программировании лучше это слово не применять... Цитата(TSerg @ Apr 24 2008, 11:10)  И все же это разновидность ДПФ. Все-таки это даже близко не она. Ни как алгоритм ни как физический принцип(формула)... Цитата(TSerg @ Apr 24 2008, 11:10)  Как видим, даже при частоте дискретизации 70 Гц, но при времени наблюдения 1 с мы получаем вполне различимый пик на 22 Гц
А при частоте 200 Гц ситуация намного лучше.
Если же время наблюдения 500 мс, то разрешение по частоте ухудшается и в полном соответствии с вышесказанным группой товарищей. Цитата(YDM86 @ Apr 24 2008, 09:21)  ... При 500Гц дискр-ии уже хуже... При повышении частоты ситуация улучшается, где упоминание о 500 ms? Цитата(YDM86 @ Apr 24 2008, 11:53)  Т.е. если я хочу проверять наличие 22Гц составляющей 10 раз в секунду, то время измерения будет 0,1с а ситуация по частоте будет плохая - df=10Гц. Обидно, а вообще есть обходные пути(Если не строить цифровой фильтр), чтобы измерять 10 раз в секунду, а диапазон частот 22+/-0,5 Гц? Да с чего же это??? Измеряйте на порядки чаще, кто мешает?...
--------------------
Нас помнят пока мы мешаем другим... //-------------------------------------------------------- Хороший блатной - мертвый... //-------------------------------------------------------- Нет старик, это те дроиды которых я ищу...
|
|
|
|
Guest_TSerg_*
|
Apr 24 2008, 11:50
|
Guests

|
Цитата(DRUID3 @ Apr 24 2008, 14:18)  Все-таки это даже близко не она. Ни как алгоритм ни как физический принцип(формула)...
При повышении частоты ситуация улучшается, где упоминание о 500 ms? Хотя бы: http://matlab.exponenta.ru/signalprocess/b...12/goertzel.phpЭто алгоритм вычисления одной sum(x(n)*exp(-j2pi*n*k)) при фиксированном k Пример с 500 мс временем наблюдения приведен для наглядной демонстрации ухудшения разрешения. "Не стоит искать воду в песке" (С) Цитата(GetSmart @ Apr 24 2008, 15:35)  Если автору нужно регистрировать появление частоты 22 Гц выше какого-то уровня за 0.1 сек, то очень интересно что он вообще имел ввиду. Он не говорил об уровне ничего. Цитата С нуля именно такая частота за 0.1 сек точно не возникнет. Это почему это ? Она что, раскачиваться будет при рождении ? Или задумается рождаться ей или нет ? Она может начаться с любого уровня в зависимости от способа генерации и фазирования.
|
|
|
|
|
Apr 24 2008, 19:02
|

山伏
    
Группа: Свой
Сообщений: 1 827
Регистрация: 3-08-06
Из: Kyyiv
Пользователь №: 19 294

|
Цитата(Stanislav @ Apr 24 2008, 13:31)  Вам тоже сильно рекомендую. Почитайте у Романюка. Глава называется что-то типа "Связь полосовой фильтрации с ДПФ". Спасибо, но я ясно представляю себе картину... Цитата(TSerg @ Apr 24 2008, 14:50)  Хотя бы: http://matlab.exponenta.ru/signalprocess/b...12/goertzel.phpЭто алгоритм вычисления одной sum(x(n)*exp(-j2pi*n*k)) при фиксированном k Пример с 500 мс временем наблюдения приведен для наглядной демонстрации ухудшения разрешения. "Не стоит искать воду в песке" (С) Не осилил - к чему это? Также как с 500 мс...разговор был, ранее, совсем не о них...
--------------------
Нас помнят пока мы мешаем другим... //-------------------------------------------------------- Хороший блатной - мертвый... //-------------------------------------------------------- Нет старик, это те дроиды которых я ищу...
|
|
|
|
|
Apr 24 2008, 19:18
|

Гуру
     
Группа: Свой
Сообщений: 4 363
Регистрация: 13-05-05
Из: Москва
Пользователь №: 4 987

|
Цитата(DRUID3 @ Apr 24 2008, 23:02)  Спасибо, но я ясно представляю себе картину... Написанное Вами в теме говорит, скорее, об обратном. Цитата(DRUID3 @ Apr 24 2008, 23:02)  Не осилил - к чему это? Также как с 500 мс...разговор был, ранее, совсем не о них... Как это к чему?  Это ответ на вопрос, как вычислить ДПФ при помощи алгоритма Герцеля. Легко показать, что и обратное верно: вычислить выход "фильтра Герцеля" можно с помощью ДПФ даже для частот, "дробных по отношению к частоте дискретизации". Если интересно, могу показать, как именно. Тем, кто не может осилить, не нужно и пытаться отвергать очевидное. ЗЫ. Собственно, сначала нужно определиться: а что же есть алгоритм Герцеля? Я всю сознательную жизнь считал, что это есть лишь способ эффективного вычисления конкретных термов ДПФ. Впрочем, если найдёте другое определение, я не буду против.
Сообщение отредактировал Stanislav - Apr 24 2008, 19:47
--------------------
Самонадеянность слепа. Сомнения - спутник разума. (с)
|
|
|
|
Сообщений в этой теме
YDM86 Особенности алгоритма Герцеля Apr 24 2008, 05:32 eugen_pcad_ru Цитата(YDM86 @ Apr 24 2008, 08:32) Как оп... Apr 24 2008, 05:56   fontp Цитата(DRUID3 @ Apr 24 2008, 10:42) Это н... Apr 24 2008, 07:22        DRUID3 Цитата(Stanislav @ Apr 24 2008, 22:18) На... Apr 24 2008, 19:53         TSerg Цитата(DRUID3 @ Apr 24 2008, 23:53) А тут... Apr 25 2008, 06:11 YDM86 ЦитатаНемного странно что у Вас с повышением часто... Apr 24 2008, 08:53 fontp Цитата(YDM86 @ Apr 24 2008, 12:53) Т.е. е... Apr 24 2008, 09:08  Stanislav Цитата(fontp @ Apr 24 2008, 13:08) Принци... Apr 24 2008, 10:23 Stanislav Цитата(YDM86 @ Apr 24 2008, 12:53) Т.е. е... Apr 24 2008, 10:04 GetSmart Цитата(Stanislav)Совершенно неверное утверждение. ... Apr 24 2008, 10:16 fontp Цитата(GetSmart @ Apr 24 2008, 14:16) Ген... Apr 24 2008, 10:23  Stanislav Цитата(fontp @ Apr 24 2008, 14:23) Если н... Apr 24 2008, 10:42   fontp Цитата(Stanislav @ Apr 24 2008, 14:42) Ин... Apr 24 2008, 10:49    Stanislav Цитата(fontp @ Apr 24 2008, 14:49) По бло... Apr 24 2008, 10:54   GetSmart Цитата(Stanislav @ Apr 24 2008, 16:42) Во... Apr 24 2008, 10:55    fontp Цитата(GetSmart @ Apr 24 2008, 14:55) Как... Apr 24 2008, 11:27     Stanislav Цитата(DRUID3 @ Apr 24 2008, 23:53) спас... Apr 24 2008, 20:23      fontp Цитата(Stanislav @ Apr 25 2008, 00:23) ОК... Apr 25 2008, 07:28       Stanislav Цитата(fontp @ Apr 25 2008, 11:28) Класси... Apr 25 2008, 12:27        fontp Цитата(Stanislav @ Apr 25 2008, 16:27) Из... Apr 25 2008, 12:35         Stanislav Цитата(fontp @ Apr 25 2008, 16:35) У Марп... Apr 25 2008, 12:43          eugen_pcad_ru Отступление от темы: виноват, алгоритм Герцеля прн... Apr 25 2008, 13:16 Stanislav Цитата(GetSmart @ Apr 24 2008, 14:16) Ген... Apr 24 2008, 10:31 GetSmart Цитата(fontp)Он сказал примерно то же самое, тольк... Apr 24 2008, 10:33 GetSmart Если автору нужно регистрировать появление частоты... Apr 24 2008, 11:35 GetSmart Цитата(TSerg)Он не говорил об уровне ничего.
...
О... Apr 24 2008, 12:01 fontp Цитата(GetSmart @ Apr 24 2008, 16:01) Авт... Apr 24 2008, 12:04 TSerg Цитата(GetSmart @ Apr 24 2008, 16:01) Авт... Apr 24 2008, 12:25 GetSmart Цитата(fontp)Энергию отклика фильтра в полосе прим... Apr 24 2008, 12:11 fontp Цитата(GetSmart @ Apr 24 2008, 16:11) Ну ... Apr 24 2008, 12:13 GetSmart Цитата(TSerg)И ни слова о какой-либо динамике ее и... Apr 24 2008, 12:32 fontp Цитата(GetSmart @ Apr 24 2008, 16:32) Тяж... Apr 24 2008, 12:38 TSerg Цитата(GetSmart @ Apr 24 2008, 16:32) Тяж... Apr 24 2008, 13:00 GetSmart Цитата(fontp)А ширина полосы пофиг, сигнал достато... Apr 24 2008, 13:07 fontp Цитата(GetSmart @ Apr 24 2008, 17:07) При... Apr 24 2008, 13:20 GetSmart Цитата(fontp)Стабильный, значит - идеальный цуг си... Apr 24 2008, 13:29 fontp Цитата(GetSmart @ Apr 24 2008, 17:29) Это... Apr 24 2008, 13:49 GetSmart Цитата(fontp)Вы просто очень упёртый. Вы не нашли ... Apr 24 2008, 15:02 GetSmart Цитата(YDM86)Добрый день! Есть задача - опреде... Apr 24 2008, 16:56 Doka граждане, к порядку!
модер... Apr 24 2008, 18:00 Stanislav Цитата(Doka @ Apr 24 2008, 22:00) граждан... Apr 24 2008, 18:16 GetSmart Цитата(Stanislav)Готов показать, что GetSmart не н... Apr 24 2008, 18:36 GetSmart Цитата(Stanislav)Кроме того, если о полезном сигна... Apr 24 2008, 20:39 YDM86 Не было меня несколько дней - к сожалению. Отвечаю... Apr 29 2008, 03:47 Stanislav Цитата(YDM86 @ Apr 29 2008, 07:47) Есть н... Apr 29 2008, 05:07 TSerg Цитата(YDM86 @ Apr 29 2008, 07:47) Объект... Apr 29 2008, 11:15 ZiB А есть параметры передатчика ?
Было бы проще предл... May 7 2008, 04:40
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|