[an error occurred while processing this directive]
rfft_fr16 и adsp219x
(«Телесистемы»: Конференция «Цифровые сигнальные процессоры (DSP) и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено denis_ya 24 марта 2004 г. 12:53

#define PNT 16

// sin
fract16 inp[PNT] = {0x0000, 0x30FA, 0x5A81, 0x7641,
0x7FFF, 0x7641, 0x5A81, 0x30FA,
0x0000, 0xCF06, 0xA57F, 0x89BF,
0x8000, 0x89BF, 0xA57F, 0xCF06};
complex_fract16 out[PNT];
complex_fract16 tmp[PNT];
complex_fract16 twid[PNT];
int block_exponent;


void main(void)
{
twidfft_fr16(twid, PNT);
rfft_fr16(inp, tmp, out, twid, 1, PNT, &block_exponent, 0);
} // void main(void)


Не могу понять, что выдает библиотечная функуция rfft_fr16.
Входное воздействие - один период синуса в формате 1.15,
соответственно ожидаю, что на выходе будет только одна,
первая не нулевая амплитуда, а получается вот что:

[0] = 3.05176e-005
[1] = 0.986877
[2] = 3.05176e-005
[3] = 0.486816
[4] = 3.05176e-005
[5] = 0.546417
[6] = 3.05176e-005
[7] = 0.166534

т.е. первая гармоника как и ожидалось, но откуда взялись такие
большие 3, 5 и 7 гармоники? Наложение окна не помогает, да оно
тут и не нужно по-моему, поскольку в выборку уместился целый период,
более того, после наложения окна в выходном спектре получается
ещё больше гармоник, амплитуда которых близка к амплитуде основной
гармоники.



Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru