TalmorAmitai1983

CALIFORNIA STATE UNIVERSITY, NORTHRIDGE
LOW PASS DIGITAL FILTERS USING
MICROPROCESSOR 2920
A graduate project submitted in partial satisfaction of
the requirements for the degree of Master of Science in
Engineering
by
Arnitai Talmor
August 1983
The Project of Amitai Talmor is approved:
Professor Nirmal K. Mishra
rofessor J. C. Prabhakar, Chairman
California State University, Northridge
ii
ACKNOWLEDGMENT
I would like to thank my Advisor, Dr. J. C.
Prabhakar, for his help, guidance, and advice in the
accomplishment of this project.
I also extend thanks to Professor Nirmal K.
Mishra for his helpful supervision in the completion
of this project.
A. T.
iii
@ .
TABLE OF CONTENTS
Page
ABSTRACT
vi
Chapter
1.
INTRODUCTION TO DIGITAL FILTERS
SAMPLED DATA SYSTEMS
10
ELEMENTS OF DIGITAL SAMPLED DATA SYSTEMS
11
EFFECTS OF SAMPLING
14
ALIASING NOISE
16
SIONAL RECONSTRUCTION DISTORTION
2.
1
. .
'
20
JITTER NOISE
21
QUANTIZATION NOISE
24
STABILITY CRITERION
28
DESIGN OF DIGITAL FILTERS
30
INTRODUCTION
30
DIGITAL FILTERS
31
IIR FILTERS
32
FIR DIGITAL FILTERS
33
DIGITAL FILTER MODULE
34
DESIGN OF LOWPASS IIR FILTERS
38
REALIZABILITY CONSTRAINTS
40
INVARIANT IMPULSE HETHOD
40
MATCHED Z TRANSFORM
42
BILINEAR TRANSFORM
44
iv
TABLE OF CONTENTS
(continued)
Page
Chapter
3.
4.
5.
BENEFITS OF THE 2920 SIGNAL PROCESSOR APPROACH
48
2920 DEVICE BENEFITS
48
IMPLEMENTING FILTERS WITH THE 2920
50
IMPLEMENTING COEFFICIENTS
51
SIMULATING SINGLE REAL POLES
53
SIMULATING COMPLEX CONJUGATE POLES
54
REALIZING ZEROS IN BASIC FILTERS
55
COMPLEX CONJUGATE ZERO PAIRS
56
SOME PRACTICAL CONSIDERATIONS
57
ELLIPTIC FUNCTION FILTERS
59
COMPARISON OF MINIMUM PHASE FILTERS
60
SONAR SYSTEM (LP. F.) . . .
62
L.P.DIGITAL FILTER CALCULATIONS
63
SIMULATION OF THE DIGITAL FILTER
68
RESULTS AND CONCLUSIONS
75
REFERENCES
76
APPENDIX A
77
v
ABSTRACT
LOW PASS DIGITAL FILTERS USING MICROPROCESSOR 2920
by
Amitai Talmor
Mast.er of Science in Engineering
The project is to design a low pass digital filter for
the sonar spectrum analyzer.
This filter is used as the input low pass filter in
the sonar system, to determine the baseband spectrum of low
frequency signals, detected by the sonar.
The filter design is accomplished by the use of the
Intel Signal Processor 2920.
vi
CHAPTER I
INTRODUCTION TO DIGITAL FILTERS
A linear time invariant discrete-time system
described by Eq. (1-1) is commonly called a digital
filter.
These filters form one of the most important
classes of digital signal processing systems.
N
=l:
L
L
Y
akxn-k hky k
n · k=O
k= 1
.. n- ~
Figurel. lnire~:t form realization of th<· diJ!ilal filter
1
( 1-1)
2
These
systems
have found important
applications in a number of diverse fields of science and
engineering.
To facilitate the discussion, we repeat(Eq. 1-l)below
as Eo. (1- 2)
~
L
-2
( 1- 2)
k=l
where lxn~ is the input signal, tYn~, the output signal,
and a 0 ,a 1 , ••• ,at:I,b 1 , ••• ,bL are constants. Effective methods
have been developed to enable a designer to choose the
filter coefficients, namely the ak's and bk's, so that the
filter possesses certain desired characteristics for the
processing of digital signals.
It is also possible to use
a digital filter to process analog signals by connecting
an analog-to-digital converter (A/D) preceding the filter,
e.nd follovring it v1ith a digital-to-analog converter (D/A).
'.rhe filter of r.;q.(l-2) can
easily
be programmed or
simulated on a general purpose digital computer.
It can
also be implemented by using digital electronics (registers,
adders, multipliers, etc.).
There are two outstanding advantages of using digital
filters for signal processing.
First, they are highly
reliable and have a highly stable and predictable behavior
because they are constructed with electronic circuits that
operate v1i th only tv10 states (zero and one).
they permit a high degree of flexibility.
Secondly,
For example,
3
their characteristics can be changed easily by simply
reading in from memory a new set of filter coefficients.
In conjunction \'lith a time sharing operation, this means
that a single filter structure can serve a multiplicity of
input and output signals.
'rhere is, however, an inherent limitation on the
accuracy of digital filters due to the quantized nature of
digital signals and the finite register length used in the
implementation.
This and other practical considerations
will be discussed later.
Let us tal-ce the Z-transform of Eq. (1- 2 .)
The left side is simply Y(z), the Z-transform of
fyn~ •
The right side can be evaluated with the help of the
shifting property the Z-transform of \:_Yn-k~ is z-kY(z) and
that of txn-l~ is z-kx(z) where X(z) is the Z-transform of
r~n~·
IJ.lhus, Eq. 1-3 becomes
Vlhich can be put in a more convenient form,
Y(z)
where
= X(z)
H(z)
[1}
( 1-
5)
4
r
akz
t
bkz
k=O
H(z) =
1+
k=l
-k
( 1-6)
-k
H(z) is called the transfer function of the filter; it is
the ratio of the z-transform of the output Y(z) to that of
the input X( z).
As seen from Eq. ( 1- 6;), H(z) is a rational function
in z -1 •
Its numerator is
( 1- 7)
and its denominator is
D(z)
=
( 1-8)
The roots of :tT(z) and D(z) are, respectively, the zeros and
poles of H(z).
The impulse response lhn~ is the output, when the
input ~x~ is a unit impulse.
1 and Y(z)
= H(z).
In this case X(z) is simply
So we see that the impulse response
th~ is the inverse z-transform of the transfer function
H(z).
The digital filter of Bq. (1-2) calculates the n-th
output sample Yn by using the previous L output samples,
5
y
,y
, ••• ,y 1 as well as the current and the previous
n- 1 n- 2
nM input samples, xn,xn_ , ••• ,xn-H•
Since no future samples
1
from either the input or the output are needed to calculate
the current output sample, the filter is physically
realizable or causal.
In this case the impulse response
fhn5 has the property hn=O,n<O.
He shall assume the filter
to be stable.
n~~.
That is,
hn~O
as
So all the poles lie
inside the unit circle.
The value of hn is given by
1 ~ H(z)zn dz
2rrj j\z l = 1
( 1-9)
z
Since H(z) is a rational function in z- 1 , the impulse
response thn~ can be calculated by the method discussed
previously.
(1-5).
It is a sum of "damped sinusoids".
From Eq.
we see that the output fyn~ is the convolution of the
input ~"'<:n~ and the impulse response thn~,
QC)
=Lm-0
h X
( 1-1 0)
m n-m
The summation starts with m=O because hm=O for m<O.
Thus, Eqs.(l-~8) and(l-9) define the relations betvreen l_hn~'
the impulse response of the filter and the coefficients
lak~ and tbk~ of the linear difference equation that
characterize
the filter.
Digital filters can be classified as either the recursive or the nonrecursive type.
0hen the bk's are not
6
all zero, the calculation of Yn requires the value of some
output samples that have already been calculated.
In this
case the filter is said to be of the recursive type.
On
the other hand, if all the bk's are zero, then the calculation of Yn does not require the use of previously calculated samples of the output, and the filter is said to be of
the nonrecursive type.
For nonrecursive filters, the
transfer function H(z) is seen to reduce to a polynomial in
z -1
Furthermore, with bk=O, the right side of Eq.
(1-2) is recognized as a convolution of the form of Eq.
(1-10).
Therefore, the impulse response is identical to
the coefficients
~
, that is,
(o)<n~·M
otherwise
(1-11)
For this reason, a nonrecursive filter is also a
finite impulse response (FIR) filter, and a recursive
filter is an infinite impulse response (IIR) filter.
Despite these differences, filters of either the
recursive or the nonrecursive type may be designed to
achieve almost any desired performance characteristics.
The implementation, of course, is quite different.
The
selection of a particular type must be based on the
specific application considered.
The input-output relationship of Eq. (1-2) can be
represented by the block diagram of Figure 1.1.
This
diagram, commonly known as the "direct form," is but
7
one of the many ways in which a digital filter can be
implemented.
Another direct form of realization is shovm
for the case that L=N in Figure 1.2.
From the practical
point of view, the two direct forms of realizing a transfer
function of order higher than 2 are usually undesirable.
Two alternative forms, known as the "parallel" and "cascade"
forms are preferred.
·0
t\
I \---<~,---+-~
I
~
I
I
~
I
I
!z-li
I
j
~_I_~. 1 ~
'-.=M
Figure 1.2
Canonical form realization of Eq.(l-2)
To realize a filter in the parallel form the transfer
function H(z) is written as a sum by using partial fraction
expansion
H(z)
=f
~
-1
1\ (z)
(1-12)
where each Hi(z) is a first or second order transfer
function.
The filter can then be realized via a parallel
connection of lower order filters as depicted in Figure
1. 3.
Similarly, the transfer function H(z) can be written
8
~,
\
I
\
,,,
I
I
'"':
r•., ~ I
~
I {Y "I
I
~
II
I
I
I
!
I
"'!(
?iz:J.re 1.
Parallel
=n
for~ ~ea:ization
K
H( z)
1:13
Hi.*( z)
l.-1
and the entire filter
ca~
be realized as a cascade connec-
tion of simpler filters as illustrated in Figure 1.4.
Csually, these
simpler filters Hi(z) and Hi*(z) are of
order 't':vo or one.
Type of error is due to the limited accuracy 1;.;ith
Nhich arithmetic O'!?erations are performed.
term - 0. 78125
yn-zi~·
Consider the
This is the product of a 6 bit
m. 1'1lber
...
and an 8 bit nUI!lber.
In general it 1;.;ill have 14 sig-
nificant bits that must be shortened to 8 b.its, so that the
result will fit in the 8 bit data register.
committed is known as round-off error.
The error thus
Furthermore, the
previously computed output samples are used to compute
later output samples, and this has a cumulative effect.
]{,--{
H~ lt----1
fll
~ J
Figure 1.4
9
To summarize, for a digital filter as specified by
Eq.
(1-2) there are three common error sources due to the
finite word length:
1.
The quantization of the input sequence
xn
into a
set of discrete levels.
2.
The modification of the filter coefficients
bk
due to the use of a finite number of bits to
represent them.
3.
The accumulation of round-off errors in arithmetic
operations.
An overview of the basic theory of digital filtering
has been presented, and a fundamental relationship governing the processing of analog signals by digital means was
derived.
The design of digital filters to meet a given set
of specifications will be discussed next.
Effects of finite word length on the accuracy of
digital filters must be taken into account in any practical
application of digital signal processing.
[~
10
S1U·1PL::::D DATA SYST:SHS
d~ta
Sampled
systems can be
imple~ented
using either
analog or digital processing techniques, or both.
Figure
·1.5 shocrs two different ty~es of sampled data systems:
·sampled analog
V\
syste~
and saup1ed analog/digital system.
VOLT
VOlT
~-~ -T-1~-E- - - - - ·I~ g_l_~ - ~- - -~- - ~· - - T-IM_!
1
__
VOLT
~ ~~""'""o~• ~~.coo'!-"""~•o._L.._T
-'-'1-L.-'r'......._..L-.L_
I ...
T
..
Q (NT)
I 'T
VOlT
C) SAMPlED ANAlOC!OIGITAl SYSTEM
Samnled Data Svstem
OUTPUT
ANALOG
11
The system can also be implemented using digital processing.
Such systems are referred to as digital sampled data
systems.
This type of system can be implemented with the
Intel 2920 Signal Processor.
This chapter will discuss the
various elements that comprise a digital sampled data
system and also look at the design considerations in
representing a continuous analog signal with digital
sampled data techniques.
ELEMENTS OF A DIGITAL SAMPLED DATA SYSTEM
The block diagram shown in Figure 1.6 illustrates
the basic blocks of a general purpose sampled data system
using a digital signal processor.
In this configuration it
is assumed that both the input and output signals are
analog.
This is not a necessary condition since digital
signals can be considered a special type of analog signals
and processed accordingly.
Elements of the block diagram
are discussed below.
The system in Figure 1.6 operates on the input analog
signal using the indicated components in sequence:
Anti-Aliasing Filter
This filter is used to bandlimit the incoming analog
signal prior to sampling; thus a continuous analog filter is
used.
This minimizes possible distortion terms (aliasing
noise) which could arise from signal frequencies that are
too high relative to the sample rate.
12
Input Sample and Hold (S & H)
The filtered input signal is then sampled at a fixed
rate determined by the digital processor.
Each resulting
sampled amplitude is held long enough for subsequent processing (such as analog-to-digital conversion).
Analog-to-Digital Converter (A/D)
The analog voltage is converted to a digital word.
This digital word then represents the sampled input signal
voltage.
(Since the processor must operate on individual
digital words, it is necessary to characterize the continuous analog input signal by discrete digital words
which retain the information of the original signal).
Digital Processor
Each digitized sample is now processed by the digital
processor, which has been programmed to perform a predetermined algorithm.
Typically, a general microprocessor
can be programmed to perform any function, but the resulting
execution time is too limiting for most analog applications.
The 2920 Processor eliminates this problem because its
architecture is configured to take advantage of serial repetitive signal processing, while at the same time preserving
many of the advantages of the genral purpose microprocessor.
Digital-to-Analog Converter (D/A)
The processed digital words are converted back to
analog using the D/A. Again, the analog signal is approximated by discrete amplitude levels (as in the A/D).
addition, the D/A sampled output weigh
In
the signal output
p •
13
in the frequency domain by sin (x)/x, thereby causing some
signal distortion.
Output Sample-and-Hold (S & H)
One method of reducing the output frequency distortion is to widen the sin(x)/x rolloff by resampling the
output signal using a very narrow sample width.
The S & H
takes the D/A held output and resamples it with narrow
pulses.
Another use of an output S & H is to store values
when several outputs are multiplexed during a single
sample period.
Reconstruction Filter
Since the desired output signal is a continuous
representation of the processed input signal, it is
necessary to remove high frequency components resulting
from the D/A or sample-and-hold outputs.
This, in effect,
smooths the analog output from sample to sample.
A
lowpass filter is used to perform the signal "reconstruction."
This filter can also be used to compensate for the
sin (x)/x frequency rolloff of the D/A or S & H.
Let
W
= W rad
sec
14
EFFECTS OF SAMPLING
Assuming an input spectrum F(jw) and a sampling
frequency fs' the output spectrum for square-topped
sampling Fst(jw) is found to be
FST(jw) = ~ sin (wt/2
wt/2
00
I
(1:14)
F [ j (w-nw )]
n=-oo
s
From this equation, the gain is a continuous function of
frequency defined by
T sin (wt/2)
T
(1:15)
wt/2
where Tis the sample pulse width, tis time, T the sample
period, and w the frequency in radians per second.
The time-and-frequency-domain plots for the squaretopped sampled signals are shown in Figure 1.7.
Figure 1.7a
and 1. 7b show the signal before and after sampling.
The
corresponding spectra are shown in Figure 1.7c and 1. 7d
respectively.
Figure 1. 7d is a plot of the above equations
where multiple spectra are formed around multiples of the
sample frequency.
As long as the adjacent spectra do not
overlay excessively (aliasing distortion), the continuous
signal can be represented by discrete samples at that
sampling frequency.
15
IWtP
~
TIME-
T
b. SQUARE-TOPPED SAMP!.£ SIGNAl.
Figure .l,Z
Analysis of Samnled
c. INPUT-SIGN4L SPECTRUM
FREQUENCY-
d. SQU.IIAE TOPP£0 SAMPU·SIGNAL
SPECTRUM
I
,-
FREQUENCY - -
Analysis of sampled signal
AMP~~r------T-IM-E~~~OO-M-A-IN----~/~---AMP~~~----~--ffi-E-QU~E~N-~--~---N----~
l~vr I
..
1~ lx
!'~ kiLl
,,
[
TIME-
FREQUENCY-
How sampling rate affects aliasing noise
7~
.mre 1. 8
~ffects
of Sam-ol ing Rata on Al iasinP-
~To-i
se
16
;rhe quality of representaticn of a continuous signal
by the sampled and digitized signal is determined by
several factors: a) sampling rate b) sampling pulse width
c) sampling stability and d) digitizing accuracy.
The
corresponding distortion terms are: a) aliasing noise
b) signal reconstruction noise c) jitter noise and d)
quantization noise respectively.
These four factors can
cause unacceptable distortion if they are not chosen
properly.
By properly designing the sampled data system, these
distortion or noise terms can be made insignificantly
small, so that the sampled data system closely
represen~s
the analog equivalent system.
The sampled data system implementation will have the
added advantages of digital processing and software flexibility.
The following sections will discuss these
sources of impression.
AL T:\.SDTG NOISj:;
i\. sampling theorem relating the minimum recuired
.:ampling frequency to the signal ba:'ldwidtrl can be state;d
as follows: if a signal f(t), a real function of
ti~e,
is
sampled instantaneously at regular intervals, at a rate
higher than twice the signal bandwidth, then. the sar.rpled
17
signal contains all the significant information of the
original signal.
This would then define the minimum
sampling frequency required.
In practice, a sampling rate
of 3 to 4 times the 3dB bandwidth of the input signal is
not tmcommon.
Figure 1.8 shows the effects of sampling rate on the
separation of sampled signal spectra.
When the sample
rate is reduced, the adjacent spectra overlap.
The over-
lapped spectral energy cannot be separated from the desired
signal and so a distortion occurs.
This is called aliasing
noise.
Figure 1.8 shows the effect of sample rate on aliasing noise for a given input signal.
Note the amotmt of
overlap increases as the sampling frequency is decreased
for a fixed input signal bandwidth.
Similarly, for
sampling frequency, the overlap could be reduced by
increasing the frequency.
The overlap could also
be
reduced by increasing the frequency rolloff of the input
signal by using anti-aliasing filters prior to sampling.
Figure 1.9 illustrates the overlap for several types of
popular anti-aliasing filters.
These trade-offs between
filter selectivity and sampling frequency are part of the
design process with sampled data systems.
18
0
=3 POLE BUTTERWORTH
'J = 3 POLE O.J <IB TCHEBYSHEV
<J = 5 POLE BUTTERWORTH
= 5 POLE O.J dB TCHEBYSHEV
10 II
.:1
ii
~
~
~
\) =7POLEBUTTERWORTI<
J d9 TCHFBYSHEV
I
10
JO
..) = 7 POLE 0
I
I
+1 ="•moii,,Q ''"'Q"'""C"
~~
8
-· lnpul slqnnl P"5Sr>,.nd
!I
I
•o
I
I
e
F REOUHICY
Figure 1.9
Effects of Filtering
on Aliasing Noise
19
OIGIT~l.
'NP\JT
~~~
~
~--•-ij
0/A
!'l4LOG
I
r--_..._,j P.Eco...:~~~;:'CTO'll,__o_u·_, ·J_r
S!lH
?....
I
L'•L•<.R
AMP
•
I
Ill
~
!
TIME
I,
AMP
FREQ
t
TIME
AMP
AMP
•
•-----:"'\.
~~~
!
'
/
~
Fi gut:e 1. 10
'\.V
'
TIME
·-
OECON5TRUCTION
FILTER
' ' :-.
Analog Signal Reconstruction
[~
20
SIGNAL RECONSTRUCTION DISTORTION
Signal reconstruction is the process that extracts
the original signal from the periodic output samples which
have been formed after digital processing.
The intention
is to convert the signal, which has been sampled and held
after digital processing, back to analog form with a
minimum loss of information.
The output of a sample-and-
hold circuit (S & H) or a digital-to-analog converter has
a frequency spectrum as shown in Figure 1.10 where the
sample width
is equal to the period of the sample T.
The amplitude gain factor has a noticeable rolloff within
the signal bandwidth when that bandwidth approaches half
the sampling frequency.
Unless it is compensated for, the
distortion of the input signal will cause loss of
information similar to the loss from a lowpass filter
with insufficient bandwidth.
To correct this situation, either the reconstruction
sampling pulse width should be narrowed relative to the
inverse of the signal bandwidth (I/B), or a sin(x)/x
correction should be applied to the output filter.
Figure 1.10 shows the effect of resampling with a
narrower pulse.
The amount of signal energy contained in
the narrower sampling pulses declines by an amount
proportional to the duty cycle
"iT.
21
When the data samples have been established, they
are passed through a reconstruction lowpass filter whose
primary purpose is to remove the higher-frequency spectra
caused by the output sampling (Figure 1.10).
This can
also help shape the amplitude and phase response of the
output network.
JITTER NOISE
The information content of a signal is carried by
some combination of its amplitude, phase, or frequency.
Noise is introduced by any process that alters the information carried to the degree that the signal cannot be
restored to its original condition.
An ideal sampling
process assumes that ideal samples are taken at periodic
intervals, i.e., that the amplitude of each sample is
exactly equal to the value of the signal at the time of
the sample.
If the sampling waveform is not stable, then
the signal will be sampled at times other than what was
expected with an error corresponding to the rate of change
of the sampled signal.
This is called jitter noise.
The jitter noise can be estimated by examining a
sinusoidal input signal that is sampled with average
period T and a peak-to-peak deviation of the period 2 T
(Figure 1.11).
Using sin (wti) as the value of the
sinusoid exactly at the i-th sampling instant, and
sin w (ti +T±). as the value at the actual sampling instant,
where
T· is the time error at that point, then the error
~
22
or jitter noise at ti is the difference between the exact
and the sampled values of the signal voltage, [~
N.(t.)= sin (wt.) -sin (wt .+ wr.)
J
~
~
~
= (1-cos(wT.;)
....
.. ~
i.e.
(1:16)
·k sin(wt.)+sin(wT.)~''"cos(wt.)
~
~
~
v .... (.. >6,
-~---NOISiiVAAIATION--­
.,-,
LUINIUJ11Tift~;:\r-
;r'•'•'•
:1;1:1 1t
TIMl
Figure 1:11
Sampling Jitter
[ 2]
The noise power is simply the sum of the squares of its
quadrature components.
N. 2
J
=
2
(1. 17)
23
Nj 2 = [ 1 - cos(w-ri)]
2
2
(1.17)
+ sin (w-ri)
= 2 - 2 c 0 s ( i'/7'i)
Assuming that the timing errors are independent from
sample to sample and uniformly distributed bet\•reen .±.'1',
the expected value of noise power is
= 1-r
2
"'T'
1
-'1"'
2-2cos(vl'T"'. )d'T':.
l
(1.18)
l
= 2 - 2 sin w-r
VJ'f'
For wt<-n-/2, a Taylor series expansion of sin(wt) yields
an approximation for the mean square noise povier of
( W"l") 2
(1.19)
3
The signal-to-noise ratio (SNR) of a sampled sinusoid
sin(~~)
due to jitter uniformly distributed over
( 1 • 20)
Bean Square Signal
= (SNR)
Hean Square Noise
jitter
=
Expressed another way,
(SNR)
jitter
where T is the period of the sampled signal.
The jitter
24
S~?
funct~on of
is ulottad in ?isure 1.12as a
the
• • .I-.
Jl.v"Ce~-
LOG SCALE
..w.u.,._;_;
10
1~·· i
s
2
1
1~
'
."
~j~
.ao
~liS
Ui!Z
w:w
"''"'
•!•
:315
;I~c
..
......
60
:~:I
40
a:
.,z
20
II
10·1
JITTER TOLERANCE.
MiNIMUM SIGNAL PERIOD.
(2]
?ig-ure 1. 12 Jitter .s::R
Since each pass of the 2920 program uses the same
nu~ber
of clock cycles, overall sampling jitter will be
entirely a function of the clock stability.
clock is crystal controlled,
·:/hen the 2920
jitter
~.'Jill
Oe
ir~:=:-ignificctn t.
Jigi tal sig21al
pl~ocessi:J.g
of a signB.l in:-clies :.:c..a_t
at specific times the signal is sacnled and a digital
is formed that rsnresents
~ll9~ ~
ti:::e.
~he
-:2l1e above section
as~litude
descrited
of the
t~s
effect
~=
~crd
25
information is :possible ;•rith
a
}?roper selection of the
input filter and sampling frequency.
The conversion from a continuous signal to a digital
signal requires ths.t signal voltage be divided into a
finite number of levels which can be defined using a
digital word n bits long.
An n-bit ~ord can describe 2n
different voltage steps.
Signal variations between these
steps will go undetected.
It is therefore necessary to
determine the range of signal levels from
ma~:imm:r
to
:ninir:mm that the system must operate 1.'1i th, to determine
the number of bits needed in 9n 1':../JJ conversion.
F'igure
1 .13illustrates how the error voltage (called quantization
generated.
noise)
J....
The corresponding rat-J.O
.,
.
. .
.
.signal to quan t 1.za~1.on
noJ.se, expressea in ci.B, is a
f~n8tian
cf the digital
t
OUTPUT
~ord
length.
M.\X
I -------~-
-~'~-----
'0"... I
to
to ~
=2"-1
n
I.
"~"
VOLTAGE
I
i
=•
BITS
6n dB
MAX
•
b.."
INPUT
VOLTAGE
,
f' " " " "
Figure
1~13
INPUT
VOLTAGE
...
;uantization Noise
'.l:he quantizing error c.:m be
e~:lJressed
in terms of
the total mean squared error voltage between the
8..l1Ci
. ' quantized
-cne
of the signal.
I.,-,
..:-.1...1.
e~act
26
A signal voltage v(t) falling between the 1-th and the
(i+l)th levels defines the 1-th quantizing interval.
The error signal e.~ is re-expressed as
e.~ =
v.
V(t)
~
where
= error voltage between the exact and the
ei
.th quan t"~ze d voltage levels
~
V(t) =
input signal voltage
. d interval
voltage of the ~. th quant~ze
v. =
~
, __
----w
'-'
....
""....1
I
-- - - -.:.v1
-----'
! __ .:.v~-~--
0
>
V(tl
i
I
i
I
I
I
I
TIME
Flgurl!l
..
1.14
Quantization Step
Assuming tmiform quantization in time and a uniform
distribution of the signal voltage amplitude, the resulting signal-to-quantization-noise ratio has been shown to be
2
S/Nq = M - 1
27
or, represented as a logarithm,
2n
S/Nq = 10 lg 2 -1 = 10x2nxlg2 = Qndb
s IN q
=
( 6) ';\- (n)
dB 'n > 2
( 1 : 21 )
r2]
where
S is the peak signal power
Nq is the mean quantization noise
M is the number of quantization levels = 2n
n is the number of bits in the amplitude word
28
STABILITY CRITERION
Any digital filter can be checked for stability by
finding the poles of its transfer function.
An alternative
and quicker approach, however, is to use a stability
This is analogous to the
criterion due to Jury
Routh-Hurwitz criterion in analog systems ~] .
Consider a filter characterized by
H(z) = N(z)
nw
(1-22)
where
D(z) =
N-i
b.z
1.
NL
i=O
and assume that b
0.
0
The coefficients of D(z) can be
used to construct an array of numbers, as in Table 1.1.
The first two rows of the array are formed by entering
Row
Coefficients
h,
"~
h,
h,_,
3
Co
c,
4
c"-1
c.,.- 2
5
6
do
d,
d,_ 2
d,_ 3
...
...
b,
ho
Table 1.1
Cs-t
Jury's Array
Co
d,- z
... d()
[s J
29
@ •
the coefficients of D(z) directly.
The elements of the
third and fourth rows are computed as
b.n
.
~'-l-l
fori= O,l, ••• ,N-1
( 1 • 23)
b.
l
those of the fifth and sixth rows as
fori= O,l, ••• ,N-2
d.l =
( 1 • 24-)
c.
l
and so on until 2N-3 rows are obtained.
The last row will
comprise three elements, say r , r 1 , and r 2 •
0
Jury's stability criterion states that the filter
characterized by Eq.(1-22)is stable if and only if the
following conditions are
(i)
D(l))rO
(iii)
b 0 >IbN
~
I do I >
} c0 J
s~tisfied:
1
I eN- ,j
IdN- zl
••••••••••••
Chapter 2
DESIGN OF DIGITAL FILTERS
INTRODUCTION
The design of a digital filter is the task of
determining a transfer function which is rational in
z-l in the case of recursive (IIR) filters or a polynomial
in z-l in the case of nonrecursive (FIR) filters.
The
transfer function must, of course, meet certain performance
specifications.
In most design problems, it is also
desirable to arrive at a transfer function of minimal
complexity or nearly so, compatible with the given
specification.
There are a number of techniques for
designing digital filters.
A number of excellent design methods for digital
filters have been developed in recent years.
The use of
a particular method would depend on whether an IIR
(infinite impulse response) or FIR (finite impulse
respons~
filter is called for, and on whether the design specification is given in the frequency domain or in the time
domain.
In most applications, a frequency selective filter
is needed.
This filter lets certain frequency components
pass through, but attenuates others.
For this type of
filter, the design specification is given in the frequency
domain.
30
31
In the case of IIR filters, the basic approach is a
transformation between the analog and digital frequency
variables.
When the specification is not suitable for the
application of the transformation approach, one must resort
to computer aided methods.
[1]
DIGITAL FILTERS
A band-limited signal can be sampled, processed, and
reconstructed with no loss of information due to the
sampling process.
As long as the signal is maintained in a
band-limited form, it is possible to perform arithmetic
operations on samples of the signal yielding results equivalent to arithmetic operations performed on the continuous
signal.
The processed samples may then be used to reconstruct
the equivalent modified continuous signal.
As long as the
operations performed are linear, i.e.
F (Ax +By) = AF(x) + BF(y)
where F is the operation
and A and B are scalars, a band-limited signal will retain
its band-limited nature throughout the processing.
Digital
filtering consists of processing digitized samples of
signals in a manner similar to the methods for realizing
continuous analog filtures.
Two classes of digital filters are defined: nonrecursive filters, where the output is a function of only
32
the previous and present inputs, and recursive filters,
where by using feedback, the output is a function of past
and present inputs and outputs.
The non-recursive filter
generates a finite impulse response and is, therefore,
called an FIR filter.
Recursive filters, because of the
feedback, have infinite impulse responses and are referred
to as IIR filters.
IIR FILTERS
The traditional approach to the design of IIR digital
filters involves transforming an analog filter into a
digital filter that meets prescribed specifications.
This
is a reasonable approach because,
1)
The art of analog filter design is highly advanced.
Since useful results can be achieved, established
analog design procedures present advantages.
2)
Many useful analog design methods have relatively
simple closed-form design formulas, which greatly
facilitate the implementation of the corresponding
digital filters.
The conversion of an analog filter into a digital
filter is accomplished in a number of ways: impulse
invariance, direct transformation using s- to z-plane
transforms,conversion of differential equations to
difference equations, and direct synthesis techniques.
In
each approach, known analog filter characteristics in the
33
frequency domain are converted to similar characteristics
in the z-plane of the digital filter.
Each of these techniques introduces a nonlinearity
into the resulting amplitude and phase characteristics of
the original analog filter.
Phase equalizers may be
designed to linearize the phase characteristic of the
transformed digital filter.
FIR DIGITAL FILTERS
Finite impulse response filters offer several
advantages.
1)
Some of these advantages sre:
FIR filters can be designed to have exact linear
phase.
Linear phase filters are important for
applications such as speech processing and data
transmission, where phase distortion is harmful.
2)
FIR filters which are realized using a nonrecursive
structure are always stable.
3)
Roundoff noise, inherent in any realization using
finite precision arithmetic, can easily be made
small for the non-recursive FIR filters.
4)
Adaptive filters are more easily relayed using FIR
techniques.
One disadvantage of FIR filters is that a large
number of delay elements is needed to obtain a sharp cutoff, thereby requiring a large amount of processing.
34
The characteristic of interest is the ideally linear
+'nP.
~
- ~"ii'IR._ Inl·lter.
The
desired amplitude characteristic can be achieved
~ith
· h can 'oe a ch l· ev·ea·
p h ase wh lC
arbitrary
,.fl.
r t'n
accuracy by increasing the degree of the filter
without affecting the phase.
DIGITAL FILTZR HODULE
.,_J
t
'J:he stage shovm in Figure 2.1 behaves in a ma:..'lne:r
analogous to a continuous analog stage which realizes a
complex conjugate pair of poles and zeroes.
For
if the structure initially has values Yl acd Y2
eJcc-u~lple,
e~ual
to
zero and is excited 'oy a single impulse (i.e. one sar:lple
of unit value followed by zero-valued samples), the output
may take the form of samples of c:u:. exponentially decaying
sinusoid.
The impulse response of the stage may be
35
h(O)
=D
+
[~
n
h(iT) = e-cdTA cos ()irl')+3 sin (fli'r) for i;>O
'Nhen B1 = 2e
Bz = -e
Ao
....ctT
cos ,B 'l1
-2-c'l'
= nL + A
m
f\._1
A2
o(
1
= -(2D+A)e-ocT cos,B'i+ Be -<:ll sin,B T
= De-2C(T
= real
part of pole
ft = imaginary part of pole
T = sample period
i = ith sample
Figure
_2 . 2
- Digital Filter Module
(First Order Section)
The diagram of Figure 2.2 corresponds to a stage
realizing a single real pole.
the form:
h(O)
.h(iT)
=D
+ A
impulse response takes
~
'
36
when
-exT
Bl = e
Ao = D + A
. -«'r
Al = -De
From the equations, it can be seen the impulse
responses consist of (optional) initial delta functions,
followed by a series of samples
sampling
~hich
are equivalent to
an exponential decay, or an exponentially
decaying sinusoid.
Therefore, if we have a "continuous" filter F1 that
has an impulse response which consists of a sum of
decaying exponentials or exponentially decaying sinusoids,
we can realize a "digital" filter F2 that has an impulse
response whose values at each sample time are identical
to those we would expect from Fl.
This impulse response
may be achieved by building a network of the structures
shovm in Figure 2.1 and 2.2, and summing their outputso
The procedure defines a type of transform from the
continuous domain to the sampled domain; that is, the
sampled domain structure implements an impulse response
equivalent to having sampled the impulse response of the
corresponding continuous filter.
This transform is known
as the "impulse invariant" transform, and is one of .several
v1hich may be used to relate the sampled world and the
continuous world.
Because of the nature of the sampling process and
37
the corresponding frequency folding about the sample rate,
it is not possible for a digital filter to duplicate
exactly the characteristics of a continuous analog filter.
As the frequencies of interest approach and exceed half
the sample rate, the frequency characteristics of the
digital filter differ radically from those of its continuous counterpart.
Sampled systems can be described as functions of a
complex variable z, where z=esT, Tis the sample period,
and s is the Laplace complex frequency.
each of the blocks labeled z
of time.
-1
In Figure 2 .. 1,
corresponds to a unit delay
It is possible to describe the
ch~racteristics
of the block diagram of Figure 2.1 as a ratio of polynomials in z or z -1 •
Consider the case of a continuous analog filter
where one stage realizes a single exponentially decaying
sinusoid.
Just as such a structure corresponds to a
single pair of complex conjugate poles, the diagram shown
in Figure 2.2 is capable of realizing a single exponentially
decaying sinusoid and corresponds to a single complex
conjugate pair of poles in the complex z plane.
38
DESIGN OF r.o::JPASS IIR
FIVr:t~RS
A typical amplitude characteristic of a lowpass type
filter is shown in Figure 2.3.
The passband extends from
/\= 0 to the cutoff frequency ~ = Ac, and the stopband
extends from )\ = 1\ s to )\ = "'tT".
Only positive frequencies
are shown, since the amplitude characteristic exhibits
even symmetry.
The frequency range
ition or "don't care" region.
1\.c~
The design specifications
typically include the tolerance limits
passband and
A-5:As is the trans-
c5 2 in the stopband.
81
allowed in the
The goal of the design
is to determine a transfer function H(z), so that its
amp l l·t u d eon ~1e
'1
unl·t Clrc_e
· l
l.:f(ejA)
.
S.:::ltl·sf'l·es
_
(1]
( 2. 1 )
and
(2.2)
Let us relate these digital frequencies to analog
frequencies.
Suppose that the digital filter is intended
to process an analog signal sampled at a freauency of F s
1/T. T being the time between samples, we see that the
.L
digital cutoff frequencyAc corresponds to the analog
frequency of
=
39
Similarly, the stopband in analog frequency begins at
(2.3)
These are indicated in Figure 2.3.
(1]
I
STOP
!
r-9ANC-~
I
I
1ti..LJJ.JilJ..li.,l
-----:'--...i.li-._ _;'\~.C:...JI_~:.,:.(O::....IG::....ITAL
,.
FREQUENCY!
r ANALOG FREQUENCY
F,l2
Figure 2.3
Amulitude Response Specification of a
rcy-0ical I.owpass Filter
One approach to the design problem at hand is to
select an appropriate analog lowpass filter and to apply
a frequency transformation to its transfer function so as
to obtain the desired H(z).
There are three commonly
encountered classes of lowpass filters:
the Butterworth,
Chebyshev, and Cauer or elliptic function filters.
Butterworth filters have a maximally flat amplitude response,
their poles being uniformly spaced on the unit circle in
the s-plane.
Chebyshev filters have an equiripple
amplitude response in the passband (or in the stopband), and
their poles
are
located on an ellipse in the s-plane.
40
Cauer filters have an equiripple amplitude response
in both the passband and stopband.
[1]
REALIZABILTTY CONSTRAINTS
In order to be
transfer
1)
funct~on
real~zable
must
sat~sfy
as a
recurs~ve
follow~ng
the
f~lter,
a
constraints:
It must be a rational function of z with real
.&' ../:' •
•
J_
C08.J..J.~CJ..Gnt.-Se
2)
Its poles must
l~e
within. the unit circle of the
z pla!le.
3)
The degree of the numerator
polynom~al
must be
equal to or less than that of the denominator polynomial.
The coefficients must te real, so that inputs and
outputs of unit delays, adders, and multipliers can be
real numbers.
The second and third constraints will ensure
a stable and causal filter.
Cons~der
the sampled-data filter
l"\ o .f
.!Tigure 2. 4
where S is an ideal impulse sampler and I\.d.. is an analog
filter characterized by
H~(s).
l·l.
F*~
.1:1..
can be represented
by a continuous-time transfer function H*.(s) or,
~~
equivalently, by a discrete-time transfer function
41
oO
H* (jw)
A
where w
s
= 2!rf/T
= H-D(ejwT)
= hA(O+) +
2
T
I
HA(jw+jkvis)
k=~
( 2.4)
is the sampling frequency and
(2.5)
hA(O+)
= lim
[sHA(s~
( 2. 6)
S"+oC
(2.7)
Therefore, given an analog filter FA' a corresponding
digital filter, represented by HD(z), can be derived by
using the follo-wing procedure:
1)
Deduce hA(t), the impulse response of the analog
filter.
2)
Replace t by nT in h.11 (t).
3)
Form the z transform of hA (nrr).
P·A
:Gl
//
"
r--- - - - - - - - - - - --;
o---+,
s:
~ --o~-0
:
.
I
!
!
.,_ _ _ _ _ _ _ _ _ _ _ _ _0_ _ J '
Figure 2.4
Sampled-data Filter
42
Another method for converting from the s-plane to
the z-plane is known as the matched z transform.
This
method is simply a technique for mapping each pole or zero
of the s-plane to a corresponding pole or zero in the
z-plane.
A pole or zero at a+jb on the s-plane is trans-
ferred to a pole or zero at e(a+jb)T on the z-plane, where
T represents the sample interval in seconds.
In polar
coordinates, this z-plane location is (eaT,bT).
The
equations for the filter coefficients are shown below:
Second order sections for a continuous pole pElir -a,:tjb in
the s-plane
B1
B2
= .::..e -at cos
= -e -2aT
-:>
bT
(2.8)
for a continuous zero pair at -a,:tjb
A1 = 2A 0 e-aT cos bT
-2aT
A2 = A0 e
(2.9)
First order section
for a real pole at -a
-aT
B
1
=e
for a real zero at -a
A1 = -A 0 e -aT
(2.10)
(2.11)
This transform is not guaranteed equivalence in
either frequency or time domains, although pole positions
correspond to the impulse invariant transform.
The trans-
form is sometimes useful for conceptually estimating the
influence, on the resulting filter characteristic, of
moving the poles or zeros.
In general, it is easier to
predict the impact on frequency response of moving a pole
or zero in the s-plane than in the z-plane, because the
s-plane axes are more directly related to frequency.
The matched z transform allows a one-to-one correspondence of poles and zeros in the s-plane to poles and
zeros in the z-plane.
One use of this transform is,
therefore, to aid manipulation of the positions of poles
and zeros in the z-plane in order to achieve some desired
frequency response.
Rather than attempt to do the complete design on the
s-plane and then transform to the z-plane to achieve the
desired filter, the designer manipulates the poles and
zeros in the s-plane while observing the frequency
response of the digital filter resulting from the matched
z transform.
Once the desired characteristic is obtained,
the coefficients of the filter are determined by using
the transform.
44
Figure 2.5 shows frequency response of the second
·order continuous section and for comparison that of a
second order sampled section.
/
,tt;'
r
.SAMPLED
OlGirt.;.
CASE
)
. ,.
~
1:,:>._,.··'
Figure 2.5. Comparison of Digital and
Continuous Frequency Response
[2]
BILINEAR TRANSFORM
This transform is a method for mapping the s-plane
(jw) frequency axis into the z-plane unit circle, such
that the continuous s-plane frequency scaie from DC to
infinity is mapped into a corresponding frequency range
of DC to
o~e-half
of the sample rate.
Therefore, this
transform distorts the frequency axis or the frequency
characteristics of the filter.
It is common to pre-distort the characteristics of a
continuous filter to compensate for the transform's distortions, and thereby implement a sampled filter with a
frequency response very closely resembling that of its
continuous counterpart.
45
transform are shown below.
The equations for the Bilinear Transform are: [1]
(2.12)
where T is the sampling interval
z ....,. ( 2/'J:l
+
s)
(2.13)
(2/T - S)
That is, given a polynomial expression (in s) for the
transfer characteristic of a continuous filter, a corresponding digital filter may be found by substituting
2
( 1 -
T
c1
+
z- 1 )
z- 1 )
(2.14-)
for each occurrence of s, and then converting the re.sulting
expression to a ratio
of two polynomials in z.
These functions map the jw axis onto the unit circle
of the z-plane, i.e., when
where .n is the analog frequency (in radians/ sec)
z
__ ( 2/T + j .Q )
( 2/T -
j.O.)
or
lzl =
(2.15)
46
The Bilinear Transform maps the point
n =0
to z =
n=
to
ClO
z
= -1
and the entire left half plane into the unit circle.
A nonlinear distortion is produced by the mapping of
the j!laxis onto the unit circle.
This distortion is
given by the mapping
(2.16)
..n =
2/rr tan
\'IT/2
'i'i
=2
T
tan - 1 (..0. T/2)
where !lis the analog frequency in radians/sec.
As an example of using the Bilinear Transform, the
design-of a lowpass digital filter with a cutoff frequency
of fc may be performed in the following manner:
1)
Convert fc to radians/sec and find the proper pre•t:rarping for the equivalent analog filter:
(2.17)
VJ
2
=T
2)
tan
2c
']_1
'.'! c = 21'(f c
Design an analog filter that will satisfy the given
specification with a lowpass cutoff frequency of
flc in radians/sec or .nc/211"' Hz.
Express the transfer
function as a ratio of polynomials in s.
3)
Use the bilinear transform on the transfer function
in s (obtained in step 2) to obtain a transfer
47
function in z, i.e., replace each occurance of s with
2 (1-z- 1 )
(2.18)
T (1+z- 1 )
The digital filter which corresponds to the z-plane
expression from step 3 (Figure 2.6)
vdll now have the
desired cutoff characteristic.
Note that this transform may alter the number of
poles and zeros involved.·.· If poles and zeros are independently transformed, redundant poles or zeros may occur.
Using this transform requires careful elimination of such
redundancies.
1
I
I
OIGITftl
FILTER
I
RES PO/'
I
i
I.
Hlw)
I
(:
I
I
I
I
---,
+.. r
I
-
L
I
1·•,1
-I
-
I
I
I
HIQJ
~:
I
wT
"'T=2tan-yIr ///___..--- -c-.,
I
v
I
!
"
I
:
f
,, -·---~----0
',
i
. : \
-~-l
I
; ANALOG FILTER HESPC"'4SE
Figure
2. 6
i
I
: "'',·,,
Qc
I
!
I
i
~
I
[2]
Transfer Function From .0... to vr
Chapter 3
BENEFITS OF THE 2920 SIGNAL PROCESSOR APPROACH
The INTEL 2920 is a solution to many signal processing needs.
package.
It is a complete system in a single 28-pin
Along with 2920 are all the design and develop-
ment tools required to move a product idea into finished
product.
The 2920 uses a digital sampled data system
approach for signal processing applications.
The digital
sampled data approach brings many attributes to signal
processing.
Table 3.1 summarizes some of these benefits.
2920 DEVICE BENEFITS (See Appendix A)
Lower manufacturing cost for 2920-based products
results from a lower part count, improved reliability, and
the elimination of costly precision components.
Also
eliminated is the production re-tuning or "tweaking" so
often required in analog systems integration.
The flexibility for rapid design changes in prototypes is a direct result of the 2920's prograrnability.
Alternative designs are readily compared by reprogramming
the 2920s EPROM.
The re-use of standard debugged program
blocks facilitates the creation of alternatives in both
existing and future products.
The digital approach provides inherently stable, predictable, and reproducible results.
The NMOS integrated
circuitry means increased reliability.
Conceptual errors
or inefficient implementation choices are easily found during debugging and performance valuation using the 2920
48
49
Simulator.
The performance for' which· it· is ·designed is the
realized performance.
Savings in long-term product maintenance, support,
and enhancement result from the relative ease with nhich
engineering changes are implemented in software.
Field
maintenance is reduced by digital stability and LSI
reliability.
Discrete Analog Components
lntel2920 Signal Processor Methodology
I.
Board full of components
Single chip
2.
Component matching: select, test, combine, match,
tune, test
System tweaking eliminated because performan.:e from
device to device is identical: digital proce\,ing is 'table.
predictable, and repeatable
3.
Production-lot variation in circuit performance
Digital accuracy is repeatable
4.
Performance degradation over time, signal degradation,
due to circuit interaction or noise
Eliminated-the 2920 restricts degradation of 'ignal
quality to the instants at which signal samples are
digitized and converted back to analog
5.
Discrete component tolerances prohibit
or multi-pole frequency
6.
Time-consuming
design
7.
Costly components for accuracy
Not needed because their functions can be created in
software
8.
Custom designs are costly, risky, and require or create
heavy commitments
Programming permits vastly greater iiexibility for
modifications, improvements, and extra feature~;
fi~es
e~act
matching
to problems with hardwired
Restriction eliminated because digital realizations are
not subject to such tolerances
Quick program changes
Much wider range of options at redu.:ed costs. siLe,
weight and maintenance.
Table 3 ·.1
:.>g?Q Benefits
[z]
50
IMPLEMENTING FILTERS WITH THE 2920
Once locations of filter poles and zeros in the
z-plane have been determined, converting this structure
into 2920 code is relatively straightforward.
In the
blocks of Figures 2.1 and 2.2, there are three basic
operations performed to achieve digital filtering action:
a unit delay, addition, and multiplication.
For time invariant filters, the multiplications
performed for digital filters will be of some variable
Yi by a constant represented by the values A0 , A1 , A2 , B1
or B2 . The goal of the 2920 programmer is to implement
these functions with a minimum of 2920 instructions.
UNIT DELAY
The blocks labeled z -1 correspond to unit delays,
i.e., delays of one sample interval.
The sample interval
is the time it takes for the 2920 to make one pass through
its program.
The value on the output side of a delay
block represents the value computed at the block input
on the previous pass through the program.
The delay can be realized by a RAM location which
retains the data from the previous pass until these are
needed.
A single LDA instruction of the 2920 is sufficient
to implement a unit delay block.
Figure 2:1 shows two
delay blocks; thus, two LDA instructions and two RAM
locations are required.
These instructions have the form:
51
LDA Y2, Y1, ROO
LDA Y1, YO, ROO
After executing these two
instruc~ons,
the RAM
location designated Y2 contains the value of Y1 from the
previous pass, and Y1 contains the value of YO from the
previous pass.
To complete the filter realization, it is
sufficient to complete the calculations of the new value
of YO from the current values of input, Y1, and Y2, and
then compute the output from YO, Yl, and Y2.
The new
value of YO involves multiplication of Y1 and Y2 by the
constants B1 and B2.
The instruction set of the 2920
permits implementing these multiplications-by-constants
as a series of addition and subtraction steps.
IMPLEMENTING COEFFICIENTS
In general, the coefficients are not realized
exactly, but rather are approximated as closely as necessary to meet the filter specifications.
This permits
minimizing the number of 2920 program steps required to
realize the multiplications.
Each ADD or SUB instruction of the 2920 can be
thought of as adding a value to (or subtracting it from)
the destination operand (e.g., Y1 in the last instruction
above).
~
The value used in that operation is the product
some power of two and the source operand (e.g., YO in
the last instruction above).
There is a simple algorithm
52
for converting a multiplication by a constant into a
series of additions and subtractions.
It consists of
choosing, at each step, the particular power of two and
the specific addition or subtraction operation which will
minimize the error, i.e., produce the closest approximation
to the desired value.
For example, consider the coefficient B1
= 1.8.
The
power of two that would most closely approximate this value
would be 2 1 , or 2. This value may be realized with a
single 2920 instruction:
ADD YO, Y1, L01
The error in realizing B1, after this step, would be
2- 1.8
= +0.2.
If such an error is too large, another
2920 instruction step is added.
To reduce an error of
+0.2, the programmer subtracts the value 2- 2 or 0.25 from
the approximation, giving a net approximation of 1.75 and
an error of -0.05.
If -0.05 is still too large an error,
an additional 2920 step equivalent to adding the source
operand multiplied by 2-4
= 0.0625
can be added.
A net
approximation of 1.8125 results, with an error of +0.0125.
This process can be repeated until the coefficient is
realized with adequate accuracy for the filter requirements.
Because there are two coefficients in the filter, two
sequences of operations must be defined as described above.
As the procedure described performs an addition to the
53
desti~at~on locatio~,
it is necessary to initialize the
destination location.
This can ta done by clearing the
location (e.g., by subtracting the location from itself)
or by converting an
e.,dclit~on
operation to an LDA an.d
placing it as the first step of the sequence.
The last
steps to realize the filter involve adding the weighted
input
~rariable
a.'1d cor.11mting the output.
Prccadures
similar to those above are used for the multiplications
and additions needed for these operations.
F~gure 3. I
. .... .
po 1 e real 1Za~lon.
delay, i.e., a
One ?92nv
:... -
dela~r
~~o~-~m
l.J.;.
c;;.•
6"'-
s!:"loi·rs a ~lock diagra.'Il of a sa.r.rpled [1 J
'Tl'1
.,
•
.,
•
-1 represen~s
.
..
lne bl OCK
~aoeLea z
a un~~
sr:;.u:i.7aJ.ent to cne
---.:_JO:::.~~.
..
~~~--
'o"'_·ock~_-.
--
s:.'.!:!!ple interval cr
,~~elea·
..!..o.u
- ~
v~\,
...
multiplications, in each case by a constant.
1
rts)= - -
S+a
1
i;l}~-_1-z-1~- ... r
r-=- s.r...-..1Pu.: Pt:t,i0D
GAiN
DC Gt IN :;: (1
'----~-----------FREQUEilC"(
-·
8) -
1
e:presen ~·
54
SIMULATING COMPLEX CONJUGATE POLE PARTS
Figure 3.2 shows a sampled realization of a complex
pole pair with the 2920.
Again the blocks labeled X are
multipliers, those labeled z-l are unit (one sample
interval) delays, and the block labeled
Lis an adder.
Coefficients B and B2 control the frequency parameters,
1
and G adjusts the overall gain.
(a)
8 1 =2e-oT
cos wT
8 2 = -e-2oT
WHERE o =REAL PART OF POLE
w =IMAGINARY PART OF POLE
T =SAMPLE PERIOD
DC GAIN~ G/i1- 8 1 - 82i
MAX GAIN = Gl
AT f =
T(s)
Figure 3. 2
=
[(1 + Bli
Y17
l-+(=8"""','tc:-::4B'2""'))
('~)cos- '( 81 (1 -
8
482
. 2oT
G
s2 + 2os +(o2 +w 2)
, T(z)
•))
=
1
1- 8 1z- 1 + B 2z- 2
Realization of Complex Conjugate
Pole Pair
[6]
55
Figure 3.3
type of stage.
shows the frequency response of this
The choice of parameter values determines
both the frequency at which the gain peaks, and the Q or
sharpness of the peak.
0.5
1.0
1.5
2.0
FREOUENCY/2~1/LC
Figure 3.. 3,
Gain of Complex Conjugate Pole
Pair Section
REALIZING ZEROS IN BASIC FILTER SECTIONS
The building blocks described above realize only
poles.
To introduce zeros, additional elements may be
added to the sections described above.
The section itself
will remain unchanged except for the additions of blocks
which combine some of the "Y" values to generate new
outputs.
To add a single (real) zero, the blocks shown in
Figure 3.4
can be added.
56
iy" r-, !v,
' _1
_ ....
l
'
I
1----
1..-..J
Figure 3. 4
Realization of a
Si~gle
Real
r,1
Ze~o
•-1
The FORTRA}T equation of a zero realization is:
V
~c
a-c s
=
= Ao-:·:yQ+Al*Yl
(3. l)
?rocuce a zero equivalent to a
-(J,
the va:!.ues
fo~
con:i~uous
zero
AO and Al must ha...7e the
-:-elations hiD
(3.2)
~vhere
the •ralue for AO
_.u =
AO.
1.s
ar::,itrary.
cor a zero
cm,PLEX CONJUGATE ZERO PAIRS
To realize coiTplex conjugate pairs o£ zeros, the
t~ree
values YO, Yl,
~,d
Y2 must be available.
If t2ese
are not available as part of a basic complex conjugate
pole stage, additional delay stages may be added.
The
structure of Figure 3.5 realizes. the equivalent of a
comnlex conjugate
57
pair of zeros at s=O:t,jw via the (FORTRAN) equations
V(k)
= AO*YO+A1*Y1+A1*Y2
(3. 3)
AO, A1 and A2 must meet the following requirements (where
the value of AO is arbitrary):
Al
= 2.AO~e aT
A2
= AO.e- 2 cT
(3. 4)
cos wt
v
nsl-:-: s2
A,
.1..
o 2s + (o'- +
2
1.u )
T(~)=A 0 +A 1 z-• +A,z- 2
Y0
-
;-----,
-{ z'
I
Y,
~I
L.---.J
Figure 3. 5 Realization of a Complex
Conjugate Zero Pair
T(s)
= s 2 +~ 2 s+(a2 +w2 )
T( z )
= Ao+A1z -1 +A2z -2
(3.5)
MAX GAIN= JA 0 ) + jA 1 I+ IA 2
j
SOME PRACTICAL CONSIDERATIONS
The procedures described above show how second order
filter sections can be realized.
In selecting the gain for
the filter, the user should consider the scaling of the
variables within the filter.
in a number of problems.
Improper scaling can result
58
If the variables are very small, it is possible that
the 25-bit word width will not provide enough resolution,
and significant truncation noise will be introduced.
Because a second order filter of this type may perform
the equivalent of integrations in which results are
obtained by summing many small values, roundoff error can
occur in unexpected ways.
If the variables are scaled too large, overflow
saturation may result, with behavior very similar to that
occurring in an analog circuit when the signals exceed the
dynamic range of the amplifiers.
However, an additional
consideration may be important in 2920 realizations of
seccnd order sections.
As coefficient products are
developed by series of additions and subtractions, intermediate values may be larger than those finally obtained.
In general, it is necessary to provide sufficient
margins when scaling input variables to ensure that overflow
sat~ration
does not occur for intermediate values.
Some-
times the sequence of calculations can be ordered to
minimize potential overflow saturation.
A third method to prevent intermediate overflow
saturation is to compute some fraction of YO, restoring it
to full value when it is transferred to Y1, such as
in Figure 3•6.
sho~TI
This, of course, adds some noise to the
final output, lowering the accuracy somewhat.
59
,.-----------,--,
~-------------;,
i
. I
i
I
.figure 3. 6
Hethod for Preventing Intermediate
Overflow
(If overflow occurs, it will be when YO is increased
and loaded to Y1.)
No additional instructions are necessary in general,
because the extra multiplications shovm in Figure 3.6 can
be performed by modifying the instructions of the original
realization.
\Vhen a filter consists of a cascade of second order
sections, code ca..l'! be saved by performi.ng the gain adjustment calculations at just one point in the cascade.
ELLIPTIC 7t.THCTION ITJ_,TERS
The highest selectivity minimum :phase filters are
elliptic function filters, characterized by equal ripple
amplitude in the passband and the stopband.
The design
parameters are the amount of ripple in the passband, the
minimum attentuation in the stopband, and the transition
60
region width from passband to stopband.
These filters use
zeros in the stopband to achieve exceptional selectivity,
but have a finite ultimate attenuation equal to the
minimum attenuation.
The pulse response of the elliptic function filter
is approximately the same as for Chebyshev filters, and
possibly even better for the same selectivity.
The phase
and time delay characteristics are sufficiently bad that
this type of filter is seldom used where signal distortion
is a strong consideration.
COMPARISON OF MINIMUM PHASE FILTERS
Lowpass prototype filters have been discussed which
meet various magnitude or phase requirements.
For minimum
phase networks, the specification of one parameter
(magnitude or phase) necessarily constrains the other.
Thus, both amplitude and phase cannot be specified
independently.
Filter types and the corresponding properties are
listed in Table 3.2.
A comparison can be made in both the
time domain and frequency domain to illustrate the different properties.
A minimum phase filter is defined as a filter which
has all poles in the left S plane and no zeros in the
right S plane.
61
• Butterworth "maximally flat amplitude"
-
Flat in passband
Monotonic in stopband to zero gain at oo Hz
High selectivity
High overshoot transient response
• Chebyshev "equal ripple amplitude"
·-
Small ripples in passband
Monotonic in stopband to zero gain at oo Hz
Higher selectivity
Higher overshoot transient response
• Elliptic er cauer "equal ripple amplitude"
-
Ripples in passband
Ripples in stopband to Amin
Highest selectivity
H ighcst overshoot transient response
• Bessel "maximally flat delay"
- Monotonic amplitude in passband and stopband
- Poor selectivity
- Nearly linear phase and flat time delay
- Zero overshoot transient response
• Allpass
- Flat amplitude (constant gain)
- Used to equalize phase or delay characteristics of
networks
Table 3.2
Summary of Analog Filter Types
[~
Chapter 4
Sonar System
The purpose of a sonar system is to detect low
frequency sound signals from an object in water.
The sonar tranducer converts all sound signals to
electric signals.
An input low pass filter permits only a
certain low frequency band width to pass through the sonar
spectrum analyzer.
This project is to design the input low pass filter
for the sonar by implementing this filter with the INTEL
2920 signal processor.
INPUT DIGITAL LOW PASS FILTER
~
'I
l
L_J
1
randucer ~
.
Anti
Ali-
/D
Filter
D/A
Spectrum f
Analyzer l1
si
Figure 4.1
A Schematic of a Sonar Detecting System
62
I
63
LOW PASS DIGITAL FILTER - CALCULATIONS
Application: Input low pass filter for sonar system
The filter is to determine the base band of 2. 5 KH
spectrum of low frequency signal detected by sonar.
SEecifications:
Fe 2.5 KH
Fs 3.5 KH
The dynamic range is 2.5 - 3. 5 KH.
Ripple in passband no more than 1. 3 DB
Minimum loss in stopband
24
Input signal amp, mx
+ 1 V control by 0. G. C.
=
DB
Phase linearity not required.
The signal comes from anti-aliasing filter and base
band limited to 10 KH
Phase specification permits the use of IIR type
digital filter.
It will be the best way to obtain the
z-plane H(z) by transforming analog filters H(s) from s
plan to z plan by the use of l1ach z transform.
Design considerations:
From Chapter 3. Elliptic Function Filters, and Table 3.2,
this elliptic filter will give the specific selectivity
with the lowest order.
Consider the above specification
and the handbook of Filters by Zverev.[7] Let us choose an
order 3 filter and with sin 9 = 2 · 5 , 9 = 45° and reflecT.S
tion of 50% give 1.25 DB ripple (maximum). The poles are
at (-.16573 + j.98334), (-.55518
± jo),
Zeros at (0±jl.5710)
64
All are nomalized to Fe and denormalized by multiplying by
(2.5*21't'*103) = w c
. I
The denormalized poles and zeros values are:
poles in r/s (tad/sec)
<6 1+jw 1 )
s, =
= (-8720.7 + jO)
s2 = (62+jw2) = (-2603.2 + j15446.2)
= <o3+jw3)
s3
Zeros in r/s
so 1
= (-26032 - j15446.2)
= C6 01 +jw01 ) = (O+j24677.2)
so 2 =
<6 02+jw02 )
= (O-j24677.2)
H(s) _ (S+j24677.2) (S-j24677.2)
(S+8720.7) (S+2603.2+j15446.2) (S+2603.2-j15446.2)
For matched z transform: Transform
Zeros and poles from s to z domain.
H(z)
Then
= ( l-eTSOl.,z-1) ( l-eT.S02xz-1)
(l-eTSiz-1)(l-eT$2.z-1)(l-eTS3z-1)
so
1
H(z)= 1-2e0 .z- .cosj(24677.2xT)+z- 2
(l-z-1e-8720.7xT)(l-z-1e-2603xTx2 cosj(l 5446 xT)+(Z-2e2x-2603.2)
for f 8
= 'T1 -
10 x BW = 25KH
soT= 40.10- 6 sec, if
@
65
6
ze(202T)x cos(W 2T)= 21 C-2603x40x1o- ) x cos(15446.2xT)
= 1.46929688
6
e203T = ~e(-2603.2x40x10- )x2 = • 81199913 86
B11 =
B12
A10
=
=1
602T cos(w02T) = -21°.cos(24677.2xT)=
A11 = -ze
-1.10224658
A12 = e-o02T = eoT = 1
•
••
H(z)
6o2 = o
= A10+A 11 z-1 +A 12 .z -2
( 1-B01 z-1)( 1-B 11 z-1 +B 12z-2)
Now, as stated in Chapter 3, the coefficients Aij and Bij
of H(z) are present in the filter program instructions
that realize the poles and zeros, with order shown in
Figure ~.1.
The program itself is spelled out on the next
page.
£?
X
SIGIN
~~\
I
•
,.,-.._,
YOO
I
I
1~ ~t\{\--u
"'
TA,
r--....___:._f\.__1 Y10 ~~]
_r-...._:<>__ · _\...:
~g:;}, ,,
e!,
r,
I~
\
\
~.,
-I z·l
'(:2 >
i
\.\
•r
rr--l_)-
i ..
,;.
.
S!GOUT
I
'-----<t----_j
t
e,.
Figure
~~2
Block Dia~ram of Complex 3 Pole
2 Zero Elliptical Digital Filter
•
66
THE DIGITAL FILTER PROGRAM FOR INTEL 2920 PROCESSOR
D
s
SH
1 • LDA
Yo1
Yoo
Roo
2. LDA
Yoo
DAR
Roo
3. ADD
~00
Yo1
Roo
4· SUB
5. ADD
Yoo
Yo1
Ro8
Yoo
Yo1
Rll
6. LDA
Y12
Y11
Roo
7. LDA
Y11
Y10
Roo
8. LDA
Y1o
Yo1
Ro1
9· ADD
10. SUB
Y1o
Y11
Lo1
Y1o
Y11
Rol
11 • SUB
Y1o
Y11
Ro5
12. SUB
Y1o
Y11
R1o
13. SUB
Y1o
Y12
Roo
14. ADD
Y1o
Y12
Rd3
15. ADD
Y1o
Y12
Ro4
16. ADD
Y1o
Y12
Ro9
17. ADD
Ylo
Y12
R12
Ylo = Yolx0.5+Y11xB11+Y12xB12
18. LDA
YoU
Y1o
Roo
YoU = Ylo A1o = Ylo
19. SUB
YoU
Y11
Roo
20. SUB
YoU
Y11
Ro3
21. ADD
YoU
Y11
Ro6
22. ADD
YoU
Yll
Ro7
23. SUB
YoU
Y11
R11
24. SUB
YoU
Y11
R12
YoU = Y1o.A1o+A11.Y11
25. ADD
YoU
Y12
Roo
YoU = Y1o*A1o+A11xY11+A12.Y12
INS
Yoo = in G =
Yoo = Yo1.Bo1+x
Y1o = Yol.G1/G1=0.5
Ylo = Yo 1xO. 5+ Y1 1xB 1 1
67
26.
LDA
DAR
YoU
Roo
DAR
= YoU
T = 40.1 o- 6 sec = samp
= 25K
CLKC/T = 4 x 26 = 104
= CLK cycles in T
F CLK = .1illt = 104.fs = 216.10 6 Hz = CLK frequency
fs
T
68
0 REM****~****************************~****~~**********
1 REM:IC THIS PROGRAM SIMULATES A DIGITAL FILTER.
2 REM* THIS IS AN ELIF'TIC F'IL. TER LoJITH CUTOFl= Fi'!EGlUE~jC't::l:
3 REM* OF 2.~KHZ. STOP SAND STARTS AT 3.5KHZ
4 REM****:U::IC:t:l::i::I:*****:IC:I::t::l::t::t::t:fC:t::t::IC:t::t::t::t::U:t.*:l::t::i:::i::I::IC:t::t.:t:::i::t::t::t::t.:t:
*
*
'
OIM
'(f.
213 ) .. A< 2~D, 3< 20 ),
113 OPEN ~a~.#-2,"FILTER"
2a K=0.a174~32
L•JC~0),
zr. 2~D
30 CLS
40 :1!•0
'Ill INPUT
~:5
"
SAMPLING F'i<!EGlUENCY - KHZ";S
PRINT lt-2, "SAMPLUjG RATE"S"KHZ"
INPUT "
INPUT FREGIUEHC't - KHZ" J F
PRINT #-2, "INPIJT FREQUENC'r'"F"KHZ" INPUT "
AMPLITUDE";A
80 UjPIJT "NUMBER OF SAMPLES~ ; N
60
65
713
91il
T:~~F/S*360
:?5 PR I ~lT #-2, TAB< 9121 ) "--------------OUTPUT---------------------------
-INPUT------------11
Hl0
111,
121
122
CLS
M•0
Y<ll3)•0
'(( 11 , .. 0
123 'r'( 12 )=Iii
124 '(( 2!:3 >=0
!.25 J:s0
1~0
8(01)•0.:?96518076
1,1
9<11)=1.46772264~
1~2 9<12):s-g,9102600776
1'3 A< 10 )=1
154 A<ll)•-1.102246~8
15~
A<12)•1
156
~1"'0.125
F~R
!57
1~8
Q=1 TO <N)•J•J+!
C=SIN<K::i:T*J)
160 Z<~0)=G1~Y<00)
161 Y< 12),'1"(. 11)
152 Y< 11 )•'r'< 10 )
170 Y<t0)~2<~0)+'r'f.12)*8<l2)+Y'.!1):t.8<Ll)
t i~ Y< 20 )='I'~ 12 ):tA< 12 )+Y< 11 )'4:A< 11 )+Y< l 3 ):l:A< 10 )
176 Y<~0)=Y<01):l:8'.01)+A*C
177 YUH /=Y< Y.'l?.J )
1:313 PIO!INT
1:31 ?RINT
182 PRINT
183 PRINT
184 PR !rjT
'(( L2)
'(( 11)
Y< 10)
'r'< 00)
A*C
130 U=A*C+I$13
19~ X•Y<20)+20
2011! l"i=M+1
20~
PRINT
2!0
~lEXi
a
~-z,M,
TF!8(X)",",7R9(U)"."
69
SRi·1FL.ING RRTC: 25 KHZ
WPIJT FF..EG1UEHCY 2 KHZ
Figure 4:3
This Figure shows the pas5 band for sin(w) of
2KH· input. Filter output is the same sin(w)
as the input.
---------------OUTPUT---------------------------------------INPUT------1
•
.
2
3
4
~
6
7
9
9
10
11
12
13
14
15
16
17
19
1~
20
21
22
23
24
25
26
27
28
29
313
31
32
33
34
36
37
'38
35
40
41
42
43
44
4S
46
47
49
49
50
@
'
70
Figure 4:4
This Figure sho~.;s sin (ZTrF'c) inout and the resu:cing o£
3 db loss in output.
the cut off frequency of 25 KHZ
SAMP~ING RFT! 25 KH~
H1PIJT FREG:~JE1-1C"l 2. 5 KHZ
------------CIJT?IJT----------------~----------------- I ~lP'JT -------·
1
z
3
4
~
6
7
Iii
'3
10
11
12
13
14
15
to
1i'
13
19
20
21
22
2:3
24
2:5
2S
27
28
29
38
31
32
'33
'34
'3~
3S
::r;o
38
39.
41;!
41
42
43
44
4!5
46
47
48
49
!PJ
71
SAMPLING RATE
It~PIJT
2~
KHZ
Figure 4:5.
This. figure _sh<;>ws_ t~e d·;rja.'!lic range at: 3Kn point.
The ~nput ol: $~n (2, •3xlD ) . The output has a loss
of more than 3 db.
FREG:UENC'( 3 KHZ
----------------OUTPUT---------------------------------------INPUT---------·
1
2
3
4
~
5
7
a
9
Hl
11
12
13
•t4
1~
16
17
18
19
2eJ
21
22
23
24
z~
26
27
28
251
30
31
82
33
34
35
::6
37
38
39
40
41
42
43
4,
44
46
47
49
49
~0
72
Figure 4:6
This F~ure shows the stop band input of
sin (211 3.5, lOJ). The output has more than
SAMF'LniG RATE 2~ '<HZ
24 db loss. A small ripple in the stop band.
INPUT FREQUENCY 3.~ KHZ
---------------OUTPUT---------------------------------------IHPUT-----1
2
3
4
:5
6
?
9
9
13
11
12
13
H
1~
16
1?
19
19
20
21
22
23
24
2:5
26
2?
29
29
30
31
32
33
34
:3~
36
3?
38
39
40
41
42
43
44
43
46
4?
49
49
!50
73
:"igure 4:7
This F~ure shows the stop band at 4 rGL I~p'.lt is
sin (27T4.1Q3) The output has more than 24 db loss.
2~ KHZ
INPUT FREQUENCY 4 KHZ
SFI11PLHlG RAT;:
----.:..---------OUT?IJT
1
2
3
4
,
5
7
9
9
10
11
12
13
14
15
16
17
18
19
23
21
22
23
24
2,
26
27
28
:29
30
31
32
33
34
3~
36
37
38
39
40
41
42
43
44
45
46
47
49
49
~a
---------------------------------------!
N?!JT ------.--·
74
Figure 4:8
This figure shows the stop band at 4.5 ~q.
Input of si~e wave and the output are more
than 24 db attenuated.
SAMPLING RATE 2:5 KHZ
INPIJT FREQUENC'r' 4. 5 KHZ
---------------OUTPUT---------------------------------------INPUT------·
1
~
~
7
s
5
10
11
12
13
l4
1!5
16
17
18
15
20
21
22
23
24
"25
26
27
29
25
30
31
32
33
34
....
..:~
.....,
36
37
39
39
40
41
42
43
44
4~
41:)
47
4S
45
~0
..
Chapter 5
RESULTS AND CONCLUSION
The aim of implementing a low pass digital filter
with the INTEL 2920 signal processor for sonar application
has been accomplished by this project.
The design deals mainly with transforming a chosen
analog transfer function of a filter in s plane to z plane
by matched z
in block
transform~
diagram~
realization of the poles and zeros
and calculation of A and B coefficients.
This is followed by converting this realization to the
processor instruction program of 2920.
The filter can be simulated on a general purpose
computer.
This is an efficient technique to check the
design and the program itself.
The design technique of digital processing using
INTEL 2920 processor has the advantages and benefits
described in Table 3.1.
75
76
REFERENCES
1
2
Peled, A and B. Liu. "Digital Signal Processing,"
John Wiley and Sons, Inc., New York, 1976.
"Intel - 2920 Analog Signal Processor Design Handbook,"
Intel Corporation, Santa Clara, CA., 1980.
3
Intel Application Note AP 32, August 1980.
4
Holm, R. E.
5
Antoniou, A.
1979.
Holm, R. E.
7
Electronic Design 23, November 8, 1979.
"Digital Filters: Analysis and Design,"
"Intel Article AR 114", 1980.
Zverev, A. I. "Handbook of Filter Synthesis," John
Wiley and Sons, Inc., New York, 1976.
8
"Int·el 2920 - 16 Signal Processors Preliminary,"
1979.
9
Holm, R. E. and C.Yaget.
"Intel Article AR 117."
n
APPENDIX A
INTEL 2920 - 16
SIGNAL PROCESSOR SPECIFICATIONS
78
•
•
•
•
•
•
Real Time Digital Processing of
Analog Signals
Nominal Signal Bandwidths from DC
to 10KHz
Digital Processing Accuracy and
Stability
Special Purpose Instruction Set for
Signal Processing
INTEl.l.EC"' Compatible Development
System Software and Hardware
2920-16 (T eve
•
•
•
•
•
•
•
Multiple Analog Inputs and Outputs
On-Chip Sample and Hold Circuits
and D/A Converter
On-Chip EPROM: User Program·
mabie and UV Erasable
On-Chip Scratch Pad Memory
Analog and/or TiL Output
Waveforms, User Selectable
::: SV Power Supplies
N-MOS Process
=600 nsec), 2920-18 (Teve =800 nsec)
The Intel" 2920 Signal ?~cesser is a :::rogrammaole, single chic analog ana cigital signal processor
specifically cesigned to replace analog s:.~Psystems in real time processing a;::piications. Its •nstr~c:1cn
set plus tne hign precision (25 bits) dignal arithmetic logic unit provides the capability to imo•ement ·tery
complex subsystems. rypical functions performed by the 2920 include: Lowpass ana Sanaoass filters
with up to 20 complex pole and/or zero pairs; r~reshold Detectors: Limiters: Rectifiers; uc tc <:S-o1t
multiplication and division: approximations to nonlinear functions such as square law ana !ogam:-~m:
logical operations: Input and Output multiplexing of signals; logical outPuts tor decision type process.ng;
and analog outpuis tor multifreauency oscillators, waveform generators, etc. In addition, several 2920's
may be cascaded for very complex processing applications with no loss in throughput rate.
v,_..________r-------------~.~::.:_~sr:o:•~~~-------------,
I
fU"OMI
•u~-------4L-~------------~·~•:n~·~u:_
II
1------~
______________~j
11
!I
$1CilN ··~-------r-,
SIGIH 1 1 1 - - - - - - 1
f - - - - - S I C O U T •01
Sl<liN 1 2 1 - - - - - 1
1-----src:our m
SIGIN 131---...,.,~
1-----.s!CiOUf r:1
1-----sraouT !5t
Figure 1. Functional Block Diagram (Run Mcde).
79
'instruction Set And OP Codes
Mnemonlca
Code
I
Condition
Olglt•l Instructions
Op-Coo"'''
AOO
SUB
I.CA
a11
101
111
XOR
000
ANO
ABS
ABA[TTJ
I.IM
AOO
CNO(
!i21
100
110
001
010
a11
SUB
CNO(
)121181
1a1
i.CA
CNC<
;;21
:11
ASAI"l CNO(
CNO(
XOR
liVI
)!91
O~tlons
I
ALU IAOFj AOKI
I 0.1,2 0,1 I 2. 1.a
001
aao
i
I
!
I
l
I
Ill
I
:l:
I' '
I
I
!
I~
,.Ax2N• ~a-a
B·iAx2N•-s
iAx2H•-o-a
J <Ax2N' e a - s
I Ax2N' • 8 - - - 8
j(Ax2NII
a
liAX~![ + 8 - - a
Sign(AI -:: F.S.-a1•1
1Ax2Nl ... a - - - a
IFF OAAIK!"' 1
a
8
IFF OAAIKI ~a
a - <Ax2N• - - - a & CY -OAAIKt IFF CY;o"' 1
a+IAx2N!-a & CY -OAR(K' IFF CYp • a
I
IFF OAA1K: • 1 I
•Ax2Nl
a
a
IFF CAA(I<.I "'0
CAx2NJ ... a - a
1CAx2Nl • a - - - s
II
I
: Notes
I
I
I
II
s
I
I
II
I
I
I
·5'
I
1
i
i