?? cor.c
字號:
/**************************************************************************
*
* NAME
* cor
*
* FUNCTION
*
* compute auto-correlation coefficients by direct multiplication
*
* SYNOPSIS
*
* subroutine cor(rar, idim, n, c0, c)
*
* formal
* data I/O
* name type type function
* -------------------------------------------------------------------
* rar float i Input data frame
* idim int i frame size
* n int i Number of correlation terms,
* exclusive C0
* c0 float o C(0)
* c float o Auto correlation terms C(i), i=1,n
*
***************************************************************************
*
* DESCRIPTION
*
* COR computes the autocorrelation coefficients of the data
* sequence rar according to the following formula:
*
* idim
* C(i) = SUM rar(k) * rar(k-i) , where i = 0, ..., n lags
* k=i+1
*
* c0 = C(0)
*
* NOTE: rar(k-i) is truncated, so C(i) are true autocorrelations.
*
***************************************************************************
*
* CALLED BY
*
* autohf distortion
*
* CALLS
*
*
*
**************************************************************************/
cor(rar, idim, n, c0, c)
int idim, n;
float *rar, *c0, *c;
{
register int i, k;
/*
for (*c0 = 0.0, i = 0; i < idim; i++)
*c0 += *(rar+i) * *(rar+i);
*/
register float ar = 0.0, *tmp;
float *tmp1;
#define STEP(K) tmp = K + rar; ar += *tmp * *tmp;
STEP(0); STEP(1); STEP(2); STEP(3); STEP(4); STEP(5);
STEP(6); STEP(7); STEP(8); STEP(9); STEP(10); STEP(11);
STEP(12); STEP(13); STEP(14); STEP(15); STEP(16); STEP(17);
STEP(18); STEP(19); STEP(20); STEP(21); STEP(22); STEP(23);
STEP(24); STEP(25); STEP(26); STEP(27); STEP(28); STEP(29);
STEP(30); STEP(31); STEP(32); STEP(33); STEP(34); STEP(35);
STEP(36); STEP(37); STEP(38); STEP(39); STEP(40); STEP(41);
STEP(42); STEP(43); STEP(44); STEP(45); STEP(46); STEP(47);
STEP(48); STEP(49); STEP(50); STEP(51); STEP(52); STEP(53);
STEP(54); STEP(55); STEP(56); STEP(57); STEP(58); STEP(59);
STEP(60); STEP(61); STEP(62); STEP(63); STEP(64); STEP(65);
STEP(66); STEP(67); STEP(68); STEP(69);
STEP(70); STEP(71); STEP(72); STEP(73); STEP(74); STEP(75);
STEP(76); STEP(77); STEP(78); STEP(79);
STEP(80); STEP(81); STEP(82); STEP(83); STEP(84); STEP(85);
STEP(86); STEP(87); STEP(88); STEP(89);
STEP(90); STEP(91); STEP(92); STEP(93); STEP(94); STEP(95);
STEP(96); STEP(97); STEP(98); STEP(99);
STEP(100); STEP(101); STEP(102); STEP(103); STEP(104);
STEP(105); STEP(106); STEP(107); STEP(108); STEP(109);
STEP(110); STEP(111); STEP(112); STEP(113); STEP(114);
STEP(115); STEP(116); STEP(117); STEP(118); STEP(119);
STEP(120); STEP(121); STEP(122); STEP(123); STEP(124);
STEP(125); STEP(126); STEP(127); STEP(128); STEP(129);
STEP(130); STEP(131); STEP(132); STEP(133); STEP(134);
STEP(135); STEP(136); STEP(137); STEP(138); STEP(139);
STEP(140); STEP(141); STEP(142); STEP(143); STEP(144);
STEP(145); STEP(146); STEP(147); STEP(148); STEP(149);
STEP(150); STEP(151); STEP(152); STEP(153); STEP(154);
STEP(155); STEP(156); STEP(157); STEP(158); STEP(159);
STEP(160); STEP(161); STEP(162); STEP(163); STEP(164);
STEP(165); STEP(166); STEP(167); STEP(168); STEP(169);
STEP(170); STEP(171); STEP(172); STEP(173); STEP(174);
STEP(175); STEP(176); STEP(177); STEP(178); STEP(179);
STEP(180); STEP(181); STEP(182); STEP(183); STEP(184);
STEP(185); STEP(186); STEP(187); STEP(188); STEP(189);
STEP(190); STEP(191); STEP(192); STEP(193); STEP(194);
STEP(195); STEP(196); STEP(197); STEP(198); STEP(199);
STEP(200); STEP(201); STEP(202); STEP(203); STEP(204);
STEP(205); STEP(206); STEP(207); STEP(208); STEP(209);
STEP(210); STEP(211); STEP(212); STEP(213); STEP(214);
STEP(215); STEP(216); STEP(217); STEP(218); STEP(219);
STEP(220); STEP(221); STEP(222); STEP(223); STEP(224);
STEP(225); STEP(226); STEP(227); STEP(228); STEP(229);
STEP(230); STEP(231); STEP(232); STEP(233); STEP(234);
STEP(235); STEP(236); STEP(237); STEP(238); STEP(239);
*c0 = ar;
for (i = 0; i < n; i++)
{
tmp = c + i;
for (*tmp = 0.0, k = i+1; k < idim; k++)
{
tmp1 = rar+k;
*tmp += *tmp1 * *(tmp1-i-1);
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -