реклама на сайте
подробности

 
 
> Помогите разобраться с цифровыми фильтрами, direct form II T конвертировать в direct form I
sigmaN
сообщение Aug 1 2008, 20:01
Сообщение #1


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



Нужно разобраться с FIR IIR фильтрами. Помогите литературой/советами.
Задача сейчас: переписать функцию, реализующую direct form 2 transposed в direct form I с максимальной оптимизацией.
Слышал, что в direct form I можно больше использовать MAC и выиграть в производительности.

На данный момент iir функция выглядит так:
Код
#define MAC16_16(c,a,b)     ((c)+(a)*(b))
void iir_mem16(const spx_word16_t *x, const spx_coef_t *den, spx_word16_t *y, int N, int ord, spx_mem_t *mem, char *stack)
{
  int i,j;
   spx_word16_t yi,nyi;

   for (i=0;i<N;i++)
   {
      yi = x[i]+mem[0];
      nyi = -yi;
      for (j=0;j<ord-1;j++)
      {
         mem[j] = MAC16_16(mem[j+1],den[j],nyi);
      }
      mem[ord-1] = den[ord-1]*nyi;
      y[i] = yi;
   }
}


Нужна любая информация. Как теория, так и практические советы.


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th August 2025 - 17:11
Рейтинг@Mail.ru


Страница сгенерированна за 0.0142 секунд с 7
ELECTRONIX ©2004-2016