Motorola ONCE SC140 User Manual

Page 26

Advertising
background image

A-4

Using the SC140 Enhanced OnCE Stopwatch Timer

Code A-4. autocorr.c

#include "EOnCE_stopwatch.h"
#include <prototype.h>
#include <stdio.h>

#define L_WINDOW 240
# define SIGN_32 (1U << 31U)

Word16 Autocorr (Word16 x[], Word16 m, Word16 r_h[], Word16 r_l[],
const Word16 wind[]);
void L_Extract (Word32, Word16 *, Word16 *);

Word16 test_x[240] =
{
-116, -179, -258, -128, 321, 714, 757, 640, 648, 867, 840, 1181,
1071, 786, 760, 617, 803, 697, 559, 64, 164, 492, 437, 413, 167,
-170, -75, 97, 27, 546, 618, 103, 51, 371, 104, -410, -387, -178,
-151, -180, -213, -295, -430, -369, -268, -407, -387, -171, -217,
-121, 74, -385, -651, -651, -296, -215, 178, 135, -127, -210, -195,
105, 78, -270, -141, 271, 99, 135, 204, -8, -302, -160, -82, -389,
-737, -616, -435, -521, -500, -396, -248, -293, -121, 263, 129, 203,
584, 654, 659, 826, 452, -263, -468, -345, -208, -204, 0, 502, 518,
323, 600, 422, -2, -6, 224, 206, 110, 4, -159, -478, -762, -806,
-1008, -912, -412, 160, 374, 240, 154, 93, -71, -101, 84, 14, 107,
71, -239, -365, -337, -718, -1042, -312, 188, 509, 647, 413, 442,
530, 525, 295, -160, -538, -326, 388, 658, 396, 211, 242, 424, 250,
310, 425, -21, -190, 362, 510, 68, -210, -361, -668, -269, 33, -126,
-259, 4, 109, 327, 509, 220, -216, -404, -132, 151, -68, -248, -185,
-170, -257, -160, -252, -301, 282, 575, 557, 897, 835, 373, 58,
-192, -249, -347, -390, -198, -169, -206, -123, -91, -17, 54, -48,
281, 484, 377, 318, 377, 470, -15, -461, -360, -445, -464, -682,
-759, -529, 85, 232, 198, 485, 907, 426, 319, 810, 1056, 648, 188,
1, -578, -790, -568, -84, -7, -188, -74, -166, -38, 213, 13, -168,
101, -47
};

Word16 test_m = 10;

Word16 test_r_h[11] =
{
28714, 21991, 11202, 4479, -494, -4007, -5339, -6829, -8122, -6165, -1943
};

Word16 test_r_l[11] =
{
11232, 3256, 3463, 16354, 6929, 13451, 31455, 6034, 19039, 21655, 2132
};

Word16 test_wind[240] =
{
2621, 2623, 2627, 2634, 2644, 2656, 2671, 2689, 2710, 2734, 2760,
2789, 2821, 2855, 2893, 2933, 2975, 3021, 3069, 3120, 3173, 3229,
3288, 3350, 3414, 3481, 3550, 3622, 3697, 3774, 3853, 3936, 4021,
4108, 4198, 4290, 4385, 4482, 4582, 4684, 4788, 4895, 5004, 5116,
5230, 5346, 5464, 5585, 5708, 5833, 5960, 6090, 6221, 6355, 6491,
6629, 6769, 6910, 7054, 7200, 7348, 7498, 7649, 7803, 7958, 8115,
8274, 8434, 8597, 8761, 8926, 9093, 9262, 9432, 9604, 9778, 9952,
10129, 10306, 10485, 10665, 10847, 11030, 11214, 11399, 11586,
11773, 11962, 12152, 12342, 12534, 12727, 12920, 13115, 13310,
13506, 13703, 13901, 14099, 14298, 14497, 14698, 14898, 15100,
15301, 15504, 15706, 15909, 16112, 16316, 16520, 16724, 16928,
17132, 17337, 17541, 17746, 17950, 18155, 18359, 18564, 18768,
18972, 19175, 19379, 19582, 19785, 19987, 20189, 20390, 20591,
20792, 20992, 21191, 21390, 21588, 21785, 21981, 22177, 22372,
22566, 22759, 22951, 23143, 23333, 23522, 23710, 23897, 24083,
24268, 24451, 24633, 24814, 24994, 25172, 25349, 25525, 25699,
25871, 26042, 26212, 26380, 26546, 26711, 26874, 27035, 27195,
27353, 27509, 27664, 27816, 27967, 28115, 28262, 28407, 28550,
28691, 28830, 28967, 29102, 29234, 29365, 29493, 29619, 29743,
29865, 29985, 30102, 30217, 30330, 30440, 30548, 30654, 30757,
30858, 30956, 31052, 31146, 31237, 31326, 31412, 31495, 31576,
31655, 31730, 31804, 31874, 31942, 32008, 32071, 32131, 32188,
32243, 32295, 32345, 32392, 32436, 32477, 32516, 32552, 32585,
32615, 32643, 32668, 32690, 32709, 32726, 32740, 32751, 32759,
32765, 32767, 32767, 32097, 30112, 26895, 22576, 17333, 11380, 4962
};

Word16 ref_result = 6;

void PLL_setup_300MHz()
{
asm("move.l #$80030003,PCTL0");

Advertising