Вы находитесь на странице: 1из 25

МИНОБРНАУКИ РОССИИ

федеральное государственное бюджетное образовательное учреждение


высшего образования
«Самарский государственный технический университет»
(ФГБОУ ВО «СамГТУ»)

Кафедра «Автоматика и управление в технических системах»

Курсовая работа

Проектирование и реализация КИХ-фильтра, осуществляющего цифровую


фильтрацию сигнала с требуемой АЧХ.
Вариант № 1

Самара, 2020
Содержани

Введение.......................................................................................................................3
Задания для выполнения:............................................................................................5
Задание 1......................................................................................................................7
Задание 2....................................................................................................................17
Задание 3....................................................................................................................19
Задание 4....................................................................................................................22
Список использованной литературы:......................................................................24

2
Введение

Фильтром называется устройство (цепь), которое обеспечивает


необходимую реакцию на какой-то входной сигнал. В основном, данная
реакция заключается в выделении из входного сигнала, который представляет
собой смесь полезного сигнала с шумом, полезной составляющей, то есть
определённые полезные свойства входного сигнала сохраняются в выходном
сигнале, а нежелательные – подавляются. Данный аспект очень актуален,
например, при передаче данных, где, может быть, из-за характеристик линии
связи, а, может быть, и из-за других каких-то причин, полезный сигнал
зашумляется, искажается, и поэтому приёмная сторона получает не нужный ей
полезный сигнал, а его сильно искажённую форму. Поэтому фильтры очень
распространены в современной технике, и как электронные компоненты входят
в состав многих электронных устройств. Семейство фильтров весьма
разнообразно, они классифицируются по разным параметрам. В зависимости от
выделяемой полосы частот (полосы пропускания) фильтры подразделяются на
фильтры нижних частот (ФНЧ), фильтры верхних частот (ФВЧ), полосовые
фильтры (ПФ) и режекторные (или заграждающие) фильтры (РФ). По типу
преобразуемого сигнала фильтры делятся на аналоговые (активные и
пассивные) и цифровые. В современной технике используются как те, так и
другие типы фильтров, но аналоговые фильтры в то же время являются
фундаментальным классом фильтров и используются для проектирования
цифровых. Из-за невозможности реализации абсолютно идеального фильтра,
характеристики фильтра аппроксимируются специальными типами функций. И
по названию этих аппроксимирующих функций фильтры подразделяются на
фильтры Баттерворта, Чебышева, Бесселя, Кауэра и др. Среди цифровых
фильтров, в свою очередь, выделяют два фундаментальных класса: фильтры с
конечной импульсной характеристикой (КИХ-фильтры) и фильтры с
бесконечной импульсной характеристикой (БИХ-фильтры).
3
Такое разнообразие цифровых фильтров призвано удовлетворять каким-
либо потребностям в получении выходного сигнала. И в зависимости от
требований, предъявляемых к выходному сигналу, получаются требования к
самому цифровому фильтру. В итоге в каждом конкретном случае требуется
спроектировать цифровой фильтр с теми или иными характеристиками. В
данной работе рассматривается тот случай, когда требуется спроектировать
цифровой КИХ-фильтр нижних частот.

4
Задания для выполнения:

Максималь Минималь
Тип ное ное Граничная
Вариа КИХ- Затухание в затухание в Частота среза частота зоны
нт фильт полосе полосе FPASS i затухания
ра пропускани задерживан FSTOP i

я APASS i ия ASTOPi
1 ФНЧ 1,0 дБ 80 дБ 2000 Гц 3000 Гц

1. Выполнить теоретический расчет фильтра в соответствии с методическими


указаниями (2020г. выпуска) к лабораторной работе № 6.
1.1 Выполнить расчет оптимальной частоты дискретизации, исходя из заданных
параметров фильтра.
1.2 Рассчитать коэффициенты фильтра.
1.3 Нарисовать структуру, АЧХ спроектированного фильтра.
1.4 Провести анализ ошибки АЧХ зоны работы фильтра при переходе от
коэффициентов с плавающей точкой к целочисленным 8-ми, 16-ти и 32-х
разрядным. Привести графики ошибок.
1.5. Описать процедуру интеграции коэффициентов фильтра в среду
микроконтроллера.
2. Реализовать код программы, выполняющий цифровую фильтрацию, в
соответствии с заданием, для микроконтроллеров семейства PIC32MZ.
2.1 Привести блок-схему программы.
2.2 Привести листинг программы.
3. Выполнить экспериментальные исследования с лабораторным стендом по
курсу МиМвСУ.
3.1 Привести блок схему подключения аппаратуры.
3.2 Задавая равномерной шкалой частот на генераторе, в соответствии с АЧХ

5
фильтра по заданию, снять экспериментальную АЧХ реально работающего
цифрового фильтра. Представить график экспериментально снятого АЧХ.
3.3 Представить фото собранного лабораторного стенда, во время
выполнения экспериментов, график входного и выходного сигналов на экране
осциллографа при одном значении частоты.
4. Выполнить процедуру передискретизации предполагаемого исследуемого
сигнала, согласно заданному выходному потоку данных.
4.1 Рассчитать частоту выходного потока по формуле:

Если n– нечетный (1, 3, 5, …), то ;

Если n– четный (2, 4, 6, …), то ,


где n– номер варианта.
4.2 Разработать блок схему процедуры преобразования частоты
дискретизации с применением операций интерполяции и децимации.
4.3 Описать последовательность действий с подробным описанием всех
процедур.

6
Задание 1

Высчитаем оптимальную частоту дискретизации:


Fd=3000*4=12000
Для расчета коэффициентов воспользуемся модулем
FilterDesign&AnalysisToolв системе MATLAB. Для этого в системе
MATLABзапустите модуль «Filter Designer» (рис. 1).

Рис.1. FilterDesignиAnalysisTool

В поле ResponseType необходимо выбрать требуемый тип фильтра:


Lowpass–фильтр нижних частот (ФНЧ);
Частотная характеристика проектируемого фильтра отражена в поле
FilterSpecifications. Поле DesignMethodпозволяет задать класс фильтра: FIR–
фильтр с конечной импульсной характеристикой (КИХ). В полях
FrequencySpecificationsи MagnitudeSpecifications задаются частотные и
амплитудные параметры проектируемого фильтра. FS–частота дискретизации

7
фильтра.
Результаты расчета отображены в поле CurrentFilterInformation, в котором
отражены структура и порядок фильтра. В данном случае порядок фильтра и,
соответственно, количество элементом в массиве коэффициентов равно 32.

Рис. 2. Проектирование ПФ КИХ-фильтра

Рис. 3. Импульсная характеристика.
8
Сохраняем коэффициенты в файл. Далее файл с коэффициентами нужно
интегрировать в код программы.

Рис. 4. Запись коэффициентов в файл

Проектируем фильтр в Simulink.

Рис. 5. Проектирование фильтра в Simulink.

Вносим необходимые параметры в блок Sine Ware.

9
Рис. 6. Запись коэффициентов в блок.

Настраиваем параметры:

Рис.7. АЧХ спроектированного фильтра.

Со Scope снимаем график переходного процесса процесса и спроектированного


фильтра.
10
Рис.8. График переходного процесса спроектированного фильтра.

График сигнала на выходе фильтра, частота которого соответствует


полосе пропускания фильтра.

Изменяем значения в блоке Sine Ware :

11
Рис.9. Блок Sine Ware.

Рис.10. Переходный процесс.

График сигнала на выходе фильтра, частота которого соответствует


полосе задерживания фильтра.
Изменяем значения с 3500 на 2500 в блоке Sine Ware и получаем :

Рис.11. Переходный процесс при 2500.

График сигнала на выходе фильтра, частота которого соответствует


переходной полосе фильтра.
12
Как видно из графиков выходных сигналов (Рис. 8,10,11), фильтр без
изменений пропустил сигнал, частота которого 2000 герц входит в полосу
пропускания фильтра, с довольно большим послаблением пропустил сигнал,
частота которого 2500 герц входит в переходную полосу фильтра, и
практически не пропустил сигнал, частота которого 3500 герц входит в полосу
задерживания фильтра. В данном примере мы использовали для наглядности
три гармонических сигнала, частоты которых входят в полосу пропускания,
переходную полосу и полосу задерживания соответственно. На самом же деле,
в практике, фильтр будет оперировать с сигналами, у которых много гармоник
с различными частотами. В этом случае фильтр будет работать с входным
сигналом точно также как в рассмотренном выше примере – будет пропускать
без искажения низкочастотные гармоники сигнала, с ослабление будет
пропускать те гармоники сигнала, частота которых входит в переходную
полосу фильтра, и практически не будет пропускать высокочастотные
гармоники сигнала. Задержка выходного сигнала по времени относительно
входного сигнала обуславливается линейной фазовой характеристикой нашего
фильтра, данная задержка пропорциональна частоте.

При переходе от коэффициентов с плавающей точкой к целочисленным 8-ми


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

13
Рис.12. АЧХ при 8 разрядных коэффициентах.

При переходе от коэффициентов с плавающей точкой к целочисленным 16-ти


разрядным .

Рис.13. АЧХ при 16 разрядных коэффициентах.


14
При переходе от коэффициентов с плавающей точкой к целочисленным 32-ух
разрядным:

Рис.14. АЧХ при 32 разрядных коэффициентах.

Можно сделать вывод о том, что чем больше по битам урезанны


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

Для того чтобы интегрировать коэффициенты фильтра в среду


микроконтроллера необходимо:
1.Собрать лабораторный комплекс, подключив к лабораторному стенду
источник питания и кабель Ethernet, генератор сигналов и осциллограф.
2.Создаем новый проект, основой которого служит шаблон проекта, взятого у
препопадавателя.
3. Запускаем созданный проект. Изменив IP-адрес, откомпилируем и прошьем
его в лабораторный стенд.

15
Задание 2

Блок-схема программы:

main.c

Начало

APP_Initialize
Настройка таймера 1 на частоту
дискретизации Fd=12000.
Настройка интерфейса SPI

While(1) для АЦП и ЦАП.


Настройка параметров КИХ-фильтра.

APP_Task

While(1)

Останов

Прерывание таймера

16
callbaoh-timer

Начало

Чтение значений
АЦП

Расчет КИХ-
фильтра

Вывод значений
ЦАП

Останов

Листинг программы:

const int BL = 32;


const int32_T B[32] = {
2299979, 12426185, 29907232, 39525870, 19966018, -24284785,
-48352796, -9508767, 63753477, 74030087, -32297259, -155376932,
-97663216, 223881311, 634492160, 823070788, 634492160, 223881311,
-97663216, -155376932, -32297259, 74030087, 63753477, -9508767,
-48352796, -24284785, 19966018, 39525870, 29907232, 12426185,
2299979, 0
};

17
Задание 3

Задавая равномерной шкалой частот на генераторе, в соответствии с АЧХ


фильтра по заданию, снимаем экспериментальную АЧХ реально работающего
цифрового фильтра.

Рис.15. График экспериметальной АЧХ.

18
Рис.15. Фото собранного лабораторного стенда.

Рис.16. Фото собранного лабораторного стенда.

19
Рис.17. Фото графика входных и выходных сигналов на осцилографе.

20
Задание 4

Выполняем процедуру передискретизации предполагаемого исследуемого


сигнала, согласно заданному выходному потоку данных.
Рассчитываем частоту выходного потока по формуле:

;
Fn=(f*n)/(n+1)=12000*1/2=6000
Блок схема процедуры преобразования частоты дискретизации с применением
операций интерполяции и децимации.

Рис.18. Блок схема.

Интерполяция - процесс повышения частоты дискретизации любое целое число


раз.
Концептуально интерполяция состоит в генерации непрерывной кривой
, которая проходит через точки, соответствующие значениям отсчетов
, как показано на рисунке 18(a), с последующей дискретизацией
этой кривой с новой частотой дискретизации для получения
интерполированной последовательности на рисунке 18(b). Для
повышения заданной частоты дискретизации в M раз нам необходимо
вычислить M-1 промежуточных значений между каждыми двумя соседними
отсчетами .

21
Рис. 19 Преобразование частоты дискретизации: (a) исходная последовательность; (b)
последовательность, частота дискретизации которой увеличена в три раза.

Децимация - процесс понижения частоты дискретизации любое целое число


раз.
Мы можем проредить, или понизить частоту дискретизации,
последовательность дискретных отсчетов в Dраз, выбрав каждый D-й отсчет и
отбросив все остальные отсчеты. По отношению к исходной частоте
дискретизации, fold, новая частота дискретизации равна

(1)
Например, чтобы проредить последовательность в три раза (D=3),
мы оставляем и отбрасываем и ,
сохраняем и отбрасываем и и так далее,
как показано на рисунке 1. Таким образом,
,где n=0;1;2и т.д. Результат такого процесса прореживания идентичен
результату исходной дискретизации с частотой для
получения .

22
Рис. 20 Преобразование частоты дискретизации: (a) – исходная последовательность; (b) –
прореженная в три раза последовательность

Изменение частоты дискретизации с коэффициентом M/D изображается в виде


схемы, показанной на рисунке 21(a). Операция повышения частоты,
обозначается как ↑M, состоит во введении M-1 нулевых отсчетовмежду парами
отсчетов . Замечательным свойством этой процедуры является то,
что вычислительная сложность изменения частоты дискретизации с
рациональным коэффициентом M/D меньше, чем сумма вычислительных
сложностей интерполяции и последующего прореживания, выполняемых по
отдельности. Это объясняется тем, что мы можем объединить
интерполирующий фильтр LPFM и прореживающий фильтр LPFDв один фильтр,
который на рисунке 6(b)обозначен как LPFM/D. Процесс, изображенный на
рисунке 21(b) обычно называют преобразованием частоты дискретизации,
потому что, если M>D, мы имеем интерполятор, а при M<D мы имеем
устройство прореживания. Фильтр LPFM/D должен существенно подавлять
спектральные изображения, возникающие при интерполяции, чтобы вызванные
ими искажения полезного сигнала не превышали некоторого допустимого
уровня.

23
Рис. 21 Преобразование частоты дискретизации с рациональным коэффициентом: (a)
комбинация интерполяции и прореживания; (b) преобразование частоты дискретизации с
помощью единственного фильтра.

24
Список использованной литературы:

Митрошин, В.Н. Аппаратные средства СнК в задачах цифровой обработки


сигналов и управления : учебное пособие / В. Н. Митрошин, А. А. Узенгер;
Самарский государственный технический университет, Автоматика и
управление в технических системах.- Самара, 2020.- 119 с..

25