[an error occurred while processing this directive]
Ну хорошо, что хоть не голубь...
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено st256 07 января 2005 г. 08:32
В ответ на: Ну ты и гусь, начал за здравие, Я - 10 циклов, Я - 5 циклов... Ну и покажи свое искусство, а мы посмотрим. отправлено Бомбардиръ 07 января 2005 г. 02:45


/////////////////////////////////////////////////////
//
// iir filter
//
// iir(descriptor* ddd, int* in, int* out );
//
// typedef struct{
// int num; // size of the block
// int a2; // koeff a2
// int a3; // koeff a3
// int inverse_a1; // koeff 1/a1
// int b1; // koeff b1
// int z1; // delay z1
// int z2; // delay z2
// int b2; // koeff b2
// int b3; // koeff b3
// } descriptor;
//
// r4 - pointer to descriptor
// r5 - pointer to input
// r6 - pointer to output
// r8 - a2 (matlab)
// r9 - a3 (matlab)
// r14 - b2 (matlab)
// r15 - b3 (matlab)
// r7 - (1/a1) (matlab)
// r13 - b1 (matlab)
// r10 - z1
// r11 - z2
//
/////////////////////////////////////////////////////

.text
.global _iir

_iir:
mov r13, %fmode // saving of registers
stu r13, r12, -1
mov r13, %guard
stu r13, r12, -1
mov r13, %loop0
stu r13, r12, -1

ldu r0, r4, 1 // context loading
add r0, -1
mov %loop0, r0
lddu r8, r4, 2
ldu r7, r4, 1
ldu r13, r4, 1

lddu r10, r4, 2
lddu r14, r4, 2
add r4, -4
bits %fmode, 2
bits %fmode, 4

iir_1: // filter body
xor.e r0, r0
xor.e r2, r2
ldu r1, r5, 1
shra.e r0, 2
mac2.a r10, r8
mac2.b r10, r14
mov r11, r10
mul.a r1, r7
mov r10, r1
mul.a r1, r13
add.e r2, r0
stu r3, r6, 1
agn0 iir_1

stdu r10, r4, 2 // context saving

mov r6, r12 // restoring of registers
add r6, 1
ldu r13, r6, 1
mov %loop0, r13
ldu r13, r6, 1
mov %guard,r13
ld r13, r6
mov %fmode,r13
mov r12, r6
ret

Вот хочу оптимизировать это, а Вы не хотите помочь. Стыдно, товарисч!

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru