![]() 148 / 129 / 18
Регистрация: 29.04.2015
Сообщений: 626
|
||||||
1 | ||||||
Реализация полосового фильтра Баттерворта 3 порядка04.05.2015, 13:40. Показов 6872. Ответов 12
Метки нет Все метки)
(
Использование z-преобразования Ннч(S)--> Hпф(z) с получением соответствующей матрицы, позволяет значительно упростить алгоритм вычисления коэффициентов полосового фильтра.
Для примера привожу программу вычисления коэффициентов полосового фильтра Баттерворта 3 порядка:
0
|
04.05.2015, 13:40 | |
04.05.2015, 13:40 | |
Ответы с готовыми решениями:
12
Расчет порядка нормированного прототипа ФНЧ при расчете полосового фильтра Алгоритм полосового фильтра Блэкмана 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
|
Айлурофил
![]() |
|
17.12.2022, 12:40 | 13 |
Уважаемый A_Santik, попробовал реализовать в Excel ПФ 3 порядка, реализованный вами в этой статье, может, я не понимаю, как работают фильтры, но результат получился не тот, на который я рассчитывал.
На входе фильтра синусоидальный сигнал определенной частоты. На выходе после фильтрации я ожидал такой же синусоидальный сигнал, но действительность оказалась другой. Почему?
0
|
17.12.2022, 12:40 | |
17.12.2022, 12:40 | |
Помогаю со студенческими работами здесь
13
Реализация преобразования Гильберта с использованием КИХ-фильтра первого порядка Реализация ФНЧ Баттерворта Расчет полосового фильтра на базе ОУ Рабочая схема полосового фильтра Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
![]() |
Опции темы | |
|
Новые блоги и статьи
![]() |
||||
Пользуясь нейросетью возвращаюсь к вопросу альтернативных приводов поступательного движения.
Hrethgir 14.02.2025
Описание тут https:/ / habr. com/ ru/ articles/ 778118/ .
Вопрос ответ
You
Привет. Скажи, есть-ли вещества, которые могут менять жидкое состояние на желеобразное под воздействием ультразвука?
. . .
|
Ошибка "Another git process seems to be running in this repository"
hw_wired 14.02.2025
При работе с git можно столкнуться с довольно раздражающей ошибкой "Another git process seems to be running in this repository". Эта ситуация возникает, когда система контроля версий пытается. . .
|
Ошибка "java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException"
hw_wired 14.02.2025
Как разработчики Java-приложений, мы сталкиваемся с разными ошибками, но одна из них - java. lang. NoClassDefFoundError: javax/ xml/ bind/ JAXBException - стала особенно актуальной после выхода Java 9. . . .
|
Отличия for-in от for-of в JavaScript
hw_wired 14.02.2025
Когда-то единственным способом перебора элементов массива или свойств объекта был классический цикл for с счетчиком. Да, он отлично справлялся с задачей, но код получался громоздким и не очень. . .
|
Отличия implementation, api и compile в Gradle
hw_wired 14.02.2025
Управление зависимостями - одна из ключевых задач при разработке современных приложений на Java и Kotlin. Система сборки Gradle предоставляет гибкие и мощные средства для работы с зависимостями,. . .
|
Что лучше: require или import/export в JavaScript
hw_wired 14.02.2025
Модульность в JavaScript прошла долгий путь эволюции, и сегодня у разработчиков есть два основных способа организации модулей: старый добрый require из системы CommonJS и современные import/ export из. . .
|
Ошибка "Uncaught SyntaxError: Cannot use import statement outside a module"
hw_wired 14.02.2025
Думаю, многие разработчики сталкивались с ошибкой "Uncaught SyntaxError: Cannot use import statement outside a module" при попытке использовать современный синтаксис импорта в JavaScript. Эта. . .
|
Ошибка Docker "Got permission denied while trying to connect to the Docker daemon socket at"
hw_wired 14.02.2025
Разработка с использованием Docker может иногда преподносить неожиданные сюрпризы, и одним из самых распространенных камней преткновения становится ошибка с отказом в доступе к демону Docker. . . .
|
Ошибка "No 'Access-Control-Allow-Origin' header is present on the requested resource"
hw_wired 14.02.2025
При разработке современных веб-приложений нередко сталкиваешься с ошибкой "No 'Access-Control-Allow-Origin' header is present on the requested resource". Эта проблема возникает из-за политики. . .
|
Как закрыть порт в Linux
hw_wired 14.02.2025
Управление сетевыми портами в Linux - непростая, но важная задача для обеспечения безопасности системы. Каждый открытый порт - это потенциальная уязвимость, через которую злоумышленики могут. . .
|