Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Слайды.doc
Скачиваний:
4
Добавлен:
09.08.2019
Размер:
1.38 Mб
Скачать

Реализация бпф на микроконтроллере

Выборка данных их АЦП

// sample[] – массив 16-разрядных переменных

for i = 0 to (N-1)

begin

doADCSampleConversion()

// выборка входного сигнала в АЦП

sample[i] = read8BitSampleFromADC()

// чтение 8-разрядных данных из АЦП

end

for i = 0 to (N-1)

begin

if (sample[i] & 0x0080)

// Если 8-разрядная выборка отрицательная

sample[i] = sample[i] + 0xFF00// установить знак (-)

// 16-разрядного слова

end

Перестановка бит

i=x_n_re[ 1]; x_n_re[ 1]=x_n_re[128]; x_n_re[128]=i;

i=x_n_re[ 2]; x_n_re[ 2]=x_n_re[ 64]; x_n_re[ 64]=i;

i=x_n_re[ 3]; x_n_re[ 3]=x_n_re[192]; x_n_re[192]=i;

i=x_n_re[ 4]; x_n_re[ 4]=x_n_re[ 32]; x_n_re[ 32]=i;

...

i=x_n_re[207]; x_n_re[207]=x_n_re[243]; x_n_re[243]=i;

i=x_n_re[215]; x_n_re[215]=x_n_re[235]; x_n_re[235]=i;

i=x_n_re[223]; x_n_re[223]=x_n_re[251]; x_n_re[251]=i;

i=x_n_re[239]; x_n_re[239]=x_n_re[247]; x_n_re[247]=i;

Таблица для вычисления синуса и косинуса

const int cosLUT[N/2] = {+128,+127,+127,...,-127,-127,-127};

const int sinLUT[N/2] = {+0 ,+3 , +6,...,+9 , +6, +3};

Преобразование из комплексной в показательную форму

const unsigned char magnLUT[16][16] =

{

{0x00,0x10,0x20, ... ,0xd0,0xe0,0xf0},

{0x10,0x16,0x23, ... ,0xd0,0xe0,0xf0},

...

{0xe0,0xe0,0xe2, ... ,0xff,0xff,0xff},

{0xf0,0xf0,0xf2, ... ,0xff,0xff,0xff}

};

...

/* Вычисление x_n_re=abs(x_n_re) и x_n_im=abs(x_n_im) */

...

for(i=1; i<N_DIV_2; i++)

x_n_re[i] = magnLUT[x_n_re[i]>>11][x_n_im[i]>>11];

СТРУКТУРНАЯ СХЕМА НЕРЕКУРСИВНОГО ФИЛЬТРА

СТРУКТУРНЫЕ СХЕМЫ РЕКУРСИВНЫХ ФИЛЬТРОВ

ПРЯМАЯ ФОРМА

ПОСЛЕДОВАТЕЛЬНАЯ (КАСКАДНАЯ) ФОРМА

КАНОНИЧЕСКАЯ ФОРМА

ПЕРЕСТАНОВКА РЕКУРСИВНОЙ

И НЕРЕКУРСИВНОЙ ЧАСТЕЙ

ИТОГОВАЯ КАНОНИЧЕСКАЯ ФОРМА

ТРАНСПОНИРОВАННАЯ ФОРМА ФИЛЬТРА

ПРОМЕЖУТОЧНЫЙ ЭТАП

ТРАНСПОНИРОВАННАЯ ФОРМА

(DIRECT TRANSPOSED FORM II)

ТРАНСПОНИРОВАННАЯ ФОРМА

(DIRECT TRANSPOSED FORM I)

ПОСЛЕДОВАТЕЛЬНЫЕ (КАСКАДНЫЕ) ФОРМЫ

ПРЯМАЯ ФОРМА

КАНОНИЧЕСКАЯ ФОРМА

ТРАНСПОНИРОВАННАЯ ФОРМА

ЧАСТОТНАЯ ХАРАКТЕРИСТИКА ФИЛЬТРА

СИНТЕЗ КИХ-ФИЛЬТРА С ИСПОЛЬЗОВАНИЕМ ОКОННОЙ ФУНКЦИИИ

СИНТЕЗ С ПОМОЩЬЮ ПРЯМОУГОЛЬНОГО ОКНА

ИМПУЛЬСНАЯ ХАРАКТЕРИСТИКА ФНЧ

АЧХ ФИЛЬТРА

СИНТЕЗ С ПОМОЩЬЮ ОКНА ХЭММИНГА

ИМПУЛЬСНАЯ ХАРАКТЕРИСТИКА ФНЧ

АЧХ ФИЛЬТРА

FDATOOL –ГЛАВНОЕ ОКНО

ПРОЕКТИРОВАНИЕ ПОЛОСОВЫХ И РЕЖЕКТОРНЫХ ФИЛЬТРОВ С ОСПОЛЬЗОВАНИЕМ ФНЧ И ФВЧ

ПРОЕКТИРОВАНИЕ ФВЧ С ИСПОЛЬЗОВАНИЕМ ИМПУЛЬСНОЙ ХАРАКТЕРИСТИКИ ФНЧ

ИСХОДНЫЙ ФИЛЬТР

МЕТОД ИНВЕРСИИ СПЕКТРА

МЕТОД РЕВЕРСИРОВАНИЯ СПЕКТРА

АНАЛОГОВЫЕ ФИЛЬТРЫ-ПРОТОТИПЫ

ФИЛЬТР БАТТЕРВОРТА

ФИЛЬТР ЧЕБЫШЕВА 1-ГО РОДА

ФИЛЬТР ЧЕБЫШЕВА 2-ГО РОДА

ЭЛЛИПТИЧЕСКИЙ ФИЛЬТР

ФИЛЬТР БЕССЕЛЯ

ПРЕОБРАЗОВАНИЕ ФНЧ В ПОЛОСОВОЙ ФИЛЬТР

ИСХОДНЫЙ ФНЧ ПОЛОСОВОЙ ФИЛЬТР

ПРЕОБРАЗОВАНИЕ ФНЧ В РЕЖЕКТОРНЫЙ ФИЛЬТР

ИСХОДНЫЙ ФНЧ РЕЖЕКТРОНЫЙ ФИЛЬТР

Количество точек

Время выполнения

Intel Xeon – 2,4 ГГц

TMS320C6416-600 МГц

TMS320C62x

Stratix

Тактов

(мкс)

ADSP-

TS201 TigerSHARC

8051 SilLabs, fT=50 МГц

256

6952

256 (1,06 )

2402

33 мс

1024

18 мкс

11 мкс

34651

1024 (2,0)

11662

169 мс

2048

76010

2048 (4,03)

25316