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

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

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

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

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

y[n]=∑k=0N−1hkx[n−k]

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

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

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

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

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

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

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

G+=∑k=0,hk>0N−1hk

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

G−=∑k=0,hk<0N−1hk

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

Ymin=G+Xmin+G−Xmax

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

Ymax=G+Xmax+G−Xmin

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

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

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

Re(y[n])=∑k=0N−1Re(hk)Re(x[n−k])−∑k=0N−1Im(hk)Im(x[n−k])Im(y[n])=∑k=0N−1Re(hk)Im(x[n−k])+∑k=0N−1Im(hk)Re(x[n−k])

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

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

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

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

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

Vminre=Gre+Xmin+Gre−XmaxVmaxre=Gre+Xmax+Gre−XminVminim=Gim+Xmin+Gim−XmaxVmaxim=Gim+Xmax+Gim−Xmin

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

    Gre+=∑k=0,Re(hk)>0N−1Re(hk)

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

    Gre−=∑k=0,Re(hk)<0N−1Re(hk)

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

    Gim+=∑k=0,Im(hk)>0N−1Im(hk)

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

    Gim−=∑k=0,Im(hk)<0N−1Im(hk)

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

Yminre=Vminre−VmaximYmaxre=Vmaxre−VminimYminim=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−(Wa−Wx)

.

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

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

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

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

КИХ Decimators

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

Похожие темы