U.S. patent number 3,763,364 [Application Number 05/202,448] was granted by the patent office on 1973-10-02 for apparatus for storing and reading out periodic waveforms.
This patent grant is currently assigned to North American Rockwell Corporation. Invention is credited to Robert M. Ashby, Ralph Deutsch.
United States Patent |
3,763,364 |
Deutsch , et al. |
October 2, 1973 |
APPARATUS FOR STORING AND READING OUT PERIODIC WAVEFORMS
Abstract
The present invention is directed to a system for storing and
reading out periodic waveshapes. The system utilizes the even
and/or odd symmetry of a waveform in such a way that only sample
points for one-half of the waveform need be stored in a memory
device. When the waveform is read from the memory, the unstored
sample points of the second half of the waveform are recreated,
using the inherent symmetry of the stored samples of the waveform.
The capacity of the memory storage device can then be cut in half,
reducing substantially the cost of the system. If the desired
periodic waveform is not symmetrical, it is converted into an
equivalent waveform having an identical power spectrum but
different phasing which created waveform is symmetrical. When such
a created waveform is used to activate an audio device, the ear of
the listener is unable to discern the difference between the
desired waveform and the created one. This invention, therefore,
has particular utility in electronic musical instruments.
Inventors: |
Deutsch; Ralph (Sherman Oaks,
CA), Ashby; Robert M. (Pasadena, CA) |
Assignee: |
North American Rockwell
Corporation (El Segundo, CA)
|
Family
ID: |
22749908 |
Appl.
No.: |
05/202,448 |
Filed: |
November 26, 1971 |
Current U.S.
Class: |
708/272; 708/273;
84/604; 365/45; 365/202; 377/26; 377/46 |
Current CPC
Class: |
G10H
7/12 (20130101); G06F 1/0353 (20130101) |
Current International
Class: |
G10H
7/12 (20060101); G06F 1/035 (20060101); G10H
7/08 (20060101); G06F 1/02 (20060101); G10f
001/00 (); G06f 015/34 () |
Field of
Search: |
;235/152,156,197,92EV
;340/172.5,173R,174.1H ;179/1SA,1.2MD,15.55R ;178/DIG.3
;84/1.01,1.03 |
References Cited
[Referenced By]
U.S. Patent Documents
Primary Examiner: Ruggiero; Joseph F.
Claims
We claim:
1. Apparatus for creating periodic waveshapes comprising in
combination:
means for providing representation of sampled amplitude values of
one-half cycle of a symmetrical waveform;
utilization means; and
means for addressing said providing means to feed said
representations of sampled amplitude values to said utilization
means in a first order and then for addressing said providing means
to feed said representations of sampled amplitude values to said
utilization means in a second order opposite to said first
order.
2. The apparatus according to claim 1 wherein said addressing means
addresses said providing means at selected rates to control the
frequency of said periodic waveshape.
3. The apparatus according to claim 1 and further comprising:
means interposed between the output of said providing means and the
input of said utilization means for reversing the polarity of the
provided representations of sampled amplitude values for said
second order of said addressing means.
4. Apparatus for storing and reading periodic waveshapes comprising
in combination:
a memory for storing representations of sampled amplitude values of
one-half cycle of an odd symmetrical waveform;
means for addressing said memory in a first direction to read out
said representations of stored amplitude values in a first order
and for then addressing said memory in a second direction to read
out said representations of stored amplitude values in a second
order opposite to said first order;
utilization means;
first gate means for receiving the output from said memory and for
feeding said output to said utilization means when said addressing
means is operating in said first direction and for inhibiting said
output when said addressing means is operating in said second
direction;
second gate means for receiving the output from said memory and for
passing said output when said addressing means is operating in said
second direction and for inhibiting said output when said
addressing means is operating in said first direction; and
complementary means for receiving the output of said second gate
means and for inverting said output and for feeding said inverted
signal to said utilizing means so as to complete one cycle of the
symmetrical waveform.
5. Apparatus for storing and reading periodic waveshapes comprising
in combination:
a memory for storing values corresponding to representations of
amplitude samples of one-half of a cycle of a symmetrical
waveform;
means for addressing said memory in a first direction to read out
the representations corresponding to the amplitude samples of the
first half cycle of said symmetrical waveform;
means for addressing said memory in a second direction opposite to
said first direction to read out the representations corresponding
to the amplitude samples of said first half cycle of said
symmetrical waveform; and
means for reversing the polarity of the representations read out in
the second direction so as to form the complete cycle of the
desired waveform.
6. Apparatus for storing and reading periodic waveshapes comprising
in combination:
a memory for storing representations of sampled amplitude values of
one-half cycle of a symmetrical waveform;
means for addressing said memory in a first direction to read out
said representations of stored amplitude values in a first order
and for then addressing said memory in a second direction to read
out said representations of stored amplitude values in a second
order opposite to said first order; and
utilization means for receiving the outputs from said memory
means.
7. The apparatus according to claim 6 wherein said means for
addressing is comprised of
an up-down counter, the individual output stages of which are
connected to corresponding storage positions in said memory;
and
an input control signal for commanding said up-down counter to
count at a rate determined by said control signal so as to cause
said up-down counter to address said memory in a first direction as
the counter counts up and to cause said up-down counter to address
said memory in an opposite direction as the counter counts
down.
8. The apparatus according to claim 6 wherein said means for
addressing said memory is comprised of
a counter having a count capability which is at least twice the
number of stored values in said memory wherein said counter is
connected to said memory such that the first half of said counter
addresses said memory in a first direction and the second half of
said counter addresses said memory in an opposite direction.
9. The apparatus according to claim 6 and further comprising:
means interposed between the output of said memory and the input of
said utilization means for reversing the polarity of the stored
representations of sample amplitude values for one direction of
said memory readout when the waveform stored in said memory is of
odd symmetry.
10. The apparatus according to claim 6 wherein said representations
of stored sampled amplitudes are digital words corresponding to the
amplitude increments of said waveform at the successive sample
points.
Description
BACKGROUND OF THE INVENTION
In U. S. Pat. No. 3,515,792, entitled "Digital Organ," by Ralph
Deutsch, one of the co-inventors of the present invention, there is
disclosed a digital electronic organ wherein a digital
representation of an organ pipe waveshape is stored in a memory. By
selectively addressing the memory, the stored digitized waveshape
is read out repetitiously at a desired frequency, and converted to
an analog waveshape to produce a musical note corresponding to an
organ pipe waveshape. The digital representations of the waveshape
are taken from sample points along one complete cycle of the organ
pipe waveshape. In other words, if there are n sample points making
up the entire wave period, there is required to be at least n
storage points in the memory in order to reproduce the original
waveshape with a sufficient resolution such that the ear does not
notice the difference between the played reproduced note and the
original desired note.
Analysis of the desired organ pipe waveshapes indicates that a
waveshape can be created which waveshape will have an even or odd
symmetry. The created waveshape is derived with the same power
spectral components as the original waveshape. In so creating this
new waveshape, the relative phases of the harmonic components of
the original waveshape are changed. The human ear is insensitive to
the change in phases as long as the power spectral content of the
formed wave remains the same.
SUMMARY OF THE INVENTION
The present invention includes a memory means for storing equally
spaced samples of one-half cycle of a symmetrical waveform. The
memory is addressed and read out such that the waveform is
recreated by reading the memory in one direction up to the halfway
point of the desired wave period and then reading the memory in the
opposite direction so that the second half of the wave is
completed. Prior to storage, the original waveshape corresponding
to the desired voice is analyzed spectrally and, by taking the
Fourier transformation of the spectral power content of the desired
wave, a symmetrical waveform can be created, which recreated wave
will differ only from the original wave by the phase relations of
the harmonics. Means are provided for addressing the memory first
in one direction then in an opposite direction. Readout means
connected to the output of the memory receive the addressed outputs
of the memory and change the sign of the outputs when the memory is
addressed in the opposite direction if the symmetrical wave has an
odd symmetry. If the wave is of even symmetry, the change in sign
is not required.
Accordingly, it is a principal object of the present invention to
provide a system for storing samples of one-half cycle of a desired
symmetrical waveshape and for reading out the stored samples of the
waveshape so as to create a full cycle of the waveshape.
It is a further object of the present invention to provide a means
for decreasing by half the storage requirements of a memory.
It is a further object of the present invention to provide an
improved method and apparatus for storing and reading out
waveforms.
These and other objects of the present invention will become more
apparent when taken in conjunction with the following description
and drawings wherein like characters indicate like components and
which drawings form a part of this application.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a waveform of a musical instrument;
FIG. 2 is a graph depicting the harmonic content of the waveform of
FIG. 1;
FIG. 3 is a graph illustrating a symmetrical waveform having the
identical harmonic content as the waveform of FIG. 1;
FIG. 4 illustrates in block diagram form one preferred embodiment
of the invention;
FIG. 5 illustrates in block diagram form a second preferred
embodiment of the invention; and
FIG. 6 is a waveform useful in showing the spacing relationship for
an odd-symmetry amplitude system in which the number of samples for
each half cycle are made equal.
DESCRIPTION OF THE PREFERRED EMBODIMENT
The present invention may be used to effectively store any periodic
type waveform of zero D.C. value which waveform is later to be used
to power an audio device. Using the method and system of the
present invention, the listener will be unable to distinguish
between the true waveshape and the recreated waveshape.
In FIG. 1 there is shown, by way of example, the original periodic
waveshape of an oboe. Using the Fourier series theory, any periodic
waveform can be analyzed as a series of harmonics of the repetition
frequency. The signal will have varying amplitude and phases, the
exact variations depending upon the shape of the waveform. For
example, the oboe signal of FIG. 1, designated X(t) can be written
in a Fourier series as follows: ##SPC1##
where the term B.sub.o is a d-c term which is defined as follows,
and for our case, ideally is zero: ##SPC2##
The period of the wave is defined as T; and B.sub.n and A.sub.n are
defined as: ##SPC3##
wherein .omega. = 2.pi./T
The cosine terms of Equation (1) define the even terms and the sine
terms define the odd terms
The spectral power components P.sub.x (n) of X(t) for the n.sup.th
harmonic are defined by the formula:
P.sub.x (n) = A.sub.n.sup.2 + B.sub.n.sup.2 Eq. (5)
Equation (5), in combination with equation (1), can then be used to
create an odd or even symmetry waveform which has the same spectral
power content as the original waveform.
The created waveform will be designated X'.sub.e (t) where the e
denotes the waveform has an even symmetry and where X'.sub.e (t) is
defined as: ##SPC4##
wherein .alpha..sub.n =.sqroot.P.sub.x (n)
FIG. 2 illustrates the spectral power content of the waveform X(t)
defined by equation (5).
FIG. 3 illustrates the equivalent created waveform X'.sub.e (t)
having the same power spectrum as depicted in FIG. 2.
The waveform X'.sub.e (t) is symmetrical around the one-half cycle
point, and to the human ear will sound identical to the waveform
X(t). The phase difference between these two waveforms cannot be
detected by the human ear. Once the particular waveform of FIG. 3
is generated, it is converted into sample amplitude signals. Each
amplitude sample can then be converted into a digital word or
analog quantity. The word or quantity is then stored in a waveshape
memory.
FIG. 4 illustrates one preferred embodiment of the invention for
implementing the above equations in digital form wherein the
waveshape memory 10 may be a read only memory of the type disclosed
by R. M. Ashby et al. in U. S. Pat. No. 3,377,513, issued Apr. 9,
1968. The memory should have a capacity for storing at least N/2
words, where the value N is the number of sample points in one
complete cycle of a waveform. The memory contains digital data in a
plurality of discrete locations identified by respective addresses.
The memory is addressed at a rate which depends upon the desired
spacing between data from the various locations as it is
sequentially read from the memory. The data constitutes amplitude
values of a complex waveform of the type produced by a musical
instrument at equally spaced points in time along an axis of the
waveform. The memory can be of the analog type or the type which
produces the desired word or quantity without actually storing the
word or quantity. It is only necessary that the representation of
the sampled amplitude be available for readout. The memory 10 is
connected to be addressed from counter 12. Counter 12 provides an
output signal sequentially on N/2 lines. When a count is provided
on line 2, for example, no other line is providing an output
signal. Each individual address of the waveshape memory is
connected to a corresponding output of the memory address counter
such that count 1 of the counter goes to address 1 of the waveshape
memory; count 2 goes to address 2; count 3 goes to address 3 etc. .
. up to the N/2 count going to waveshape memory address N/2. In
some applications, it may be desirable to install an address
decoder between the outputs of the counter 10 and the address
locations of the memory. The mechanization and connection of the
decoder is well known within the state of the art and is not shown
for simplicity. The next output corresponding to the count (N/2)+1
from the memory address counter is connected back to the N/2 line
from the counter so that the next count N/2+ 1 repeats the address
of the last count. Each of the succeeding lines (N/2)+ 1 to N is
connected back to the preceding address lines (N/2)-1 to 1,
respectively, in a symmetrical manner such that the N.sup.th line
is connected to the first counter address line etc. . . This
particular feature addresses the waveshape memory in a first
direction from locations 1 to N/2 and then back again from N/2 to 1
in an opposite direction. An input line 18 is connected to the
counter 12 and on this line there is provided a pulse train 19 of a
selected frequency. Each pulse in pulse train 19 advances the
memory address one count. Therefore, by controlling the number of
pulses per given unit of time, i.e., the pulse repetition rate, the
rate at which the memory is scanned can be varied which, in turn,
varies the frequency of the readout waveform. The waveform stored
in the memory can thus be read out at a cyclic repetition rate
determined by different notes of the musical scale simply by having
a key, such as an organ key, actuate a source of pulses of a
respectively corresponding repetition rate which are then fed to
the memory address counter 12. A flip-flop 13 receives as inputs
the 1 count signal from counter 12, on line 22, and the (N/2)+1
count on line 23 from memory address counter 12. The flip-flop 13
has one output line 20 connected to the on terminal of gate 14 and
to the off terminal of gate 15.
Flip-flop 25 receives as inputs the 1 count and the (N/2)+1 count
from the memory address counter. Flip-flop 25 has one output line
21 connected to the on terminal of gate 15 and to the off terminal
of gate 14. In operation, when a pulse is received on the 1 count
stage of memory address 12, that pulse is also fed on line 22 to
set flip-flop 13, the output of which is then fed along line 20 to
turn gate 14 on so as to pass the signals present at the outputs of
waveshape memory 10. Simultaneously, gate 15 is turned off. The
output digital word, upon passing through gate 14 is fed to an OR
gate 17. When the N/2+1 count pulse is sent to flip-flop 25,
flip-flop 25 provides an output signal on line 21 which output
signal turns gate 15 on and gate 14 off.
The output signals from gate 15 are fed to a 2's complementor 16
which effectively applies a negative polarity to the signals on its
input. The output of complementor 16 is then fed to the OR gate 17.
The output of OR gate 17 is fed to a utilization means 30. In one
preferred embodiment, the utilization means comprises a D to A
convertor and a means for creating sounds from the analog signals.
The system of FIG. 4 operates to read out one-half of the
symmetrical waveform in accordance with the stored samples in
locations 1 to N/2 and to then apply a negative polarity to the
sample signals that are read out from locations N/2 to 1, such that
the output of the system is the total wave comprised of its two
symmetrical halves. The frequency of the read out wave can be
varied simply by varying the pulse repetition rate of the pulse
train 19.
If the waveshape stored in memory 10 is of even symmetry, then
flip-flops 13 and 25, gates 14 and 15 and complementor 16, along
with OR gate 17 are omitted from the system. For an even
symmetrical waveform, it is not necessary to reverse the polarity
of the second half cycle of the wave. It is only necessary that the
memory be read in the first direction and then in a second
direction opposite to the first one.
Referring now to FIG. 5 wherein there is shown a second embodiment
of the invention utilizing an up-down counter 35 of the type which
counts from 1 sequentially through to a value N/2 and then counts
down again sequentially to the value 1 without repeating the 1 or
N/2 count. The rate at which the counter counts is determined by an
input command signal 19. The input command signal 19, which is a
train of pulses, is fed into the up-down counter on line 18. Each
count stage of the counter is connected to a corresponding address
location within the waveshape memory 10, so that when, for example,
an output appears on the line designated 1 at the counter output
and the waveshape memory input, the digital word stored in the
memory at that particular location is made available at the output
of the memory. This digital word is then fed to gates 14 and 15.
Gate 14 is turned on by the presence of a count on stage 1 of
counter 35 and gate 15 is turned off by the same count. Gate 15 is
turned on by the count on stage N/2 of counter 35 and gate 14 is
turned off by the same count. When gate 14 is on, the output word
from memory 10 is fed directly to the OR gate 17 and from there to
the utilization means 30. When gate 15 is on, the output word from
memory 10 is fed to the complementor 16 which inverts the polarity
of the word before feeding it to the utilization means 30.
FIG. 6 illustrates one possible waveform 40 having an odd-symmetry.
If the memory address counters 12 and 35 used in the implementation
of this invention are of the type that do not repeat the count in
the first and last atages before starting the up or down count,
respectively, then the sampling displayed by the integer numbers
can be used. At each sample point, the amplitude of the waveform,
as shown in dotted lines, is converted into a digital word and
stored in the memory. The reason for this can be clearly shown
around the zero transition point of the wave at the twelfth
sampling point; for example, the memory is addressed for the
amplitude sample 11, next sample 12. If the counter were of the
type that started down counting by repeating the last stage count,
then the next address would again read out sample 12. Two sample
12's would create an error in the output waveform, therefore, the
next sample must be equal to the sample 11 but reversed in
sign.
If we take the condition where the counters used to address repeat
the count for the first and last stages, respectively, then the
fractional sample points (solid lines) are used. The solid line
samples are symmetrical about the point of symmetry (in this case,
point 12). Repeating of the first and last count, therefore, does
not create any errors in the output waveform.
The important property of using odd symmetry with sign reversal is
that the average value of the waveshape is automatically maintained
accurately at a zero value. This property of maintaining a zero
average value is absolutely essential in a musical instrument
system in which the amplitude increments are stored rather than the
amplitudes themselves. A simple example will illustrate the
problem. Suppose the waveshape amplitudes for one period are the
values C.sub.1, . . .,C.sub. n. For illustrative convenience let us
assume that either C.sub.1 = 0 or the amplitudes have been scaled
so that this condition has been met. The corresponding amplitude
increments are
.alpha..sub.1 = C.sub.2 - C.sub.1 = C.sub.2
.alpha..sub.2 = c.sub.3 - c.sub.2
.alpha..sub.j = C.sub.j.sub.+1 - C.sub.j ; j .noteq. n
.alpha..sub.n = C.sub.1 - C.sub.n = -C.sub.n
By adding each increment as it is read to the sum of the preceding
increments, one obtains the wave shape amplitude for that point.
Note that
.alpha..sub.1 = C.sub.2
.alpha..sub.1 + .alpha..sub.2 = C.sub.2 + C.sub.3 - C.sub.2 =
C.sub.3
.alpha..sub.1 + .alpha..sub.2 +.alpha..sub.3 = c.sub.4 ##SPC5##
the sensitive observation is that in an amplitude increment system
the sum of the increments must be zero. Suppose because of some
error (accidental, computer roundoff, etc) that the sum of the
increments does not vanish but instead is equal to some nonzero
value .beta.. Each time the wave shape is reconstructed from the
increments a new multiple of .beta. will be added to the average
value. This accumulation of the average value is disastrous in a
digital organ system because it will gradually shift the waveshape
variations beyond the dynamic range of the digital-to-analog
converter.
If odd wave shape symmetry is used to store one-half of the wave
shape, the problem of an accumulating average value is eliminated.
Each incremental amplitude is read twice per period each time with
opposite signs. Any errors are thus automatically inhibited from
disturbing the desired zero average value.
While there has been shown what is considered to be the preferred
embodiment of the invention, it will be manifest that many changes
and modifictions may be made therein without departing from the
essential spirit of the invention. It is intended, therefore, in
the annexed claims, to cover all such changes and modifications as
fall within the true scope of the invention.
* * * * *