[an error occurred while processing this directive]
это не косинус, это просто входной сигнал я так обозвал :)
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

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

Отправлено O.L. 11 января 2005 г. 14:28
В ответ на: А как Вы получили такое значение cos? отправлено анализатор 11 января 2005 г. 13:51

Програмка тут не причем, я ее собственно и не смотрел, а просто взал значения из приведеных вами таблиц. Для метода, коим вы делаете кореляцию, эталонные таблицы синуса и косинуса расчитаны неверно.

А оптимальную частоту следует выбираеть исходя из возможностей контроллера и отношения сигнал/шум на входе. Нужно считать, или погонять модель в MatLab-е.
А для начала попробуйте хотя бы 16 отсчетов на период.

Ну и пример чего то похожего, приметительно к радиоканалу.


// - timer 2 interrupt -----------------------------------
void Timer2_ISR (void) interrupt 5 using 1
{
unsigned char comp,temp_w;
unsigned int temp_i;
comp = (CPT0CN&0x40)?0xf0:0; // samples
TF2H = 0; // clear Timer2 interrupt flag
if (m_TonesDeCode) // 146 Hz tone decode route
{
// tabble_scr means 0 to 256. 8 periodes of a ones period 146 Hz tone frequency
// start value sinx = 0x10; cosx = 0x18;
if (!(((unsigned char)sinx^comp)&0x10)) ++sin_count;
if (!(((unsigned char)cosx^comp)&0x10)) ++cos_count;
++sinx; ++cosx; ++tabble_scr;
if (!tabble_scr)
{
f_EventTimer2 = On;
temp_i = ((unsigned int)(sin_count*sin_count+cos_count*cos_count));
if (temp_i>0x031f) TRX_temp = 1;
else TRX_temp = 0;
}

в секции main инициализация всякий раз, когда нужно ловить эту частоту.
//--------------------------------------------------
sinx = 0x10; cosx = 0x18;
sin_count=0; cos_count=0;
m_TonesDeCode = On; tabble_scr = 0;
timer_val = (unsigned int)(SYSCLK/TONEsample +12);
//--------------------------------------------------


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

Ответы


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

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

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

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

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


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

E-mail: info@telesys.ru