AN2072 Freescale Semiconductor / Motorola, AN2072 Datasheet - Page 26

no-image

AN2072

Manufacturer Part Number
AN2072
Description
AN2072, Decision Feedback Equalizer for StarCore-Based DSPs
Manufacturer
Freescale Semiconductor / Motorola
Datasheet
Results
4
Figure 1– Figure 11 shows the Matlab and corresponding DSP results for the feedback and feed-forward filter taps
for an arbitrary channel-impulse response. Channel impulse response = [(-0.5251 -0.4487i) (0.0953 –0.2673i)
(–0.2129 -0.0084i) (–0.3605 -0.2713i) (0.1874 -0.3487i)] and SNR = 20 dB.
26
section .text local
sqrt_and_invsqrt type func
loop1
Results
[ mpy d1,d1,d5mpy d1,d0,d6
]
global
push d1
clb d0,d2
and #$0000fffe,d2,d2
asrr d2,d0
asrr #2,d0
tfr d1,d3
loopstart3
clb d1,d10
asrr d10,d1
mpy d3,d1,d7
mpy d5,d6,d6
asll d11,d6
sub d6,d7,d1
asll d10,d1
loopend3
asrr #1,d2
asrr d2,d1
asrr d2,d0
pop d8
rts
endsec
Code Listing 9. Routine for Computing Square Root Inverse Square Root
sqrt_and_invsqrt
Decision Feedback Equalizer for StarCore™-Based DSPs, Rev. 1
push d8
tfr d0,d4
move.f #.75,d1
dosetup3 loop1
add d10,d10,d11
inc d10
tfr d1,d9
mpy d9,d4,d0
asll d10,d0
tfr d1,d4
pop d1
doen3 #6 ; d3=0.75=scale factor for Ui,
; save d1 and d8
; scale d0=v=input, scale factor
; in d4
; save v in d4
; this makes the scale factor an
; even integer. e.g. if d2=3 the and
; operation outputs d2=4
; scale d0=input by d2
; asrr #2 implememts factor 0.25,
; d1=0.75=Ui
; loop1 for 1=1:6
; start loop1
; d10 = scale factor for Ui
; scale d1 by d10
; d5=Ui^2, d6=0.25*Ui*V, d7=0.75*Ui,
; d11=2*scale for Ui
; d6=0.25*Ui^3*V, d10 = scale for Ui+1
; scale back d6 by d11
; d1=0.75*Ui-0.25*V*Ui^3
; scale back d1 by d10, d9=d1
; end loop1
; d2=sqrt(scale factor),
; d0=1/sqrt(V)*V =sqrt(V)
Freescale Semiconductor

Related parts for AN2072