- •1. Задание на проектирование
- •1.1. Задача 1. Реализация ких-фильтра на процессоре tms320c50
- •1.2. Задача 2. Синтез и реализация ких-фильтра на процессоре tms320c50
- •1.3. Задача 3. Реализация бих-фильтра на процессоре tms320c50
- •1.4. Задача 4. Синтез и реализация бих-фильтра на процессоре tms320c50
- •2. Методические указания по выполнению задач
- •2.1.Составление программы
- •2.1.1. Программа реализации ких фильтра
- •2.1.2. Программа реализации бих фильтра
- •2.2.Отладка программы
- •2.3.Получение импульсной характеристики фильтра
- •2.4.Определение максимально возможной частоты дискретизации
- •3. Примеры программ
- •3.1.Программа реализации нерекурсивного фильтра
- •Inport .Set 50h ; параллельный порт, используемый для ввода
- •In inad,inport ; приём отсчета через входной порт
- •3.2. Командный файл компоновки
- •3.3.Программа реализации рекурсивного фильтра
- •3.3.1. Прямая форма
- •In1 .Word 0 ; входной отсчет
- •In inad,inport ; прием отсчета через порт ввода
- •3.3.2. Каноническая форма
- •In1 .Word 0 ; входной отсчет первого звена
- •In inad,inport ; прием отсчета через порт ввода
- •3.3.3. Трансформированная форма
- •In1 .Word 0 ; входной отсчет
- •3.4.Командный файл программного имитатора
- •4. Расчет фильтра с помощью пакета программ fd
- •5. Литература
- •Содержание
2.3.Получение импульсной характеристики фильтра
Эталонные значения ИХ фильтра, используемые для проверки правильности выполнения программы его реализации, снимаются в пакете FD и оформляются в виде таблицы значений в десятичной системе.
Значения выходного сигнала при программной реализации фильтра и использовании имитатора формируются в 16 – ричной системе в дополнительном коде. Для преобразования этих значений в десятичную систему счисления можно использовать программу data_convert.exe. При запуске программа запрашивает имя файла, содержащего данные, которые нужно преобразовать и имя файла, в который надо поместить преобразованные значения. Программа и преобразуемый файл должны находится в одной директории.
Для получения ИХ входной сигнал фильтра должен представлять единичный импульс (см. раздел 3.2).
2.4.Определение максимально возможной частоты дискретизации
Частота дискретизации сигнала определяется из следующих соображений: обработка процессором очередного отсчёта входного сигнала должна быть закончена до поступления следующего отсчета.
В реально функционирующей системе и вводе входного сигнала по прерываниям запрос на прерывания формируется ВУ при поступлении очередного отсчета на вход . При прерываниях по таймеру частота дискретизации определяется таймером.
Следовательно, при проверке фильтра на имитаторе моделируется ситуация, при которой частота дискретизации определяется заданным в соответствии с вариантом задания периодом прерываний, который заведомо больше времени выполнения программы.
Для определения максимально возможной частоты дискретизации необходимо определить время выполнения разработанной программы, причем не всей, а только той её части, которая повторяется при вычислении каждого выходного отсчета. Это можно сделать следующим образом.
Убрать из командного файла имитатора команду pinc подключения файла к входам INT процессора; при использовании прерываний по таймеру необходимо убрать из программы команды настройки таймера.
Запустить имитатор и загрузить программу
Установить точку останова на команду в петле ожидания (на команду с меткой LOOP).
Ввести счетчик тактов командой Clk.
Ввести запрос на прерывания в регистр IFR
Ввести команду RUN
Счетчик тактов покажет количество тактов n, затраченное на вычисление отсчета выходного сигнала и выполнение различных команд перехода.
При расчете времени выполнения и частоты дискретизации необходимо учитывать следующее. Командный цикл процессора Tk (длительность такта) равен 2/f , где f – тактовая частота работы процессора. Величину, показываемую счетчиком тактов необходимо разделить на 8 (для компенсации ошибки имитатора). Время выполнения программы будет равно
tвып = Tk * n / 8
3. Примеры программ
3.1.Программа реализации нерекурсивного фильтра
*Реализация КИХ фильтра (N-1) порядка (N коэффициентов)
.version 50
.global BUFFER2
.mmregs
* Задание значений символов, используемых в программе
N .set 17 ; к-во коэффициентов фильтра
OUTPORT .set 51h ; параллельный порт, используемый для вывода
; отсчетов фильтра
