Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Типовые алгоритмы DSP
Фильтр с конечной импульсной характеристикой
. (2.1)
Фильтр с бесконечной импульсной характеристикой
. (2.2)
Свертка . (2.3)
Дискретное преобразование Фурье
. (2.4)
Дискретное косинусное преобразование
. (2.5)
Почти все алгоритмы Цифровой Обработки Сигналов содержат формулу суммы произведений (SOP). Два массива “данных” и “коэффициентов” умножаются попарно и суммируются вместе. В зависимости от типа данных входных массивов необходимо решать эти уравнения либо с плавающей точкой или в математике целого числа.
. (2.6)
Если воспользоваться ПЭВМ и программой, реализующей уравнение (2.6) на языке C, например для Microsoft Visual Studio то получим следующий текст программы:
#include <stdio.h> int data[4]={1,2,3,4}; int coeff[4]={8,6,4,2}; int main(void) {
int i; int result =0; for (i=0;i<4;i++) result += data[i]*coeff[i]; printf("%i",result); return 0;
}
Эта же программа SOP для микроконтроллера будет иметь вид:
Адрес Мнемоника Ассемблерные инструкции 10: for (i=0;i<4;i++) 00411960 C7 45 FC 00 00 00 00 mov dword ptr [i],0 00411967 EB 09 jmp main+22h (411972h) 00411969 8B 45 FC mov eax,dword ptr [i] 0041196C 83 C0 01 add eax,1 0041196F 89 45 FC mov dword ptr [i],eax 00411972 83 7D FC 04 cmp dword ptr [i],4 00411976 7D 1F jge main+47h (411997h) 11: result += data[i]*coeff[i];
00411978 8B 45 FC mov eax,dword ptr [i] 0041197B 8B 4D FC mov ecx,dword ptr [i] 0041197E 8B 14 85 40 5B 42 00 mov edx,dword ptr[eax*4+425B40h] 0411985 0F AF 14 8D 50 5B 42 00imul edx,dword ptr[ecx*4+425B50h] 0041198D 8B 45 F8 mov eax,dword ptr [result] 00411990 03 C2 add eax,edx 00411992 89 45 F8 mov dword ptr [result],eax 00411995 EB D2 jmp main+19h (411969h)
Эта же программа SOP для DSP будет иметь вид:
Адрес Мнемоника Ассемблерные инструкции 0x8000 FF69 SPM 0 0x8001 8D04 0000R MOVL XAR1,#data 0x8003 76C0 0000R MOVL XAR7,#coeff 0x8005 5633 ZAPA 0x8006 F601 RPT #1 0x8007 564B 8781 || DMAC ACC:P,*XAR1++,*XAR7++ 0x8009 10AC ADDL ACC,P<<PM 0x800A 8D04 0000R MOVL XAR1,#y 0x800B 1E81 MOVL *XAR1,ACC
Обратите внимание на использование запоминающего устройства и число циклов выполнения. А DSP должен вычислять SOP в реальном времени. Цифровой сигнальный контроллер (DSC) – новый вид микроконтроллеров, где в единственной микросхеме комбинируются вычислительная возможность Микропроцессора Цифровой Обработки Сигнала (DSP) и внешние устройства микроконтроллера. Для приложений работающих в реальном времени с большим количеством математических вычислений DSC – лучший выбор.
|