Jump to content

    
Sign in to follow this  
Lost_Viking

Модифицированный алгоритм Герцеля

Recommended Posts

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

Просто я кое в чем запутался. В аргумент косинуса и синуса нужно было подставлять не частоту, а номер спектрального отсчета, соответствующий частоте. И, соответственно, в радианы переводить ничего не надо. Ну, и еще длину буфера сделать не 70, а 90. Тогда 9000гц (Fd)/90= 100. То есть шаг по частоте 100гц.

Share this post


Link to post
Share on other sites
Так, разобрался. Алгоритм полностью рабочий, несмотря на некоторые заявления тут.

Так кладите его сюда. :rolleyes:

Share this post


Link to post
Share on other sites
Так, разобрался. Алгоритм полностью рабочий, несмотря на некоторые заявления тут.

 

Сам Бернард Уидроу наговаривает на полностью рабочий алгоритм:

http://www-isl.stanford.edu/~widrow/papers/j1995onthe.pdf

:D

Share this post


Link to post
Share on other sites
Похоже, что никто помочь не может. Жаль

 

Из статьи на dsplib

http://www.dsplib.ru/content/goertzelmod/goertzelmod.html

видно (формула 9), что предлагаемый фильтр нестабилен (его полюс лежит на единичном круге в комплексной плоскости, см. https://en.wikipedia.org/wiki/Infinite_impulse_response пункт 3 - Stability). Ну чем еще тут можно помочь??? Разве что, как petrov, привести более работоспособный алгоритм.

 

Share this post


Link to post
Share on other sites

Записал видео с своей реализацией https://youtu.be/FhoelOKbjfk?t=964 . Сильно не пинайте за путаницу в терминологии, и за неуверенность в некоторой матчасти. Видео около часа длительностью. Примерно с 16 минуты запускаю алгоритм, и начинаю тестить и показывать что получается. В итоге прихожу в ступор.

 

Буду думать дальше

Share this post


Link to post
Share on other sites
Записал видео с своей реализацией https://youtu.be/FhoelOKbjfk?t=964 . Сильно не пинайте за путаницу в терминологии, и за неуверенность в некоторой матчасти. Видео около часа длительностью. Примерно с 16 минуты запускаю алгоритм, и начинаю тестить и показывать что получается. В итоге прихожу в ступор.

 

Буду думать дальше

 

 

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this