Один из подходов заключается в использовании метода наименьших квадратов в частотной области (FDLS) . Учитывая набор (сложных) выборок частотной характеристики системы с дискретным временем и порядок фильтрации, выбранный разработчиком, метод FDLS использует линейную оптимизацию наименьших квадратов для решения для набора коэффициентов (которые отображаются непосредственно на наборы полюсов). и нули) для системы, частотный отклик которой соответствует желаемому отклику с минимальной общей квадратической ошибкой.
АЧХ линейной системы с дискретным временем порядка можно записать в виде:N
H(ω)=H(z)|z=ejω
где - передаточная функция системы в области . Обычно это записывается в рациональном формате, который следует непосредственно из разностного уравнения системы:H(z)z
H(z)=∑Nk=0bkz−k1+∑Nk=1akz−k
Частотная характеристика поэтому:
H(ω)=∑Nk=0bke−jkω1+∑Nk=1ake−jkω
Переставьте выше, чтобы получить:
∑k=0Nbke−jkω−H(ω)(1+∑k=1Nake−jkω)=0
Это уравнение является линейным по неизвестным коэффициентам уравнения разности систем и . Учитывая желаемую частотную характеристику , мы хотели бы найти коэффициенты, которые удовлетворяют вышеуказанному уравнению точно для всех значений . Для общего случая это сложно. Поэтому вместо этого мы будем искать набор коэффициентов для системы, частотная характеристика которой аппроксимирует желаемую характеристику на дискретном наборе частот.2N+1bkakH(ω)ω
Чтобы найти подходящий набор коэффициентов с использованием метода линейных наименьших квадратов, мы генерируем переопределенную систему уравнений для этих неизвестных. Чтобы сгенерировать эти уравнения, выберите набор частот (где и часто . Для каждой частоты соответствующее значение в вышеприведенное уравнение, чтобы получить:ωm∈[0,2π),m=0,1,…,M−1M>2N+1M≫2N+1)ωk
∑k=0Nbke−jkωk−H(ωk)(1+∑k=1Nake−jkωk)=0
Значения получаются путем выборки желаемой частотной характеристики на выбранных частотах . После генерации системы линейных уравнений легко получить решение методом наименьших квадратов для коэффициентов системы и (и, следовательно, ее полюсов и нулей). Если вы подставите эти коэффициенты обратно в уравнение для показанное выше, это должно (как мы надеемся) привести к функции, близкой к частотной характеристике шаблона, с которой вы начали.ω k b k a k H ( ω )H(ωk)ωkbkakH(ω)
Эта техника имеет несколько преимуществ:
Любая произвольная комплексная (величина и фаза) частотная характеристика может использоваться в качестве шаблона. Если у вас есть только ограничение величины, вы можете просто выбрать фазовый отклик, например, линейную фазу.
Он может использоваться для разработки как FIR, так и IIR фильтров; для реализации FIR просто удалите коэффициенты из вышеприведенного.ak
Этот метод очень прост в реализации и легко параметризуется в зависимости от желаемого системного порядка.
Хотя не может быть хорошего способа априори оценить, какой требуемый системный порядок соответствует вашим проектным ограничениям, просто итеративно увеличивать порядок до тех пор, пока не будет достигнута некоторая выбранная метрика ошибки (например, пиковая ошибка, общая квадратичная ошибка, или отклонение в пределах определенной полосы).N
Вы можете немного расширить этот метод, чтобы при необходимости использовать взвешенную оптимизацию наименьших квадратов; это позволит вам указать области частотной характеристики, ошибка аппроксимации которой весит больше, чем другие. Это позволяет вам более жестко контролировать области полосы пропускания / полосы пропускания, в то же время позволяя больше наклона в зонах "безразличия".