Electronic Components Datasheet Search
  English  ▼

X  

AN540 Datasheet(PDF) 5 Page - Microchip Technology

Part # AN540
Description  Implementing IIR Digital Filters
PDF  17 Pages
Scroll/Zoom Zoom In 100%  Zoom Out
Manufacturer  MICROCHIP [Microchip Technology]
Direct Link  http://www.microchip.com
Logo MICROCHIP - Microchip Technology

AN540 Datasheet(HTML) 5 Page - Microchip Technology

  AN540 Datasheet HTML 1Page - Microchip Technology AN540 Datasheet HTML 2Page - Microchip Technology AN540 Datasheet HTML 3Page - Microchip Technology AN540 Datasheet HTML 4Page - Microchip Technology AN540 Datasheet HTML 5Page - Microchip Technology AN540 Datasheet HTML 6Page - Microchip Technology AN540 Datasheet HTML 7Page - Microchip Technology AN540 Datasheet HTML 8Page - Microchip Technology AN540 Datasheet HTML 9Page - Microchip Technology Next Button
Zoom Inzoom in Zoom Outzoom out
 5 / 17 page
background image
© 1993 Microchip Technology Inc.
DS00540B-page 5
Implementing IIR Digital Filters
4
;
MOVFP16
Dn_2,AARG
; D(n-2) = multiplier
MOVFP16
Ax2,BARG
; A2 = multiplicand
call
DblMult
; (ACCd,ACCc) = A2*D(n-2)
;
; Add product to output of 1st section
; Save result in 32 bit Accumulator
;
ADD32
DPX,ACC
;
;
Compute A1*D(n-1)
;
MOVFP16
Dn_1,AARG
; AARG = D(n-2) = multiplier
MOVFP16
Ax1,BARG
; BARG = A2 = multiplicand
call
DblMult
; (ACCd,ACCc) = A1*D(n-1)
;
; Compute A1*D(n-1) + A2*D(n-2) + output of previous section
;
multiplications already done, so simply perform a 32 bit add
;
of previously obtained multiplication results
;
ADD32
DPX,ACC
; ACC = A1*D(n-1)+A2*D(n-2)+(output of 1st
;
;
; save the upper 16 bits
of D(n) from the 32 bit accumulator
; left shift the result by 1, to adjust the decimal point after
; a Q15*Q15 multiplication
;
rlcf
ACC+B1,w
rlcf
ACC+B2,w
movwf
Dn
rlcf
ACC+B3,w
; decimal adjust ( mult by 2)
movwf
Dn+B1
;
; Compute B2 * [D(n) + D(n-2)]
;
if B0_EQUALS_B2
ADD16ACC Dn_2,Dn,AARG
; AARG = Dn + D(n-2) = multiplier
MOVFP16
Bx0,BARG
; BARG = A2 = multiplicand
call
DblMult
; (ACCd,ACCc) = B2*[D(n)+D(n-2)]
MOVPF32
DPX,ACC
else
MOVFP16
Bx0,BARG
MOVFP16
Dn,AARG
call
DblMult
; B0*D(n)
MOVPF32
DPX,ACC
MOVFP16
Bx2,BARG
MOVFP16
Dn_2,AARG
call
DblMult
; B2*D(n-2)
ADD32
DPX,ACC
endif
;
; Shift down D(n-1) to D(n-2) after D(n-2) usage is no longer required.
; This way in the next iteration D(n-2) is equal to the present D(n-1)
;
movfp
Dn_1,AARG+B0
movpf
AARG+B0,Dn_2
; Shift down D(n-1)
movfp
Dn_1+B1,AARG+B1
movpf
AARG+B1,Dn_2+B1
; AARG = D(n-1) = multiplier
MOVFP16
Bx1,BARG
; BARG = B1 = multiplicand
call
DblMult
; (ACCd,ACCc) = B1*D(n-1)
;
; Compute Output Y = B1*D(n-1) + B2*D(n-2) + B0*D(n)
;
= B1*D(n-1) + B0*[D(n) + D(n-2)]
; Since all multiplications are already done, simply perform a
; 32 bit addition
;
ADD32
DPX,ACC
; ACC = B1*D(n-1) + B2*D(n-2) + B0*D(n)
4-133



Html Pages

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17


Datasheet Download

Go To PDF Page


Link URL



Does ALLDATASHEET help your business so far?  [ DONATE ] 

About Alldatasheet   |   Advertisement   |   Contact us   |   Privacy Policy   |   Link to Datasheet    |   Link Exchange   |   Manufacturer List
All Rights Reserved©Alldatasheet.com


Mirror Sites
English : Alldatasheet.com  |   English : Alldatasheet.net  |   Chinese : Alldatasheetcn.com  |   German : Alldatasheetde.com  |   Japanese : Alldatasheet.jp
Russian : Alldatasheetru.com  |   Korean : Alldatasheet.co.kr  |   Spanish : Alldatasheet.es  |   French : Alldatasheet.fr  |   Italian : Alldatasheetit.com
Portuguese : Alldatasheetpt.com  |   Polish : Alldatasheet.pl  |   Vietnamese : Alldatasheet.vn
Indian : Alldatasheet.in  |   Mexican : Alldatasheet.com.mx  |   British : Alldatasheet.co.uk  |   New Zealand : Alldatasheet.co.nz
Family Site : ic2ic.com  |   icmetro.com