Размер слова процессора DSP - PullRequest
0 голосов
/ 23 декабря 2011

Я хочу реализовать что-то для этого процессора DSP. http://www.onsemi.com/pub_link/Collateral/BELASIGNA300-D.PDF вот его таблица ..

Вот одна из функций, которую я хочу реализовать ... все переменные имеют 16-битное целое число, кроме mem [j], которое является 32-битным целым (на моем компьютере). (Арифметика с фиксированной точкой) Это БИХ-фильтр (прямая форма 2 транспонированная)

Глядя на страницы 15-16, я не знаю, смогу ли я сохранить int32. Потому что я вижу автобусы разных размеров .. 48,24,32 ..

Если это 24, то это не будет работать, потому что значения mem [j] превышают 24 бита ...
Он имеет 56-битный аккумулятор, так что все в порядке, но я не знаю, можно ли его сохранить в памяти (32 бита или 48 от аккумулятора) ..
У меня еще нет оценочной комиссии и документов.

Так что мой вопрос в том, поддерживает ли он более 24 бит, или есть изменение в коде, которое я мог бы сделать ...

void filter_mem16(const spx_word16_t *x, const spx_coef_t *num, 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 xi,yi,nyi;          

       for (i=0;i<N;i++)
       {
          xi= x[i];
          //yi=saturate (x[i]+mem[0]>>13) 
          yi = EXTRACT16(SATURATE(ADD32(EXTEND32(x[i]),PSHR32(mem[0],LPC_SHIFT)),32767));

          //nyi=-yi
          nyi = NEG16(yi);
          for (j=0;j<ord-1;j++)
          {
             //mem[j]= (num[j] *xi + mem[j+1]) + den[j] * nyi
             mem[j] = MAC16_16(MAC16_16(mem[j+1], num[j],xi), den[j],nyi);            

          }

          //mem[ord-1]=(num[ord-1] * xi)  +   (den[ord-1] *nyi)
          mem[ord-1] = ADD32(MULT16_16(num[ord-1],xi), MULT16_16(den[ord-1],nyi));        

          y[i] = yi;
       }
    }

1 Ответ

0 голосов
/ 04 января 2012

Вероятно, он поддерживает 32-битные целые числа - он просто будет выполнять обработку медленнее, поэтому вы должны минимизировать количество 32-битных целочисленных операций и 32-битных целочисленных операций.

В техпаспорте сказано, что у чипа есть выделенная IDE. Документация IDE и / или компилятор должны быть в состоянии сказать вам, поддерживаются ли 32-битные числа или нет.

...