Documente Academic
Documente Profesional
Documente Cultură
By-
A Thesis
Master of Engineering
McMaster University
November, 19 71
..
~.
MASTER OF ENGINEERING (1971) McMASTER UNIVERSITY
(Electrical Engineering) Hamilton, Ontario
-ii-
. 'ABSTRACT
machine design is given, along with a short error analysis. The instrument
-iii-
ACKNOWLEDGEMENTS
I would like to thank Dr. A.R. Elliott for his constant encourage-
ment and assistance during the course of this w9rk and in the preparation
of this tQ.esis.
acknowledged.
-i.v-
TABLE OF CONTENTS
1. Introduction 1
5. Conclusions 93
Appendix 98
-v-
LIST OF ILLUSTRATIONS
-vi-
Figure No. Title Page
-vii-
LIST OF TABLES
Table No.
-viii-
LIST OF SYMBOLS
t = time
= period of f (t)
cm = weighting constant
a
n = coefficients for the odd orthogonal functions
b
n = coefficients for the even orthogonal functions
= phase
-ix-
LIST OF SYMBOLS (cont'd)
multiplier
h,j ,k = integers
CHAPTER 1
INTRODUCTION
ramps are examples of the simplest methods while a unit such as described
methods.
- 1 -
2.
puter works in the time domain and consists of a word register and a
of the desired output signal, are fed into the word register and then
converted. to the correct analog voltage. Such a method has been success-
fully used iri the generation of electronic music (1). The accuracy of
this system is dependent on the number of bits in the word register, which
a 3kHz bandwidth, the sampling theorem requires that the sampling rate be
at least 6kHz. Thus, the word register would have to be updated at least
to generate the simplest words. Since the average spoken word has a dur~
spoken word is desirable. One possible method is _to break speech down into
its basic sounds, or formants (2). The required formants are then generated
3.
are increased software problems related to ordering the formants and blend-
ing them together. The problem of analysis of the speech to determine the
speech., The computer is used to locate the required word or phrase on the
tapes. Such a system has been used at the London International Airport for
offers the advantage of good fidelity and is quite suitable if a long series
some type of data compression is needed. This is not feasible in the time
to the frequency domain. The original signal can be 'reconstructed by.a sum-
b
n
2
= -T 1
0
2
f (t) cos( ;nt) dt (1-4)
updated after every interval T. The analysis is usually carried out using.
f(t) by using equation (1-2). Note that the amount of data stored in the
computer is the same as with the time domain systems. _The computer must.
supply N coefficients every N/6000 seconds, or one word every 1/6000 seconds,
which is equivalent to the 167sec rate for the time domain system.
for speech (11), generally the first sixty-four coefficients are calculated
s.
using the Fast-Fourier Transform (N=64). Thus, the coefficients are up-
usually only eight of the dominant* terms in the Fourier domain are suf-
feasibility of this approach. Their work has shown that the original sig-
ellite transmission of voice using only eight data words every 10.67 milli-
is generally not practical. The computer must not only supply the correct
coefficients at the proper time, but it must also control the generatioh
. of the sine and cosine waves. Typically, eight out of a possible sixty-
four sine and cosine waves must be generated and these must have accurate
generation of the sine and cosine waves by software. However, this ties up
the computer, and capable of producing the required phase and frequency re-
sines and cosines, that can.be used to perform transformations, but which
are more .suitable to computer control. The property of sines and cosines
that make them useful in the Fourier series is that they have the math-
tor that can generate any of the first sixty-four Walsh functions with
desired signal can be derived from the following infinite series which
using only the most dominant terms, allowing a reduction in the amount
thesis since the Walsh function generator, and indeed all of the Walsh
series circuitry, can be made out of digital logic. There is one other
many speech sounds also contain a large number of high frequency compon-
the first sixty-four Walsh functions, for example, than the first sixty-
four sine and cosine functions. For these reasons,. it was decided that
data in the Walsh domain and resynthesis of the speech by performing the
results, choosing dominant terms from among the first sixteen Walsh func-
tions, and using a constant update time of 4 milliseconds, have shown that
speech synthesis using one or two dominant terms per interval produces
speech using the Walsh Transform. However, this device and others like
that t~e circuitry used is, to some degree, analog. The device to be de-
analog converter on the output. Great efficiency and simplicity have been
vice is given, along with the results obtained. Chapter 2 deals with the
of speech and how they influenced the design of the apparatus. Chapter 3
gives the system layout and the detailed design. The results obtained and
the potential uses of the device and what work is l~f t to be done.
CHAPTER 2
A THEORETICAL BACKGROUND FOR ORTHOGONAL TRANSFORMATIONS
by the specific cases of the sine and cosine functions, Walsh functions
b
f (m,x)f (n,x)dx C 6 (2-1)
f
a
m m,n
where 6
m,n = 1 if m=n
0 if ~n
C is a constant.
m
()()
sides of (2-2) are multiplied by f (k,x) and both sides integrated over
b b
.{ F(x)f(k,x)dx = .r OCI
E c(n)f(n,x)f(k,x)dx (2-3)
a a
n=O
co b
= E .{ c(n)f(n,x)f(k,x)dx
n=O a
Due to the orthogonal nature of the functions, f(j,x), all terms on the
th
right side of the equation will vanish except for the k term. There-
fore,
b b
c(k) = J b
F(x)f(k,x)dX (2-5)
a
The other coefficients can be evaluated in the same way. Once all the
coefficients have been evaluated, the original function F(x) can be re-
functions are orthogonal over th.e interval 0 to 2ir. This is evident from
;; 2ir
sin(mt)sin(nt)dt ircS
m,n
n,m,'O (2-6)
""0 n or m = 0
Jr
0
cos(Jnt)sin(nt)dt ~ 0 (2-8)
Thus, the set of functions {sin(mt), cos(mt)f are orthogonal over the
12.
co co
f (t) = E an sin --T- +
. (2Tint) E b cos 2TTint) (2-9)
n (
n=O n=O
Note that, for n=O, the sine function is zeru and the cosine functlon is
(2-10)
is time independent.
aj is given by:
J
0
f (t) sin (
2
"it) dt (2-11)
T
bj =
2
T f
0
f(t) cos
() dt (2-12)
ality giving:
T
1
= T f f (t)dt (2-13)
0
This represents the average value, or DC offset, of the signal f(t).
are determined by equations (2-11), {2-12) and (2-13). Note that the sum-
00
f(t) I: (2-14)
n=O
However, it is often convenient to keep the functions separated
possible to keep the odd and even functions separated, as will be discussed
however, and the Walsh series finally used will consist of only one class
of functions.
after the basic time interval. Notice that they haye been subdivided into
two classes, SAL(n,e) and CAL(n,0) representing the odd and even functions
WAL(2n-l,9) = SAL(n,0)
n = 1, 2, 3,
It is obvious that, in general, the locations of the zero cross-
ings of the Walsh functions are not evenly spaced. For this reason, the
standard concept of period and frequency used for sine waves is not valid
crossings per second. The Walsh functions in Figure 1-1 are ordered by
their sequency, from zero to eight. Note that the concept of sequency is
I
Figure 2-1. First Sixteen Walsh Functions
I e+
WAL{ O,Q) +l
+l CAL{ 3 ,Q)
WAL( 6,Q) ,
-
WAL( 7 ,Q) +ll
-1
I SAL( ~,Q)
WAL ( 8 , g) +l ---,
-1
I I I CAL( 4,Q)
functions WAL(n,e) have the same sequency. In any event, for the CAL(n,e)
and the SAL(n,e) notation, the first number listed is the sequency and
the second number is the position variable, ranging from zero to one.
functions.
are easily generated since they are simply square waves having 2n zero
crossings .per interval. Using the following relation, one can obtain.
out the interval. For example, consider the product of the second and
710 = 1112
17.
-A
Therefore, WAL(4,e) = WAL(3,e) x WAL(7,e) (2-18)
veloped. To this end, Siemens and Kitai (9) produced an algorithm for
st red Walsh functions. For its imp] em~ntati.on, the tjme interval T must
under consideration will maintain a constant value. For instance, if, the
CLOCK
-. -..
CD CD -..
CD -. -.
CD CD -.. --.
CD CD
- -
......
...I
~
\0
...I
c:(
3
-
Lr>
...I
~
-:i -
o:::t
...I
(V)
...I
c:(
3
-
N
...I
~
. ..I
c:(
3
19.
+l
HAL(S,Q)
-1
0 1 2 3 4 5 6 7
POSITION
NUMBER
CONVERSION: e =a
f =a I b
g =b c
h =c ' d
addition of the adjacent bits of the binary coded number. Figure 2-4
of a signal is based on the fact that they are orthonormal over the in-
quite easily.
1
J WAL(h, e) x WAL(j, e)de = f1 wAL(h @ j, e) de (2-19)
0 0
DC offset of the function WAL(h j,0). Since all Walsh functions (except
average value of zero, the average value of any Walsh function is zero
except for WAL(O,e). Thus, the right side of equation (2-19) is zero
1
I WAL(h, S) x WAL(j ,6)d0 - 0
h "' j (Z-20)
0
1 1
J WAL(j, e)WAL(j ,e)de = J WAL(j (I) j ,e)de
0 0 (2-21)
1
= f WAL(O,e)
0
... 1
The above is true since WAL(O,e) is equal to one throughout the
interval zero to one. It is the only Walsh function to have a DC off set
value. Thus, the Walsh functions are proven to be orthonormal over the
interval 0 ~ e < 1.
co
f,{t) = E c (n)WAL(n, 0) . (2-22)
n=O
. f(t) = a
0
WAT.(0,E.\) + E . (2-23)
n=l
mean squar.ed error {~) between the function f ( t) and its series repre-
sentation.
1
~= J [f(t)
o
-
n=O
E c(n)WAL(n,e)] 2de (2-24)
.1 1
= f f 2 (t)de - 2 coI: c{n) f f(t)WAL(n,e)de
0 n=O 0
1
co co
+ E E c(n)c(m) f
WAL(n,e)WAL(m,e)de
n=O m=O 0
From equation (2-20) and (2-21),
1
JWAL(n,0)WAL(m,0)d0 = tSn,m (2-25)
0
Therefore,
23.
1 1
~ = J f 2 (t)d0 - 2 t c(n) f f (t)WAL(n,0)d0 (2-26)
O n=O 0
1
a~
ac(j) = -2 f f(t)WAL(j.,0)d0 + 2c(j) = 0
0
Therefore,
1
c(j) ""
f
0
f(t)WAL(j,0)d0 (2-27)
c(j) (2-28)
where fk is the value of f(t) at the kth sampling instant and WAL(j,0k)
th
is the value of WAL(j,0) at the k sampling instant.
The algorithm developed by Siem.eris and Kitai described earlier was used
Since both these steps are really a one-to-one mapping from one set of
the algorithm omitting steps two and three, these new functions would also
reordered. The second Walsh function in one system might become the third
in another system, for instance. The code conversion was originally_ in-
ematical sense, its elimination can greatly simplify the generation of the
orthonormal functions.
The new set of functions that are not ordered in terms of their
sequency are called Hadamard functions. The first sixteen of these are
25.
form, with the rows representing the function numbers and the columns
Due to the similarity of the algorithm for the generation of Walsh and
following chapter.
both in software and hardware. Walsh functions are also used since they
l 15
2
I I 7
3
I I __la
4
I 3
5 12
6 4
7 11
8 l
9 14
10 6
11 n n__J Lg
12 2
13 13
14 I 5
15 10
27.
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1
1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1 -1
1 -1 -1 1 1 -1 -1 1 1 -1 -1 1 1 -1 -1 1
1 1 1 1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1
1 -1 1 -1 -1 1 -1 1 1 -1 1 -1 -1 1 -1 1
1 1 -1 -1 -1 -1 1 1 1 1 -1 -1 -1 -1 1 1
D= 1 -1 -1 1 -1 1 1 -1 1 -1 -1 1 -1 1 1 -1
1 '1 1 1 1 ...
1
...
1 ,
.&. -1 -1 -1 -1 -1 -1 -1 -1
1 -1 1 -1 1 -1 1 -1 -1 1 -1 1 -1 1 -1 1
1 1 -1 -1 1 1 -1 -1 -1 -1 1 1 -1 -1 1 1
1 -1 -1 1 1 -1 -1 1 -1 1 1 -1 -1 1 1 -1
1 1 1 1 -1 -1 -1 -1 -1 -1 -1 -1 1 1 1 1
1 -1 1 -1 -1 1 -1 1 -1 1 -1 1 1 -1 1 -1
1 1 -1 -1 -1 -1 1 1 -1 -1 1 1 1 1 -1 -1
1 -1 -1 1 -1 1 1 -1 -1 1 1 -1 1 -1 -1 1
28.
and, by using algorithms such as the Fast Walsh Transform, the coefficients
can be evaluated. The Fast Walsh Transform is analogous to the Fast Fourier
Transform. The latter is used to evaluate the coefficients needed for the
Using the Fast Walsh Transform, N samples ~f the signal are used
because generally speech waveforms are not periodic. Thus, the coefficients
will change in value with time and must be updated by the algorithm. These
these factors will affect the accuracy of the generated output signal.
If this signal is changing form rapidly, then a high update rate is needed.
If the analysis of the signal shows that there are many high sequency com-
ponents, then the value of N should be large. Both the update rate and the
value of N will affect the rate at which the original signal is sampled.
This poses a difficult problem since very little speech analysis in the
Walsh domain has been carried out. For this reason, the determination of
allow relatively easy modification of the update rate and the value of N.
Recall also that not all N coefficients need be used in the generation
of the speech waveform. Data compression is carried out by choosing only the
comes:
;M
. f(t) ::: I: Ck WAL(kn,0) (2-29)
n=l n
where ck is the n th most domi nant coeff i c i ent se1 ected f rom a set o f t he
n
first N coefficients. The value of M must also be chosen, based on the
sounds such as lul most closely approximate a sine wave. A sequency analysis
of this sound is given by Campanella and Robinson (11) and their results,
If the speech waveform were rapidly changing, such as it would with the
hard consonant sounds, a high update frequency would be used. For vowel
sounds, a lower frequency would. oe used. While this adds slightly to the
complexity of the system, the saving in data needed to produce the sounds
simplicity, a variable sample rate feature was not implemented in the hard-
40
35
30
VOWEL lul
25
I.LI
Cl
:::>
t:: 20
-'
c...
:E:
c(
15
10
0
0 4 8 12 16 20 24 28 32
SEQUENCY
'worst-case' signal of the vowel lul it is seen that the.largest six co-
most dominant coefficients for speech sounds analysed in the Walsh Domain
(see Campanella and Robinson (11)) would probably be sufficient for in-
chosen. Both positive and negative valued coeff icletlts can be used.
here can only use the eight most dominant. Within this set of eight
most dominant terms the ratio of the absolute value of the most dominant
the summation of equation (2-29) once every five milliseconds. The sum-
mation will consist of a maxi.Plum of eight terms selected from the first
sixty-four Walsh functions. If only six terms are actually needed, for
example, the remaining two can be set to zero with no detrimental effect.
The value of Ck can vary from -63 to +63. The next chapter discusses
n
33.
Triangle 48 1 16
Ramp 32 1 32
the constraint of using only the dominant eight terms of the first sixty-
four Walsh functions, the design must be able to handle programable Walsh
function inputs, multiply them by their coefficients, and add these terms
. . /
since it has been presumed that the coefficients will be produced in bin-
exists, the system of Figure 3-1 will generate the required Walsh series.
and the results are summed in a binary adder. This sum is converted from
to-analog converter. The process is repeated each time any of the Walsh
system, which would use one Walsh function generator and one multiplier
now becomes necessary for the binary adder to have a memory element in it
- 35.;...
36.
ck
1
x
WAL
GEN
CD
z
.....
(....)
c(
LL.
cx
LLJ
cx
LLJ
Cl
Cl f( t)
I-
z
.....
0:::
c(
>-
cx
c(
0-A
LLJ
I-
::::>
Q..
z
.....
co
:::=;::
0
(....)
ck
8
x
WAL
GEN
w
z
.....
(....)
c( cx LLJ
LL. 0::: 1---1 ck LL.le.!)
cx LJ.J
n 11-- Cl c(
f(t )
LL.I
I-
z
.....
1--
x
LJ.J
.....J
0..
..... WAL
x
Cl 0:::
<CO
>-In t-- 0-A --
ex I- 1---1
GEN W1 cx
c(:C
LL.I
I-
::::>
.....J
::::>
:::=;::
..........
ZI-
co ::J:
0..
e
(....)
37.
This system is somewhat simpler than the first in that only one
Walsh function generator and one multiplier are needed. On the other
needed in the adder to hold the partial sum as each additional term is
have to store eight words containing the desired eight coefficients and
takes eight times as long to arrive at the sum to send to the D/A con-
verter with the multiplex system than with the first system. However,
since only audio waveforms are being generated, this is not a serious
be obtained with the realization that the absolute value of the Walsh
together, the Walsh function and sign of the coefficient can be logically
combined. If the Walsh function and coefficient have the same sign, then
the absolute value of the coefficient can be directly added to the partial
38.
sum in the binary adder. If the signs are different, the absolute value
of the coefficient should be subtracted from the partial sum in the adder.
and the sign of the coefficient. By using such a sy8tem, the complex
'black box' having a clock input, a series of k control lines and an out-
put. A binary number (in this case ISc.nl ) is placed on the control lines,
and a clock signal of frequency fIN is placed on the clock input. The
x ~ (3-1)
f
OUT = f IN a
where a is the binary number on the k control lines and a= 2k.
clock input and the number sixteen is placed on the control lines, the
39.
I.LI
(.!)
~
0
I-
Vl
(!) :::r:
z
...... .
I-
......
<..)
c:(
lcknl :::;:
u.. 0:::: 0::::
0:::: I.LI 0
I.LI
I-
x
I.LI
I-
u f(~)
z
......
1-- ..J c:( t-- D-A >
a.. 0::::
0::::.
...... I-
I- c::i
I.LI ..J ~
I- ~ __S_1G1i Vl
~
a..
::.;:: CONTROL .........
0::
::.;:: I.LI
0 c
<..) c
c:(
>-
0::
c:(
WA[ z
......
t-- &EN, co
CLOCK
fin
(!)
z
lcknl RATE fout 0::
I.LI
...... MULT I-
u z
c:( ~
u.. 0:::: 0
0:: I.LI u f(t)
--
I.LI x
I- I.LI :z: 0-A
z
......
1-- ..J Cl t--
a.. .........
...... a..
0:: I- ~
I.LI
I-
..J
~
SIGN UP/DN >-
~
a..
:::E CONTROL 0::
;2
~
<..)
......
co
~
WAL
GEN
"40.
= lkHz x
16 (3-2)
64
= 250Hz
pages. A more detailed diagram of the system layou~ with additional timing
from the computer or manually through the use of panel switches. A multi-
plexer is used to determine which register is being loaded with the data.
ients, the Walsh function generator is set to the zero position number and
a LOAD signal is sent to the registers. Titis transfers the data in the
the input registers can be carried out entirely independently of the rest
of the device as long as all eight input registers have been loaded in the
CLR-LD_l1
UP- ON
CNTR I If
HI
0
11
COMP
!I:
s
-'
cI:: ~
:ID c TRNSFR OUTPUT en
r- r-
z>
~
~ ~
:; Cll :; REG ='rt
r- r- ::r
MAN I~ "'""
:ID "'
)(
CD
en
I-'
N
CD
I I I I
D-A Ii
RATE 3 BIT
III en
-
MULT CNT~
A B C OUTPUT
;~ ~ I
SYNCH I~
REG. SELECT
I ~0---
BUff
SEL
.....i::-
42.
the rate multiplier which in turn provides from zero to sixty-three pulses
in the interval +/(64x8). These are then fed to the up/down counter. The
direction of the count is determined by the sign of the coefficient and the
value of the Walsh function. At the end of this interval, a pulse is sent
from the rate multiplier to the three bit counter, changing the levels on
lines A, B and C. This advances the ~ultiplexcr to register 2 and the pro-
will have been sampled and the up/down counter will contain the correct sum
At the same time, the counter is cleared so that a new sum can be evaluated.
the next position number. The eight intermediate registers are again
interval. Thus, sixty-four sums are evaluated and the output is updated
:z
::>
'
ca: co <...>
.....
c..!J
N
c..!J
00
c..!J
-...,...
CD
.....
::r:
<...>
0::
t-
z
<...>
0::
t-
z:
<...>
0::
LLJ
......
V')
0
<C
0
-I
LLJ
...... z. z:
LLJ
0:: 0::
LLJ
0:: '
-I
>-
V')
0::
-I
0
<C ~
<...> 0 t-
:i -I
44.
basic interval. At the end of the interval, a LOAD pulse is derived which
transfers new data from the input registers to the intermediate registers
output is updated. These sections are in turn subdivided into eight sub~
the period of the input waveform must be one sixty-fourth of the length
or a frequency of 6.6MHz. The actual ratio of the interval time ~ and the
the speech synthesizer. The synthesizer itself would have to have a set
to generate the output signal. Data would be transferred from the first
45.
-
('I)
-
N
--
1-
z
I.LI
u
-
LI...
LI... 0
I.LI .--
0
u
0\
co
,....
}-
z
t!l
C l')
-
+
II
0
II
\0
Lt)
q-
('I)
-
46.
function number, a six-bit coefficient number and a sign bit. The word
the synthesizer.
Figure 3-8 shows the input registers and the input gating for the
data. Data is fed to the input registers from either the thirteen switches,
of the 'Mode' switch. The D-type flip-flops of the input registers are
cuitry. This is carried out until all eight registers have been filled.
Note that the timing for the loading of the input registers is determined
solely by the signals Ll-L8. These, in turn, are controlled either man-
circuitry.
NI 01 BIT I
Al D
LI
SI ...
M2 L2
52
(/)
w
:c
0
....
3:
(/)
::E
0
ex:
LL. L8
c(
~ N2
A2
02 BIT 2
LI
Ml:S
Sl:S (/)
ex:
L2 ....w
~
C>
w
+s 0::
'MOOE' J COMPllTER
laJ
....
~
fd
::E
0::
~
... L8
z
....0
Al
Cl
C2 A2
ex:
w
....:::> M 13
BIT 13
0.. A l:S
::E
0
0
::E
0
ex:
LL.
j5
~
Al:S
c 13
D
Lt c
48.
..
'BUFF
SEL'
c. e. c. 8.
PROTECT PROTECT
j_AUTO
..- ADV'
MAN. COMP.SYNCH IN
680
L
680
49.
and only one of which is high at any given time. These output lines can
In the computer mode, the falling edge of a SYNCH signal will advance the
advance the shift~register when pressed, or, if the 'Auto Advance' switch
is on, the 'Load' switch will also advance the register. The advance will
take place on the falling edge of the signal. The automatic advance fea-
ture is useful when loading data sequentially into the registers. Pressing
the 'Load' switch will load the input register and releasing the switch
the loading takes place by strobing the lines Ll-L8. This is done in the
manual mode by the 'Load' push-button or in the computer mode by the SYNCH
When the eight registers have been loaded, the shift-register will
be in the state with its first output line high. Th.is line is monitored
and forms an outgoing SYNCHOUT signal to the computer to signal that all
puts of the input registers. The data is strobed into the intermediate
so.
BIT I
:c
u
2 !::
~
IJ)
_, 81
<
!::
t!>
Ci
A 8 C
BIT 2
:c
u
2 I-
CJ) ~
a: CJ)
w
I-
_, 82
!!? ~
t!>
t! (!)
0
I-
::>
0.
z
~ A B C
0
a:
u..
BIT 13
:c
0
!::
==
CJ)
_, B 13
~
t!>
7
Ci
'
A 8 C
LOAD
51~
registers once every 5milliseconds (the update rate) by the LOAD signal,
derived from the Walsh function generator. Note that if the data inputs
are changed while the LOAD line is activated the outputs of the inter-
mediate registers will also change. For this reason, loading of the input
registers should not occur when transfer of data is taking place. The
.the computer from sending new data to the input registers during this
interval.
The digital switches shown in Figure 3-10 are used to select the
line will be the same as the level on one of the input lines. Level~ on
A, B and C form a binary number from zero to seven that determines which
cuitry. Signals A, B and C are derived from the clock chain to be des-
cribed in a later section. Figure 3-6 shows their relative timing and
be seen that lines A, B and C toggle through their eight states sixty-four
ithms discussed in sections 2-3 and 2-5. Due to the similarity of the
algorithms, one generator can be.used to generate bot~ the Walsh and Had-
number. Since the counter must be incremented sixty-four times during the
basic interval, the signal on line C serves as a clock pulse to update the
generator.
The binary coding for the Walsh (or Hadamard) function number is
available from the output lines of digital switches one through six. For
the Hadamard functionz, the logical product of the function numbers and
position numbers must be taken. This is done with six two-input NAND
age.
switch. This controls the gating network shown at the bottom of Figure
3-11.
binary coded number to a Gray code. This is done with five exclusive-OR
2-4. Finally, the order of the bits must be reversed before the logical
SYNCH
RUN
"'... BIT 7
...z
... <SIGN>
Ill
!;
' ..,
0
: OUTPUT
CLOCK
:c
~ ri
u
z
:>
....
G
...
c
ll
~ ~
c c
ill :c
number, can be reset to position zero with the RUN line. This is done
every time the machine is started or stopped in order to reset all the
At the end of the basic interval, the six-bit counter will have
returned to state zero. At this time, a new set of data must be loaded
into the intermediate registers so that the output speech waveform can
counter for the zero position number. Then, the short SYNCH 1 pulse,
derived from the clock chain, will be gated through to the clock inputs
sign bit, a signal is derived giving the direction of count for the output
up/down counter. The three gates at the output of the function generator
are used to derive the UP/DN signal whlch is used to control the output
Figure 3-12 shows the circuitry of the binary rate multiplier used
of output gating. The counter can be. reset at the. beginning of operation
u
..,
"'>--4.----....--~--1-----~CD
~
'>..-e----_..---1---1------'CD
RM OUTPUT
2
CD 1(1
+
-0.
u
...en
0
I
I
z
CJ\ :::>
m er:
., u
1(1
+o-....---~
CLOCK IN
... &a.I
Uu v
...
<z &a.I
... :::>
Zo . 0
...
0 CD 0.
u
PWA ON
56.
also used to toggle a J...;K flip-flop. Thus, activating the switch once
will set the flip-flop and activating the switch a second time will reset
the flip~flop. The output of the flip-flop is used to gate the incoming
plier counter. Since all signals used when the synthesizer is running are
derived from the rate multiplier counter, interrupting the incoming clock
signal will effectively stop the synthesizer. Because the binary counter
employed in this binary rate multiplier is not truly synchronous in that
has to run at about a megahertz less than this so no problems were en-
should be used.
counter, there will be eight states. The timing diagram of Figure 3-13
Signals X', Y' and Z' are derived from these and the clock pulses. Note
that line X' produces four pulses in the basic interval, line Y' produces
two; and line Z' produces one. Since no two pulses occur at the same time,
57.
J l J l l
K x K y
c 0 c 0
CLOCK
f ;n
A B c
X' Y' Z'
1out
TIMING
CLOCK f ;n n n n n n n n n
x I I
y
I
z
X' = CLOCKX n n n n
Y' = CLOCKXY n n
z = CLOCKYZ n
58.
lines X', Y' and Z' can be combined through gating to produce an output
having any from zero to seven pulses. The lines are combined by gates
controlled by A, B and C. Table 3-1 shows the relation between the number
of pulses on the output line and the levels on lines A, B and C. It can
be seen that the binary number given by A, B and C is the same as the
interval required for the counter to toggle through all its states. The'
In general, the input and output frequencies are related by equation (3-1)
a
x - . (3-1)
B
where a is the binary number on the control lines and B is the number of
(3-3)
the rate multiplier is fed with sixty-four pulses and provides from zero
being sampled. More detail concerning binary rate multipliers and their
Table 3-1. Ratio of Input and Output Frequencies for a Three Bit Binary
Rate Multiplier
1 0 0 1 x 1 1/8
2 o 1 0 x 2 2/8
3 .0 1 1 x x 3 3/8
4 1 0 0 x 4 4/8
5 1 0 1 x x 5 5/8
6 1 1 0 x x 6 6/8
7 1 1 1 x x x 7 7/8
60.
No matter how many pulses are produced by the rate multiplier, its
counter must toggle through all sixty-four states during every interval
~/(64x8). From the timing diagram, it is seen that the three-bit counter,
producing signals A, B and C, must change states once at the end of each
by the six-bit counter of the rate multiplier. This is shown in Figure 3-14.
Ute primary use of A, B and C is to supply the binary number to the digital
circuitry. Line C, which goes low once every ~/64, is also used to clock the
to produce a LOAD pulse to transfer data from the input registers to the
intermediate registers.
The SYNCH 1 pulse is also used to generate the LOAD CNTR, CLR CNTR
and TRANSFER signals. The last signal is used to trans'fer the number in the
binary up/down counter to the output buffer register. This must be done
sixty-four times during the basic interval ~ After transfer takes place,
the up/down counter must be prepared to make a new count. For reasons to be
discussed in the next section, two signals, LOAD CNTR and CLR CNTR, one
l'J:j
......
(IQ
R
ro
w
I
.
~
C"l
b
C'>
l'I"
+5 C"l
::r
ll>
......
i:s
RUJ!
CLfil
_____,
'------H'------1-1'--A
.__
'------~--~--!S~YNCH I
R.M. OUT
'
"""'
62.
and resetting of the up/down counter must occur quickly at the end of
every interval ~/64. For this reason, the SYNCH 1 pulse is combined with
a short pulse that occurs at the beginning of each interval ~/(64x8). Such
a short pulse can be formed by moriitoring the state of the six-bit counter
associated with the rate multiplier. When it is in its zeroth state, and
the SYNCH 1 pulse is on, the TRANSFER pulse should be formed. This pulse
will last for only <'p/2 16 After that, when the rate multiplier counter i's
in its first state, the CLR CNTR and LOAD CNTR pulses can be generated.
necessary to use the second and third states of the rate multiplier counter
instead of the zeroth and first to produce the TRANSFER and CLR and LOAD CNTR
pulses re~pectively. These pulses, and their method of generation, are shown
in Figure 3-15. The numbers on the lines feeding the gates represent the
. outputs of the six flip-flops in the binary counter of the rate multiplier.
flip-flop while 6 represents the 'O' output of the most significant flip-flop.
The TRANSFER and CLR and LOAD CNTR pulses occur during the interval
during the generation of the synch pulses, they will not be counted by the
pulses being generated for the coefficient in register one to the interval
a.f ter the CLR CNTR and LOAD CNTR. pulses have been generated. By observing
the operation of the rate multiplier, it becomes obvious that the only pulses
63.
SYt~Cli 1
2
0:::
3
LLJ
1-1 4 LOAD CNTR
....I
0. 5
....
1-1
....I 6
~
....
LLJ CLR CNTR
<C
0:::
l
:::E:
0
0:::
LL
TRANSFER
T
TIMING _L
64x8
f:i .r>f
l _J63J
2 I L I
TRANSFER n
CLR CNTR
LO CNTR
that would arrive from the rate multiplier before the CLR CNTR and LOAD CNTR
pulses are those generated by the first and second flip-flops in the rate
the binary up/down counter, the output register and the digital-to-analog
They have two inputs, down count and up count. These two signals can be
formed by gating the UP/DN signal from the Walsh function generator with
having absolute values from zero to sixty-three, are being sunnned, worst
case design implies a maximum of 63x8 = 504 pulses being applied to the
counter between resets. Since these can be counted either in the up or down
after the sunnning has been completed. A ten-bit counter and. ~gital-to
~nalog converter would then be able to handle this range since 2 10 = 1024.
Unfortunately, only an eight bit digital-to-ana1og converter was available.
0/R DRIVE SYNCH 1 0/F
I~
a
RM OUT -
- - . . . l'%j
~ ---. J
I
1r- I:?C"'I'
c
~.
I
K I I-'
11
-. ('>
CLR CNTRI r I I /
I~
LD CNTR
II r-
D B D
8110 B
4 BIT CNTR 4 BIT CNTR 4 BIT CNTR
u c u ~
8 BIT D I A I I> f ( t)
.
CJ\
VI
66.
Thus, two four-bit up/down counters are used to feed the converter. The
guarantee that the output will lie in this range, the sum of the absolute
negative.
for a zero output signal. This is done by resetting the eight-bit up/down
counter to the centre of its range at the beginning of every interval '/64.
Therefore, the counter is set to the state 128 by the CLR CNTR and LOAD CNTR
pulses. The eight output lines will then have the values 1000 00002.
digital-to-analog converter. Since only the final sum must be in the range
of ~he eight bits, it is conceivable that the partial sum, after the first
five coefficients have been added, for instance, may exceed this range. The
will not occur if-the restriction of the sum of the absolute values of the
also set to the centre of its range (10002) by the LOAD CNTR pulse to facil-
sensing logic.. If, at any time, its state is other than 100_0 2 , indicating
line O/R DRIVE, feeding a lamp driver, will go high. If the state of the
a final sum outside the range of the digital-to-analog converter, the O/R
DRIVE line is gated by the SYNCH 1 signal to set a J-K flip-flop whose output
is connected to another lamp driver. This informs the operator that the
output signal is erroneous. The output of the flip-flop could also be used
After the final sum has been calculated in the up/down counter, a
TRANSFER pulse, derived from the clock chain, is used to transfer the data
register acts as a sample-and-hold, storing the final sum for the interval
and an operational amplifier. The output range is zero to pl1l8 five volts
Figure 3-17 shows a front view of the synthesizer. The upper panel
contains the switches used to manually load the data. The 'Auto Advance'
68.
i i I
.o
. >
/ ..
69 .
switch, the 'Mode' switch and the 'Function' switch are also contained here
./ .
The bottom panel contains the lights indicating which register is
..
to be loa~ed, the 'Buffer . Select' s~tch, the 'Load' switch, .and .t he 'Run-
'(
Stop' switch. Connectors for power, clock inpu~, computer interfacing and
. circuit boar~s on which all the (.figital circuitry is wired. For Uxiaua
ease in chec~-out, the con~ectors for the boards were left comple~~tt ' .: e]cposed.
. .. .:,.,: . Y; :.- .~
: ;:i
To facilitate chang_ing ) of . the wi~ing, wire-wrap sockets were used , ; .II;_~ the
. , :' ..: "'
.J .. ...,.
printed circuit boards .to mount the integrated circuits. A typical}"ard l, ; . '. : f..
'-1. .
is shown in Figure . 3-18. Its dimensions, like the other six. hoar'.:;tJ.: ;a~e
. - ~- ..
. 4" x 6" . . Boards with cladding on both sides were used so ground pl- .
. u
,-, .-.- -
\
.
.'
.
-
"#-. .' \. . .
could be formed to isolate the circuitry. The seven board layouts '\re
1
given in Appendix C. The signals on the pins of the board connect4ifa. are
' t,
shown in Appendix D. p '.
. ..
~-
1. .
\ ,
The actual circuitry used dlffers very little from that aescri~ed ;
....
in the previous sections. Major differences are due to the signal ~uff-
'
ering required on several of the lines that must drive a large number of
..- . I
gates .or .flip-flops. For example, .signals Ll-L8 are buffered to form
.
. . ~ .
signals AL1-AL8 and BL1-BL8. All the wiring, except for the switches and
I .
. '(.
' ". ., ..
.connectors, was done on the seven printed circuit boards.' The schematic \
l ~ .
I ;. l
diagrams ,associated with these boards are given rinAppendix E.
..,
f.
,,
./
/
70.
. ....
' .
'-
..
. . CHAPTER . 4
. . (
: i . \ ,, . . . . .
. \ 1 : . .
had nat b~en done . on s_i1n._1s for .. this thesi,s ,i Walsh\. functiena . were used
1 ~ 1' '~ ; . t - . '\ ~ I
SynchreniZ~t;J.Jl
', 'c.' r '
. '
the. 'e,scilles~.pe is
" "', ; !,
iiCco;.,~f:ahed 'ltfi
',~ . . . i " , '. ;: J~:~'__ ~ '. ,
usinc the LOAD pulses
,
which occur .once e.very basic interval
. . . (_ '
+. . Figure t ~ '-
4-2 __ s~ws tha same system ~'
{ . '
. :
I ..
. . ' ;
J ;..-_' -.'.
_, .
. . "' J. . . '
an reuniin1' of cerners of
-
square waves which are not _true representations of the output signal.
However, by slowing the recorder down to a time axis speed of one milli-
. I
-
metre .per second and operating the synthesizer at a factor of approximately
to alter the _ Qasic interval in this way by merely changing the input clock
frequency since all other timing signals are deriv~d from it. To double
the length of the basic interval, it is only necessary to run the clock
.. - 7'1 -
72.
,-, '-~
.,- .':!. . . .
.' .....
' .
73.
.. . ' . .
at half its normal frequency. The results obtained with the Sanborn re-
corder on the uait runniacat .l.w speei "are iiscussei in section two of
~ . -
. : .. i
~ :: . . ."' \ ....~. .
this chapter .: . '
: i :'
.....
...
. ' .~ . ~ ~ . ,_:
.. .'.
' ~ .
. .( ' ;
to the fact that a finite series representatin of a s.i1nal f (t) can only
..
I
be approximate.
.
For( truly a,c curate reproductien,
.
an infinite number of .
. . . . .
,, . ~
matical sense 9 y the quantization of the values ef the cee.f f.icients used
. ~ .:
In tlie case of the syntl1~sizer constructeO. for t:his thesis, the amplitudes
aneously update the series. In other worci~, + ' sheul&i lte .recluced to an
infinitesimal value .
. .)
The other class of errors can le ' referrei to ' as uchine errors.
These are a result of the limitation of the. co~onent 'in. carryin1 out
Such errors can be ' reauced _sicnificantly 9y careful . desi1n of the synthe-
sizer . In fact, in this aachine, there are essenti.a lly ly .two sources
. "
output can only be approximately related to the binary number on its input
leads. As its error is quoted as being plus or minus one half of the
74.
litude errors are lessr than 5% rms (16). The other squ~de . of machine
. I
error is due to the finite time ~equired to transfer dat~ from the up/down
'
~ "
counter to the output .register and to reset the up/down ~ounter. As men-
. .
tioned earlier, there will be no error in transferrin& tqe clata (i.e. loss
I
value of fifteen or less. For the worst case, when the .coefficient in
lost pulses would be 4/63 x 100% = 6.35% which would be significant. How-
ister one, the -only time sixty-three would be place there would 'be if all
. j
. the coefficients had absolute va;lue : sixty-three. < -Thus, f _o ur pulses would
I
0.8%.
Actually, the above case would never arise becaus.e only an eight-
one, its maximum size can only be fifteen. In this case, no pulses will
_I( .
. . .
.... .. _
.... '\'\<.,. <--..: .
,- .
\
'
their absolute values being less than 128 can be met by s~itable scaling
~,, t. , .-:_;:.. ',
. . : '$. ... , . -: > I : . \ ( I
. ' .
.. .\
of the coefficients-. , In . practice,~hewever, it is hilhl.y unlikely that _::
. > ' ~
., . . ... , \ ii:-JC:, . - (
extreme,. scali Wfl.11> ..
~c
. .
. I1i:Jfact, for =the "1aveforms shown in. the
,..- .._ .. ;tt
- ', ' . . t ,. 9- . ~
' . . - 5: 1 . I , .
next , s~tion, -jl4f .sc~ling - --a foun~ ~o. ' ~ _' n _ "- --~
1 . I
:r . a most cases, . the
I ~~ '"' ' ~ ._, '- ~~ ~ ~
.\, , ' ' "' II '\.
0
' ' ' .....
coeffici_e nts were actul111y ~~aled U:P , ~t~ ,g ive "a -_1ar- . - 1'p1itude t o --the ..... -~
. . .! . 'i I . :.: ' "-; , .- J
. '~'. >- . ! . 1. l .. ~
output signal. ,. . .. t ~- -
' -,
. .
~
.
..
.
, . .
~ ;
...-:-
.
.
...,. " . . .
,,, .
" :"I>!
.:
. ..
.... .
f!:
""\. ., '
.; ..
/ .
-
. . . &
. .
.t .
...~, Along _- vtt~. .~e _qu~nt_ i_~at~on o.f J the co~ffic~eq.ts, there is a quant-:- . . . \:'.
. '
'
"I'
I
--0
-,.
_,.._ ~ ~
'l.i _..,
"l
'
.
}
l
. ' ~ . r
!. .
.
t 'I' r
. .
ization of the --~ signal~ ; -~ - ~~ ~~ght-~it ~ig~tal-to-analog
~
. converter is
/ --~ .
ua--.._
. :"'_'< "
,the '. output' i~:quant~ed . into 25S . t rte ... .
. ' ., . '.. . ~ . . , ~ ' .\ . - - ~. . ) t l'
Th~s
'
results :
: . :
the coefficie~ts leads 'to a 'quantization of the o'.tJtput giving an error of. / .'
0.4% of the maximum peak-to~pe$k value of the ~u~put signal . It_ was in- .
.i . . .. 't . .. . . .
I t .~i \ -. - .
~ ' t . . ' ,,.. . " _, t ' ~ ..
-
However~ if scaling is done only to nsure that thc!. O)ltl)ut aignai ~
do~s not
i ' . ........ ....
, 4
. .. . . ,, ..... - '\ '
.
' . . . . . . -~ . .
. ..., .. . . . .. .
. ..... . t .
exceed the r anee ~f tU. digital~to"'"'anal~g c~~~- - thi i;ror 'will be ,/ .
. . . ' .,....._, --- .. ~
the absolute valu~S :Of the CoaffiC.ieat8 giV.S the peak.' Val~e
1
the sum of
. /. ~ : : ... . . .. .-. ' _>.. ' -' "' . .. :d~\ ~- ~ .. : . ~ ~/ . - --.' - . . . l . ' . . . .
)
of the output , 1&1'81:. ::) :.. :) \ -~ ~ . . , - -.
. . - . ;.- '. . . " . ~~. . '<-. .. . . ,.1 . : . ,, . ;: __ , - . ~"'.' < -~ ~ ~-~: (
M .. ;
f (t) ~ ck WAL(kn,e)
l: '(2-29)
n=l . n
.
.'
. .
\ .
.
.
..
76.
associated with ignoring ~he terms of orde~ nine and higher will differ
0.5, 0.25 and 0.125, there is no error caused by this truncatiqn. The
higher than nine and comparing them to the sum of the eight most dominant
sine wave, given in the next section, will ther~for.e .give a good indication
of the maximum error to be expected due to the truncation of the series given
in equation (2-29).
Recall that the eight terms used to make up the sum representing
the output signal can be selected from only the first sixty-four Walsh
functions. This means that the highest sequency component will be sixty-
four. The output signal is, .therefore, chan~ed at a maximUm rate of '/64
limited to 3kHz, the sampling theorem predicts that there will be adequate
I
pass filter.
Figure 4-3, using a ramp function as the desired output illustrates
77.
DESIRED
SIGNAL
Amplitude l
ERROR DUE TO
AMPLITUDE QUANTIZATION
ERROR DUE TO
TIME QUANTIZATION
Amplitude 1
At = time
between
updates
ERROR DUE TO
TIME QUANTIZATION
- - -.. Time
OUTPUT SIGNAL I At I
78.
affect the amplitude of the signal output from the speech synthesizer.
Figure 4-3(a) assumes that co~fficients are rounded off to the nearest
integer values.
each set of coefficients will be different. This means that the output
the original signal. The result is that there will.be an error signal
of this error signal will depend on how abruptly f (t) changes with each
update at the end of the basic interval + Since most information con-
tained in speech is in the band fTom 300Hz to 3k.Hz, this error signal can
cutting off at 300Hz and 3k.Hz would eliminate this error signal and the
one occurring at the rate of +/64. Note that if a variable update rate
were used, as mentioned in section 2.6, the maximtun rate would be about
very short. This would allow the output signal to follow more accurately
expected that this delay will have an insignificant effect on the sound
of the speech generated by the synthesizer. Due to the fact that the
maximum allowable clock frequency used to drive the counter in the rate
chosen.
filtering has been done on the sign~, except that inherent in the re-
Walsh series. Thus, the greatest source of error is due to the truncation
of the number of terms used in the series. This is shown by how quickly
the output signal improves as more terms are added to the series. Figure
4~4 shows the sine wave generated with the seven most dominant terms.
The total error in this s.ignal wa.S measured to be less. than 2% of peak
.. r
.....
,...,...
:::--...i--:-:
..... - - ,_..,.
... . .,,-: --,.-;- -
...
'- .:
'-
....
....
;
,...1.-:.
~---
...._ ,..,.
1..- . --: ,...1 --:-:-
' . . : :_ : ..
----- .L....l ________ -_..:....:__ __ ~ _____ .;._
;n::~}r~-mt=J~s~~:::~~~~JS~1~:1;;~h-~:iE~t1 ~~1~~
1
I
f'~, . ~. ':1~m~~'~j'""t~~,: '']~~~,~ -~rr~
_: _ -~----'=-::_ __ :___ L__ ~ ~L--~---- -~~- ~--;_:_L ___ ~~ ____ ~
. ,......i - . _ ': : . - . ....- . . - ~ , - ' -
~0 F-:-- - ---- -- - -: i.....; - .:.. - ---.:.. _ _; ___ - """'~-- -:--:--- - L --- --- '
-~-
. .....
._. ---. ,---- ----------- ,
-------------<-~-
. - ' . -
.
- -.
'
-
- ....
. -----;.:..;.;...--:-~--~-~~=.:-~'
- . 1
.
_.___._.:.:J..:.:..::.:;:.:...:.:.:.:...c:.L.:.::c.:__:_ .. ---, .. - ---- - i-.....o_ .._;:.:_;::
~I'.~~:~~t~0~[~t:d~i~1~~lliITf#hlr~iiftlijlliJ:~tiliiJf~~ilI1HE
E. Two most dominant terms
filfs~1~1rt~:t:#:!~~~~r:t~1!=11~~~1E4~1H'.w~- ~r~t3.r~~
.
,.;..__ ~ --- -.
;...;...;;..----~--,-------------
----------. - -~ -----
-: : ! -- __ , -- . - . - -_: ! :-~:::t: :_: ~::: .. L. : . ~ ! ~ - .. - . --
,.,__: --~
------------- - - - - ---- -----:3
. -. . ___ -
... ____ --___, ~--
--- ___..,.-.
-- --~-- -~~-
-- ---
.i ,:=;~..: J .:1c+c:~ . :. . .c -,.
.:.:.. l _;.:,:
1
__ J ;:~.:- - '- ri-i-l-iiiirrn-iili#lffi#1=t=i-iJiiiliB-tti+llik..:ittt'tM:lr.i11-liii:i h:;i-itn t-i;
c 1 -~
F. Most dominant term
83.
absolute value 3.6% of the sum of the absolute value of all the co-
error of 1.8% of peak value. Thus, it is seen that most of the 2% error
measured for this waveform was due to truncation of the Walsh series
Figure 4-5 shows the sine wave generated with fewer of the dom-
inant terms being used. As can be seen, the quality of the sine wave
(WAL(l,6)). This term defines the sine w~ve as being an odd function.
coefficients are used. Note in this case, however, that there are only
the Walsh series but due to the restriction on the range of the Walsh
all six terms are used, the error is approximately l/(63x2)x 100% = 0.78%
of peak-to-peak value or 1.56% of peak value. This value was arrived at
1/64. Thus, the output signal will differ by a value of plus or minus half
of 1/64.
84.
. ~1t~
1 1
~f''t-3J~'"CIT~~II~'~t"r'j
,,_
.!.
I
.-=i
J
' ..
- ;---- ::--:--'---::--- -:-:-. -: -:-::J
-- :..:i
_____ ...c_ _ _: ___ ; --: .. .:: __: _____:.::_: . ...:..c ....:. ......:..._.:._, ___ .::~ ....:.:j
-
-
'
............... ,. -- --
_,
-!
'~-JGE:.::J~~~}~TGTJii~;]
B. Five most dominant terms
..
i
---
. -
.
-- - --------
- -
- ---
-- - --
.
----.---
- "T - - --- - -- -
.,
--
j - - - ' '
~~r~nr~=1n~rt1Jef~~m~1~~;Jrr~~~pfqt~c~if~rr~~Pl
: __ :_j :-~:-~~ - ~-:-~~~ ~. -: ~:--:--:--:-?--:-:.:-~-=-.:-:-:.~:..~~~: ;j~~~-t-.
:__:_=~~:..:.._-~---:..: -- -~.:: ... -~- ... -.. : ;.. ------...:~
r:
----~--- ----- -~--~-
-. :-c-.--:~,71~:::::
~d~j"j-~fu11&f!ll!1hl.fa~
85.
;'~;"~;~~rm~jr11"~'~j'~1'rl'J;C~f"~\ill~l"':
-~~--- ,....,---~------------ ~-----~---------- -------. - ----r----~-~--- ---- ------- ------- ---,
. . . .. . .. ~ . ::'. :~:;_ - _..;.J"::
.... ---~ ;-,.-;-:-:::-: -,---~.- ~
~ -- ; :
- . - . . . ..----' -
. ,...-....... .... -
-
. . :. .: ~--=-: ____ :j:..:.~.::.: __.:_;_:.::..........._:...:.___;..::.:_:_:_:_: ____'.__~...:__:_. ________:_.:. ___ .:.::=.:..:_:_....:.:_:...:......:_.:...__~----=- -------- :....:.....--=
:=;izG~1~ilitin~G~~~~4~~t~f~~~~~Iill~Ri~1.t1~
E. Two most dominant terms
--------
;.
--------
L:='
------~- -----.-----------...--____.-----~------,,-._,.-----------.-----------
;~:~:i:.t1~4~;ulli1i-ii~tJl~[~~Jkr1~i1~irJ~~~n~;:m1m~Bi1:~i4fi
F. Most dominant term
111.
r+----t-----lf----..+---1H---..,-t-----t---.+--t------<f2"'-~o'&
2 U6l
'---<~11---- 0'7
3
4 07)
ALB AL?
1102 1104 8106 1101
1101 ll03 8105 BI07
3 4 5 6 9 10 II 12
D 5
I C21)
BIO
871172173874 875876177179
I I
34569101112
F 3
139 IH 197 137
I.
un CIOl
,.,
LOAD---~
20>
Al-----
B8<1-----------------~Tl
1
1 B 5
2
ca---... 3 4 5 6 9 10 II 12
HI HZ 883 884 815 886 887 88 I
uu 03) Cl4) (15)
13
4 010
12 nt>
II
IO
ot
UI>
llll CA
' l'%'j
'"'"
()Q
i::
,z,221- GND 11
Cl>
+
<A,llr.+5
luF
~
.'
I
<20> 85 16 "\~
"I:=''"'"
'Ci>"'"
IQ
11
<19> B4 I 4""~~
~
]9
-~ ~
I
IOI 19 12113. ~
A2 E2 El 0
Ci>
C6> U I "\I:':'-~ 11
8 8 II II i::i..
l'%'j
<5> B2 I 6'-\'f
Ill IOI 91 8
c1 68 ~T<l>
(4) 81 -
+$0 LI
PARITY CHECK ' 'VV\i
R 18
r,
--1;~::3(
CT> W a' ' ' ' ~. v(C2 '$(
.
LOAD I LOAD 2 LO'AD 3 LOAD 4 LOAD ll LOAD 6 LOAD 1 LO'D 8 LOAD 9 LOAD IO LOAD II LOAD 12 LOAD 13 ~
(10) (II> (121 (Ill) (14) CL) (Ml tN> CPI <R> (JI CK> (9> <H>
.....
.....
N
113.
CZ 1 22J-GND
CA,nr.+5
~luF
ALI AL Z
D':S 6
(17) 5
...
13
B 3 I
2 831 832
(4)
81
(12)
84
CW>
..----AA
(Tl
A 5 ~3::i-;~~~~~~~~--------~1A
I CU)
2
'-----CA
3 4 5 6 9 IO II IZ (Vl
841 842843844845846847 848
'---<:E~r3'--- D'2
4 (16)
AL4 AL3
13
I F 3
2
f5)
et
8 ~ 852 853 854 855 856157 151
3 4 5 6 9 II 12
D 5
34 884 883 833 2
($) <14>
LOAD 3 _ _ _- - J I
rx>
CN> H
I 3
f6)
I
AACS----.
BAc>------------------~~
1
..--------------~1
2 B 5
3 4 5 9. 10 11 12
I
E7 13
4
c 4 D'5
c ( 12 Cl!I)
II
0'4
10
r11>
BU au IL7 BU LOAD 5
CR>
115.
APPENDIX C
CIRCUIT BOARD LAYOUTS
boards. The diagrams are of the top side (integrated circuit side) of
the boards as opposed to the pin side. Numbers refer to Texas Instrument
part numbers for the integrated circuits with three exceptions. The
unit, part nu~ber 845-US. All integrated circuits are mounted with pin
one towards the front (connector edge) with the exception of the digital-
to-analog converter. Figures shown near the connector edge of the board
refer to pin numbers for external connection. The numbers and letters
shown surrounding the boards form a grid system for identifying the in-
y
21
x R9 Rll
20 w RlO Rl2
19
lB v . RB QB
~ G
17 u
16 T
s R7 07
15
~ ~
14 R R6 Q6
p
13 N R5
12
11
10
M
L
K
G I
DMB570 I R4
05
Q4
9
~ ~
8 J R3 Q3
H
7 F R2 Q2
6
5
4
3
E
D
c
B
G ~ Rl Ql
2
l A
.....
.....
.'
117.
LO
-
[!][!][!]~[!]
00~~~ \
en
/' c
.,.. -o~oo~~LO~MNr-O~OO~~LO~MNr
0.. NC\J r - r - ,..... r-- r - ,... r-- .....- ,.... . -
A B C D E F G H
Pins l'rj
I-'
()Q
~
Ii
ro
y (')
21 x I
20 w
.w
19
v
II I
(')
18
u
GB
I-'
17 [ 7475 7475 5 I~
16 T ~
....
s
I 1I I [ I I I "
15
R
14 p 7475 7475 7475 7475 4 I~
II>
13 Ii
N
G G I II II I
Q.
12 M
11
10
L DM8210 DM8210 DM8210 3 ~ 0
K ~
9
8
7
J
H
F
I II I[ II I
7475 7475 7475 7475 2
I
I
"
t:J:j
0
6
5
4
E
D
c
I 7475 It 7475 If 7475 II 7475 I 1 lg_
II>
n
3 B
2 A
l
.....
.....
.
00
A B c D E
Pins 'zj
.....
(IQ
s::
- 11
CD
y
a a II
(")
21 x 174~04 -1 ~
I
20 w 74HOO ....
:;:c 5 .
~
19 v w (")
18
u .....
17
16
15
T
s G G 8 G G 4 I~
s::.....
M'
14
13
R
p
G 8 G G G 3 Hfll>
11
a
N :;:c
__, 0.
12
11
10
M
(
K
6 8 G 8 ~
2
'~<
0
8
7
9
J
H
F
I 74193
II 74193 ) J 74193
I~ ~ 1 I1
s::
M'
gi
6
5
4
E
D
c DI A
1
I 7475 I R15
Rl6
Q9
QlO
-
7
I~
II>
3
2
1
B
A 30 I 7475
I Rl7 Qll 6
........
.
\0
A B. C D E F G H
Pins ~
(IQ
.....
i:::
- ti
Cl>
y n
21
20
19
x
w
v
I 7475 II 7475 I[ 7475 II 7475 . I 7 .
n
I
V1
18 .....
17
16
u
T
s
1 7475 I 1 7475 1 1 7475 I I 7475 I 6 lg
ti
.....
... !"I'
15
14
13
R
p
N
I DM8210 II DM8210 II DM8210 I~ 5 lg
ti
p.
12
11
10
M
L
K
I 7475 II 7475 I 1 7475 I I 7475 I 4 ~ 0
i:::
9
8
7
J
H
F
8 I DM8210 I~ I I~
DM8210 3
I
.
!"I'
~
0
6
5
4
E
D
c
I 7475 II 7475 I[ 7475 II I 7475 2
1:
Ill
3
2
1
B
A I 7475 II 7475 II 7475 II 7475
I 1
t-'
.
N
0
121.
LLJ
I
[!] ~[]
~~~[]~
u
~~~~[U -
co
0:::
~~~~~
<C
[]~JD~~
en
c
- ..-omco~~~MNr--omco~~~MN..-
~ NN..-..-..-..-..-..-..-..-..--
.j
.,
1!
,,'
i!
A B, C D E -F G H
Pins l'1j
OQ
....
i::
11
!I>
y
I II
()
21
.......
I
I
20
x 7475 7475 1 1 7475 1 1 7475 7
19
w
v
I
()
18 ....
17
16
u
T
s
7475 1 1 7475 1 1 7475 1 1 7475
I 6 ,~
i::
....
I IB
rt
15
14
13
R
p
N
DM8210 ,. I DM8210 II DM8210 5 ,~.
Ill
11
I
0.
12
11
10
M
L
K
7475 II 7475 II II 7475 7475
I 4 ~ 0
i::
9
8
7
J
H
F
~ I DM8210 I ~ I I I I DM8210 7404 3
I
I
rt
8'II>
6
5
4
E
D
c
I 7475 II 7475 II II I 7475 7475 2
I~
3
2
1
B
A I 7475 II 7475 . I[ 7475 II 7475
I 1 I
....N
N
123
. .APPENDIX D
The following diagram shows the signals that appear on the seven
other signals is the board at which the signal name is underlined. Sig-
nals with a double underline are test points only and do not connect to
other boards.
Pin Board A Board B Board C Board D
A1 (VCC) vcc vcc (Sl) vcc vcc vcc vcc
B2 MAN Ll MAN Dl Ll Dl . (+lS) WALOUT
c3 (RlL)
-L2 (Cl) D2
- L2 D2 (-=lS) B7 (IQ
lo;!
.....
D4 (R2L) (RUN GRN) CLR CNTR (1)~
-L3 (S2)
-D6 L3 D6
E S (R3L) D7 (OUTPUT) (O/R)
-L4 (C2) -D7 L4 t:I
I
F 6 (R4L) LS (S3) D3 LS D3 GND (O/F) .......
.
N
.p.
Pin Board E Board F Board G
A1 vcc vcc vcc vcc vcc vcc
B2 Ll B6 B6 WALOUT Ll Dl
c3 L2 B7 L2 D2
D4 L3 D6 Bl L3 Bl
ES L4 . D7 B2 14 B2
F 6 LS D3 B3 LS B3
H7 L6 DB SYNCH 1 L6 "zj
-
rt
p.;
R 14 LOAD 10 B83 LOAD 10 LOAD S LOAD S BS3
s 15 D9 B84 RUN a BS4 D'l
T 16 AB D'6 (W) AA D'2
u 17 BB D' 7 BA D'3
v lS CB D'9 CA CA D'4
w 19 D'lO B4 B4 D'S
x 20 DlO BS BS BS D'S
y 21 B9 BlO D4 DS
z 22 GND GND GND GND GND GND
.......
.
N
VI
126
. "APPDIDIX E
of the circuitry.
I+ 60 mA
I- 10 mA
OUTPUT
>
< Lt')
r-
_J L&.J
<( <...>
Lt')
,..... zz .A
ex: L&.J v
L&.J ex:
+ I- L&.J
z LL.
....... L&.J
ex:
'~
_..._a.r..."'t"'!r
LADDER
NETWORK
AND SWITCHES
co
N o:::t' C'\I \0
1--
r-1.C>Mr-(l()o:::t'Nr-
\, _____v-----1
LOGIC INPUTS
r-
128;
.. APPENDIX F
2. Input:
or by computer.
? Sign
8-13 Coefficient
Walsh functions.
3. 91ocking:
a) An external pulse generator supplies the clocking signal.
Maximum frequency: 6.67Mllz
Amplitude: 0 to +5 VDC
4. Output:
5. Power Requirements:
15V DC @ 200mA
0 - 70c ambient
7. Dimen~ions:
LIST OF REFERENCES
3. E.O. Brigham~ R.E. Morrow, 'The Fast Fourier Transform' IEEE Spectrum,
Vol. 4, No. 12, pp. 63-70, December 1967.
10. J.W. Cooley, J.W. Tukey, 'An algorithm for the Machine Calculation of
Complex Fourier Series', Math. of Computation, Vol. 19, No. 90, 1965,
pp. 297-301.
12. 'TTL Integrated Circuits from Texas Instruments' Texas Instruments Inc.,
Bulletin CB-112, pages 2-12 to 2-15.
13. W.L. Toft, 'A High Speed Rate Mul:i.plier and its Application in a Digital
FM Demodulator', McMaster University, Hamilton, Ontario, Canada, B. Eng.
Thesis, 1971.
-------
131.
most dominant term is removed a new ramp function, having twice the fre-
Figure 4-7. In general, by removing then most dominant terms from the
original ramp function, a new ramp function is formed having n times the
frequency and l/n. times the amplitude. Another feature of the ramp
0
function is that its phase can be shifted 180 by changing the sign of
The triangle wave of Figure.4-8 has much the same error charact-
eristics as the ramp function. Again, the error is not due to the
truncation of tba W~lsh series but to the limited r~ngc of the Walsh
functions. In Part A of Figure 4-8, five terms are used to generate the
outpltt signal. In the region 0.25 ~ e <0.75 there are thirty-two differ-
waveforms in that they have a sparse number of low order terms in their
i~~,l~g[:8:~m~1o~hiT<;Tl
~~'.~-~,--~E-~-~~T2ct_f
1
CL}~~~
""c't-~"J-=:-H-:
:_:: :..... ::_:::::-:~ _ :: .... _: :._: -:.:_::. : . . .. :>---::::~_::.: --- . :.:_:::::
___ .... _____________
- -- - .. - .... -
~
- .. -. -
. -
..
---~------------~-
. - -
. - .. - .. .
--------~---~------------ .
. . --
------------
- .~.,.
88.
~~:~r~~r,~r:Jt~r~~~~!r1~r.~~r1~2nr:1r=m=rrfj~~~F~
E~f:~~l~~~-~J_: . ::~---~~~~: :-l~~~~:~:_:~~-~._.:t___-~L:~~-~:_:~-~J;::=L~~~
C.
~ill,J~,~,~~ii.~~lli~kfii*ii0i}~:;&;b~l
Three most dominant terms
89.
~ . . ___,/.
-
____,_j_ _____ . . , , _
E.
.~~~~~lt~22~0;~~lG{~=~~~
Most dominant term
90.
is not expected to happen with speech waveforms. In any event, for both
the triangle wave and ramp functions, the total error is much less than
the maximum allowable for speech. Moreover, most of this error can be
be represented exactly with only one term in the series. This is true
since the orthogonal functions on which the Fourier series is based are
series. ..
Thus, the synthesizer can be used as a convenient, programable
The Walsh series can also represent other waveforms exactly with
using only one term. The puise train, having duty ratio of 0.25, is formed
with three terms, all having the same coefficient, while the pulse train
of duty ratio 0.125 is formed with seven terms. In each case, the only
through a bandpass filter to eliminate the 200Hz and 12.SkHz error signals.
C.
lffij~li~~~~llifiml,
Duty Ratio = 0.125
92.
.CONCLUSIONS
the device has been built and checked out by generating the basic wave-
til the required set of coefficients is available from the computer. This
data can be obtained from a Fast Walsh Transform which is presently being
easy job due to the flexibility of the input circuitry of the synthesizer.
would be the bandpass filter used to eliminate the 200Hz and 12.BkHz error
signals.
- 93 -
94.
to improve the efficiency of thesynthesizer are the basic interval ' '
the number of terms used in the Walsh series, the range in values of the
removing some of the f lex:lbility and redundancy designed into the original
synthesizer. Then, the unit would become a practical and economical audio
output device for the computer. This, in itself, could be quite useful.
quently, a salesman on the road will require data from the home office
telephone, and get a vocal response from the speech synthesizer interfaced
salesman and the computer wherever there is a telephone with a 'touch tone'
dial. This could greatly increase the salesman's efficiency due to the
in the medical field. Much work has been done to date on the design of
a practical reading machine for the blind. Most of the problems associ-
ated with the input circuitry and pattern recognition needed to identify
95
the written symbol have been solved. The main obstacle appears to be
in the output device. Tactile stimulators have been u8ed with questionable-
the letters or even simple words could be called from the computer under
quite .complex and therefore not ver1 practical either physically or econ-
omically for the average blind person. However, the cost and size of
input signal would be analyzed by a Fast Walsh Transform and only the most
dominant terms saved. These could be then sent over the transmission
channel substantially.
forms such as sines, cosines, pulses, ramps and triangle waves can also
that for an input clock frequency of about 6.SMHz the output signal had
a frequency of 200Hz. The ratio between input and output frequencies is '
2 15 Th.us, if the input clock frequency were set at O.lHz, which is easily
obtainable from most clock circuits, the output signal will have a period
Th.is can be accomplished by taking more terms in the Walsh series. Also,
unit would still be such as to make the system quite economical as a low
as it was designed to, there is still a great deal of work that could be
that the choice of parameters used in this synthesizer are quite close to
optimum.
APPENDl.X
-98 -
99.
APPENDIX A
FIRST SIXTY-FOUR TERMS IN THE WALSH SERIES FOR BASIC WAVEFORMS
times over their period and equation (2-28) applied to determine the
Table A-5 Rectangular Pulse 2 DutiRatio 0.5 f(t) = 1.0 o ~ 0 < o.5
where 0 = t/T
= o.o o.5 ~ e < i.o
n C(n) n C(n) n C{n) n C(n)
0 0.000 16 o.ooo 32 o.ooo 48 o.ooo
1 50.000 17 o.ooo 33 0.000 49 o.ooo
2 o.ooo 18 o.ooo 34 o.ooo 50 o.ooo
3 o.ooo 19 o.ooo 35 o.ooo 51 o.ooo
4 0.000 20 o.ooo 36 0.000 52 0.000
5 0.000 21 o.ooo 37 o.ooo 53 o.ooo
6 0.000 22 o.ooo 38 o.ooo 54 o.ooo
7 0.000 23 0.000 39 0.000 55 o.ooo
8 ,0.000 24 o.ooo 40 o.ooo 56 0.000
9 0.000 25 o.ooo 41 o.ooo 57 o.ooo
10 0.000 26 0.000 42 o.ooo 58 o.ooo
11 o .ooo 27 0.000 43 0.000 59 0.000
12 o.ooo 28 o.ooo 44 o.ooo 60 0.000
13 o.ooo 29 o.ooo 45 0.000 61 0.000
14 o.ooo 30 0.000 46 o.ooo 62 o.ooo
15 o.ooo 31 0.000 47 -0.000 63 o.ooo
102.
Table A-6. Rectangular Pulse; DutI Ratio 0.25 f (t) = 1.0 o ~ e < o.2s
where 0 = t/T
= o.o o.2s ~ e < i.o
n C(n) n C(n) n C(n) n C(n)
0 o.ooo 16 0.000 32 o.ooo 48 0.000
1 25.000 17 0.000 33 0.000 49 0.000
2 25.000 18 o.ooo 34 0.000 so 0.000
3 25.000 19 0.000 35 o.ooo 51 0.000
4 0.000 20 o.ooo 36 o.ooo 52 o.ooo
5 0.000 21 0.000 37 o.ooo 53 o.ooo
6 0.000 22 o.ooo 38 0.000 54 o.ooo
7 o.ooo 23 o.ooo 39 o.ooo 55 o.ooo
8 0.000 24 o.ooo 40 0.000 56 0.000
9 o.ooo 25 0.000 41 o.ooo 57 o.ooo
10 0.000 26 o.ooo 42 o.ooo 58 o.ooo
11 o.ooo 27 0.000 43 o.ooo 59 o.ooo
12 o.ooo 28 o . ooo 44 o.ooo 60 o.ooo
13 0.000 29 0.000 45 o.ooo 61 0.000
14 0.000 30 o . ooo 46 0.000 62 o.ooo
15 0.000 31 0.000 ..,./,...,, o.ooo 63 0.000
Table A-7. Rectangular Pulse, Duty Ratio 0.125 f(t) = 1.0 o ~ e < 0.125
where 0 = t/T
=O.O 0.125 ~ e < i.o
n C(n) n C(n) n C(n) n C(n)
0 0.000 16 o.ooo 32 o.ooo 48 o.ooo
1 12.000 17 o.ooo 33 0.000 49 o.ooo
2 12.000 18 o.ooo 34 o.ooo 50 o.ooo
3 12.000 19 0.000 35 0.000 51 o.ooo
4 12.000 20 0.000 36 o.ooo 52 o.ooo
5 12.000 21 0.000 37 0.000 53 o.ooo
6 12.000 22 0.000 38 0.000 54 o.ooo
7 12.000 23 0.000 39 0.000 55 o.ooo
8 0.000 24 o.ooo 40 0.000 56 0.000
9 o.ooo 25 o.ooo 41 o.ooo 57 o.ooo
10 0.000 26 o.ooo 42 o.ooo 58 o.ooo
11 0.000 27 0.000 43 o.ooo 59 o.ooo
12 0.000 28 o.ooo 44 o.ooo 60 0.000
13 0.000 29 0.000 45 o.ooo 61 0.000
14 o.ooo 30 o.ooo 46 o.ooo 62 0.000
15 o.ooo 31 o.ooo 47 o.ooo 63 o.ooo
1'63.
'APPENDIX B
CIRCUIT.DIAGRAMS
The following pages show the circuit diagrams for the seven boards
used in t~e synthesizer. All the electronics for the synthesizer, other
than switches, connectors and lights, are contained on these boards. They
are labeiled A through G, denoting the order in which they are installed,
in the board rack. Board A is located on the left side of the machine and
board G is on the right side. Note that bracketed figures represent pin
numbers for external connection to the boards. The number and letter con-
tained in each gate gives the location of the gate on the circuit board
while the numbers on each connection refer to the integrated circuit pin
GNO
<Z.22>
LI
(9)
L7
ca>
u
en
LS
(6)
-NffJ .. _,,t0,._40
L4 O:tE:GCO:O:CIC~a:
_($)
~ II:'
=~ u
L3 I') N-
(4) c( N
.
+
l2
(3)
LI
<2>
s------
cv>
.
+
. . +
.
+
II: ."'
0
+
'II: 0
...
,.,
or
>
0
c 0 !
z ;r x
...w
I~ ...
0 u u
z z z
(19)
~
(II) (19)
...
0
CN>
c
CRl
::I c
:I
<B>
>-
c:u
0
u
czo>
>-
tit
CP>
..
<Cl CE> CH> CS> <9> <Ml 115> ll4l <S> Cl6> <11> Cl8l Ct9> CX) <BHI> tDl !Fl CJ> CKl tll CN> CP> tlU CT> CUl CV) CW>
(I C2 cs C4 C5 C6 C7 ca C9 CIO Cit Cl2 Cl! COMP MAN SI 52 53 S4 S!I 56 S7 S8 S9 SIO Sit St2 Sil!
>tj
I-'
()Q
i::
ti
CD
b:j
I
N
(")
I-'
ti
(')
i::
'"'"
6
'
5' 5' a 5 8
II II 6 II
l"t
t:='
.....
0
V1
106.
6 -......J
D'IZ---=ll.!>!:
5
CZ,.221-GND
cA,nr+s
~luF.
.-----AB
<Pl
l':"-H---------11
CR>
'-----Cl
<14)
D'I :s--,,.-IA:b-'1'---..
9
------012
I t'%j
.....
OQ
R
l'D
o:i
. .I
+='-
I~
CS> RUN
<Y> CLOCK
(")
c:
.....
l"t
t::1
.....
Q>
1~-1 1~-1 1--1 1--1 1~-1 1~-1
61 81 AB I BB I CB I
~
Q>
s
I
o:i
0
12T 1'1>
11
i:l.
hi .1 lt::1
~ I
8.
'S't.
I ~
IO
3 ~lo
-. "'
n. 14--~
- "' Ill
\El.I~ g~l
I
2N3721 L ...19
I~z
I~
...~
Qll
"'a:
.. z
C>
0
c
....
. z ... ...
......
.., z z
"'
~z
"'
... -<
... .....
;; :;;; "'...z
..
0
...
... ..
"' "'
"' .....
:z:
-
0
00
109.
\
110.
l0A06All
Ill
Cl,22>--l>GND
CA,I> r,s
~luF
Al5 Al 6
DI
c7l
____ _.
69101112
13
B 3 I
2 835 885 816 836
Cl> ct>
89
CY>
r-----A8
en
A 5 r.~'l-<l>----------~-------81
z CU>
....,..__,_._.........-....--.---~...... ~----ca
:S 4 5 15 9 II 12. CV)
891 192893894895896897 891
l0A09 a.t 09
(p) CS>
DIO
IX)
.., BL:S IL 4