Note: Descriptions are shown in the official language in which they were submitted.
3333a~
SPEECH ANALYSIS ARRANGEMENT
Field of the Invention
The invention relates to signal procescing and more particularly to
procescin~ ng~ n~ for forming signals .~l~,s~ /e of sensory illÇollllation.
Back~round of the Invention
Many dirr~ types of pl~ces~;--g arrange.l~.lls have been devised to
analyze sensc, ~ ro~ tion~ With respect to senso ~ signals derived from sounds
such as speech, some processing sy~l~.lls extract specific fealules such as pitch,
fo....~ , or linear predictive pal~n~te.s to detect, recognize, enh~nce or
syntheci7e the speech or sounds. Other ~ lems are adapted to form frequency
spectra directly from the speech wave. It is generally agreed that the human
hearing a~pal~lus does not process speech waves in these or similar ways and that
human p~.ce~lion of speech for recognition or other purposes is superior to suchQ---~ procescing systems.
Litde is known about dhe processing principles in dhe brain stem,
auditory nuclei and dhe auditory cortex. It is well recognized, however, that sound
waves entering the ear cause hair cells in the cochlea to vibrate, and that the
sound waves are ~,p e~nl~d at the cochlear nu~lellc solely by the auditory nerve
firing p~tternc caused by the hair cells in the cochl~ Such knowledge has been
utilized as described for example in U. S. Patent 4,532,930 issued to
Peter A. Crosby et al on August 6, 1985 to provide auditory prosthesis for
pl~rou-ldly deaf persons. It is further known that human underst~n~ling of speech
in the presence of noise is very good in co~ ;con to ~utom~te~ recognition
arrangements whose ~ rc,.."Ance deteriorates rapidly as the noise level increases.
Consequently, it has been suggested in the article "Recognition system processesspeech the way the ear does" by J. R. Lineback a~e~ing in Electronics, Vol. 57,
No. 3, February 9, 1984, pp. 45-46 and elsewhere, that speech analysis may be
mod~ A on the auditory nerve firing p~tt~rnc of the human hearing a~a-alus.
U. S. Patent 4,536,844 issued to Richard F. Lyon, August 20, 1985,
discloses a method and a~alus for sim~ ting aural response hlfo.lllation which
are based on a model of the human hearing system and the inner ear and wherein
the aural response is e~p~ sed as signal procescing operations that map acousticsignals into neural represent~tions. Accordingly, the human ear is cim~ terl by a
high order transfer function m~ele~ as a c~cc~ parallel filter bank network of
l3~33a~
simple linear, time invariant filter sections with signal tran~ ction and
CO~ S ,ion based on half-wave rectification with a nonline~rly coupled variable
time constant aul~,~lic gain control network. These processing arrangç~,.ç~
however, do not colle~ond to the nerve firing p~tt~rni characteristic of aural
response.
Patent 4,075,423 issued to M. J. Martin et al on February 21, 1978
discloses sound analyzing apparatus for extracting basic follllanl waveforms
present in a speech signal, and eY~mining the fc,lmallt waveforms to identify the
frequency COllll)OI~Ilb thereof using a histogram of the frequency pattern~ of
~letçcte~l waveform peaks developed over s~lccessive sampling periods in a digital
processor. The Martin et al arrangement, howe~,el, is limited to forming a
particular set of acoustic reatu~es, i.e., rO. ..~ but does not address the problem
of ge--c ~ g a signal representative of the spectrum of an acoustic wave based on
auditory nerve firing p~ttern~ Frequency histograms based on sound wave peak
or zero crossing data yield only limited infcllllalion concerning the input sound
and are not sufficient to ge~ e a complete spectral representation of the neuralresponse to sound input. It is an object of the invention to provide improved
spectral represçnt~tion of the neural response to sensory p~tt~rn~ that ~im~ tes the
operation of biological organs.
Brief Sul~~ y of the Invention
The foregoing object is achieved by p~rcllllillg a timing synchrony
analysis on a sensory pattern in which the spectrum of the sensory pattern is
divided into spectral portions and the spectral distribution of neural response to
the sensory pattern waverollll is obtained using multilevel neural response
thresholds. Nerve firing patterns are detected and the spectral distribution of the
counts of nerve firings of the individual spectral portions are combined to form a
spectral represent~tion corresponding to the operation of the sensory organ. Forsound p~tt~.rns, multilevel sound intensity thresholds are established and crossings
of the plurality of sound intensity thresholds by the spectral portion waveforms are
counted to produce a neural response histogram. The spectral portion histograms
are comhine~l to produce an auditory spectral represent~til-n of the input soundpattern.
The invention is directed to a sensory type pattern analysis
arrangem~nt in which a plurality of neural response intensity levels is defined.The frequency spectrum of a received sensory type pattern is divided into a
1333300
- 3 -
plurality of spectral portions by filters each having a prescribed spectral response. The
output of each filter is partitioned into successive time segments. Responsive to the
output of each filter in the present time segment, a set of signals is generated which
represent a histogram of the inverse time intervals between crossings of each of the
S neural response intensity levels by the filter output as a function of frequency for the
present time segmen~. The inverse interval histogram signals from the filters for the
present time segment are combined to produce a signal corresponding to the spectral
distribution of the neural responses to the time segment waveform of the sensory pattern.
Autocorrelation signals for the time segment formed from the neural response spectral
10 distribution signals permit accurate speech recognition in high noise environments.
In accordance with one aspect of the invention there is provided a method
for analyzing a sensory type pattern comprising: receiving a sensory type pattern; dividing
the frequency spectrum of the waveform of the received sensory type pattern into a
plurality of spectral portions; partitioning each spectral portion of the received sensory
15 type pattern into successive time segments; defining threshold levels of intensity of each
such partitioned spectral portion for which crossings are to be detected, said levels
corresponding one-to-one to sensory neutral response intensity levels; detecting the
crossings of each such threshold level of intensity and determining the inverse time
intervals therebetween; classifying said inverse time intervals; generating a signal
20 representative of the classification of inverse time intervals for each partitioned spectral
portion; and producing a signal representative of the, distribution of the generated
classification signals for the current time segment waveform of the sensory type pattern.
In accordance with another aspect of the invention there is provided
apparatus for analyzing a sensory type pattern comprising: means for receiving a sensory
25 type pattern; means for dividing the frequency spectrum of the received sensory type
pattern into a plurality of spectral portions; means for partitioning each spectral portion of
the received sensory type pattern into successive time segments; means for defining
threshold levels of intensity of each such partitioned spectral portion for which crossings
are to be detected corresponding one-to-one to sensory neural response intensity levels;
30 means for detecting the crossings of each such threshold level of intensity and determining
the inverse time intervals therebetween; means for classifying said inverse time intervals;
means for generating a signal representative of the classification of inverse time intervals
~,
!
-3a- 1333300
for each partitioned spectral portion; and means for producing a signal representative of
the distribution of the generated classification signals for the time segment waveform of
the sensory type pattern.
Brief Description of the Drawin~
FIG. 1 depicts a general block diagram of an arrangement illustrative of the
invention which produces spectral representations based on auditory neural patterns
responsive to sounds;
FIGS. 2, 3, 4 and 13 show flow charts illustrating the operation of the
arrangement of FIG. 1;
FIGS. 5 and 6 depict signal processing circuits useful in the arrangement of
FIG. 1;
FIG. 7 shows waveforms illustrating the operation of the partial interval
histogram processors of FIG. 1;
FIG. 8 shows waveforms illustrating the spectral representations obtained
from the arrangement of FIG. 1;
FIG. 9 shows waveforms illustrating the spectral portion filtering in the
arrangement of FIG. 1;
FIG. 10 shows curves illustrating time segment arrangements in the circuit
of FIG. 1;
FIG. 11 illustrates diagrammatically the operation of one of the partial
interval histogram processors;
FIG. 12 illustrates diagrammatically the operation of a plurality of partial
interval histogram and ensemble histogram processors of the circuit of FIG. 1.
~4~ 1333~(30
Detailed Desc~ ion
FIG. 1 depicts a general block diagram of an aIrangement adapted to
analyze sensory ;.,rc..~ ;on by partitioning an input signal into a plurality ofspectr~l portions, detecting oc~;ull~nces of particular events in each spectral
portion i.e., crossings of sensory threshol-l~, and combining event inrolmaLion i.e.,
counts of intervals betv~een sensory threshold crossings for evaluation. While
FIG. 1 is descfibe~l in terms of a speech analyzer, it should be understood that it
may be used for the spectral analysis of visual or other sensory like signals. The
circuit of FIG. 1 produces a frequency domain l~l~se~.lA~ion of an input sound
measured from firing ~,al~ generated by a ~imnl~ted nerve fiber aTray and
~im~ teS the ~lll~Ol~ char~çt~ ri~ti~s of the information in the auditory nerve fiber
firing pattern~ by tr~nsforming the frequency domain representation into
autocorrelation signals for use in speech ploces~in~F As a result, the inrollllalion
obtained th~Llo~ cc,ll~onds to that derived from the human hearing
mechanism rather than that obtained by a direct analysis of a signal from an
elec~loacoustic tr~nsducçr. Priorly known human hearing ~im~ tion arrangements
are based on a single auditory nerve ~ ;,hold level and produce only limited
auditory feature infclmalion. The simlllation circuit according to the inventionutilizes a plurality of auditory nerve threshold levels to provide much better
resolution of the auditory response.
The model of human hearing used for the circuit of FIG. 1 comprises
a section representing the peripheral auditory system up to the auditory nerve
level. This section ~imul~tes the mechanical motion at every point along the
basilar llleml~l~ as the output of a narrow band-pass filter with frequency
response produced by the mech~nic~l tuning characteristics at that place as
described in the article "Cochlear Modeling" by J. B. Allen a~pealing in the IEEE
ASSP Magazine, January 1985, page 3. The shearing motion between the basilar
membrane and the tectorial membr~ne is sensed by the cilia of the inner hair cell
and t~n~duce~1, in a highly nonlinear manner, to the pl~lll~ nerve fibers attached
to the cell. Each of these fibers is characteri~ by its threshold level and its
sl)on~eous rate as disclosed in the article "Auditory-Nerve Response from Cats
Raised in a Low-Noise Chamber" by M. C. Liberman appealillg in Journal of the
Acoustical Society of America, Vol. 63, 1978, pp. 442-455. The mapping of
places along the basilar membrane to frequency is approximately log~ ",ic, and
the distribution of the inner hair cells along the membrane is unirclm.
13~33~10
The filtFring section may be represented by a plurality of filters each
having a prescribed response coll~spol~ding to the cochlea. A set of 85 such
cochlear filters equally spaced on a log-frequency scale from 0 Hz to 3200 Hz
may be used. It is to be understood, however, that other filter char~ctPristics may
be used de~ ..lil-~ on the int~n~le~l use of the analyzer. The nerve fiber firing
,echal~ism is sim~ te l, according to the invention, by a multilevel crossing
detector at the output of each cochlear filter. ~ conll~sl to other arrangelllellls
which assume a single nerve fiber at each point in the basilar membrane, the
arrangement accc,lding to the invention is in accordance with a mllltifiber model in
which each fiber fires at a dirr~l~..-t sound int.,llsily threshold. We have found that
the multilevel ~rr~ngement coll~ollds more closely to the physiology of hearing
and provides illlplvvt;d spectral representation in the presence of noise. The level
crossings measured at threshold levels coll~ ollding to pre~leterminF~ sound
inte~ ;eS are ul~irc~ ly distributed in a log scale over the dynamic range of the
signal. While positive going threshold levels are used in embodiment described
herein and positive going crossings of the threshold levels are measured, it is to
be understood that other threshold and crossing aIr~ngF.nF..I~ may be used. The
ensemble of the multilevel crossing interv-als c~ ~onds to the firing activity at
the auditory nerve fiber-array. The interval between each snccessive pair of same
direction, e.g., positive going, crossings of each pre~lete....i.-F~l sound intensity
level is ~letFrminFxl and a count of the inverse of these interspike intervals of the
multilevel delecl~ for each spectral portion is stored as a function of frequency.
The reslllting histogram of the ensemble of inverse interspike intervals forms aspectral pattern that is representative of the spectral distribution of the auditory
neural response to the input sound. Advantageously, the ensemble histogram
pattern is relatively inse.n~itive to noise col~d to priorly known Fast Fourier
Transform derived spectra. The auditory neural response is the firing pattern ofthe ensemble of plilll~ fibers in the auditory nerve.
In FIG. 1, sound waves such as speech are converted into an elect~ical
signal s(t) by a tr~nsducer 101 which may be a microphone. Signal s(t) is
s~mrlF-l at a prescribed rate, e.g., 40 ~mples/sec., and the snccessive samples
are converted into digital representations thereof in signal converter 103. The
digitally coded signal is applied to filter processor circuit 105. The filter
processor which may comprise a processor arrangement incol~ lg for example
the type M C68020 microprocessor or the type T MS 32020 digital signal processor
-6- 13333~
is operative to partition the digitally coded sequence cc,sl~s~,onding to signal s(t)
into a plurality of prescribed spectral portion signals sl, s2, ..., si, ..., sI by means
of spectral filtçring well known in the art. Each spectral portion may have the
prescribed charactPri~tic of a cochlear filter as aÇc.lc ~ t;oned. ~ltPrn~tively, each
spectral portion may have a ~mming window type or other type characteristic
well known in the art. Waveforms 905-1 through 905-I of FIG. 9 show the
spectral charactçri~tics of the p~sb~-ds of such a set of cochlear filter
charnctçri~tics, and waveforms 910-1 through 910-I illustrate the spectral response
of a set of overlapping ~mming window type filters.
The spectral portions defined in filter plucessol 105 generally have a
dominant frequency range that is relatively nalTow. As a result, the spectral
portion signal in the time domain compri~es a sinewave type signal having
relatively slowly ch~ndng peaks. The spectral portion signals may also be
generated by applying the output of h~n~ cPr 101 to a plurality of analog filters
each having a prescribed spectral response. The spectral portion from each filter
is then applied to a digital converter circuit operative to sample the filter output at
a prescribed rate and to transform the sampled filter output into a sequence of
digital codes. The spectral portion digital codes from the converter circuits then
cûrrespond to prescribed spectral portion signals sl, s2, ..., si, ..., SI.
The time domain digital signal sequence for prescribed spectral
portion sl is applied to partial interval histogram processor 110-1. Similarly,
prescribed spectral portions s2, ..., si, ..., sI are supplied to partial interval
histogram processors 110-2 through 110-I, l~eclively. Each partial interval
histogram processor is operative to detect the time intervals belween crossings of
the sound intensity levels by the spectral portion wc,~/erOlm as illustrated in FIG. 7
and to store the counts of the inverse time intervals as a function of frequency.
Referring to FIG. 7, waveform 720 represents a time segment of the output in
analog foml from signal converter 107-1. A prescribed time segment, e.g.,
40 milli~econds, is selected for all partial interval histogram processors although
as will be explained the time segmPnt may be further limited tû a particular
number of detected time intervals, e.g., 20. Waveforms 701-1 through 701-7 are asuçcession of positive threshold levels scaled 10~ lly as in~ 1 in
FIG. 7.
7 13333~0
Processor 110-1 is adapted to detect same direction, i.e., positive
going crossings, of the same sound in~llsily level by the spectral portion
~avef~lll within the prescribed time segment TS and to gen~ e signals each
representing the inverse of the time interval of each sllccessive pair of positive
going sound in~ensily level crossings. The analysis time segment TS starts at the
present time to and extends into the past (right to left) until time tf.
Wavefol", 720 is a typical analog represçnt~tiQn of the input spectral portion
waveform to partial interval histogram processor 110-1. Waveform 720, while -
positive going, crosses level 701-1 at times tl, tll, t21, and t31 going right to left-
These positive going crossings are det~cte~ and a signal corresponding to the
inverse interval ~I~ ,n each pair of ~ucce;,~ive crossings is obtained. With
respect to level 701-1 in FIG. 7, indic~tions of the inverse intervals l/(tll-tl),
lt(t21-tll) and 1/(t31-t21) are recorded in a histogram store having bins or storage
cells ~ nged acco,Lng to inverse interval frequency. In similar fashion, inverse( 12 2)~ V(t22-tl2), and 1/(t32-t22) are formed for level 701-2 inverse
als l/(tl3-t3)~ 1/(t23-tl3)~ and 1/(t33-t23) for level 701-3, and inverse
n ervals l/(tl4-t4)~ 1/(t24-tl4)~ and 1/(t34-t24) for level 704-4. With respect to
level 701-5, only inverse interval 1/(t35-t5) is gen~l~led. No inverse time
intervals are obtained for level 701-6 since there is only one crossing of this level
at time t6.
Counts of the inverse intervals are stored in the histogram bins which
are ~ Oly location~ arranged according to a frequency scale. The first bin may
correspond to a frequency range belween O and 32 Hz. The next bin then
c~ onds to the frequency range ~ of 32 Hz-64 Hz. Other bins are arranged in
like manner to cover the fi~uency specl~lm of interest e.g., 0 - 3200 Hz.
Assume for pu~oses of illustration that inverse intervals l/(tll-tl), l/(t21-tll)
( 31 21) 1/(tl2-t2), 1/(t22-tl2), 1/(t32~t22) 1/(tl3-t3)' 1/(t23-tl3) and
l/(t33-t23) are all in the frequency range of a single bin. According to the
invention, that bin will store the number of inverse time intervals within its range,
i.e., 9, obtained in the time segment TS being analyzed. Inverse intervals
l/(tl4-t4), 1/(t24-tl4), and 1/(t34-t24) for level 704-4 may fall within the range of
an adjacent bi~ so that the count in the adjacent bin for time segm~nt TS would
be 3. The inverse time interval l/(t35-t5) of course falls within a completely
diff~ nt frequency range and a count of 1 would be stored in the bin
corresponding to that frequency range.
-8- 13~33~
The bin counts are ~ e of the synchrony in the neural firing
pattern of the coGhle~ The use of a plurality of logi..;LI,.,.;cally related sound
in~ y levels rrcuunl~ for the inlellsily of the input signal in a particular
frequency range. Thus, a signal of a particular frequency having high intensity
peaks results in a much larger count in the bin covering that frequency than a low
int~.lsily signal of the same frequency. The counts are ind.opendent of the spectral
portion source in which they occull~l. Priorly known hi~ gl~l analysis
arrange.,.f .l~ utilize a single crossing count or peak counts so that variations in
inl~l,sily are not readily detectable. In accordance with the invention, multiple
level histograms of the type described herein readily in~lic~te the intensity levels
of the nerve firing spectral distribution and cancel noise effects in the individual
inlen~ily level hi~a.lls.
As is well known in the art, the use of a pre.1ete,rmine.1 time segment
for signal analysis tends to average the data obtained over the time segment.
While a time segment of 40 milli~econds is appr~liate for the analysis of low
frequency spectral portions, it may not be a~pr~liate for signal colll~onents in the
higher frequency spectral portions. A ~lirr~l~nt time seglllent may be used for
each spectral portion so that an ap~ru~liate time scale may be obtained for eachspec~l range. In the partial interval histogram circuit of FIG. 1, the time
segment is made a~n)pliate for each spectral range by using overlapping
segments of TS duration. For example, the time segment duration for the analysismay be nomin~lly 40 milli~econds while each analysis occurs every
5 milli~econds. The nominal TS segment is changed so that there is a mz~xi..~
number of counts permitted in each bin of the histogram store. Consequently, a
high count for a bin in effect shortens the time se~m~nt TS for that bin. Highercounts are eYrecte~l for the higher frequency conlponenls of the input signal where
the signal makes more level crossings within a given time. The time segment for
such higher com~nents is relatively short colll~ d to the time segments for
lower frequency colll~nents. Thus, the time resolution for the higher frequency
colll~ol ellls is made finer than for lower frequency co~ onents.
FIG. 10 illu~ tes the variable time interval arrangement. Line 1001
represents the time axis and time segment to - tf is marked as a s~mrling time
period at which the analysis is ~.ÇJll~ed. Line 1005 r~lcselll~ the frequency
axis along which are a low frequency limit, e.g., 200 Hz and a high frequency
limit, e.g., 3200 Hz. An analysis time segment TS, e.g., 40 milliseconds, shown
9 1333300
by line 1010-1 is used at the low frequency limit at which a ...cx;.~ ... inverse
interval count of 20 cannot be eYpected Similarly, a 40 milli~econd analysis
interval is used at so"l.,~.l,at higher frequencies as in~licat~d by lines 1010-2 and
1010-3. Line 10104, h~ ,~, is at a frequency where a count of 20 results in a
shorter interval than TS = 40 milli~econds. In the highest frequency ranges, thecount of 20 occurs within a much shorter analysis window as intlir~ted by
lines 1010-(I-2) and 1010-I. The reslllting analysis window is in~lic~ted by
curve 1015 which is of 40 milliseconds duration at low frequencies and decreasesat higher freqllencies. Thus, a long analysis window TS takes into account the
effects of low frequency co"l~onellb while the shorter window obtained by
limiting the count of inverse time intervals per_its accurate analysis of high
frequency changes.
As an illustration of the partial interval histogram operation, consider
an input signal of the form
s (t) = A sin(2~1fot) (1)
applied to a cochlear type filter of FIG. 9 having a center frequency
CF = fo (2)
For a given int~nsily A, the output signal of the cochlear filter will provide only
some sound il~t~,nsil~ level-c~ossings. For a given level, the time interval between
two s~lcces~ive up going level crossings is generally l/fo and the inverse of this
time interval is fO. Since a histogram of the inverse of the intervals is generated,
this interval be~ l a pair of positive going crossings contributes one count to
the fO bin of the histogram. For the illustrative input signal of frequency fO, all
the intervals are identi~l This results in a histogram which is zero e~ wl,ere,
except for the bin corresponding to fO. As the ~mplitllde A of the input signal
increases, there are crossings of higher value sound intensity levels, whereby this
cochlear filter contdbutes more counts to the fO bin of the partial interval
histogram processor. For sound intensity crossing levels equally distributed on a
log ~nlrlitude scale, the partial interval histogram is related to the dB scale.
lO- 13333~0
The filters whose characteristics are shown in FIGS. 9 are overlapping
so that more than one partial ensemble histogram processor contributes to the fobin. In fact, all the cochlear filters which produce
si(t) = A ¦ Hi(fo) I sin(27~fot + ~i)
~i = < Hi(fo) (3)
will contribute to the fO bin of the EIH, provided that A ¦ Hi(fo) ¦ eYce~e any of
the level crossing thresholds. Consequently, there are several spectrql portion
sources co~tributinp counts to the fO bin in a nonlineqr manner. The resnlting
inverse interval histogram oblained by combining the outputs of the partial
interval histograms, e.g., by ~ ;on, corresponds to the extent of the neural
response of the coc1 leq
FIG. 11 illu~ tc;s dirq.~ q-lly the operation of one of the partial
interval histogram processors responsive to a sinewave input
s(t) = Asin(2~f0t) (4)
within the pq~sb-qn-l of its !q~sociqte~ filter. Box 1101 illu~lla~es the level detector
q.~qngçment of a partial interval histogram processor (PIH) such as 110-1 in
FIG. 1 and shows lop~ qlly related sound illlensily threshold levels 1103-1
through 1103-7 which are inco~ ted in the PIH processor. The outputs of the
level detector arrngem~nt i~ tr~ted in box 1101 are applied to partial interval
histogram level stores coll~i,~nding to the arnplitude vs. frequency plots 1105-through 1105-7. The positive portions of the waveform applied to the partial
interval histogram processor that occur during analysis time segment TS are
shown in box 1101 and the detected inlellsity level points where the positive
going waveforrn crosses levels 1103-1 through 1103-4 are in~ t~l therein. As a
result of the detected positive going crossings, an inverse interval count of 4 for
level 1103-1 is stored in a ~ ,ly location bin cc~ sponding to fO line 1110-1 in
plot 1105-1. In similar manner, inverse level counts of 4 are stored as shown inplots 1105-2, 1105-3 and 1105-4 as lines 1110-2, 1110-3 and 1110-4, respectively.
s~ dillg bins having the same frequency range of the level stores indicated
in plots 1105-1 through 1105-7 are sllmmPd to forrn the partial interval histogram
11- 133330G
intlirat~d in plot 1125. Since, a count of 4 is stored in each of the bins con~ g
fO in plots 1105-1 through 1105-4, the inverse interval count in the bin for fO of
plot 1125 is 16.
FIG. 12 illu~ ates ~ ticQlly the operation of the plurality of
partial histogram processors responsive to a sim~ave signal
s(t) = Asin(2~f0t). (5)
Line 1205 of FIG. 12 l~se.l~s the Qmplit~lde A of this sinewave at frequency fO
on a log frequency scale and the spect~al ch~racteri~tics of a set of 5 overlapping
filters 1201-1 through 1201-5 are inflir~t~l on the same log frequency scale. Each
filter exhibits a prescribed shaped spectral portion. While triangle shape spectral
p~l~ ons are shown, it is to be und~ od that the actual spectral portions
ond to the cochlear filters of FIG. 9. It is appdlellt that signal s(t) falls
within the pa~sb~n-l~ of filter characteristics 1201-2, 1201-3, and 1201-4 but
outside the p-Q~bQn-l~ of filter characteristics 1201-1 and 1201-5. Boxes 1210-1through 1210-5 diagl~ ",,,~;rQlly l~pl~,sent the operation of the set of partialinterval histogram level detection arrange .~enl~ associated with filters 1201-1through 1201-5, lespecliv-ely. The horizontal lines within each of boxes 1210-1
through 1210-5 cc,ll~ ond to the afc,l~ ..el.l;oned loga.;ll-...ic~lly related positive
amplitude sound inlensily crossing levels for a predete...-i~-ed time segment TS.
The time seg.nf -t TS for the partitioned input signal s(t) results in signal outputs
from spectral filter processor 105 to partial interval histogram boxes 1210-2,
1210-3, and 1210-4, but no signal outputs to partial interval histogram
boxes 1210-1 or 1210-5 as indi(QtçA
The positive portions of the sinewave applied to boxes 1210-2, 1210-3
and 1210-4 shown as ~.avc;rulllls 1212-2, 1212-3 and 1212-4 result in an inverseinterval count of 24 at frequency fO shown at line 1215-2 on a log frequency
scale, an inverse interval count of 16 at frequency fO shown at line 1215-3 and an
inverse interval count of 8 at frequencyf shown at line 1215-4. These counts aresnmm~A in ~...n...e. 1220 and the resllltQnt count for the bin is in~icat~l at
line 1225 at frequency fO. In general, signal s(t) is a complex speech waveform
having many colllpone.lls so that the partial interval histogram counts and the
reslllting combination in the ensemble interval histogram (EIH) represents the
spectrum of the speech waveform as derived from the ~yllchn~ny of neural firings.
- 12- 1333300
FIGS. 2 and 3 show a flow chart that illustrates the general method of
operation of the circuit of FIG. 1, and the general sequence of operations of
control 130 used to cool~linate the signal plucessol~ in FIG. 1 is set forth in
Fortran l~nglls~e form in Ap~l di~c A hereto. Referring to FIGS. 1, 2 and 3,
step 200is initially entered wh~eill a plurality of log~ c~lly related sound
i~ltensily threshold levels Ll, L2, ..., Lj, ..., LJ are set in each partial interval
histogram processor 110-1 through llO-I to values such as 4J, j = 1, ..., J. Thesound hll~llsily threshold levels for each spectral portion may be the same or may
differ from one another. Where the threshold levels are dirr~lellt, they may be set
randomly with respect to one another so as to better sim~ te the behavior of theacoustic nerve cell arr~ng~m~nt Input sound signal s(t) from transducer 101 is
igiti7ed in signal con~ 103 and partitioned into I spectral portions sl, s2, ....
si, ..., sI in spectral filter l.lucessor 105 (step 201) in a manner well known in the
art. A set of stored instructions for ~Irul~ g the spectral filter operations ofsignal converter 103 and processor 105 is shown in Fortran language form in
Appendix B hereto.
Time seg,..- -l index ITS is reset to one in step 203 and the sequence
of digital codes xl, x2, ..., xn, ..., xN for the spectral portion waver~l~l" e.g., si, of
the current time seg...~n~ TS illu~llaled in FIG. 7is formed in processor 105
(step 205). The digital code se lu~,nce for the present time segm~nt TS spectralportion sl is applied to partial interval histogram processor 110-1 from
processor 105 in step 205. Similarly, the time segment digital code sequences for
spectr~l portions S2 through sI are applied to partial histogram processors 110-2
through llO-I, les~ ively. Time segm~nt TS may, for example, be set to
40 milli~ecûllrl~ The codes may be received by the partial interval histogram
processor as ~e~ al~d, stored therein and seg...~ ed into groups of N for
proces~ing in the current and s~lccee lin~ time se~n.ont~ TS.
Sound hltellsily threshold index j is reset to zero (step 207)
pl~a~ ,ly to formation of partial interval histograms as afol.,.llelltioned withrespect to FIGS. 11 and 12. The par~al interval histûgrams for the dirre~
spect~l portion waveforms sl, s2, ..., si, ..., sI are produced concull~.ltly inprocessors 110-1 through llO-I. The inverse interval histogram proces~ing for
spectr~l portion si in l,n)cessor llO-i is shown in dle loop including steps 218,
220 and 225. The inverse interval histogram processing for the other spectral
portions is p~, rv....eA conew,~ ly so that a set ûf PIHij(k) partial interval
- 13- 13~3~0
histogram signals are produced where i is the spectral portion index, j is the sound
int~ y level index and k is the histogram rl~u~n~iy bin index. Threshold level
index j is incle ~ ed in step 218. The partial interval histogram signal set
PIHij(k) for the current level j and spectral portion si is genelaled as per step 220
by dct~ - ...;i.in~ the count of the time intervals bcl~.~n posilivc going crossings of
threshold level j by the ~rec~l portion waveform of the current time segm~nt andstoring the counts in storage location bins k which span the frequency range of
interest, e.g., the speech spectral range. The result is a frequency distribution of
the inverse time interval counts for the current time segment of spectral portion i
and level j. After the partial interval hi~lu~ signals for level j are formed,
threshold index inc~ e~ -g step 218 is l~nt~.ed via decision step 225 until the
final level J has been l,r~cessed.
The f~ tion of the partial interval histogram for level j of step 220
is shown in greater detail in the flow chart of FIGS. 4 and 13 with l~r~lellce to
the ~fùcGssor arr~ngem~nt of FIG. 5. FIG. S depicts the afrangement that may be
used as the partial interval histogram ~rucessor of FIG. 1. The circuit of FIG. 5
occsses the partial interval histogram for one of the spectral portions, e.g., si and
compri~es input int~rf~-e 501, signal plucessol 505, partial interval histogram
program instruction store 520, data signal store 525, output interface 510, and
bus 530. Program instruction store 520 is a read only I~ wly storing the
instructions for imple..)enl;ng the partial interval histogram proces~ing according
to the flow charts of FIGS. 2 and 3. The instructions of store 520 are set forth in
Fortran l~n~l~e in Appendix C hereto. Input int~ ce 501 receives the sequence
of digital codes xl, x2, ..., xN for the COll~ i,~ndillg spectral portion e.g., si frûm
spectral filter processor 105. Signal processor 505 is adapted to ~Ir~lm the
partial interval histogram proces~ing operations under control of the instructions
from store 520 as is well known in the art. Data signal store 525 includes k = 1,
2, ..., K 1l~ locations arranged to store the inverse interval counts for the
histogram of each level j and the counts for the histogram of the combined levels
j = 1, 2,.., J. Each memorv location bin k receives the count of inverse intervals
coll~ ,ondillg to a particular r~ u~ ncy range ~ in bin k as will be described.
Output il-~f-r~cG 510 is operative to transfer the PIHi~k) signals represe.ntin~ the
partial histogram of inverse interval counts for all levels j of the present time
segment of spectr~l portion i to ensemble histogram processor 115 in FIG. 5.
- 14- 133330J
Referring to FIG. 4, the digital codes xl, x2, ..., xn, corresponding to
the spectral portion signal si are received by input int~ce 501 of FIG. S and are
transferred to data signal store 525 under control of instructions from instruction
store 520 (step 401). Each sequence of N digital codes col,~onds to a
predefined m~ximnm analysis time segment for which a histogram is to be
formed. The filtered sample signals xn are stored (step 401). Sample index n is
initially set to N in step 405 since the histogram analysis is ~lrulllled on thesequence of past N samples in d~scen~1ing order XN, xN 1~ --, xn, ..., xl and the
time seg.~.~ n~ detc~ -g count index m set to zero (step 410) plep~al~ly to the
histogram form~tion, As afc,l~ nl;oned with respect to FIG. 10, the analysis
time segm~nt is preset, e.g., 40 milliseconds, but may be shortened to correspond
to a pre~et~ .,..in~ count of inverse time intervals, e.g., M = 20 so that a finer
time resolution may be obtained. Consequently, the count index m is used to
det~,...~il-e the duration of the time segment so that the analysis time segment for
higher frequency spectral portions is shortened. The par~al interval histogram
count signals PIHij(k) for all frequency bins k = 1, 2, are reset to zero (step 415)
and a t~ Olal~y sample storage location S1 is set to value of digital code xN
(step 420) ple~t~ tû the level detection operations in the loop from step 425
of FIG. 4 to step 1378 of FIG. 13.
Detection of a positive upgoing crossing of sound inlellsily threshold
level j is imple.~ ~ accoldillg to steps 425, 430, and 435 in which sample
index n is d~cl~-..c.~l~l in step 425. Signal S1 is made equal to the previous
sample, e.g., xn+1 and signal S2 is set to the current sample, e.g., xn in step 430.
If signal S2 cc,ll~,;,pûnding to current sample xn is greater than or equal to the
threshold level Lj and signal S1 cc,ll~onding to the imm~li~tely preceding
sample xn+l is less than threshold level Lj (step 435), the threshold has been
crossed in the upward or positive going dil~n and step 440 is entered.
Otherwise, step 425 is reent~l so that the pair of samples xn and xn 1 may be
processed.
In the event that the conditions of decisiûn step 435 have been
s~ti~fioA. for current sample xn and the preceAin~ sample xn+l, a signal
representative of the time at which the upcross of threshold level Lj has oc-;ulled
tcross = n + (Lj - S2)/(S1 - S2) (6)
1S- 13333~0
is produced by linear interpolation (step 440). Decision step 445 is then entered
to ~ e....ine if tcross is the time of the first positive going level j crossing in the
current time segm~nt This is done by cher~in~ signal tmem which represents the
time of the pl~ce~ crossing. If signal tmem is æro, there have been no prior
crossings in the current time seg.n~ -t and signal tcross produced in step 445 is the
first upcross. tmem is then set equal to tcross (step 450), and step 425 is
ee~ .ed to detect the next upClVSS of level j. Otherwise a signal represe.nting the
time interval b~ n the previous and the current upclossillgs of level j
= tmem - tcross (7)
is genf.~.l~l in step 1355 of FIG. 13 and the inverse interval count in the kth
frequency bin of the PIHij(k) histogram in data signal store 525 is incle -.el~
The frequency bin in.;l~.. -li--~ responsive to the inverse interval
count signals ~.r~llllcd in step 1360 wh~lein the count signal is placed in the bin
k c~ ,;.~nding to the inverse of the time interval signal (1/~) modulo ~. ~ is
equal to the range of frequencies in one bin. Each frequency bin indexed by k
collesl,onds to a pl~let~ ;ned frequency range k~ to (k+l)~ where ~ is, for
example, 32 Hz. The k = 1 bin may, for eY~n-ple, coll~ond to the frequency
range bel~n 32 Hz and 64 Hz while the highest frequency bin K = 100
colle,~nds to the frequency range bel~l 3200 Hz and 3232 Hz. Step 1365 is
then entered.
In step 1365, the most recent tmem signal is made equal to the most
recent tcross signal oblah~ed in step 440. The time segment de tel.llit hlg count
index m for level j and f;lter i is then increment~l (step 1370) and the
incl~ d time se,gtr~nt ~lele-...inil-g count index m is com~ ,d to a prescribed
... -x;... M, e.g., 20 (step 1375). As arol~ ioned, the histogram analysis
time se~...- n~ TS ends after the time period of N samples or may be le~
earlier when the .. ~ .... inverse interval count M is reached. If m is less than
M in step 1375, the sample index n is tested against zero in step 1378. As long
as m is less than M and n is greater than zero, step 425 of FIG. 4 is reentered to
generate the next inverse interval signal for level j. Otherwise, all input samples
of the time scglll~nt have been processed and the partial interval histogram signals
PIHij(k) for frequency bins k = 1, 2, ..., K of level j of spectral portion i are
stored (step 1380). Control is then passed to step 225 of FIG. 2 in which
- 16- 13333~0
threshold level index j is CCll~ d to the last index J. As long as index j is less
than J, step 218 is lecllt~ç~d to process the next level to form the partial interval
histogram signals PIHij(k) for the set of frequency bins k = 1, 2, ..., K of the next
level j.
Upon formation of partial interval histogram signal set PIHiJ(k) for
the last level J, the partial interval histogram signals for the levels j = 1, 2, ..., J
are combined by ~ .ing the level partial histogram signals to form the ith filter
partial histogram signal set
IHi(k) = ~, PIHij(k) for k = 1,2,...,K (8)
j=l
as per step 330 of FIG. 3. The partial interval histogram signal set PIHi(k) forspectr~l portion si is then stored in data signal store 525 of FIG. 5. All of the
partial interval histogram processors 110-1 through llO-I of FIG. 1 operate
collcull~nlly as desçrihed with respect to processol l lO-i. It is readily seen from
FIGS. 2 and 3 that the steps described with respect to plocessol l lO-i for spectral
portion si are the same for all partial interval histogram processors. The partial
interval histogram proces~ing steps for such other spectral portions is int~ fltçd in
FIG. 3 by the arTows entering step 335.
F.n~mh'~ his~ ll processor 115 of FIG. 1 shown in greater detail
in FIG. 6 is O~~ iVe to cc,lllbhle the signal sets PIHl(k), PIH2(k), ..., PIHi(k), ....
PIHI(k) for frequency bins k = 1, 2, ..., K obtained from the spectral portion
partial interval histogram processors 110-1 through llO-I to form an çnsemble
interval histogram signal set EIH(k) by combining the filter interval histogram
signals according to
EIH(k) = ~ PIHi(k) for k = 1,2,.. ,K (9)
i=l
as in~ ted in step 335 of FIG. 3. Each EIH(k) signal for the present time
Sc~ Gllt TS co~ onds to the neural response for the frequency range of bin k so
that the set of EIH(k) signals represents a spectral distribution of the neural
response to the input sound. The processor of FIG. 6 u~mpri~es input
int~rf~e 601, signal processor 605, output il~te. ~ce 610, ~n.cemhl~ histogram
formation instruction store 620, data signal store 625 and bus 630. The ensemble
i
- 17- 1333300
histogram f~rmAtioll hlsllu~lion store is a read only m~ co~-lAil-il-g a set of
instruction codes adapted to implement the opf ~I;on~ of step 335 of FIG. 3. ThehlsL"~clions stored in store 620 are set forth in Fortran lAngllage form in
Appendix D hereto. Input inte,rfnc,e 601 receives the partial interval histogramsignal sets PIHl(k), PIH2(k), ..., PIHi(k), ..., PlHI(k) from plvcessol~ 110-1
through llO-I and l.~lsr~"~ them via signal pr~cessor 605 and bus 630 to data
signal store 625. When all of the partial interval histogram signal sets for thepresent time segment are stored in the data signal store, signal processor 605 is
operative to sum the co.l~ondillg frequency bin counts partial interval histogram
signal sets in acc~lddllce with equation 9 to form the en~çmble interval histogram
signal set EIH(k) of step 335 of FIG. 3.
The ensemble histogram signal set EIH(k) l~lese,nls the frequency
~i~triblltirJn of inverse interval counts over the ~i~LlUIll covered by spectralportions ob~incd from spectral filter pTocessor 105 of FIG. 1. Consequently, theEIH(k) signal set c-ullcia~l ds to a spectrum directly related to the nerve firing
pattern in the auditory nerve and the reslllting spectral distribution is
lG~ tAI;ve of the lei,l,onse of the aural sensing mechanism rather than a
frequency distribution of the Amplitlldes of a sound pattern segm~,nt obtained by
direct Fourier analysis.
Advantageously, the use of mllltiple sound ~llensily threshold levels
in the inverse interval counts and the combining of the partial interval histogram
signals provides a direct lllea~ul~ of the intensity of the individual frequencycolll~llellls of the time segment neural response spectral distribution and results
in a high degree of noise i~ -;ly over conventional Fourier analysis
Arr~ng~ .,nl~, The noise i.. ~ y is illu~ led in the waveforms of FIG. 8.
I2~,fe,tTing to FIG. 8, ~.a~,fOllll 801 is the Fourier power spectrum for the speech
pattern /e/ in a noise-free en~h~nll~.,nt and w~verollll 821 is the F.nse,mhle Interv~
Histogram for the same sound obtained using the circuit of FIG. 1. Since
wavGr~ 821 l~pl~,sellls a neural response spectral distribution rather than a
Fourier type analysis, it is completely dirr~,ç~n~ that waveform 801.
Waveform 805 r~,l)r- senl~ the Fourier power spectrum for the sound /e/ obtained in
a noisy en~ilun~ nt while waveform 825 is the F.n~,mble Interval Histogram for
the same sound in the same noisy en~i.ul~lllf nt While there are marked
dirr~rcnces bel~ll the power spectrums of waveforms 801 and 805 attributable
to noise, there are only minor dirr~,lences between F.n~çmhle Interval
- 18- 1333300
wav~Çolllls 821 and 825. Further in this regard, the LPC fit waveforms 807 and
810 for the noise-free and noisy power spectra of waveforms 801 and 805 show
~i~ific~nt rli~p;~ jties but the LPC fit for the Fnsemhle Interval Histogram
waveforms 821 and 825 intlif ~te very minor lirr~,nces. The LPC fit
an~ng. ~ and waveforms are tli~cll~sed on page 431 of the volume Dtgital
Processing of Speech Signals, by L. R. Rabiner and Schafer, Prentice Hall 1978.
The en~çmble interval histogram a~angement according to the
invention may be utilized in many sound pr~cessing applications. One çY~mple of
its use, i.e., forming autocorrelation signals for speech recognition alT~n~e,~
is illus~ cd in the circuit of FIG. 1. The ensemble inteIval histogram signal set
EIH(k) for the current time segment is transferred to inverse ~ l and
~uloco.~ilation signal processor 120 wherein an inverse Fourier transform of the 2
to the power of the EIH(k) signal set is gene.aled as per step 340 of FIG. 3 andautoccrrelation signals are produced in acco~ance with
ac (j) = FFT-1 (2EIH(k)) k = 1, 2, ...,; j = 1, 2, ... . (10)
The ~Fl-l proces~in~ atr~nge~ described in chapter 8.2 of Programsfor
Digital Signal Processors published by the IEEE Press, 1974, may be used to
convert the spectral distribution signals from EIH processor 115 to an equivalent
~utoc~rrelation domain signal in processor 120. The aulocc,ll~lation signals
obtained from processor 120 are applied to utili7~tiol~ device 125 which may
comprise an aulo"lalic speech recognizer well known in the art utili7ing such
~utocc.rrelation signals. Each time segment in FIG. 1 is set to a time frame of the
speech reco~;ni~el and the auloc~ ,lation obtained from processor 120 correspondto the spectral ~ tribution signals of the auditory model neural response for the
time frame with a~lvl.l;ate int~nsity wei~htin~ Appendix E hereto sets forth in
Fortran l~n~l~ge form the instructions for operation of processor 120.
The invention has been illustrated and described with reference to a
particular ell~ nl thereof. It is to be und~l~od, however, that various
changes and modific~tion~ may be made by those skilled in the art without
de~ ing from the spirit and scope of the invention.
19- 13333~J
APPENDIX A - General E~.
p~gram main
character~50 spfil
integer isout(85,36216)
integer peih(85,50,100),eih(50,100)
~' ac(10,50)
call filters(sp&l -) ;,&1 e .. pU~-~ rr spfil-201
isout
peih=0
call peih(- ~,pf h)
eih=l
call eih(peih,eih)
call eihtoac(eih,ac)
end
-20- 13~3~00
D~ lllvllDllllllllllllllllllllllllllllllllllllollollnnnnnnnnnnnnnnnnnnnnn
APPENDIX B - Spectral Portion Filterin~
_~- - filt~spfilisout)
,h~,.~ 50 s~
real h(l61)
real hcoc(85,1024)
complex bc(512),sc(2049)
real b(l024),s(4098),st(17,1024),res(2048)
" ' 2 is(2048)
integer isin(l7,2048),isout(85,36216)
~, h, 1~ ~ (b,bc),(s,sc)
h=0.
call openas(5,'/usrtjgw/ ~ ',0) ;load ur ,' ~ filter
read(5,71) nfilt
71 fnat(l5~c,i4)
read(5,72) (h(j),j=l,(nfilt+l)/2)
72 forma~(7fll.7)
close (5)
do 87 icoc=1,85 ;load cochlear filters
write(fiber,81) icoc
81 fonnat('~ ~/h.'z2.2)
call rdsi(5,fiber)
b=0.
pl=l.
call rsect(5,b,2048,plieof
close (5)
hcoc(icoc,l:l024)=b(1:1024)
87 continue
c READ INPUT SPEEC~I FROM BUFF~R spfil AND UPSAMPLE
c FROM 6667 TO 40,000 SAMPLES PER SECONDS (1:6)
c TO BUFPER outfil
c.
iscal=0
idec=l
inter=6
nfilt=161
write(~,*)' ~ .~,.i,;~. inprogress...'
call src(spfil,t u~fil,h ~hj~lecjrlteriscal)
write(*,*)' sampling rate CO.~
c READ 17 BLOCKS (2048 SAMPLES EACH) OF UPSAMPLED
-21- 1333300
c INPUT SPEECH PROM BUFFER outfil TO ARRAY isin
call rdsi(5,outfil)
isin=0
do 86 nblk=1,17
pl=2048~(nbllc-1)+1
call rsect(S,is,2048,plieof~
isin( 'k,l :2o48)=is(l:2o48)
86 continue
close(5)
c COMPUTE ~ 1 OF ARRAY isin INl~ ARRAY st ; ~ 201
c.
do 86 nbllc=1,17
s(l :2048)=float(isin(nbllc,l :2û48))
s(2C49:4098)=0.
call f~st(s,4096)
iX ~1 1024)=s(l:1024)
86 continue
c FILTER THE INPUT BY COCHLEAR FILTER icoc, INTO ARRAY isout ; ~ 201
c
isout=0
do 83 icoc-1,85
b(l:l024)=hcoc(icoc,1:1024)
res=0.
do 87 nbl~l,l7
s(l:l024~s~(r~ 1:1024)
sc(1:512)=sc(1:512)~bc(1:512)
sc(513:2049)=0.
call fsst(s,4096)
do 85 i=1,2048
k=2û48~(nblk-l)+i+1400
85 isout(icoc,~)=s(i)+res(i)
res(l:2û48)=s(2049.4096)
87 continue
83 continue
return
end
-22- 13333~0
IlllllllllllllllllllaollllllllllllllllDllllllllllllllilllllllllllllllllllllllllllDlllllllllllllllllllllllllllllllllllllllllllllllllllln
_ - ihmlc(mithjdisih)
integer ih(lOO)iy(1600),idis(1600)
epsy=l.e-S
nstop=1599
iy=idis ;idis contains N=1600 samples
call zcmlp(iyi~.n r) ;detect upgoing level ~IUv .. ~p
do 12 i=l,nstop
if(iy(i).eq.0) go to 12
to=float(i)
q( ~idis(i+l~idis(i))
if(abs(denum).lt epsy) go to 12
if(idis(i).ne.ith) to=to+float(ith-idis(i))/denum ;lst crossing
iy(i)=O
go to 13 ; - 350
12 continue
13 nctr=0
do 14 i=l,nstop
if(iy(i).eq.0) go to 14
- - - +1 ; 370
toml=float(i)
denum=lloat(idis(i+ l~idis(i))
if(abs(denum).lt epsy) go to 14
if(i~ h) toml=toml ~ 9~ ~Sith-idis(i))/denum ;ith crossing
dt=toml-t ; ~ 355
to=toml ; ~ 365
iy(i,~=O
if(abs(dt).lt epsy) go to 14
freq=40000./dt
' 1;~/32. ; c~ ' g bin number ...... .~ 360
ih(ibin)=ih(ibin)+l ; in~ the right bin ... ~ 360
if(nctr.eq.20) go to 99 ; ~ 375
14 continue
99 return
end
13~3300
- 23 -
nllllllllalllllllla
zcmlp(i~ hrst~)
integer ix(*)
c DETECr I~PGOING LEVEL CROSSINGS ..................... ~ 325, 330, 335
c.
do 1 i=l,nstop
ipl=i+l
if((ix(i).le.ith).and.(ix(ipl).gt.ith then i (i) 1
else
ix(i)=O
end if
1 continue
retum
end
-24- 1333~00
o rmalcim(rl~Dh,Y,
real Y(~)
c
c COMPUTES TE~ MAX VALUE OF X AND ITS POSIlION
c
~cma~=x(nl)
imax=nl
nlplqll+l
do 1 i=nlpl,nh
if(Y(i) le ) go to 1
,Y,ma~C=Y.(i)
ima~c=i
1 continue
return
end
nlllllllllllla
133330C
- 25 -
APPENDIX C - Partial Interval ~ --.,,
sul,.._ ~ peih(- _~.,p ' )
intega ith(7),isout(85,36216)isig(1600)
integer ihfib(lOO)jhsum(100)
integer peih(85,50,100)
do 85 i=1,7 ;load crossing levels ~ 200
ith(i)=4**i
85 con~nue
do 89 icoc=1,85
do 88 its=1,50 ; ~ 250
do 23 i=1,1600 ; ~ 205
ir=1601-i
k=200*(its-l)+i
23 isig(
ihfib=0
ihsum=0
isig)
do 20 j=1,7 ; , _ ~ peih ~ 218, 250
jth=i~(j)
if(max.lt jth) go to 20
call ihmlc(jj~,isigjhfib) ; ~ 220
' ~ 99)=ihsum(2:99)+ihfib(2:99) ; ~ 230
ihfib=0
20 continue
24 peih(i~ c ~ 99)=peih(i~oc jtc~ 99)+ihsum(2:99) ; ~ 230
88 continue
89 continue
return
end
-26- 1333300
allllollu
APPENDIX D - r~ Intenral n;-~",.,
~ v~ .e eih(peih,eih)
integer peih(85,50,100),eih(50,100)
do 82 icoc=1,85 ;compute eih
eih(l:S0,1:100)=eih(l:SO,l:lOO~peih(icoc,l:S0,1:100) ; ~ 235
82 continue
return
end
-27- 13~33~3
ooooooollooooooooooooooollllllllllllllllollooolloo
APPENDIX E ~ . ' Si~nal ~r~;-.
s l _ - eihtoac(eih,ac)
integer eih(50,100)
' - ac(lO,50),acscr(100)
8 xs(256)
do 55 its=1,50 ;~ ~ p~ autocorr. coeff. for the .~o~,. ;,.
acscr(l:100)=float(eih(its,l:100))
call rmaxim(l,lOO,~ scr, ,~max)
scl=5./hmax
acscr(l:lOO~(acscr(l:100)-l.)*scl
do 57 i=1,256
57 xs(i)=cmplx(l.,0.)
xs(l)=2.**(acscr(1))
do 58 i=2,100
ir=258-i
xs(i)=2.**(acscr(i)) ; 2**eih .. ~ 240
58 xs(ir)=xs(i)
call ifft(xs,256) ; inverse ~ 1 on 2**eih .. ~ 240
do 59 i=l,10
59 ac(i,its)=real(xs(i)) ; 10 autocorr. coeff. .. ~ 245
55 continue
end