Документація про фільтри загалом


11

Я вже розмістив це питання в StackOverflow. Я отримав пропозицію піти на кращу відповідь тут.

Щоб зробити питання більш стислим, мене цікавить вступ до цифрових фільтрів, будь-який ресурс хороший.

Але спершу я буду задоволений, якщо хтось міг би вказати мені на деякі ресурси, що пояснюють цей фільтр (використовується в Android):

http://gitorious.org/rowboat/frameworks-base/blobs/671a6ff4be11b3e2d8eb017e0c7a78e6133fb2b8/services/sensorservice/SecondOrderLowPassFilter.cpp

Мене цікавить спосіб вибору параметрів фільтра. Хоча я можу це скопіювати, не замислюючись, я думаю, що я повинен зрозуміти основну концепцію / ідею, що стоїть перед її використанням.

Дякую,

Юліан

Відповіді:


11

Можна отримати вираз для коефіцієнтів, виконавши білінеарне перетворення наступного аналогового фільтра прототипу низьких частот

H(s)=w02s2+(w0/Q)s+w02

де - частота відсічення.w0

Ви можете шукати білінеарне перетворення у Вікіпедії .

Фільтр, який використовується в додатку Android, є фільтром Баттерворта, оскільки вибране значення Q дорівнює . Зауважимо, що в конструкторі обчислюється інверсія Q і присвоюється змінній iQ, яка використовується при обчисленні коефіцієнтів. Зауважимо також, що змінна K утримує значення "частоти викривлення" зазначеної частоти відсічення. Ви можете знайти більше інформації про явище частотного викривлення за вищенаведеним посиланням.1/2

Ви можете знайти багато прикладів дизайну цифрових фільтрів за допомогою білінеарного перетворення. Я знайшов цей , який досить близький до прикладу Android.


Дякую. Я починаю згадувати математику, яку я займався в коледжі; на жаль, нікого не було, щоб показати мені також гарний практичний приклад, або я переймався чимось іншим ...
Iulian Şerbănoiu

5

По-справжньому гарне та ґрунтовне введення у цифрові фільтри - https://ccrma.stanford.edu/~jos/filters/filters.html . Ваш особливий приклад - дуже простий фільтр низького проходу другого чи четвертого порядку. Якщо ви використовуєте об'єкт "Біквад", ви отримаєте фільтр Баттерворта другого порядку. Якщо ви використовуєте об'єкт "CascadedBiquad", ви отримаєте те, що називається фільтром Linkwitz Riley четвертого порядку (але НЕ Баттерворта 4-го порядку). Реалізація досить специфічна. Трохи більше роботи ви можете зробити щось набагато більш загальне і корисне для всіх програм.


Так, я дуже хочу зрозуміти теорію фільтрів, щоб я міг контролювати фільтри, які використовую. Фільтр, згаданий у запитанні, дав мені зрозуміти, що не тільки я повинен розуміти, як він працює, але я також повинен мати можливість розробляти власні фільтри, залежно від вхідних даних. Гарне посилання, дякую!
Iulian berbănoiu

5

Першим моїм посиланням, який я виявив дуже корисно, було Посібник вченого та інженера з обробки цифрових сигналів . Я думаю, що це сильний костюм у тому, що він спрямований на ознайомлення читача з поняттями та термінологією DSP, не надто глибоко заглиблюючись у математику. Цей кейс відповідав моєму стилю навчання та передумові як програмного інженера з легким акцентом на EE. У ці дні я завжди підходжу до нових тем таким чином, намагаючись спочатку зрозуміти поняття високого рівня, а потім заглиблююсь у деталі з іншими джерелами інформації, які є більш детальними / математичними.


Це я почав перечитувати, оскільки це було єдине, що я знаю, що містить посилання на таку тему. Дякую!
Iulian berbănoiu
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.