Правила точности фиксированной точки для предотвращения переполнения в КИХ-фильтрах

КИХ-фильтры фиксированной точки обычно реализуются на цифровых сигнальных процессорах, FPGAs и ASICs. Фильтр фиксированной точки использует вычисления с фиксированной точкой и представлен уравнением с коэффициентами фиксированной точки. Если аккумулятор и выход КИХ-фильтра не имеют достаточных битов, чтобы представлять их данные, переполнение происходит и искажает сигнал. Используйте эти два правила, чтобы решить, что КИХ фильтрует настройки точности автоматически. Цель состоит в том, чтобы минимизировать использование ресурса (память/устройство хранения данных и элементы обработки) при предотвращении переполнения. Поскольку правила оптимизированы на основе входной точности, содействующей точности и содействующих значений, КИХ-фильтр должен иметь ненастраиваемые коэффициенты.

Правила точности задают минимум и максимальные значения КИХ-фильтра выход. Чтобы определить эти значения, выполните анализ min / макс. анализ КИХ-коэффициентов фильтра.

Выведите пределы для КИХ-фильтров

КИХ-фильтр задан:

y[n]=k=0N1hkx[nk]

  • x[n] является входным сигналом.

  • y[n] является выходным сигналом.

  • hk является коэффициентом фильтра kth.

  • N является длиной фильтра.

Выведите пределы для КИХ-фильтров с действительным входом и действительными коэффициентами

Позвольте минимальному значению входного сигнала быть Xmin, где Xmin ≤ 0, и максимальное значение быть Xmax, где Xmax ≥ 0. Минимальный выход происходит, когда вы умножаете положительные коэффициенты на Xmin и отрицательные коэффициенты Xmax. Точно так же максимальный выход происходит, когда вы умножаете положительные коэффициенты на Xmax и отрицательные коэффициенты Xmin.

Если сумма всех положительных коэффициентов

G+=k=0,hk>0N1hk

и сумма всех отрицательных коэффициентов обозначается как

G=k=0,hk<0N1hk

затем можно выразить минимальный выход фильтра как

Ymin=G+Xmin+GXmax

и максимальный выход фильтра как

Ymax=G+Xmax+GXmin

Поэтому выход фильтра находится в интервале [Ymin, Ymax].

Комплексные уравнения свертки фильтра

Можно задать комплексный фильтр (комплексные входные параметры и объединить коэффициенты) в терминах действительных и мнимых частей его сигналов и коэффициентов:

Re(y[n])=k=0N1Re(hk)Re(x[nk])k=0N1Im(hk)Im(x[nk])Im(y[n])=k=0N1Re(hk)Im(x[nk])+k=0N1Im(hk)Re(x[nk])

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

Выведите пределы для КИХ-фильтров с комплексным входом и объедините коэффициенты

Можно расширить действительный анализ min фильтра / макс. анализ, чтобы объединить фильтры. Примите, что и действительные и мнимые части входного сигнала лежат в интервале [Xmin, Xmax].

Комплексный фильтр содержит два экземпляра Ре фильтра (hk). Оба фильтра имеют тот же входной диапазон и поэтому ту же выходную область значений в интервале [Vremin, Vremax]. Точно так же комплексный фильтр содержит два экземпляра фильтра I am(hk). Оба фильтра имеют ту же выходную область значений в интервале [Vimmin, Vimmax].

На основе анализа min / макс. анализа действительных фильтров, можно выразить Vremin, Vremax, Vimmin и Vimmax как:

Vminre=Gre+Xmin+GreXmaxVmaxre=Gre+Xmax+GreXminVminim=Gim+Xmin+GimXmaxVmaxim=Gim+Xmax+GimXmin

  • G+re является суммой положительных действительных частей hk, данного

    Gre+=k=0,Re(hk)>0N1Re(hk)

  • G-re является суммой отрицательных действительных частей hk, данного

    Gre=k=0,Re(hk)<0N1Re(hk)

  • G+im является суммой положительных мнимых частей hk, данного

    Gim+=k=0,Im(hk)>0N1Im(hk)

  • G-im является суммой отрицательных мнимых частей hk, данного

    Gim=k=0,Im(hk)<0N1Im(hk)

Минимальные и максимальные значения действительных и мнимых частей выхода:

Yminre=VminreVmaximYmaxre=VmaxreVminimYminim=Vminre+VminimYmaxim=Vmaxre+Vmaxim

Минимумом худшего случая и максимумом или на действительной или на мнимой части выхода дают

Ymin=min(Yminre,Yminim)Ymax=max(Ymaxre,Ymaxim)

Правила точности фиксированной точки

Правила точности фиксированной точки задают выходной размер слова и дробную длину фильтра в терминах размера слова аккумулятора и дробную длину.

Правило аккумулятора полной точности

Примите, что вход является сигналом фиксированной точки без знака или со знаком с размером слова Wx и дробная длина Fx. Также примите, что коэффициенты подписываются или значения фиксированной точки без знака с дробной длиной Fh. Можно теперь задать полную точность как настройки фиксированной точки, которые минимизируют размер слова аккумулятора при предотвращении переполнения или любой потери точности.

  • Длина части аккумулятора равна длине части продукта, которая является суммой входа и содействующих длин части.

    Fa=Fx+Fh

  • Если Ymin = 0, то аккумулятор без знака с размером слова

    Wa=log2(Ymax2Fa+1)

Если Ymin> 0, то аккумулятор подписывается с размером слова

Wa=log2(max(Ymin2Fa,Ymax2Fa+1))+1

Перекрывать оператор округляется к самому близкому целому числу к + ∞.

Выведите тот же размер слова как входное правило

Это правило устанавливает выходной размер слова совпадать с входным размером слова. Затем это настраивает дробную длину, чтобы избежать переполнения. Wq является выходным размером слова, и Fq является выходной длиной части.

Обрежьте аккумулятор, чтобы сделать выходной размер слова тем же самым как входной размер слова.

Wq=Wx

.

Установите выходную длину части Fq на

Fq=Fa(WaWx)

.

Многофазный Interpolators и Decimators

Можно расширить эти правила к многофазным КИХ-интерполяторам и decimators.

КИХ-интерполяторы

Обработайте каждую многофазную ветвь КИХ-интерполятора как отдельный КИХ-фильтр. Тип выходных данных КИХ-интерполятора является типом данных худшего случая всех многофазных ветвей.

КИХ Decimators

Для decimators многофазные ветви складывают при выходе. Следовательно, тип выходных данных вычисляется, как будто это был один КИХ-фильтр со всеми коэффициентами всех многофазных ветвей.

Похожие темы