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

 
 
> FIR i IIR фильтры, Не совсем понятна реализация
sigmaN
сообщение Aug 2 2008, 20:10
Сообщение #1


I WANT TO BELIEVE
******

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



Второй день мучаюсь, не могу до конца понять логики работы функции
Код
void fir_mem16(const float *x, const float *num, float *y, int N, int ord, float *mem, char *stack)
{
   int i,j;
   float xi,yi;

   for (i=0;i<N;i++)
   {
      xi=x[i];
      y[i] = x[i]+mem[0];

      for (j=0;j<ord-1;j++)
      {
         mem[j] = mem[j+1]+num[j]*xi;
      }
      mem[ord-1] = num[ord-1]*xi;
   }
}

Говорят, это FIR в Direct Form 2 transponded. Я никак не могу проследить работу с этим mem.
Смысл, то вроде понятен: умножить входящий сигнал на коефициенты и сложить всё это. И так для каждого отсчёта. Помогите перевести эту фунуцию в более читабельный вид.
т.е., я думаю в DF1. Я пытался, но у меня изза недостатка опыта ничего не выходит.
я думаю, в Direct form 1 будет проще её считать на DSP, c использованием операции MAC...


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

Сообщений в этой теме
- sigmaN   FIR i IIR фильтры   Aug 2 2008, 20:10


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

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 23:16
Рейтинг@Mail.ru


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