home *** CD-ROM | disk | FTP | other *** search
- ************************************************************
- *
- * FOURTH-ORDER IIR
- * ELLIPTIC LOWPASS FILTER
- *
- * DIRECT-FORM II STRUCTURE
- *
- * FILTER CHARACTERISTICS
- *
- * SAMPLING FREQUENCY = 10 KHZ
- *
- * BAND 1 BAND 2
- *
- * LOWER BAND EDGE 0.00000 2.75000
- * UPPER BAND EDGE 2.50000 5.00000
- * NOMINAL GAIN 1.00000 0.00000
- * NOMINAL RIPPLE 0.06000 0.06000
- * MAXIMUM RIPPLE 0.05617 0.05514
- * RIPPLE IN DB 0.47469 -25.17089
- *
- *
- * FILTER STRUCTURE
- *
- *
- * b
- * 0
- * o--->---o---->----o---->----o--->---o
- * x(n) | | -1 | y(n)
- * ^ a v z b ^
- * | 1 | 1 |
- * o----<----o---->----o
- * | | -1 |
- * ^ a v z b ^
- * | 2 | 2 |
- * o----<----o---->----o
- * | | -1 |
- * ^ a v z b ^
- * | 3 | 3 |
- * o----<----o---->----o
- * | | -1 |
- * ^ a v z b ^
- * | 4 | 4 |
- * o----<----o---->----o
- *
- *
- *
- ************************************************************
- *
- * CYCLES | EXECUTION TIME | PROGRAM MEMORY | DATA MEMORY
- * | (MICROSECONDS) | (WORDS) | (WORDS)
- * -------|----------------|----------------|------------
- * | | |
- * 24 | 4.8 | 24 | 16
- * | | |
- * ------------------------------------------------------
- *
- * (EXCLUDING I/O AND INITIALIZATION)
- *
- ************************************************************
- *
- IDT 'IIR4DIR'
- DN EQU 0
- DNM1 EQU 1
- DNM2 EQU 2
- DNM3 EQU 3
- DNM4 EQU 4
- *
- A1 EQU 5
- A2 EQU 6
- A3 EQU 7
- A4 EQU 8
- *
- B0 EQU 9
- B1 EQU 10
- B2 EQU 11
- B3 EQU 12
- B4 EQU 13
- *
- MODE EQU 14
- CLOCK EQU 15
- YN EQU 18
- XN EQU 19
- ONE EQU 20
- *
- AORG 0
- *
- B START
- *
- * COEFFICIENTS ARE INITIALLY *
- * STORED IN PROGRAM MEMORY *
- *
- CA1 DATA >3845 * 0.4396070 *
- *
- * * A2 = -1.172416. THE -1.0 TERM *
- CA2 DATA >E9EE * IS IMPLEMENTED WITH A SUB AND *
- * * A2 CONTAINS -0.172416 = >E9EE. *
- *
- CA3 DATA >3167 * 0.3859772 *
- CA4 DATA >DDC1 * -0.2675277 *
- *
- CB0 DATA >17FA * 0.1873279 *
- CB1 DATA >2B02 * 0.3360168 *
- CB2 DATA >3D1F * 0.4775291 *
- CB3 DATA >2AFF * 0.3359135 *
- CB4 DATA >17F3 * 0.1871291 *
- *
- 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,10 * THE FILTER COEFFICIENTS AND *
- LACK SMP * OTHER VALUES FROM PROGRAM *
- LOAD LARP AR0 * MEMORY TO DATA MEMORY *
- TBLR *-,AR1
- SUB ONE
- BANZ LOAD
- *
- ZAC * THIS SECTION SETS THE *
- SACL DN * INITIAL STATE OF THE *
- SACL DNM1 * FILTER TO ZERO *
- SACL DNM2
- SACL DNM3
- SACL DNM4
- *
- OUT MODE,PA0 * INITIALIZATION OF ANALOG *
- OUT CLOCK,PA1 * INTERFACE BOARD *
- *
- 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 *
- *
- * * IMPLEMENTATION OF SYSTEM POLES *
- LAC XN,15
- *
- LT DNM1
- MPY A1 * d(n-1) * a *
- * 1
- LTA DNM2 * THIS SECTION IS EQUIVALENT TO *
- MPY A2 * -1.172416 * DNM2. THE -1.0 *
- SUB DNM2,15 * TERM IS IMPLEMENTED WITH THE *
- * * SUB DNM2,15 AND A2 CONTAINS *
- * * -0.172416 = >E9EE. *
- *
- LTA DNM3
- MPY A3
- *
- LTA DNM4
- MPY A4
- *
- APAC
- *
- SACH DN,1
- *
- ZAC
- *
- MPY B4 * IMPLEMENTATION OF SYSTEM ZEROES *
- *
- LTD DNM3
- MPY B3 * d(n-3) * b *
- * 3
- LTD DNM2
- MPY B2
- *
- LTD DNM1
- MPY B1
- *
- LTD DN
- MPY B0
- *
- APAC
- *
- SACH YN,1 * FINISHED FILTER *
- *
- OUT YN,PA2 * OUTPUT THE FILTER RESPONSE y(n) *
- *
- B WAIT * GO GET THE NEXT POINT *
- *
- END