Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Программы построения КИХ фильтров
Форум разработчиков электроники ELECTRONIX.ru > Цифровая обработка сигналов - ЦОС (DSP) > Алгоритмы ЦОС (DSP)
Мусатов Константин
Не подскажете ли готовые, желательно бесплатные, программы, в которых можно было бы ввести АЧХ и ФЧХ требуемого фильтра по точкам, сгладить их, получить коэффициенты для КИХ фильтра, оценить шумы квантования, ограничения по длине по заданной точности, выбрать минимально требуемые ширины коэффициентов, умножителей и накопителей. Хорошо бы это было бы в графической форме. Совсем хорошо с интеграцией с CCS от TI. Возможно, я не до разобрался с плагинами в CCS
soldat_shveyk
Matlab.
Не бесплатный, но подгонять фильтр под требуемые разрядности в matlabe самое оно.
V_G
QEDesign2000. Есть демо-версия с ограничениями по записи и по числу коэффициентов.
АЧХ по точкам не вводят, как и в Матлабе. Вводят частоты среза и задержания, неравномерность в полосе пропускания, затухание в полосе задержания. В Матлабе еще можно менять типы окон и прочие тонкие параметры
litv
Цитата(V_G @ Mar 21 2011, 03:27) *
QEDesign2000. Есть демо-версия с ограничениями по записи и по числу коэффициентов.
АЧХ по точкам не вводят, как и в Матлабе. Вводят частоты среза и задержания, неравномерность в полосе пропускания, затухание в полосе задержания. В Матлабе еще можно менять типы окон и прочие тонкие параметры


ввод по точкам есть в system view.
Alex11
Есть еще FilterSolutions, не бесплатный, много чего считает, КИХ в том числе, ввод не по точкам, а по параметрам.
ToR_TDA
Если АЧХ нужно задавать именно по точкам, то в MATLAB есть функция remez, которая синтезирует нерекурсивный дискретный фильтр (FIR). Почитать про нее можно здесь http://matlab.exponenta.ru/signalprocess/book1/3/remez.php
Мусатов Константин
Цитата
АЧХ по точкам не вводят, как и в Матлабе. Вводят частоты среза и задержания, неравномерность в полосе пропускания, затухание в полосе задержания.

Понимаю. Но у меня другая задача. Нужен не фильтр с предельными параметрами, а коректирующий, с определенными. Причем коррекция делается по тренду, а мелкие неравномерности опускаются. И коррекция нужна с фазой, а не только АЧХ.
Цитата
ввод по точкам есть в system view.
У QEDesign2000? Попробую его посмотреть.
Спасибо за информацию.
Вообще, чувствую, что программную часть проекта в срок не уложусь, не хватает опыта, только микроконтроллерами занимался ARМ и AVR. Можно ли к кому тут обратиться? Нужно два входных потока, три пары фильтров, две пары регулируемых задержек. Это на разных частотах дискретизации. АЧХ третьего фильтра будет зависеть от ЧД. Дайте знать личкой, кто может сделать.

Цитата
Если АЧХ нужно задавать именно по точкам, то в MATLAB есть функция remez,

О, спасибо, интересно. Жаль тут не вводится фаза, мне без нее никак. Может есть отдельный фазокорректирующий фильтр?
ToR_TDA
Цитата(Мусатов Константин @ Mar 21 2011, 12:17) *
Нужен не фильтр с предельными параметрами, а коректирующий, с определенными. Причем коррекция делается по тренду, а мелкие неравномерности опускаются. И коррекция нужна с фазой, а не только АЧХ.

Расскажите поподробнее, что вы собственно корректируете. Это какой-то канал связи, для которого известна АЧХ и ФЧХ?
sup-sup
Я делал в EXCEL. Там все есть, что надо. Расчет ИХ из ЧХ делается с помощью IFFT, а для проверки из ИХ опять делаем ЧХ с помощью прямого FFT. Делаем макроc для IFFT-FFT. Берем размер кратный 2^n. У меня сделаны заготовки на размеры от 8 до 128.
Мусатов Константин
Цитата
Расскажите поподробнее, что вы собственно корректируете. Это какой-то канал связи, для которого известна АЧХ и ФЧХ?

Все достаточно банально. Это активная цифровая АС. Параметры динамиков (АЧХ и ФЧХ) в оформлении снимаются в безэховой камере. После, для них надо подобрать коррекцию, что бы сделать их "идеальными", наложить на это АЧХ полосной стыковки. Добавить басс-коррецию по запаздыванию. После этого стоит шестиканальный полосный цифровой усилитель, в котором будет общая регулировка уровня и регулировка отдачи драйверов по полосам. Получается так, что делать "идеальность" можно с разным уровнем приближения, можно по-разному делать полосную стыковку. Поэтому нужен будет механизм достаточно оперативного изменения параметров фильтров. Управлять этим будет микроконтроллер по I2C. На шине I2C будут висеть DSP, УМ, LCD дисплей. Контроллером, наверно, будет мелкая атмега.
Цитата
Я делал в EXCEL

Спасибо. Вечером посмотрю. Сейчас Экселя под рукой нет.
petrov
Коррекцию подобрать можно адаптивным фильтром, графический эквалайзер с помощью банка фильтов можно сделать.
Мусатов Константин
Цитата
Коррекцию подобрать можно адаптивным фильтром, графический эквалайзер с помощью банка фильтов можно сделать.

Пробовали. Не проходит. Нужен хорошо сопряженный фильтр и по АЧХ и по ФЧХ. А с полосными эквалайзерами нет ФЧХ, либо она определенная, а не такая, какая нужна. К тому же, у них обычно фиксированный порядок. Эти фильтры делают обычно на БИХ ячейках.
Акустические драйвера не являются полностью минимально-фазовыми цепями. Поэтому ФЧХ у них не однозначно связана с АЧХ и корректировать их надо независимо.
petrov
Цитата(Мусатов Константин @ Mar 21 2011, 16:45) *
Пробовали. Не проходит. Нужен хорошо сопряженный фильтр и по АЧХ и по ФЧХ. А с полосными эквалайзерами нет ФЧХ, либо она определенная, а не такая, какая нужна. К тому же, у них обычно фиксированный порядок. Эти фильтры делают обычно на БИХ ячейках.
Акустические драйвера не являются полностью минимально-фазовыми цепями. Поэтому ФЧХ у них не однозначно связана с АЧХ и корректировать их надо независимо.


Если уж у вас DSP в системе стоит можно сделать настройку адаптивного фильтра прямо у пользователя, заодно компенсируя не только ЧХ акустической системы но и акустику помещения.

Банк фильтров можно сделать комплексный на основе КИХ фильтров и рулить фазой тоже.
Мусатов Константин
Не, не, не, нельзя править акустику помещения фильтрами АС sm.gif Акустика помещения работает на отраженном сигнале, т.е. проявляется не на основном прямом сигнале, а на отражениях. Слух отделяет отражения и основной сигнал. Поэтому править надо только АЧХ акустики. Пользователям не надо давать возможность править АЧХ, это нужно только мне при настройке. В дорогом варианте - на производстве, что бы учесть разброс АЧХ динамиков. Пользователю остается только ввод разницы расстояния от НЧ секции до СЧ, что надо учитывать простой задержкой.

Да, и я против банка фильтров. Банк может быть на компьютере, пока он с плавающей точкой. Но надо высчитать один итоговый фильтр и применить только его. Несколько подряд примененных фильтров сильно деградируют музыкальный сигнал.
litv
System View - это пакет проектирования. http://unionpeer.org/viewtopic.php?t=2595

petrov
Цитата(Мусатов Константин @ Mar 21 2011, 17:12) *
Не, не, не, нельзя править акустику помещения фильтрами АС sm.gif Акустика помещения работает на отраженном сигнале, т.е. проявляется не на основном прямом сигнале, а на отражениях. Слух отделяет отражения и основной сигнал. Поэтому править надо только АЧХ акустики. Пользователям не надо давать возможность править АЧХ, это нужно только мне при настройке. В дорогом варианте - на производстве, что бы учесть разброс АЧХ динамиков. Пользователю остается только ввод разницы расстояния от НЧ секции до СЧ, что надо учитывать простой задержкой.

Да, и я против банка фильтров. Банк может быть на компьютере, пока он с плавающей точкой. Но надо высчитать один итоговый фильтр и применить только его. Несколько подряд примененных фильтров сильно деградируют музыкальный сигнал.


Какая разница чем вызвана неравномерность ЧХ от носителя до ушей, адаптивный фильтр может всё это исправить и ЧХ динамиков и ЧХ помещения, в общем то кощунство не делать так при наличии DSP у пользователя.

Неравномерность ЧХ динамиков так же адаптивным фильтром можно компенсировать в вашей лаборатории, автоматически будете получать соответствующий КИХ фильтр.

Все искажения считаются, можно обеспечить любое качество при нынешних то средствах ЦОС.
Мусатов Константин
Цитата
Какая разница чем вызвана неравномерность ЧХ от носителя до ушей

Разница очень серьезная. Суть в том, что слух человека устроен весьма хитро. Он заранее адаптирован к возможности появления отраженных сигналов. Поэтому информацию об источнике звука (а не об его расположении) мозг больше всего извлекает из основного сигнала. Если править излучаемый АС сигнал по параметрам помещения, то мозг будет в непонятках. Вторая проблема с акустикой помещения, что ее АЧХ и ФЧХ очень сильно зависят от расположения источников и слушателя. Сдвигание слушателя на 10 см может кардинально изменять слышимую акустику помещения.
Цитата
в общем то кощунство не делать так при наличии DSP у пользователя

Все бы ничего, но это сделать не удается. Максимум, что удается исполнить (это есть зарубежом) это баозовая правка на НЧ что бы скомпенсировать основные моды помещения с учетом только положения излучателя. Правка под слушателя обычно ухудшает картину.
Цитата
Все искажения считаются, можно обеспечить любое качество при нынешних то средствах ЦОС

К сожалению, так не получается. Акустика помещения - распределенная (не сосредоточенная) реверберационная система, параметры которой зависят от положения слушателя. Полностью ее учесть невозможно, да и не нужно.
Мусатов Константин
Цитата(litv @ Mar 21 2011, 17:20) *
System View - это пакет проектирования. http://unionpeer.org/viewtopic.php?t=2595

Эх, не захотел ставиться на W7-64
Мусатов Константин
Встал SystemView, инсталлятор долго думал. Не совсем конечно то, буду думать. Придется, похоже, матлаб осваивать.

Так, все же, ни кто не хочет сделать базовую прошивку по тз и возможностью вставлять туда новые коэффициенты? Мне, просто еще делать все схемы, отлаживать саму акустику и программировать общий контроллер... много работы.
Чиповод
Цитата(Мусатов Константин @ Mar 20 2011, 16:21) *
Не подскажете ли готовые, желательно бесплатные, программы, в которых можно было бы ввести АЧХ и ФЧХ требуемого фильтра по точкам, сгладить их, получить коэффициенты для КИХ фильтра, оценить шумы квантования, ограничения по длине по заданной точности, выбрать минимально требуемые ширины коэффициентов, умножителей и накопителей. Хорошо бы это было бы в графической форме. Совсем хорошо с интеграцией с CCS от TI. Возможно, я не до разобрался с плагинами в CCS
Ввести АЧХ и ФЧХ фильтра по точкам в matlab можно с помощью функций fdesign.arbmag и fdesign.arbmagnphase, а реализовать потом с помощью БИХ или КИХ фильтра.

Цитата(Мусатов Константин @ Mar 23 2011, 03:48) *
Встал SystemView, инсталлятор долго думал. Не совсем конечно то, буду думать. Придется, похоже, матлаб осваивать.Так, все же, ни кто не хочет сделать базовую прошивку по тз и возможностью вставлять туда новые коэффициенты? Мне, просто еще делать все схемы, отлаживать саму акустику и программировать общий контроллер... много работы.
Я тут написал статью о том, как в matlab фильтры рассчитывать и автоматом коэффициенты в файл сливать. Надеюсь она Вам поможет. http://www.chipovod.ru/matlab/raschet-cifr...filtrov-matlab/
Мусатов Константин
Цитата
Я тут написал статью о том, как в matlab фильтры рассчитывать и автоматом коэффициенты в файл сливать. Надеюсь она Вам поможет. http://www.chipovod.ru/matlab/raschet-cifr...filtrov-matlab/

Спасибо! Интересная реализация
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.