Сетевое издание
Международный студенческий научный вестник
ISSN 2409-529X

ИССЛЕДОВАНИЕ И АНАЛИЗ ЭФФЕКТОВ КОНЕЧНОЙ РАЗРЯДНОСТИ В КИХ-ФИЛЬТРАХ С ИСПОЛЬЗОВАНИЕМ ИНСТРУМЕНТОВ MATLAB

Буренков М.С. 1
1 Пензенский государственный технологический университет
В статье предлагается вариант выполнения анализа эффектов конечной разрядности для цифровых фильтров с конечной импульсной характеристикой с использованием инструментов среды MATLAB. Анализ основан на модели фильтра, учитывающей ограничение разрядности коэффициентов фильтра, а также отсчётов входного и выходного сигнала. Анализ эффектов конечной разрядности фильтров в среде MATLAB позволяет автоматизировать такие действия, как: разработка фильтра, перевод коэффициентов в формат с фиксированной запятой и ограничение их разрядности (квантование), визуализация характеристик фильтра до и после квантования коэффициентов, анализ влияния ограничения разрядности входного сигнала и промежуточных результатов вычислений на результат фильтрации. В работе также приводится фрагмент MATLAB-скрипта, который создаёт описание фильтра с конечной импульсной характеристикой и квантованными коэффициентами для анализа эффектов конечной разрядности.
КИХ-фильтр
анализ эффектов конечной разрядности
1. Мартышкин А.И. Разработка аппаратного буферного устройства памяти многопроцессорной системы // Фундаментальные исследования. – 2015. – № 12. – C. 485-489.
2. Сальников И.И. Структура иерархической системы поддержки принятия решения по объективному выбору средства реализации проектируемой системы цифровой обработки информации // XXI век: итоги прошлого и проблемы настоящего плюс. – 2012. – № 5 – С. 69-73.
3. Ушенина И.В. Расчет и анализ параллельных КИХ-фильтров, предназначенных для реализации на ПЛИС // XXI век: итоги прошлого и проблемы настоящего плюс. – 2016. – № 6.- С. 141-148.
4. Ушенина И.В. Способы реализации на ПЛИС многоканальных адаптивных КИХ- фильтров для систем активного подавления акустического шума // Цифровая обработка сигналов. – 2015. – № 4. – С. 49-54.
5. Schilling R.J., Harris S.L. Fundamentals of Digital Signal Processing Using MATLAB®. – 2010.

Процесс проектирования цифрового фильтра состоит из таких этапов, как формирование спецификации, выбор типа и архитектуры фильтра, расчет коэффициентов фильтра, анализ эффектов конечной разрядности, аппаратная реализация фильтра – например, на ячейках цифровой обработки сигналов ПЛИС или высокопроизводительных сигнальных процессорах[1, 2, 4].

В настоящее время разработка цифровых фильтров осуществляется с привлечением различных сред математических и инженерных расчётов, наиболее популярной из которых является среда MATLAB. При использовании MATLAB коэффициенты цифровых фильтров представлены в формате с плавающей запятой, а разрядность ячеек памяти для их хранения может составлять 32 или 64 бита.

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

Вследствие перечисленных выше мер появляются шум квантования отсчётов входного сигнала, искажение АЧХ фильтра, шум округления результатов вычислений и, возможно, переполнение разрядной сетки, которые называются эффектами конечной разрядности [3]. Так, например, на рис. 1 представлено ухудшение АЧХ цифрового фильтра вследствие перехода к представлению его коэффициентов в формате с фиксированной запятой и ограничения разрядности его коэффициентов. На рисунке видно, что уровень подавления частот в зоне заграждения фильтра существенно снижается.

burenk1.tif

Рис. 1. Ухудшение АЧХ цифрового фильтра при переходе к формату с фиксированной точкой и ограничении разрядности коэффициентов – до 12 и 16 бит

burenk2.wmf

Рис. 2. Модель КИХ-фильтра, учитывающая эффекты конечной разрядности

Анализ эффектов конечной разрядности для КИХ-фильтра позволяет решить две задачи:

- выяснить, соответствуют ли требованиям спецификации на фильтр его характеристики, полученные после ограничения разрядности коэффициентов;

- оценить снижение качества сигнала на выходе фильтра, произошедшее вследствие эффектов конечной разрядности.

В данной работе рассмотрен вариант использования среды MATLAB для анализа эффектов конечной разрядности в цифровых КИХ-фильтрах [3]. Анализ выполняется на основе модели (рис. 2), учитывающей изменение импульсной характеристики фильтра, шум квантования входного сигнала и ошибку округления выходного сигнала [5].

Шум квантования отсчетов входного сигнала Δx(k) имитируется случайным шумом с равномерным распределением в интервале bur01.wmf где q – шаг квантования АЦП [5]. Квантованный сигнал xq(k), поступающий на вход КИХ-фильтра, является результатом суммирования шума квантования и входного сигнала x(k).

Квантование коэффициентов КИХ-фильтра h(i) моделируется фильтром с коэффициентами Δh(i), включенным параллельно с исходным. Коэффициенты Δh(i) являются разницей между h(i) и результатами их квантования hq(i).

Выходной сигнал КИХ-фильтра y(k) рассчитывается по формуле (1):

bur02.wmf (1)

Разрядность произведений x(k – i)•h(i) в два раза выше, чем разрядность x(k – i) и h(i). Если для суммирования произведений необходимо предварительно выполнять их округление, ошибка округления добавляется к каждой частной сумме произведений, а суммарная ошибка округления пропорциональна порядку фильтра N.

В случае использования для реализации КИХ-фильтра ЦОС-ячеек ПЛИС отдельные произведения x(k – i)•h(i) и конечный результат фильтрации y(k) можно не округлять. Округление выходного сигнала y(k) может потребоваться, если он подается на вход устройства с меньшей разрядностью. Ошибка округления выходного сигнала, Δy(k), моделируется случайным шумом с равномерным распределением в интервале bur03.wmf.

Во фрагменте MATLAB-скрипта, приведенном ниже, на основе вектора b коэффициентов созданного ранее фильтра f2 создается фильтр f_fp, работающий в формате с фиксированной запятой при разрядности коэффициентов 18 бит. Вектор b формируется с помощью функции impz. Фильтр f_fp создается с помощью функции dfilt[3].

% создаём спецификацию фильтра

f1=fdesign.lowpass('Fp,Fst,Ap,Ast', 0.2,0.3,0.1,80);

% создаём фильтр в соответствии со спецификацией

f2=design(f1,'kaiserwin');

% получаем вектор коэффициентов ИХ фильтра f2

% в формате с плавающей запятой и разрядностью 64 бита

b=impz(f2);

% создаем фильтр f_fp,

% работающий в формате с фиксированной запятой

f_fp=dfilt.dffir(b);

%задаем формат и разрядность 18 бит коэффициентов фильтра f_fp:

set(f_fp,'arithmetic','fixed','CoeffWordLength',18);

Чтобы MATLAB-модель фильтра учитывала шумы квантования входного сигнала и округления выходного сигнала, необходимо задать дополнительные параметры функции dfilt, в частности, разрядность представления отсчетов входных и выходных сигналов [3].

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


Библиографическая ссылка

Буренков М.С. ИССЛЕДОВАНИЕ И АНАЛИЗ ЭФФЕКТОВ КОНЕЧНОЙ РАЗРЯДНОСТИ В КИХ-ФИЛЬТРАХ С ИСПОЛЬЗОВАНИЕМ ИНСТРУМЕНТОВ MATLAB // Международный студенческий научный вестник. – 2017. – № 4-7. ;
URL: https://eduherald.ru/ru/article/view?id=17619 (дата обращения: 18.04.2024).

Предлагаем вашему вниманию журналы, издающиеся в издательстве «Академия Естествознания»
(Высокий импакт-фактор РИНЦ, тематика журналов охватывает все научные направления)

«Фундаментальные исследования» список ВАК ИФ РИНЦ = 1,674