148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
|
||||||
1 | ||||||
Реализация полосового фильтра Баттерворта 3 порядка04.05.2015, 13:40. Просмотров 4560. Ответов 11
Метки нет Все метки)
(
Использование z-преобразования Ннч(S)--> Hпф(z) с получением соответствующей матрицы, позволяет значительно упростить алгоритм вычисления коэффициентов полосового фильтра.
Для примера привожу программу вычисления коэффициентов полосового фильтра Баттерворта 3 порядка:
0
|
|
04.05.2015, 13:40 | |
Расчет порядка нормированного прототипа ФНЧ при расчете полосового фильтра Алгоритм полосового фильтра Блэкмана fdatool. Расчет полосового фильтра
|
|
04.05.2015, 15:28 | 2 |
...значительное упрощение предполагает избавление от готового фарша в виде вычисления корней квадратных и косинусов. Например, через таблицы или подбором через умножение для целочисленной арифметики.
0
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
|
|
04.05.2015, 16:46 [ТС] | 3 |
Такое мнение может принадлежать человеку, который в своей жизни ни одного коэффициента полосового фильтра не вычислял.
![]() Согласен - проще брать готовые коэффициенты. Но как тогда построить элементарный "следящий" фильтр?
0
|
04.05.2015, 17:14 | 4 |
A_Santik, не делайте далеко идущих выводов и не расписывайтесь за других. Вы пользуетесь математикой Фортрана, это мощный инструмент, спору нет как и в случае с Матлабом. Но для ЦОС актуальна реализация в железе, а это ПЛИС и МК. Нет там никаких Фортранов. Сразу видно в железе никогда не реализовывали ни одного фильтра.
p.s.: и мое имхо, будьте толератнее и воспринимайте критику адекватно.
0
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
|
|
04.05.2015, 17:37 [ТС] | 5 |
Классический алгоритм расчёта коэффициентов ФНЧ Баттерврота описан в Реализация ФНЧ Баттерворта
Но лично я эту программу не стал бы и пытаться в микроконтроллер "запихивать"! Добавлено через 17 минут А где Вы там увидели "мощную математику Фортрана"??? ![]() В приведенной программе практически только алгебраические формулы, которые "без напряга" переведутся на любой язык. Там даже циклов нет!!! На microC Вам программу перевести, чтобы было понятней? ![]() Да, меня удивляет "критика" от человека, который "не совсем в теме" вопроса. Призывы к "толерантности" явно излишни.
0
|
04.05.2015, 18:19 | 6 |
...ну да, ну да, а тангенсы, косинусы и корни квадратные святым духом конечно же вычисляются. Меня удивляет неадекватность топик-стартера, который завяз в математических пакетах и не видит дальше теории.
0
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
|
|
06.05.2015, 22:45 [ТС] | 7 |
Кроме того:
1. Матрица z-преобразования не зависит от типа фильтра! Можно использовать коэффициенты Hфнч(S) фильтров Чебышева 1 и 2 рода, Кауэра, Бесселя и т.п. 2. Режекторный фильтр можно получить элементарными преобразованиями матрицы полосового фильтра (перестановкой столбцов). "...уже есть онлайн-генератор готового Си-кода http://www-users.cs.york.ac.uk... /trad.html " Но: генератор "генерит" рекурентрую формулу фильтра. Т.е. пригоден только для создания одного фильтра. Если понадобится изменить частоту фильтра нужно зайти на сайт , "сгенерить" новый код и "запихнуть" его в микроконтроллер. Предлагается "генерить" коэффициенты прямо в микроконтроллере! И изменять частоту/полосу фильтра можно будет просто "кнопками" микроконтроллера (практически без ограничений). Вот пример полосового фильтра Чебышева 2 рода: Левая картинка - входной сигнал (белый шум)
0
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
|
|
19.05.2015, 15:04 [ТС] | 9 |
0
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
|
|
20.05.2015, 10:20 [ТС] | 11 |
Эксперимент. Вычисление коэффициентов полосового фильтра Баттерворта 3 порядка на ATmega8.
С Фортрана переписал на Си CodeVisionAVR. Особых трудностей не испытал, кроме как многочисленные замены () на [] в массивах. Но это я в "блокноте" заменил ![]() Результаты:При частоте 8 МГц: Инициализация полосы: 2 мс Изменение центральной частоты: 1мс Результаты меня не устраивают, поэтому сейчас бегу в ближайший ларёк за STM32 ![]()
0
|
148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
|
|
04.06.2015, 11:51 [ТС] | 12 |
Статья о простой методике расчёта КИХ фильтров
https://www.cyberforum.ru/post7988076.html
0
|
04.06.2015, 11:51 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Реализация преобразования Гильберта с использованием КИХ-фильтра первого порядка Реализация ФНЧ Баттерворта Рабочая схема полосового фильтра Настройка полосового фильтра Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |