home *** CD-ROM | disk | FTP | other *** search
- ************************************************************
- *
- * FIR FILTER
- * LENGTH-60 DIFFERENTIATOR
- *
- * FILTER CHARACTERISTICS
- *
- * SAMPLING FREQUENCY = 10 KHZ
- *
- * LOWER BAND EDGE 0.0000
- * UPPER BAND EDGE 5.0000
- * DESIRED SLOPE 0.4800
- * MAX % DEVIATION 0.3171
- *
- * FILTER STRUCTURE
- *
- *
- * -1 -1 -1
- * z z z
- * o--->---o--->---o--->---o---> - - -o---->---o
- * x(n) | | | | |
- * | | | | |
- * v h(0) v h(1) v h(2) v h(N-2) v h(N-1)
- * | | | | |
- * | | | | |
- * o--->---o--->---o---> - - -o---->---o--->---o
- * y(n)
- *
- ************************************************************
- *
- * CYCLES | EXECUTION TIME | PROGRAM MEMORY | DATA MEMORY
- * | (MICROSECONDS) | (WORDS) | (WORDS)
- * -------|----------------|----------------|------------
- * | | |
- * 243 | 48.6 | 11 | 120
- * | | |
- * ------------------------------------------------------
- *
- * (EXCLUDING I/O AND INITIALIZATION)
- *
- ************************************************************
- *
- IDT 'FIRDIF'
- XN EQU 0
- XNM1 EQU 1
- XNM2 EQU 2
- XNM3 EQU 3
- XNM4 EQU 4
- XNM5 EQU 5
- XNM6 EQU 6
- XNM7 EQU 7
- XNM8 EQU 8
- XNM9 EQU 9
- XNM10 EQU 10
- XNM11 EQU 11
- XNM12 EQU 12
- XNM13 EQU 13
- XNM14 EQU 14
- XNM15 EQU 15
- XNM16 EQU 16
- XNM17 EQU 17
- XNM18 EQU 18
- XNM19 EQU 19
- XNM20 EQU 20
- XNM21 EQU 21
- XNM22 EQU 22
- XNM23 EQU 23
- XNM24 EQU 24
- XNM25 EQU 25
- XNM26 EQU 26
- XNM27 EQU 27
- XNM28 EQU 28
- XNM29 EQU 29
- XNM30 EQU 30
- XNM31 EQU 31
- XNM32 EQU 32
- XNM33 EQU 33
- XNM34 EQU 34
- XNM35 EQU 35
- XNM36 EQU 36
- XNM37 EQU 37
- XNM38 EQU 38
- XNM39 EQU 39
- XNM40 EQU 40
- XNM41 EQU 41
- XNM42 EQU 42
- XNM43 EQU 43
- XNM44 EQU 44
- XNM45 EQU 45
- XNM46 EQU 46
- XNM47 EQU 47
- XNM48 EQU 48
- XNM49 EQU 49
- XNM50 EQU 50
- XNM51 EQU 51
- XNM52 EQU 52
- XNM53 EQU 53
- XNM54 EQU 54
- XNM55 EQU 55
- XNM56 EQU 56
- XNM57 EQU 57
- XNM58 EQU 58
- XNM59 EQU 59
- *
- H0 EQU 60
- H1 EQU 61
- H2 EQU 62
- H3 EQU 63
- H4 EQU 64
- H5 EQU 65
- H6 EQU 66
- H7 EQU 67
- H8 EQU 68
- H9 EQU 69
- H10 EQU 70
- H11 EQU 71
- H12 EQU 72
- H13 EQU 73
- H14 EQU 74
- H15 EQU 75
- H16 EQU 76
- H17 EQU 77
- H18 EQU 78
- H19 EQU 79
- H20 EQU 80
- H21 EQU 81
- H22 EQU 82
- H23 EQU 83
- H24 EQU 84
- H25 EQU 85
- H26 EQU 86
- H27 EQU 87
- H28 EQU 88
- H29 EQU 89
- H30 EQU 90
- H31 EQU 91
- H32 EQU 92
- H33 EQU 93
- H34 EQU 94
- H35 EQU 95
- H36 EQU 96
- H37 EQU 97
- H38 EQU 98
- H39 EQU 99
- H40 EQU 100
- H41 EQU 101
- H42 EQU 102
- H43 EQU 103
- H44 EQU 104
- H45 EQU 105
- H46 EQU 106
- H47 EQU 107
- H48 EQU 108
- H49 EQU 109
- H50 EQU 110
- H51 EQU 111
- H52 EQU 112
- H53 EQU 113
- H54 EQU 114
- H55 EQU 115
- H56 EQU 116
- H57 EQU 117
- H58 EQU 118
- H59 EQU 119
- *
- MODE EQU 120
- CLOCK EQU 121
- YN EQU 124
- ONE EQU 125
- *
- AORG 0
- *
- B START
- *
- * COEFFICIENTS ARE INITIALLY *
- * STORED IN PROGRAM MEMORY *
- *
- CH0 DATA >0030 * 0.146547E-02 *
- CH1 DATA >FFC2 * -0.186717E-02 *
- CH2 DATA >0015 * 0.670857E-03 *
- CH3 DATA >FFEF * -0.507893E-03 *
- CH4 DATA >000F * 0.476907E-03 *
- CH5 DATA >FFF0 * -0.482679E-03 *
- CH6 DATA >0010 * 0.505055E-03 *
- CH7 DATA >FFEE * -0.536698E-03 *
- CH8 DATA >0012 * 0.576256E-03 *
- CH9 DATA >FFEB * -0.624602E-03 *
- CH10 DATA >0016 * 0.681939E-03 *
- CH11 DATA >FFE7 * -0.750338E-03 *
- CH12 DATA >001B * 0.831878E-03 *
- CH13 DATA >FFE1 * -0.929373E-03 *
- CH14 DATA >0022 * 0.104702E-02 *
- CH15 DATA >FFD8 * -0.119041E-02 *
- CH16 DATA >002C * 0.136731E-02 *
- CH17 DATA >FFCB * -0.158880E-02 *
- CH18 DATA >003D * 0.187070E-02 *
- CH19 DATA >FFB6 * -0.223732E-02 *
- CH20 DATA >0059 * 0.272579E-02 *
- CH21 DATA >FF90 * -0.339682E-02 *
- CH22 DATA >008E * 0.435422E-02 *
- CH23 DATA >FF42 * -0.578642E-02 *
- CH24 DATA >0108 * 0.806880E-02 *
- CH25 DATA >FE75 * -0.120382E-01 *
- CH26 DATA >028B * 0.198777E-01 *
- CH27 DATA >FB04 * -0.389339E-01 *
- CH28 DATA >0DD6 * 0.108105E+00 *
- CH29 DATA >837E * -0.972714E+00 *
- CH30 DATA >7C81 * -CH29 *
- CH31 DATA >F229 * -CH28 *
- CH32 DATA >04FB * -CH27 *
- CH33 DATA >FD74 * -CH26 *
- CH34 DATA >018A * -CH25 *
- CH35 DATA >FEF7 * -CH24 *
- CH36 DATA >00BD * -CH23 *
- CH37 DATA >FF71 * -CH22 *
- CH38 DATA >006F * -CH21 *
- CH39 DATA >FFA6 * -CH20 *
- CH40 DATA >0049 * -CH19 *
- CH41 DATA >FFC2 * -CH18 *
- CH42 DATA >0034 * -CH17 *
- CH43 DATA >FFD3 * -CH16 *
- CH44 DATA >0027 * -CH15 *
- CH45 DATA >FFDD * -CH14 *
- CH46 DATA >001E * -CH13 *
- CH47 DATA >FFE4 * -CH12 *
- CH48 DATA >0018 * -CH11 *
- CH49 DATA >FFE9 * -CH10 *
- CH50 DATA >0014 * -CH9 *
- CH51 DATA >FFED * -CH8 *
- CH52 DATA >0011 * -CH7 *
- CH53 DATA >FFEF * -CH6 *
- CH54 DATA >000F * -CH5 *
- CH55 DATA >FFF0 * -CH4 *
- CH56 DATA >0010 * -CH3 *
- CH57 DATA >FFEA * -CH2 *
- CH58 DATA >003D * -CH1 *
- CH59 DATA >FFCF * -CH0 *
- *
- MD DATA >000A
- SMP DATA 499 * SAMPLING RATE OF 10 KHZ *
- *
- START LDPK 0
- *
- LACK 1
- SACL ONE * CONTENT OF ONE IS 1 *
- *
- LARK AR0,CLOCK * THIS SECTION OF CODE LOADS *
- LARK AR1,60 * THE FILTER COEFFICIENTS AND *
- LACK SMP * OTHER VALUES FROM PROGRAM *
- LOAD LARP AR0 * MEMORY TO DATA MEMORY *
- TBLR *-,AR1
- SUB ONE
- BANZ LOAD
- *
- OUT MODE,PA0 * INITIALIZATION OF ANALOG *
- OUT CLOCK,PA1 * INTERFACE BOARD *
- *
- LARP AR0 * SET ARP TO AR0 *
- *
- WAIT BIOZ NXTPT * BIO PIN GOES LOW WHEN A *
- B WAIT * NEW SAMPLE IS AVAILABLE *
- *
- NXTPT IN XN,PA2 * BRING IN THE NEW SAMPLE XN *
- *
- LARK AR0,XNM59 * AR0 POINTS TO THE INPUT SEQUENCE *
- LARK AR1,H59 * AR1 POINTS TO THE IMPULSE RESPONSE *
- *
- ZAC
- *
- LT *-,AR1
- MPY *-,AR0
- *
- LOOP LTD *,AR1
- MPY *-,AR0
- *
- BANZ LOOP
- *
- APAC * ACCUMULATE LAST MULTIPLY *
- *
- SACH YN,1
- *
- OUT YN,PA2 * OUTPUT THE FILTER RESPONSE y(n) *
- *
- B WAIT * GO GET THE NEXT POINT *
- *
- END