Перейти к содержанию
    

Программы построения КИХ фильтров

Не подскажете ли готовые, желательно бесплатные, программы, в которых можно было бы ввести АЧХ и ФЧХ требуемого фильтра по точкам, сгладить их, получить коэффициенты для КИХ фильтра, оценить шумы квантования, ограничения по длине по заданной точности, выбрать минимально требуемые ширины коэффициентов, умножителей и накопителей. Хорошо бы это было бы в графической форме. Совсем хорошо с интеграцией с CCS от TI. Возможно, я не до разобрался с плагинами в CCS

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Matlab.

Не бесплатный, но подгонять фильтр под требуемые разрядности в matlabe самое оно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

QEDesign2000. Есть демо-версия с ограничениями по записи и по числу коэффициентов.

АЧХ по точкам не вводят, как и в Матлабе. Вводят частоты среза и задержания, неравномерность в полосе пропускания, затухание в полосе задержания. В Матлабе еще можно менять типы окон и прочие тонкие параметры

Изменено пользователем V_G

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

QEDesign2000. Есть демо-версия с ограничениями по записи и по числу коэффициентов.

АЧХ по точкам не вводят, как и в Матлабе. Вводят частоты среза и задержания, неравномерность в полосе пропускания, затухание в полосе задержания. В Матлабе еще можно менять типы окон и прочие тонкие параметры

 

ввод по точкам есть в system view.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть еще FilterSolutions, не бесплатный, много чего считает, КИХ в том числе, ввод не по точкам, а по параметрам.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если АЧХ нужно задавать именно по точкам, то в MATLAB есть функция remez, которая синтезирует нерекурсивный дискретный фильтр (FIR). Почитать про нее можно здесь http://matlab.exponenta.ru/signalprocess/book1/3/remez.php

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

АЧХ по точкам не вводят, как и в Матлабе. Вводят частоты среза и задержания, неравномерность в полосе пропускания, затухание в полосе задержания.

Понимаю. Но у меня другая задача. Нужен не фильтр с предельными параметрами, а коректирующий, с определенными. Причем коррекция делается по тренду, а мелкие неравномерности опускаются. И коррекция нужна с фазой, а не только АЧХ.

ввод по точкам есть в system view.
У QEDesign2000? Попробую его посмотреть.

Спасибо за информацию.

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

 

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

О, спасибо, интересно. Жаль тут не вводится фаза, мне без нее никак. Может есть отдельный фазокорректирующий фильтр?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Нужен не фильтр с предельными параметрами, а коректирующий, с определенными. Причем коррекция делается по тренду, а мелкие неравномерности опускаются. И коррекция нужна с фазой, а не только АЧХ.

Расскажите поподробнее, что вы собственно корректируете. Это какой-то канал связи, для которого известна АЧХ и ФЧХ?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

FIR_CALC.rar

Изменено пользователем sup-sup

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Расскажите поподробнее, что вы собственно корректируете. Это какой-то канал связи, для которого известна АЧХ и ФЧХ?

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

Я делал в EXCEL

Спасибо. Вечером посмотрю. Сейчас Экселя под рукой нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Коррекцию подобрать можно адаптивным фильтром, графический эквалайзер с помощью банка фильтов можно сделать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Коррекцию подобрать можно адаптивным фильтром, графический эквалайзер с помощью банка фильтов можно сделать.

Пробовали. Не проходит. Нужен хорошо сопряженный фильтр и по АЧХ и по ФЧХ. А с полосными эквалайзерами нет ФЧХ, либо она определенная, а не такая, какая нужна. К тому же, у них обычно фиксированный порядок. Эти фильтры делают обычно на БИХ ячейках.

Акустические драйвера не являются полностью минимально-фазовыми цепями. Поэтому ФЧХ у них не однозначно связана с АЧХ и корректировать их надо независимо.

Изменено пользователем Мусатов Константин

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Пробовали. Не проходит. Нужен хорошо сопряженный фильтр и по АЧХ и по ФЧХ. А с полосными эквалайзерами нет ФЧХ, либо она определенная, а не такая, какая нужна. К тому же, у них обычно фиксированный порядок. Эти фильтры делают обычно на БИХ ячейках.

Акустические драйвера не являются полностью минимально-фазовыми цепями. Поэтому ФЧХ у них не однозначно связана с АЧХ и корректировать их надо независимо.

 

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

 

Банк фильтров можно сделать комплексный на основе КИХ фильтров и рулить фазой тоже.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

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

Изменено пользователем Мусатов Константин

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...