Добавил:
Если чем-то мне удалось вам помочь, то благодарность принимаю на эту карту: 2200 2460 1776 0607 Для защищенки 5 сем: https://t.me/+h5cc9QNQe19kODVi Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
эх_опять_курсач.docx
Скачиваний:
1
Добавлен:
15.04.2024
Размер:
477.84 Кб
Скачать

2.3 Разработка программы на языке ассемблера процессора adsp-2181

.section/dm vars;

.var/circ coef_b[5] = -5202, -208, -312, -208, -5202; // Коэффициенты b

.var/circ coef_a[5] = 4096, -12437, 14900, -8250, 1772; // Коэффициенты a

.var/circ simples[5] = 0, 0, 0, 0, 0; // Переменные simples и feedback остаются неизменными

.var/circ feedback[5] = 0, 0, 0, 0, 0;

.section/pm program;

jump main; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

rti; rti; rti; rti;

jump iir; rti; rti; rti;

rti; rti; rti; rti;

main:

ena m_mode;

mr = 0;

I0 = simples;

L0 = length(simples);

I1 = coef_b; // Загружаем коэффициенты b

L1 = length(coef_b);

I2 = feedback;

L2 = length(feedback);

I3 = coef_a; // Загружаем коэффициенты a

L3 = length(coef_a);

M1 = 1;

M0 = 0;

ar = 4;

dm(0x3ffb) = ar;

ar = 999;

dm(0x3ffc) = ar;

dm(0x3ffd) = ar;

ifc = 0x00ff; nop;

ena timer;

imask = b#0000000001; nop;

end: jump end;

iir:

mr = 0;

CNTR = 4;

do c1 until CE;

mx0 = dm(I0, M1);

my0 = dm(I1, M1);

c1: mr = mr + mx0 * my0 (ss);

mx0 = dm(I0, M0);

my0 = dm(I1, M1);

mr = mr + mx0 * my0 (ss);

ax0 = IO(0);

dm(I0, M0) = ax0;

CNTR = 4;

do c2 until CE;

mx0 = dm(I2, M1);

my0 = dm(I3, M1);

c2: mr = mr + mx0 * my0 (ss);

mx0 = dm(I2, M0);

my0 = dm(I3, M1);

mr = mr + mx0 * my0 (ss);

mr = mr (rnd);

if mv sat mr;

dm(I2, M0) = mr1;

IO(1) = mr1;

rti;

2.4 Результаты работы программы

Проверим правильность работы фильтра, для этого сформируем и подадим на вход сигнал длительностью 1 секунд, имеющий постоянную амплитуду и линейное нарастание частоты от 0 до 4 кГц. Данный сигнал показан на рисунке 9. На рисунке 10 приведен сигнал на выходе фильтра.

Рисунок 10. ЛЧМ сигнал на выходе фильтра