Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
adsp-21364 ez-kit.пример blockbased talkthru.проблема
Отправлено
Борис 14 октября 2008 г. 00:31
Здравствуйте! Столкнулся с проблемой в примере talkthru.
#include "tt.h"
// Place the audio processing algorith here. The input and output are given
// as unsigned integer pointers.
void processBlock(unsigned int *block_ptr)
{
int i;
float temp_out;
//Clear the Block Ready Semaphore
blockReady = 0;
//Set the Processing Active Semaphore before starting processing
isProcessing = 1;
for(i=0;i<NUM_SAMPLES;i++)
{
*(block_ptr+i) = *(block_ptr+i);
}
//Clear the Processing Active Semaphore after processing is complete
isProcessing = 0;
}
Пытаюсь поделить амплитуду выходного сигнала, так
for(i=0;i<NUM_SAMPLES;i++)
{
temp_out=*(block_ptr+i);
temp_out = temp_out / n;
(block_ptr+i)=temp_out;
}
n - делитель. Судя по показаниям осцилографа, происходит переполнение. Нету четкого выходного сигнала. Тоже самое происходить, если умножать на нецелое число. Я недавно начал изучать VisualDSP и ЦОС. Думаю, что умножать и делить числа с плавающей точной нужно несколько иначе. Жду Ваших советов. Спасибо!
Составить ответ | Вернуться на конференцию
Ответы