Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЦПОС - Методические указания к курсовому проект...doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
960.51 Кб
Скачать

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 ; параллельный порт, используемый для вывода

; отсчетов фильтра