КИХ-фильтр с линейной фазой, 4 типа


16

Я знаю, что существует 4 типа FIR-фильтров с линейной фазой, то есть постоянная групповая задержка: (M = длина импульсной характеристики)

  1. Импульсный отклик симметричный, М = нечетный

  2. Настоятельный соответственно симметричный, M = четный

  3. Настоятельный соответственно антисимметричный, M = нечетный

  4. Настоятельный соответственно антисимметричный, M = четный

каждый со своими чертами. Какой из этих типов чаще всего используется в КИХ-фильтре с линейной фазовой схемой и почему? :)


1. является наиболее распространенным IME - он имеет целое число задержек выборок и может быть эффективно реализован путем объединения пар терминов с одним и тем же коэффициентом.
Paul R

Ответы:


27

При выборе одного из этих 4 типов линейных фазовых фильтров необходимо учитывать в основном 3 момента:

  1. ограничения на нули при z = 1 и z = - 1H(z)z=1z=1

  2. целочисленная / нецелая групповая задержка

  3. сдвиг фазы (кроме линейной фазы)

Для фильтров типа I (нечетное число отводов, четная симметрия) нет ограничений на нули при и z = - 1 , фазовый сдвиг равен нулю (кроме линейной фазы), а групповая задержка является целым числом значение.z=1z=1

Фильтры типа II (четное количество отводов, четная симметрия) всегда имеют ноль при z=1 (т.е. половине частоты дискретизации), имеют нулевой сдвиг фазы и имеют нецелую групповую задержку.

Фильтры типа III (нечетное число отводов, нечетная симметрия) всегда имеют нули при и z = - 1 (т.е. при f = 0 и f = f s / 2 ), имеют фазовый сдвиг на 90 градусов и целое число групповая задержка.z=1z=1f=0f=fs/2

Фильтры типа IV (четное количество отводов, нечетная симметрия) всегда имеют ноль при z=1 , фазовый сдвиг 90 градусов и нецелую групповую задержку.

Это подразумевает (среди прочего) следующее:

  • Фильтры типа I довольно универсальны, но их нельзя использовать всякий раз, когда необходим сдвиг фазы на 90 градусов, например, для дифференциаторов или гильбертовых трансформаторов.

  • Фильтры типа II обычно не используются для фильтров верхних частот или полосовых фильтров из-за нуля при , то есть при f = f s / 2 . Они также не могут быть использованы для приложений, где необходим сдвиг фазы на 90 градусов.z=1f=fs/2

  • Фильтры типа III нельзя использовать для стандартных частотно-избирательных фильтров, поскольку в этих случаях сдвиг фазы на 90 градусов обычно нежелателен. Для трансформаторов Гильберта фильтры типа III имеют относительно плохое приближение по амплитуде на очень низких и очень высоких частотах из-за нулей при и z = - 1 . С другой стороны, трансформатор Гильберта типа III может быть реализован более эффективно, чем трансформатор Гильберта типа IV, потому что в этом случае каждый второй отвод равен нулю.z=1z=1

  • Фильтры типа IV не могут использоваться для стандартных частотно-избирательных фильтров по тем же причинам, что и фильтры типа III. Они хорошо подходят для дифференциаторов и гильбертовых преобразователей, и их аппроксимация по величине обычно лучше, потому что, в отличие от фильтров типа III, они не имеют нуля при .z=1

  • В некоторых приложениях желательна целочисленная групповая задержка. В этих случаях предпочтительны фильтры типа I или типа III.


5

Все фильтры с антисимметричной импульсной характеристикой имеют ноль при z=1 (то есть частоте 0). Поэтому, если вам нужно реализовать фильтр верхних частот или фильтр, подобный производным (или даже полосовой пропуск), то вы должны перейти к типам 3 и 4.

Точно так же, если ваш фильтр низкочастотный, то применяются типы 1 и 2.

Таким образом, это зависит от типа фильтра, который вам нужно спроектировать, а не от того, какой из них более распространен.

ejθ/2θ=π , поэтому гораздо более быстрая сходимость и необходимость в меньших коэффициентах).

С точки зрения реализации, все 4 типа могут быть эффективно реализованы без повторения одних и тех же коэффициентов дважды.

Вам нужна, конечно, вся линия задержки М-размера. Но вместо того, чтобы умножать каждый из выходов крана на его собственный коэффициент, вы сначала добавляете (или вычитаете) два соответствующих выхода, а затем умножаете только один раз на коэффициент.

h[n]=aδ[n]+bδ[n1]+aδ[n2]y[n]=ax[n]+bx[n1]+ax[n2]y[n]=a(x[n]+x[n2])+bx[n1].


5

Since there already are two very nice answers, I will give some very basic examples from which the properties given in the other answers can be sanity checked against. Zero locations and phase responses are directly available.

symmetrical, M=odd

H(z)=1±2z1+z2=(1±z1)2H(ejω)=(1±ejω)2=(ejω/2(ejω/2±ejω/2))2=ejω(ejω/2±ejω/2)2=4ejωcos2(ω/2)or4ejωsin2(ω/2)=4ej(ωπ)sin2(ω/2)

H(z)=1+z2=(1+jz1)(1jz1)H(ejω)=(1+ej2ω)=ejω(ejω+ejω)=2ejωcos(ω)

symmetrical, M=even

H(z)=1+z1H(ejω)=(1+ejω)=ejω/2(ejω/2+ejω/2)=2ejω/2cos(ω/2)

H(z)=1+z3H(ejω)=(1+ej3ω)=ej3ω/2(ej3ω/2+ej3ω/2)=2ej3ω/2cos(3ω/2)

H(z)=1+3z1+3z2+z3=(1+z1)3=(1e2π/3z1)(1e2π/3z1)(1+z1)H(ejω)=(1+ejω)3=(ejω/2(ejω/2+ejω/2))3=8ej3ω/2cos(ω/2)3

antisymmetrical, M=odd (according to [1], h[N/2]=0 for this case)

H(z)=1z2=(1+z1)(1z1)H(ejω)=1ej2ω=ejω(ejωejω)=2jejωsin(ω)=2ej(ωπ/2)sin(ω)

antisymmetrical, M=even

H(z)=1z1H(ejω)=(1ejω)=ejω/2(ejω/2ejω/2)=2jejω/2sin(ω/2)

[1] a good reference mitrappt

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.