FIR Filter jc

i

* Имя : FIR Filter

* Назначение: Тестовая прикладная задача фильтра

* с КИХ. Входным значением для фильтра является массив

* из 51 16-битного значения.

* Фильтр имеет 17-ый порядок

^^^^^^^^^^-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-k-kj

tifdef MSP430

#include <msp430xl3x.h>

#endif

#include <math.h>

* define FIRJLENGTH 17

const float COEFF[FIR_LENGTH] = {

-0.000091552734,

0.000305175781,

0.004608154297,

0.003356933594,

-0.025939941406,

-0.044006347656,

0.063079833984,

0.290313720703,

0.416748046875,

0.290313720703,

0.063079833984,

-0.044006347656,

-0.025939941406,

0.003356933594,

0.004608154297,

0.000305175781,

-0.000091552734 }; /* Текущий массив симулирует входные значения от АЦП*/

38 Библиотека Компэла


Глава 2. Сравнение микроконтроллеров семейства MSP430 с другими...

const unsigned int INPUT [] = {

0x0400, 0x0800, OxOCOO, 0x1000, 0x1400, 0x1800,

OxlCOO, 0x2000,

0x2400, 0x2000, OxlCOO, 0x1800, 0x1400, 0x1000,

OxOCOO, 0x0800,

0x0400, 0x0400, 0x0800, OxOCOO, 0x1000, 0x1400,

0x1800, OxlCOO,

0x2000, 0x2400, 0x2000, OxlCOO, 0x1800, 0x1400,

0x1000, OxOCOO,

0x0800, 0x0400, 0x0400, 0x0800, OxOCOO, 0x1000,

0x1400, 0x1800,

OxlCOO, 0x2000, 0x2400, 0x2000, OxlCOO, 0x1800,

0x1400, 0x1000, OxOCOO, 0x0800, 0x0400 };

void main(void) {

int i, у; /* Счетчик циклов*/

volatile float OUTPUT [36]; tifdef MSP430

WDTCTL=WDTPW+WDTHOLD; /^Остановка

сторожевого таймера*/ #endif

for(y=0; y<36;

for(i=0; i<FIR_LENGTH/2;

{

OUTPUT[у]=COEFF[i]*(INPUT[y+16-i]+

INPUT[y+i]);

};

OUTPUT[y]=OUTPUT[y]+(INPUT[y+16-i]

COEFF[i]); } return;

}

Matrix Multiplications

i

* Имя: Matrix Multiplication

* Назначение: Тестовая прикладная программа

* перемножения матриц 3x4 и 4x5.

* матрицы содержат 16-битные значения.

Библиотека Компэла


f& Texas