Вопросик.
Допустим есть аналоговая передаточная функция H(s).
Я хочу построить по ней ФИР.
Сама функция страшная и извращенная, перестраивать/выковыривать из нее poles/zeroes и т.д. нереально.
Как я вижу процесс.
Берем H(s), т.е. АФЧХ. Натравливаем на нее IFFT, получаем импульсный отклик, соответствующий этой H(s). Импульсный отклик можно в лоб конволвить с чем попало, т.е. это и есть ФИР. Профит.
Возможно, придется заменить "s" на дискретно-временной аналог, сделать prewrap/unwrap частоте и т.д.
Или я что-то и сильно пропустил :)
IFFT это конечно-же извращенье...
Хм... Я с биквадами цифорвыми как-то из direct form по времени легким движением руки нарисовал передаточную функцию.
По идее оно обратимо, т.е. преобразование передаточной функции в discrete time. В последнем соорудить импульсный отклик системы - пять минут работы. Без никаких IFFT.
Хотя, возможно, таки прийдется прибегнуть к IFFT в случае с измеряемым импедансом динамика, а не его аппроксимизации... Хотя реально измерянное можно потом подкинуть в функцию, чтоб она делала вид что она математическая - а на самом деле тупо по табличке результаты возвращала с легким алиазингом.
Еще придется SPICE написать. Вот я себе сэксу то придумал.
UPD:
Видимо можно сделать довольно простым образом.
http://www.audio-perfection.com/forum/thread-96.html
В него засунуть импульс, на выходе снять исковерканный схемкой импульс, и назвать его фир фильтром. :)
Поначалу схемки кроссов можно будет в лтспайсе рисовать, но интерфейс к этому не распологает. Благо можно нетлисты подгружать.
Допустим есть аналоговая передаточная функция H(s).
Я хочу построить по ней ФИР.
Сама функция страшная и извращенная, перестраивать/выковыривать из нее poles/zeroes и т.д. нереально.
Как я вижу процесс.
Берем H(s), т.е. АФЧХ. Натравливаем на нее IFFT, получаем импульсный отклик, соответствующий этой H(s). Импульсный отклик можно в лоб конволвить с чем попало, т.е. это и есть ФИР. Профит.
Возможно, придется заменить "s" на дискретно-временной аналог, сделать prewrap/unwrap частоте и т.д.
Или я что-то и сильно пропустил :)
IFFT это конечно-же извращенье...
Хм... Я с биквадами цифорвыми как-то из direct form по времени легким движением руки нарисовал передаточную функцию.
По идее оно обратимо, т.е. преобразование передаточной функции в discrete time. В последнем соорудить импульсный отклик системы - пять минут работы. Без никаких IFFT.
Хотя, возможно, таки прийдется прибегнуть к IFFT в случае с измеряемым импедансом динамика, а не его аппроксимизации... Хотя реально измерянное можно потом подкинуть в функцию, чтоб она делала вид что она математическая - а на самом деле тупо по табличке результаты возвращала с легким алиазингом.
Еще придется SPICE написать. Вот я себе сэксу то придумал.
UPD:
Видимо можно сделать довольно простым образом.
http://www.audio-perfection.com/forum/thread-96.html
В него засунуть импульс, на выходе снять исковерканный схемкой импульс, и назвать его фир фильтром. :)
Поначалу схемки кроссов можно будет в лтспайсе рисовать, но интерфейс к этому не распологает. Благо можно нетлисты подгружать.
Аминь.