DE2513127A1 - Verfahren zum kuenstlichen erzeugen eines musikalischen klangs - Google Patents
Verfahren zum kuenstlichen erzeugen eines musikalischen klangsInfo
- Publication number
- DE2513127A1 DE2513127A1 DE19752513127 DE2513127A DE2513127A1 DE 2513127 A1 DE2513127 A1 DE 2513127A1 DE 19752513127 DE19752513127 DE 19752513127 DE 2513127 A DE2513127 A DE 2513127A DE 2513127 A1 DE2513127 A1 DE 2513127A1
- Authority
- DE
- Germany
- Prior art keywords
- frequency
- modulation
- instruction
- memory
- envelope
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H7/00—Instruments in which the tones are synthesised from a data store, e.g. computer organs
- G10H7/002—Instruments in which the tones are synthesised from a data store, e.g. computer organs using a common processing for different operations or calculations, and a set of microinstructions (programme) to control the sequence thereof
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/02—Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10H—ELECTROPHONIC MUSICAL INSTRUMENTS; INSTRUMENTS IN WHICH THE TONES ARE GENERATED BY ELECTROMECHANICAL MEANS OR ELECTRONIC GENERATORS, OR IN WHICH THE TONES ARE SYNTHESISED FROM A DATA STORE
- G10H1/00—Details of electrophonic musical instruments
- G10H1/02—Means for controlling the tone frequencies, e.g. attack or decay; Means for producing special musical effects, e.g. vibratos or glissandos
- G10H1/06—Circuits for establishing the harmonic content of tones, or other arrangements for changing the tone colour
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- General Engineering & Computer Science (AREA)
- Electrophonic Musical Instruments (AREA)
Description
Prt-ntmvalt
!_, ,_„ r- ' ^P^AFN 2;ϊ 3,75
'ζ :::.:.:■ ν.τ.α 36
Ncüc-v;^; ion
T. 75 035 Fl.
The Board of Trustees of Leland Stanford
Junior University,
Stanford University, Stanford, Kalif. USA
Verfahren zum künstlichen Erzeugen eines
musikalischen Klangs
musikalischen Klangs
Für diese Anmeldung wird die Priorität aus der entsprechenden U.S. Anmeldung Ser. No. 454 790 vom 26. März 1974 in
Anspruch genommen.
Die Erfindung betrifft ein Verfahren zum künstlichen Erzeugen eines musikalischen Klangs aus einer Vielzahl von
Komponentenfrequenzen unter Verwendung von Frequenzmodulation zur Erzielung der zeitlichen Entwicklung der spektralen
Komponenten eines musikalischen Klangs.
Zum künstlichen Erzeugen musikalischer Klänge, der sogenannten elektronischen Musik, sind bereits mehrere Ausführ
ungsformen von FrequenzSynthesegeneratoren, sogenannten
Synthesizern oder Synthesatoren bekannt. Die künstliche Erzeugung oder Synthese natürlich wirkender Klänge
ist bis jetzt jedoch noch nicht ganz gelungen. Bei einem typischen, analog arbeitenden FrequenzSynthesegenerator
wird ein spannungsgeregelter Oszillator durch eine Wellenform gewünschter Formgebung und Frequenz angetrieben, wonach das Signal gefiltert wird und ein Dämpfungsglied durchläuft, wobei es eine bestimmte Hüllkurve erhält, damit ein gewünschter musikalischer oder sonstiger Klang simuliert
wird ein spannungsgeregelter Oszillator durch eine Wellenform gewünschter Formgebung und Frequenz angetrieben, wonach das Signal gefiltert wird und ein Dämpfungsglied durchläuft, wobei es eine bestimmte Hüllkurve erhält, damit ein gewünschter musikalischer oder sonstiger Klang simuliert
509841/0290
wird. Bei einem derartigen analogen Synthesator von subtraktiver Ausführung erfolgt natürlich keine zeitliche
Entwicklung der verschiedenen Spektralkomponenten oder Teilfrequenzen des am Ausgang erscheinenden Klanges.
Für nach Digitaltechniken arbeitende Synthesatoren wurde gefunden, daß zur Erzeugung eines natürlichen Klangs einzelne
Teilfrequenzen erzeugt und miteinander kombiniert werden müssen. Eine bekannte Ausführungsform einer elektronischen
Orgel arbeitet nach diesem Prinzip, wonach die verschiedenen Teilfrequenzen miteinander addiert werden
und dann eine gemeinsame Hüllkurvenfunktion erhalten wird. Die Kombinationen der Frequenzen beruhen dabei
natürlich auf den Prinzipien der Fourieranalyse.
Eine weitere digitale Synthesetechnik wurde von Jean-Claude Risset und Max V. Mathews in einem Aufsatz mit dem Titel
"Analysis of Musical Instrument Tones " ("Analyse musikalischer Instrumententöne"), in Physics Today, Bd. 22, Nr. 2,
Seiten 23 - 30, 1969, vorgeschlagen. In dieser Arbeit wurde nachgewiesen, daß der Charakter der zeitlichen Entwicklung
der spektralen Komponenten eines Klangs für die Bestimmung der Klangfarbe ausschlaggebend ist. Mit anderen
Worten, Risset schlägt vor, daß zum Simulieren eines natürlichen Klangs die Amplitude jeder Harmonischen individuell
als Funktion der Zwic gesteuert werden sollte. Risset schlägt weiterhin vor, wenigstens zum Erzeugen von Trompetentönen,
daß die Einschwinghüllkurve, d.h. der Anfangshüllkurvenverlauf für den Trompetenklang einen bestimmten,
kennzeichnenden Verlauf aufweist, indem während des Anschwellens und während des Abklingens des Klangs sich die
Energie der verschiedenen Frequenzkomponenten in komplizierter Weise entwickelt.
Zur praktischen Anwendung der Theorie von Risset unter Verwendung bekannter Techniken ist ein sehr komplexer
B098A1 /0290
Digitalrechner erforderlich, der jede einzelne Frequenzkomponente individuell simuliert. Aus diesen Gründen ist
zur Zeitein Realzeit-Musiksynthesator vom Digitaltyp nicht zu annehmbaren Kosten herstellbar.
Die Bandbreitenänderung mit dem Modulationsindex ist veranschaulicht
in einem Aufsatz von Murlan S. Corrington mit dem Titel "Variation of Bandwidth With Modulation Index in
Frequency Modulation" ("Veränderung der Bandbreite mit Modulationsindex in Frequenzmodulation"), in Selected Papers on
Frequency Modulation, herausgegeben von Klapper, Dover Publications, 1970. Dieser Aufsatz stellt jedoch lediglich
eine theoretische Untersuchung von Frequenzmodulation dar.
Aufgabe der Erfindung ist nunmehr die Schaffung eines verbesserten
Verfahrens zum künstlichen Erzeugen eines musikalischen Klangs, der aus einer Vielzahl von Komponentenfrequenzen
besteht, wobei sich die Amplitude jeder Frequenz individuell als Funktion der Zeit entsprechend den Klangfarbeneigenschaften
des künstlich herzustellenden musikalischen Klangs verändert.
Das zur Lösung der gestellten Aufgabe vorgeschlagene Verfahren ist erfindungsgemäß gekennzeichnet durch Ausbildung
einer zeitlich veränderlichen Amplitudenhüllkurve mit einem zeitlich veränderlichen Anschwellabschnitt, einem praktisch
gleichbleibenden oder Stetigkeitsabschnitt und einem zeitlich veränderlichen Abklingsabschnitt, Erzeugung eines zur
Vorgabe einer im Tonfrequenzbereich liegenden Trägerfrequenz dienenden Signals ω , Erzeugung von zur Vorgabe
erster und zweiter, im Tonfrequenzbereich liegender Modulationsfrequenzen dienender Signale ω und U) , wobei
m1 ra2
das Verhältnis U) / U) gleich einer irrationalen Zahl ist,
c m2
Erzeugung von zur Vorgabe zeitlich veränderlicher Modulationsindices
dienender Signale I1 (t) und In (t), wobei U)
ι λ c
Β098Λ1/0290
mit to und W frequenzmoduliert und eine frequenzmodulierte
Welle erzeugt wird, die der Formel e = A
sxn
entspricht, in welcher e die Momentanamplitude der frequenzmodulierten
Welle, A die Spitzenamplitude der Welle und Ujdpt + I1 (t) sin ω t + I2 (t) sin ω t] das Frequenzspektrum
der Welle ist, welches sich als Funktion der Modulationsindices I1Ct) und I2(t) ändert und eine Darstellung
des Klanges ist.
Der Modulationsindex I(t) wird als vorbestimmte Funktion
ausgewählt und steuert die Bandbreite der Welle und deren zeitliche Entwicklung.
Das erfindungsgemäße Verfahren wird im nachfolgenden anhand der Zeichnungen näher erläutert.
Fig. 1 ist ein zur Erläuterung des erf inching sgemäßen Verfahrens dienendes dynamisches Frequenzmodulationsspektrum
,
Fig. 2 ist eine zur Ausführung des Verfahrens dienende Schaltung in Musik V - Notierung,
Fig. 3 und 4 sind zur Erläuterung der Erfindung dienende dynamische FrequenzmodulationsSpektren
und
Fig. 5-18 sind Blockschaltbilder eines digitalen
Frequenzmodulationssynthesators.
Vermittels des erfindungsgemäßen Verfahrens wird eine
Frequenzmodulationstechnik zur Erzeugung komplexer Spektren vorgeschlagen, die eine verhältnismäßig einfache zeitliche
Spektralentwicklung aufweisen. Anders ausgedrückt, durch die erfindungsgemäß vorgeschlagene Frequenzmodulations-
5098A1 /02 90
technik lassen sich die einzelnen Frequenzen oder Teilfrequenzen
eines Gesamtklangs oder natürlichen musikalischen Klangs gezielt steuern.
Dazu werden im Tonfrequenzbereich liegende Träger- und Modulationsfrequenzen ausgelegt, wobei die Trägerfrequenz
tO mit der Modulations frequenz CO entsprechend der Gleichung
e = Asin
frequenzmoduliert wird, in welcher e die Momentanamplitude der frequenzmodulierten Welle, A die Spitzenamplitude und
I(t) der Modulationsindex ist. Der Modulationsindex wird
seinerseits als eine vorbestimmte Funktion ausgewählt und steuert die Bandbreite der Welle und deren zeitliche Entwicklung
.
Diese Vorgänge sind in Fig. 1 für das künstliche Erzeugen eines blechinstrumentenartigen Tons oder Klangs veranschaulicht.
Die dynamischen Spektren eines typischen Blechinstrumententons sind als Funktion von Frequenz, Zeit und
Amplitude über Anschwell-, Stetigkeits- und Abklingbereich dargestellt, wobei jeder Bereich einem bestimmten Betriebszustand
entspricht. Die Kurve 10 stellt die Amplitudenfunktion
dar, ist eine kennzeichnende Hüllkurvenfunktion für den Gesamtton oder musikalischen Klang und verändert
den Faktor A in Gleichung (1). Die Kurve 11 stellt die Indexfunktion dar und zeigt die Veränderung von I(t) ausgehend
von einem Anfangsnullpunkt ID1 zu dem abschließenden Stetigkeitszustandspunkt ID2. Die spektralen Entwicklungskurven in Fig. 1 beruhen auf einander gleichen Träger- und
Modulationsfrequenzen, die im Relativverhältnis 1,0 zueinander
stehen, was in Fig. 1 dadurch dargestellt ist, daß ID- gleich ist null und ID2 gleich ist fünf. Die Gesamthüllkurve
oder Amplitudenfunktion 10 verändert im wesentlichen
die Spitzenamplitude A von Gleichung (1). Somit
509841/0290
nimmt die Intensität oder Lautstärke des Tons wie durch
Kurve 10 angedeutet von einem Wert null bis zu einem Höchstwert im Stetigkeitszustand zu und fällt anschließend
nahezu linear ab.
Risset zeigte in seiner Analyse von Trompetentönen eine
fundamentale Eigenschaft dieser Klangfarbengruppe auf, indem die im Spektrum enthaltene Energiemenge über ein zunehmendes
Band angenähert proportional zur Lautstärkenzunahme verteilt ist. Das ist in Fig. 1 dargestellt, in welcher
zunächst nur der Träger und die Harmonischen niedrigerer Ordnung wie z.B. zweiter und dritter Ordnung eine
nennenswerte Amplitude aufweisen und dann während des sich anschließenden (mit SS bezeichneten) Stetigkeitszustands die
Intensität der Harmonischen höherer Ordnung zunimmt. Andere kennzeichnende Merkmale eines Blechinstrumententons sind,
daß die Frequenzen im Spektrum eine harmonische Reihe bilden, sowohl ungeradzahlige als auch geradzahlige Harmonische
manchmal vorhanden sind und, wie durch Risset angegeben, jedoch in Fig. 1 nicht im einzelnen dargestellt, die Anstiegszeit
der Amplituden- oder Hüllkurvenfunktion für einen typischen Einsatz (Anschwellen) sehr schnell ist, und es zu
einem."überschießen" des Stetigkeitszustandes kommen kann. Ein Vergleich der Kurven 10 und 11 zeigt außerdem, daß sich
der Modulationsindex direkt proportional zur Amplitude einer
modulierten Trägerwelle verändert.
Der in Fig. 1 dargestellte Blechinstrumentenklang wird vorzugsweise
vermittels eines speziell ausgebildeten Rechners oder Digitalfrequenzmodulationsynthesators erzeugt, wie
weiter unten beschrieben ist. Wenn jedoch lediglich die Wirksamkeit der erfindungsgemäß vorgeschlagenen Maßnahmen
demonstriert werden soll, kann ein typischer Minirechner verwendet werden, der mit einem in Musik V geschrieben
FORTRAN IV - Programm programmiert ist. Musik V
stellt ein bekanntes Programm dar, das in einem Buch von
509841/02 90
—. "7 —
Max V. Mathews mit dem Titel "The Technology of Computer Music" ("Die Technologie der Rechnermusik") , The MIT Press,
Boston, 1969 beschrieben ist. Die Schwierigkeit bei Verwendung des Musik V - Programms besteht darin, daß es sich
dabei nicht um ein Realzeit-On-Line-System handelt.
Bei dem Musik V - Klangsyntheseprograinm handelt es sich um ein Programm, das Schallwellenmuster einer Klangwelle erzeugt,
die dann wie berechnet in einem Speicher gespeichert werden. Nach Digital-Analog-Umsetzung und Filterung kann
der Klang dann vermittels eines Tonfrequenzsystems wieder erzeugt werden. Das Programm ist so ausgelegt, daß die
Berechnung der Proben durch Programmblöcke erfolgt, welche als Exnhextsgeneratoren, abgekürzt U.G. bezeichnet sind.
Ein typischer Einheitsgenerator besteht aus einem Oszillator mit zwei Eingängen, einem Ausgang und einer gespeicherten
Wellenformfunktion. Der erste Eingang gibt die Amplitude
am Ausgang vor, der zweite Eingang gibt die Frequenz des Ausgangs vor, und die Funktion bestimmt die Form des
Ausgangs. Der Wert eines Eingangs läßt sich entweder durch den Benutzer vorgeben oder kann aus dem Ausgang eines
weiteren Einheitsgenerators bestehen, wobei sich Mehrfachpegeloperationen
an Wellenformen ausführen lassen. Eine Vielzahl miteinander verbundener Einheitsgeneratoren wird
als Instrument bezeichnet, dem Daten über eine Gruppe von Parametern P^ bis Pg zugeführt werden.
Figur 2 zeigt ein Instrument für einen Frequenzmodulationskreis, mit dem sich dynamische Spektren entsprechend der
Erfindung erzeugen lassen. Ein Einheitsgenerator U.G. 4 erzeugt eine der Kurve 10 von Fig. 1 ähnliche Amplitudenhüllkurve,
während ein Einheitsgenerator U.G. 5 eine der Kurve 11 von Fig. 1 ähnliche Modulatxonsxndexhüllkurve erzeugt.
Die Parameter für die Instrumente haben folgende Funktionen:
B098A1/0290
P1 = Beginnzeit des Instruments
P2 = Instrumentenzahl
P3 = Dauer der "Note"
P. = Amplitude der Ausgangswelle Pj = Trägerfrequenz
P6 = Modulationsfrequenz
P7 = Initial- oder Anf angsmodulat ions index ID..
PQ = Endmodulationsindex ID0
Die Prameterwerte für Blechinstrumententone beispielsweise
nach Fig. 1 sind dann wie folgt:
P3 = 0,6
P4 = 1000 (Amplitudenmaßstabsänderung)
P5 = 440 Hz
Pc = 440 Hz (Verhältnis c/m =1/1)
= 0
"7
P8 = 5.
Ein Stanäardmusik V - Programm ist für viele Anwendungen
geeignet f jedoch wird in Abhängigkeit von dem jeweils erzeugten
musikalischen Klang die Momentanfrequenz des modulierten Trägers manchmal negativ, d.h. in anderen Worten
die Endwellenform weist einen mit der Zeit abnehmenden Phasenwinkel auf. Dieser Zustand tritt dann auf, wenn entweder
das Verhältnis des Trägers zur Modulationsfrequenz sehr klein oder der Modulationsindex sehr groß ist. Daher
muß der Einheitsgenerator U.G. 3 in Fig. 2 in der Lage sein, eine Welle zu erzeugen, die sich aus dem Sinus eines Winkels
ergibt, der zeitlich sowohl abnimmt als auch zunimmt. Die Kodeänderung zum Oszillator bei Musik V unter Berücksichtigung
eines abnehmenden Winkels ist
für 290 IF(SUM - XNFUN) 288, 287, 287
287 SUm=SUM-XNFUN
ersetzen durch 290 IF(SUM.GW.XNFUN) GO TO 287
IF(SUM.LT.0.0) GO TO 289
5098 4 1/0290
-s-
und für GO TO 293
292 J6=L1+J3-1
ersetzen durch GO TO 293
287 SuM=SUM-XNFUN
GO TO 288
289 SUM=SUM+XNFUN
289 SUM=SUM+XNFUN
GO TO 288
292 J6=L1+J3-1
292 J6=L1+J3-1
In den Fig. 3 und 4 sind jeweils ein glockenartiger Klang bzw. ein klarinettenartiger Klang dargestellt. Entsprechend
Fig. 3 wird die glockenartige Klangfarbe aus der Familie der Schlaginstrumententöne ausgehend von folgenden beiden
Voraussetzungen erzeugt:
1) Die spektralen Komponenten liegen üblicherweise nicht in der harmonischen Reihe und
2) die Entwicklung des Spektrums verläuft von einer komplexen zu einer einfachen Form.
Die Amplituden- oder Hüllkurvenfunktion des dargestellten glockenartigen Klangs klingt exponentiell ab, wobei die
Abklingzeit beispielsweise 15 Sekunden beträgt. Die Indexfunktion ist direkt proportional der Amplitudenhüllkurve.
Im Hinblick auf Musik V können zur Erzeugung eines glockenartigen Klangs folgende Parameter verwendet werden:
P^ = 15 Sekunden
P4 = 1000
P5 = 200 Hz
Pc = 280 Hz
P7 = 0
P8 = 10.
P8 = 10.
Ausschlaggebender ist jedoch, daß Träger- und Modulationsfrequenz miteinander durch eine irrationale Zahl oder ein
nicht ganzzahliges Verhältnis miteinander verknüpft sind. Wie in Fig. 3 dargestellt, werden dabei unharmonische Spektren
erzeugt, bei denen die Komponenten nicht in einfachen Zahlenverhältnissen zueinander stehen. Diese irrationalen
Zahlen sollten jedoch ausreichend klein sein, um die Dichte
50984 1 /0290
der Partialtöne zur Erzeugung beispielsweise des glockenartigen Klangs von Fig. 3 beizubehalten.
Das irrationale Verhältnis von U) / tu = 1 / V~2~ erzeugt
cm 3
beispielsweise eine nichtperiodische Wellenform und kann bei zeitlicher Steuerung der Bandbreite durch die Indexfuiiktion
Glockentöne oder andere Schlagxnstrumententöne entsprechend Fig. 3 erzeugen.
Die gleiche Technik kann ebenfalls zur Erzeugung sekundärer Merkmale quasiperiodischer Töne wie z.B. des "Kratzens" beim
Einsatz eines Violintons ausgenutzt werden. Das soll im nachfolgenden als "Knirschfunktion" (grit function) bezeichnet
werden. In diesem Falle ist jedoch diese Index- oder Knirschfunktion nur nicht-null während des Anschwellintervalls
von beispielsweise 0,025 Sekunden, und anschließend besteht das Spektrum lediglich aus rationalen Verhältnissen
von 4> / 6J . Dazu werden zwei Modulationsoszillatoren und
ein Trägeroszillator benötigt, wobei die erste Modulationsfrequenz entsprechend OJ / U) = 1/1, und die zweite Modu
lationsfrequenz entsprechend 1 / λίΤ = U) / U) mit dem Träger
o in
verknüpft ist, In diesem Falle erfolgt die Frequenzmodulation erfindungsgemäß entsprechend folgender Gleichung:
e - Asin Kfc + Vt} 8^m1* + I2(t) /
in welcher I1 (t) und U) äquivalent sind zu I(t) und Ui
Von Gleichung {Υ) , U) eine zusätzliche Modulationsfrequenz
m2
ist und U) / U) gleich ist einer irrationalen Zahl. Somit
ist und U) / U) gleich ist einer irrationalen Zahl. Somit
hat der erste Index I.(t) eine Hüllkurvenform, welche ähnlich
ist der Ämplitudenhüllkurve des in Fig. 2 dargestellten Blechxnstrumentenklangs, wobei jedoch die Knirschfunktion
zusätzlich addiert wird, die vorbestimmte Funktion des zweiten Index I0 (t) darstellt und eine Zeitdauer von
weniger als 200 Millisekunden aufweist. Somit sind für einen Violinenklang mit Knirschfunktion der Träger und die
50 9 8 Λ 1 /0290
erste Modulationsfrequenz durch eine Funktion 1/1 = 0} /U)
miteinander verknüpft. Die erste Indexfunktion ist dann umgekehrt proportional zur ansteigenden Amplitudenhüllkurve.
Wie aus Vorstehendem ersichtlich, gibt das Verhältnis von Träger- und Modulationsfrequenzen die Lage der Komponenten
im Spektrum vor. Der Modulationsindex selbst gibt die Anzahl der Komponenten vor, welche eine nennenswerte Amplitude
aufweisen. Hinsichtlich einfacher Frequenzverhältnisse N1ZN2 lassen sich folgende Verallgemeinerungen treffen:
1) Der Träger ist stets die N1 te Harmonische in der
Reihe.
2) Wenn N„ = 1 ist, enthält das Spektrum sämtliche
Harmonischen und die Grundwelle ist auf der Modulationsfrequenz, d.h. 1/1, 2/1.
3) Wenn N2 eine gerade Zahl ist, enthält das Spektrum
nur ungeradzahlige Harmonische, z.B. 1/2, 1/4, 3/2, 3/4, 5/2.
4) Wenn N2= 3 ist, fehlt jede dritte Harmonische in
der Reihe, z.B. 1/3, 2/3, 4/3, 5/3.
In Fig. 4 ist ein Klang mit klarinettenartiger Klangfarbe dargestellt, wobei die Indexfunktionskurve umgekehrt proportional
ist zur Vorderkante der Amplitudenfunktion. Außerdem ist CO /Cu =1/2. Damit werden nach der vorstehend
angegebenen Regel 3) nur ungeradzahlige Harmonische erzeugt, was bekanntlich eine Eigenschaft des Klarinettentons ist.
Die Knirschfunktion I2(t) hat eine sehr kurze Zeitdauer im
Vergleich zur Periode der Trägerfrequenz Cd .
Die spezielle Tonfülle, welche sich vermittels des erfindungsgemäß
vorgeschlagenen Verfahrens erzeugen läßt, beruht darauf, daß Verhältnisse von Träger- und Modulationsfrequenz und Indexwerte vorgegeben werden, die zur Erzeugung
von Seitenbandkomponenten führen, welche in das negative Frequenzgebiet des Spektrums fallen. Diese negativen
509841 /0290
Komponenten spiegeln sich um 0 Hz herum und "vermischen sich" mit den Komponenten im positiven Gebiet. Die sich aus
dieser Mischung ergebende Vielseitigkeit von Frequenzbeziehungen ist außerordentlich groß und umfaßt sowohl harmonische
als auch unharmonische Spektren.
Ein einfaches, jedoch sehr nützliches Beispiel reflektierter Seitenfrequenzen tritt auf, wenn das Verhältnis von
Träger- zu Modulationsfrequenz gleich eins ist. Für die Werte
U) = 100 Hz
c
c
U)m = 100 Hz
1=4
stellt die Komponente bei 0 Hz eine Konstante in der Welle dar. Die übrigen Unterseiten-Frequenzen werden mit einer
Vorzeichenänderung {Phaseninversionj in das positive Frequenzgebiet
reflektiert und addieren sich algebraisch zu den dort bereits vorhandenen Komponenten. So addiert sich
beispielsweise die zweite Unterseiten-Frequenz zum Träger mit gleichen Vorzeichen, wodurch die Energie bei 100 Hz
gesteigert wird, während die dritte UnterSeiten-Frequenz
sich zur ersten Oberseiten-Frequenz mit ungleichen Vorzeichen addiert, so daß die Energie bei 200 Hz abnimmt.
Ein Formantenspitzenwert läßt sich vermittels der erfindungsgemäß
vorgeschlagenen Frequenzmodulationstechnik entsprechend folgender Formel
e = Äsin ( Uc1t +ω t + I(t) sin U) t) (3)
erzeugen, in welcher 0) + tu zwei Trägerfrequenzen sind,
C1 C2
die in einem Verhältnis zu U) stehen. Derartige Verhältniswerte betragen typischerweise" U /Q) = 7/1 und
C2 m CO / 0) = 1/1, und das Verhältnis 7/1 bringt den Forman-
V^ A
Hl
tenspitzenwert auf die siebente Harmonische.
509841/0290
Wie aus den vorstehenden Ausführungen ersichtlich, stellt das erfindungsgemäße Verfahren eine einfache Technik zur
Klangfarbenentwicklung der verschiedenen Frequenzen oder Teilfrequenzen eines komplexen musikalischen Klangs dar.
Diese Klangfarbenentwicklung erfolgt insbesondere im Einschwingbereich des Klangs und stellt oft die "Unterschrift"
des Klangs dar. Anders ausgedrückt, hierbei handelt es sich um die vom Zuhörer empfundene Lebendigkeit des Klangs.
Im Gegensatz dazu erweckt das Spektrum mit festgelegten Proportionen der meisten künstlich erzeugten Klänge beim
Hörer das Empfinden, daß es sich um einen elektronisch erzeugten Klang handelt, der eine unlebendige Qualität aufweist.
Die erfindungsgemäß vorgeschlagene Frequenzmodulationssynthesetechnik
ist weit einfacher als additive oder subtraktive Synthesetechniken, mit denen sich ähnliche
Spektren erzeugen lassen. Es wird angenommen, daß sich vermittels der erfindungsgemäß vorgeschlagenen Frequenzmodulationstechnik
natürliche Klänge kosteneffektiver nachahmen lassen im Vergleich zum Einsatz eines sehr komplexen
Rechners, mit dem die Amplituden der einzelnen Teilfrequenzen sehr genau gesteuert werden. Obwohl die Steuerung
beim erfindungsgemäßen Verfahren scheinbar dadurch beschränkt ist, daß eine genaue Amplitudensteuerung jeder
Teilfrequenz nicht in ganzer Breite wie gewünscht erfolgen kann, erweist sich das nicht als eine Beschränkung im Hinblick
auf den subjektiven musikalischen Höreindruck.
Vermittels des erfindungsgemäß vorgeschlagenen Verfahrens
lassen sich "musikalische Klänge" erzeugen, die bisher nicht von einem Menschen gehört worden sind. Daher soll
der hier verwendete Ausdruck "musikalischer Klang" in diesem Zusammenhang nicht auf die bekannten musikalischen Klänge
beschränkt sein.
Die erfindungsgemäß vorgeschlagene Frequenzmodulationstechnik
unterscheidet sich völlig von der Addition eines
5098Λ1 /0290
typischen Vibratos oder periodischen Veränderung einer Frequenz um einen Mittelwert, welche dem musikalischen
Klang überlagert wird. Für Vibrato beträgt die Modulationsfrequenz
nur wenige Hertz, so daß es für das Ohr nicht schwierig ist, die Momentanfrequenz des Trägers zu verfolgen.
Wenn jedoch Träger- und Modulationsfrequenz entweder
gleich oder von angenähert gleicher Größenordnung sind, kann das Ohr die momentane Frequenzänderung nicht länger als
Wobbeifrequenz verfolgen, sondern empfindet ein komplexes Spektrum.
Mit dem Musik V - Programm lassen sich musikalische Klänge entsprechend den erfindungsgemäß vorgeschlagenen Frequenzmodulationstechniken
erzielen; bei Realzeit-Operation sollte jedoch ein digital arbeitender Frequenzmodulationsynthesator
verwendet werden.
In Fig. 5 ist ein mikroprogrammiertes Gerät dargestellt, das ein digitales Ausgangssignal in Leitung 22 abgibt, welches
vermittels eines Digital-Analog-Wandlers 22 in ein analoges Ausgangssignal umgesetzt wird, das seinerseits
im Lautsprecher 23 den gewünschten musikalischen Klang erzeugt. Das Gerätweist als Eingänge eine 3-bit Binärzahl,
welche das Instrument oder eine Auswahl unterschiedlicher Klangfarben oder eine Tonqualität darstellt, eine 7-bit
Binärzahl, welche die gewünschte Frequenz der musikalischen Note darstellt, und ein Tasten- oder Schlüsselbit auf, welches
die Erzeugung des musikalischen Klangs einleitet, auf. Der Synthesator erzeugt dann in seiner Ausgangsleitung 21
16-bit Binärzahlen, welche die Wellenform in Intervallen von 50 Mikrosekunden darstellen. Wenn das Gerät beispielsweise
als Klangerzeugerteil einer Orgel verwendet wird, muß lediglich die Zahl der niedergedrückten Taste als Frequenzinformation
und natürlich die tatsächliche Betätigung der Taste mitgeteilt werden. Sämtliche, in Fig. 5 dargestellte
Blöcke sind in Einzelheiten in den weiteren Zeich-
50984 1/0290
nungsfiguren dargestellt und lassen sich aus handelsüblichen Bauteilen erstellen. Jeder Block in den Fig. 6-18
trägt eine Standardzahl, deren Bedeutung aus den nachfolgenden Quellen ersichtlich ist: TTL Data Book, Number
CC-411, Texas Instruments, Inc. (Texas Instruments Components
Group, Market Communications Dept., P.O. Box 5012, M.S. 84 Dallas, Texas 75222) und INTEL Data Catalog,
October 1973 (Intel Corporation, 3065 Bowers Avenue, Santa Clara, Kalif. 95051).
In Fig. 5 sind wohl Informationsquellen als auch Senken (sinks) dargestellt. Alle Daten werden über die Datensammelleitung
24 übertragen. Die Informationsquellen bestehen aus einem Zwischenspeicher (Scratch Pad Memory) 26, einem
Hüllkurvenspeicher 27, einem Initialisierungs- oder Einleitungsspeicher 28 und einer Binärkonstante 29. Die Senken
bestehen aus einem Multiplikator 31, einer Summierschaltung 32 und der Ausgangshalteschaltung (latch) für das Register
33. Die anderen, nicht unmittelbar mit der Datensammelleitung 24 verbundenen Senken sind der Sinusspeicher 34, bei
dem es sich um einen Nur-Lese-Speicher (ROM) handelt, und außerdem ein Zwischenspeicher (Scratch Pad Memory) 26, der
ebenfalls Daten aufnehmen kann. Die Informationseingabe in den Zwischenspeicher 26 erfolgt über einen Vierwegselektor
36 und einen Frequenzspeicher 37. Der durch einen 8-bit Binärzähler 39 angetriebene Hüllenkurvenzählspeicher 38
liefert in der weiter unten beschriebenen Weise eine segmentierte Hüllenkurve.
Das tatsächliche Programm für den Digitalsynthesator wird durch einen Instruktionsspeicher 41 und die diesem zugeordnete
Halteschaltung (latch) 42 geliefert. Die Einzelheiten des Instruktionsspeichers 41 sind aus Fig. 6 ersichtlich.
Der Instruktionsspeicher 41 besteht aus vier 74186 Nur-Lese-Speichern, die jeweils 64 8-bit Wörter aufnehmen können.
Vermittels der Kombination von zwei solcher Speicher wird
509841/0290
ein 16-bit Instruktionswort erzeugt, das mit IO bis 115
bezeichnet ist. Das Speicherpaar 41a dient für das 64-Wort laufende Programm, während das Speicherpaar 41b für das
Anlaufprogramm dient. Das Anlaufprogramm wird durch ein
wahres Signal am aktiven Eingang eingeleitet oder initiiert. Nachdem dieses 64-Wort-Programm einmal durchgelaufen ist,
läuft das laufende Programm periodisch durch. Jeder Takt oder Durchlauf beträgt 50 Mikrosekunden, während der das
laufende Programm alle 64 Wörter durchläuft und dann wieder am Anfang beginnt. Diese 50 Mikrosekunden entsprechen
gleichfalls der Prüf- oder Samplezeit. Während jeder Prüfzeit wird dem Digital-Analog-Wandler 22 (Fig. 5) eine neue
Probe (sample) zugeführt. Die Speicherpaare 41a, 41b werden
durch den Programmzähler addressiert, der aus den Blöcken 43 und 44 besteht und die Ausgänge PCO bis PC5 aufweist.
Diese Signale addressieren die Instruktionsspeicher an den angegebenen Eingängen, rücken die Instruktion vor
und wickeln sich dann um 53 herum zurück zu null. Die Halteschaltungen 42 speichern bei jedem Takt den Ausgang
der Nur-Less-Speicher 41, d.h. die 16 bits des Instruktionsworts IO bis 115. Die Ausgänge der Halteschaltungen führen
folgende Funktionen aus: Die MAO, MAi, ΜΆ2, Ma3 -Ausgänge
dienen als Speicheradresse für den Zwischenspeicher 26 (Fig. 5). WSO, WS1 steuert den Vierwegselektor 36, der vorgibt,
welche Information in den Zwischenspeicher 26 eingeschrieben wird. Der Zwischenspeicher 26 läßt sich ganz
allgemein ausgehend von vier verschiedenen Quellen einschreiben, nämlich dem Multiplikator 31, der Summierschaltung 32,
dem Sinusspeicher 34 und dem Frequenzspeicher 37. Dieses Einschreiben erfolgt im Einleitungs- oder Initialisierungszeitpunkt, wie anhand Fig. 11 näher erläutert ist.
In Fig. 6 bilden die Ausgänge LSO, LS1 und LS2 eine 3-bit Binärzahl, welche sich zu einem der acht Wählstellen der
Halteschaltung dekodiert, die dazu dienen, dem System Information zuzuführen. Eine seiner Funktionen besteht darin,
509841/0290
anzugeben, welche Datensenke die in der Sammelleitung befindlichen
Daten halten soll. REO, RE1 und RE2 bilden eine 3-bit Binärzahl, welche eine Datenquelle anwählt, die auf
die Sammelleitung geschaltet wird. LOB dient dazu, die acht bits niedriger Ordnung des Zwischenspeichers auf die
Sammelleitung zu schalten. LOB wird zur Sinuswelleninterpolation verwendet, wobei der 16-bit Winkel, dessen Sinus
bestimmt und verwendet wird, in acht bits höherer Ordnung und acht bits niedriger Ordnung unterteilt wird. Da der
Sinusspeicher 34 selbst nur die acht bits hoher Ordnung aufnimmt, erfolgt die Interpolation an den acht bits niedriger
Ordnung, und das LOB-Signal wendet im wesentlichen die bits hoher Ordnung ab und bringt diese auf null, wenn es auf die
Sammelleitung gelangt. ISEL und SSEL wählen die interessierende Hüllkurvenfunktion aus. Diese werden schließlich
dem Hüllkurvenspeicher 27 von Fig. 5 zugeführt und können entweder eine Amplitudenfunktion oder eine Modulationsindexfunktion
oder die zweite Modulationsindexfunktion anwählen.
Das WE-Signal in diesem Instruktionswort von den Halteschaltungen 42 ist Einschreiben-Ansteuern (write enable) und gibt
das Einschreiben in den Zwischenspeicher 26 frei. WSO und WS1 schließlich bilden die Zwischenspeicher-Schreibdaten und
wählen einen der vier Eingänge des Zwischenspeichers an, nämlich Multiplikator, Summierschaltung, Sinustabelle und
Frequenz speicher.
Die weiteren, in Fig. 6 dargestellten Torschaltungen bestehen aus einem UND-Gatter 40, einem ODER-Gatter 46 und einem
D-Flip-Flop 47. Diese Gatter dienen dazu, den Einleitungsoder Initialisierungsvorgang nach Anlauf zu beenden. Während
des Anlaufs befindet sich das System im Zustand INIT (=Initialisierung oder Einleitung). Dieser Zustand wird
beendet durch ein Signal Init ausgef. (=Initialisierung oder Einleitung ausgeführt), welches an einem Eingang des ODER-Gatters
46 liegt, was bedeutet, daß der Programmzähler über-
509841 /0290
gelaufen und das Initialisierungs- oder Einleitungsprograinm
vervollständigt ist. Wenn in Operation beispielsweise die Amplitude der Ausgangssinusoide auf den letzten oder neuesten
Stand gebracht werden soll, wird der laufende Wert der Sinusoidamplitude im Zwischenspeicher gespeichert, d.h.
im Zwischenspeicher 26, und dann wird aus dem Hüllkurvenspeicher 27 das entsprechende Inkrement für diesen Wert
ausgelesen. So wird während eines Instruktionstakts der
Zwischenspeicher durch die Halteschaltungen der Summierschaltung 32 auf die Datensammelleitung geschaltet, wobei
die Summierschaltung in der laufenden Amplitudenposition gehalten oder verriegelt wird. Im nächsten Instruktionstakt
wird der Hüllkurvenspeicher 27 auf die Datensammelleitung geschaltet und die andere Halteschaltung der Summierschaltung
aktiviert. Einige Mikrosekunden später erscheint die
Summe am Ausgang der Summierschaltung AOO bis A015.
Figur 7 stellt die Steuerlogik für die Halteinstruktionsausgänge
von Fig. 6 dar. Im einzelnen sind die Halteanwählbits LSO, LS1, LS2 mit einem Dekoder 48 gekoppelt, der
bei Ansteuerung ein Signal in einer von acht unterschiedlichen Leitungen erzeugt. Diese Signale schließen ein die
Multiplikatorhaltesignala MPL1, MPL2 und die Summierhaltesignale
AL1 und äL2. Weiterhin kommen hinzu Sinustabellenhaltesignal ST und ein Signal EL, das als Steuersignal
dient, um den Hüllkurvenspeicher periodisch auf das nächste Segment weiterzuschalten r was für 63 Instruktionen jeweils
einmal erfolgt. Dieser Vorgang ist damit zu erklären, daß nicht genügend bits im Instrukfcionswort vorhanden sind.
Der letzte Ausgang "Lastausgangpuffer" (Load output buffer) bewirkt, daß die ausgangsseitige Halteschaltung 33 (Fig. 5)
Wörter von der Datensammelleitung speichert.
Die Kontroll- oder Prüfbits REO t RE1 und RE2 zum Dekoder 49
geben wor, welche von vier Datenquellen auf die Datensammelleitung geschaltet wird. Der Ausgang SP schaltet den
509841 /0290
Zwischenspeicher auf die Sammelleitung; IM schaltet den
Initialisierungsspeicher 28 auf die Sammelleitung. Der
Speicher enthält Daten wie z.B. den Faktor, mit welchem die Grundfrequenz multipliziert wird, um entweder die
Modulationsfrequenz oder die Trägerfrequenz zu erzeugen.
Wie aus den vorstehenden Beispielen ersichtlich, handelt es sich dabei allgemein um einen kleinen, ganzzahligen Faktor
von 1, 2, 3. Dieser Vorgang erfolgt natürlich im Initialisierungs-
oder EinleitungsZeitpunkt. Die Konstante C1 beträgt
3/4 und stellt den Unterschied zwischen einem Sinus- und Kosinuswinkel dar, so daß ein Kosinuswinkel während der
Sinustabelleninterpolation als Sinuswinkel verarbeitet werden kann. C2 wird nicht benutzt. ENV (für envelope=Hüllkurve)
schaltet den Hüllkurvenspeicher 27 auf die Sammelleitung, welche natürlich das zum laufenden Wert entweder
des Modulationsindex oder der Amplitudenhüllkurve für den nächsten Schritt zu addierende Inkrement enthält.
Der Speicher 48 wird durch einen Sammelleitungsansteuereingang angesteuert, der durch das Gatter 51 erzeugt wird,
das drei Eingänge, nämlich I Last, CLR 2 und Halte(schaltung)
aufweist. Der Dekoder 49 wird durch Signal I Last angesteuert. Sowohl I Last als auch Halte werden durch vier
gekoppelte Flip-Flops 52 erzeugt, die in Reihenfolge gezündet werden, d.h. daß in jedem Zeitpunkt jeweils nur ein
Flip-Flop wahr ist. Die Fip-Flops 52 zählen den Haupttaktgeber (MRCLK), und jedes Mal dann, wenn der Haupttaktgeber
wahr wird, wird das gespeicherte bit zum nächsten Flip-Flop vorgerückt. Das erste Flip-Flop führt in den Programmzähler
zusätzlich den Ausgang PCINC ein, wobei der Programm-Zähler seinerseits die Erzeugung von Daten von den Nur-Lese-Instruktionsspeichern
41 bewirkt. Beim nächsten Taktimpuls wird I Last erzeugt, wodurch das Instruktionswort gehalten
und die Datenquelle auf die Datensammelleitung geschaltet wird. Der nächste Taktimpuls ist Warten. Beim letzten Taktimpuls
wird Halte (latch) wahr und bewirkt, daß die jeweils
509841/0290
in der Datensammelleitung vorhandenen Daten in eine der
Datensenken eingeriegelt werden. Damit wird ein Instruktionstakt vervollständigt, wobei zu diesem Zeitpunkt das
erste Flip-Flop bewirkt/ daß der Programmzähler einen weiteren Schritt weitergerückt wird. So wird in Operation
im allgemeinen bei I Last das Instruktionswort erzeugt, wobei Steuersignale sich im ganzen System fortpflanzen, die
Daten auf die Sammelleitung geschaltet und dann von dieser abgeriegelt werden, um die jeweils gewünschte Funktion wie
z.B. Addition oder Multiplikation auszuführen.
Die letzten beiden, in Fig. 7 dargestellten Funktionen bestehen aus der Erzeugung des Haupttakts, der durch einen
Kristall-Taktgeber 53 erzeugt wird, dessen Taktgeschwindigkeit so bemessen ist, daß ein Instruktionswort in etwa
800 Nanosekunden ausgeführt wird, so daß sich eine Kapazität von 64 Instruktionswörtern in 50 Mikrosekunden ergibt.
Die ODER- und UND-Gatter liefern einen Löschimpuls, so daß bei Anlegen von Spannung an das Gerät sämtliche Register
rückgestellt werden.
Die Hauptzustände des Geräts sind vom System her betrachtet Leerlauf, INIT (Initialisierung), Lauf und Abklingen. Im
Leerlaufszustand wird keine Note gespielt und keine Taste niedergedrückt. Beim Niederdrücken einer Taste geht das
Gerät in einen INIT-Zustand (Initialisierungs- oder Einleitungszustand)
und läßt das 64-Wort Initialisierungsprogramm im Instruktionsspeicher ablaufen. Bei Beendigung dieses
Programms geht das Gerät selbsttätig in den Laufzustand und
verbleibt in diesem so lange, bis die Taste losgelassen wird. Bei Loslassen der Taste geht das Gerät in den Abklingzustand.
Die Dauer, während der das Gerät im Abklingzustand verbleibt, ist vorgegeben durch die Abklinghüllkurve im Hüllkurvenspeicher.
Sobald die Abklinghüllkurve beendet ist, geht das Gerät zurück in den Leerlaufzustand. Der Hüllkurvensteuerung
sind außerdem einige Unterzustände zugeordnet.
5 09841/0290
So ist beispielsweise der Laufzustand in zwei Unterzustände unterteilt, welche als Anschwell- und Stetigkeitszustand
bezeichnet sind. Der Abklinghauptzustand wird in der Hüllkurvensteuerung als ein Niedergangszustand bezeichnet.
Diese unterschiedliche Bezeichnungsweise dient zur Vermeidung eines Taktgeberproblems, was sich daraus ergibt, daß
das Gerät bei sehr kurzem Tastenanschlag sich noch im Anschwellunterzustand befindet, jedoch die Taste losgelassen
ist und die Hüllkurvensteuerung das System bis zur Beendigung im Anschwellzustand hält und dann in den Abklingzustand
übergeht. Auf diese Weise wird das Anschwellen eines sehr kurzen Tastenanschlags in keinem Falle unterbunden.
Die vorstehenden Erläuterungen sind anhand des Zustandsdiagramms in Fig. 8 veranschaulicht. Zustandsänderungen erfolgen
beim UND des vorhergehenden Zustands, der Zustandsänderungsbedingung
und dem Taktgeber. Um beispielsweise aus dem Leerlaufzustand herauszukommen, muß das UND (Gatter
56) von Leerlauf vorhanden, die Taste niedergedrückt worden sein und Haupttaktgeber (MRCLK), Gatter 57 in den INIT-Zustand
(Initialisierungs- oder Einleitungszustand) gehen. Zum Herausführen aus dem INIT-Zustand muß das Signal INIT
ausgef. auftreten und das Gatter 58 aktivieren, d.h. aufsteuern. INIT ausgef. (Fig. 6 ) wird wahr, wenn der Programmzähler
44 ankommt bei 63, d.h. das Initialisierungsprogramm beendet ist. Zum Herauskommen aus dem Laufzustand
muß dieser zunächst vorhanden sein und die Taste angehoben werden, d.h. "Nicht"-Taste wird wahr, und der Haupttaktgeber
schließt das Gatter 59 zwecks Übergang in den Abklingzustand. Die Rückkehr in den Leerlaufzustand erfolgt aus
dem Niedergangs-Unterzustand, sobald das Signal Hüllkurve ausgef. (=ausgeführt) erscheint, Abklingen wahr ist und
Haupttaktgeber. Wenn sich das Gerät im Abklingzustand befindet und die Hüllkurve den ganzen Weg in den Niedergangszustand
zurückgelegt hat und ausgeführt ist, was durch Hüllkurve ausgef. (=ausgeführt) angezeigt wird, erscheint
wiederum Leerlauf.
50 98Λ 1 /0290
Figur 9 zeigt die einzelnen Blöcke des Hüllkurvenspeichers 27 und des Hüllkurvenzählspexchers 38 von Fig. 5. Bei
diesen Speichern handelt es sich sämtlich um INTEL (Warenzeichen) Modell 1302 - Nur-Lese-Speicher (siehe Intel Datenkatalog)
. Der Hüllkurvenspeicher besteht aus zwei dieser Komponenten 1302, die 256 unterschiedliche 16-bit Wörter
liefern. Diese 16-bit Wörter werden bei Ausgabe aus dem Speicher mit ENV 0, ENV 1, ... ENV 15 bezeichnet. Dabei
handelt es sich um die Inkremente zur laufenden Position, d.h. der Anschwellamplitude oder dem Modulationsindex oder
dem zweiten Modulationsindex. Die Hüllkurvenwörter stellen
den Betrag dar, der bei jedem Prüftakt zu diesen Amplituden addiert wird, d.h. in einer Schleife des Instruktionsspeichers
(50 Mikrosekunden). Der Hüllkurvenzählspexcher 38 gibt die Anzahl von Prüftakten an, bei denen das vorstehende
Inkrement wahr ist. Der Ablauf stellt eine stückweise lineare Näherung dar, wobei der Zählspeicher die Anzahl von
Proben für jedes Stück des stückweisen Linearsegments vorgibt. Die Zahl ENV 0 bis ENV 15 steht in Beziehung zum
Neigungswinkel des stückweisen Linearsegments. Der Zählspeicher erzeugt eine 8-bit Zählung CNT 0 bis CNT 7.
Sämtliche vorstehend beschriebenen Vorgänge werden durch verschiedene Eingänge adressiert. Es gibt eine Instrumentenzahl,
die eine 3-bit Zahl INS 0, INS 1 und INS 2 ist, wobei
unterschiedliche Anschwell- und Abklinghüllkurven für unterschiedliche Instrumente ausgewählt werden. Mit der Segmentenzahl
SEG 0, SEG 1 läßt sich ein Anschwellen an jedem beliebigen Instrument mit bis zu vier Segmenten, und das Abklingen
mit bis zu vier Segmenten künstlich erzeugen. Außerdem durchgeschaltet wird das Signal "Anschwellen", welches
für das Anschwellen einen unterschiedlichen Satz stückweiser LinearSegmente als für das Abklingen auswählt. Das Signal
INIT wird mit Anschwellen oderverknüpft, um zu gewährleisten,
daß die Daten bereit stehen, sobald der INIT-Zustand beendet
und das Anschwellen begonnen ist. Die anderen beiden
509841 /0290
bits in der 8-bit Adresse sind SSEL und ISEL vom Instruktionswort
und wählen die gewünschte Hüllkurve an, bei welcher es sich um die Anschwellhüllkurve, die Hüllkurve
für den ersten Modulationsindex oder für den zweiten Modulationsindex
handeln kann.
Sämtliche anderen Gatter in Fig. 9 schalten die Hüllkurven auf die Sammelleitung. Dabei handelt es sich um Dreizustandspuffer
(tristate buffers), die drei Zustände, nämlich wahr, falsch und nicht angesteuert aufweisen. Die Aufschaltung
von Daten auf die Sammelleitung erfolgt mit dem ODER von zwei Signalen, ENV von den Einschreib-Ansteuer-bits des
Instruktionsworts, d.h. Dekoder 49 (Fig. 7) und CNTEN oder Zählen-Ansteuern. Zählen-Ansteuern ist wahr, wenn sich
das Gerät im Anschwellzustand und nicht im Abklingzustand befindet, d.h. Zählen-Ansteuern gibt vor, daß sich die
Amplituden verändern. Ansonsten befindet sich das Gerät im Stetigkeitszustand, wobei sich die Amplituden nicht ändern,
so daß demzufolge Nullen auf die Sammelleitung geschaltet werden. Das Aufschalten von Nullen auf die Sammelleitung
ist in Fig. dargestellt. Das Aufschalten der Hüllkurveninkremente auf die Sammelleitung ist aus Fig. 9 ersichtlich.
Figur 10 stellt die Hüllkurvensteuerung dar und enthält zwei Zählergruppen. Die erste Zählergruppe 61 besteht aus drei
Zählern, welche die Zählung vom Hüllkurvenzählspeicher aufnehmen, bei welchen es sich um eine 8-bit Zählung 0-7 handelt,
und welche die Anzahl von EL-Signalen zählen. Das EL-Signal ist ein dekodiertes Halte-Anwählsignal, wobei in
jedem Prüftakt jeweils ein derartiges Signal vorkommt, d.h. eine Instruktion aus den 63 Instruktionen schaltet das EL-Bit
ein. Die Zähler 61 zählen somit im wesentlichen Proben. Die aus dem Hüllkurvenzählspeicher herauskommende Zahl ist
der Negativwert oder der Zweier-Komplementärwert der zu zählenden Probenzahl bis das Segment vervollständigt ist.
5098 U1/0290
Die Zähler 61 werden durch CNTEN, Zählen-Ansteuern angesteuert
und zählen nur im Einschwing- oder Niedergangszustand, welche physikalisch das Anschwellen oder bzw. das
Abklingen des Signals darstellen. Beim Überlauf der Zähler 61 wird CNTOV wahr, Zählerüberlauf, und gestattet, daß der
andere Zähler 62 in Fig. 10 zählt. Der Zähler 62 zählt, welches des vier Segmente der stückweisen Linearnäherung
verarbeitet wird. So wird im Initialisierungszeitpunkt der Zähler 62 gelöscht, und sein Ausgang ist Seg 0 und Seg 1,
und dieser geht unmittelbar in die Adresse des Hüllkurvenspeichers und des Hüllkurvenzähispeichers ein» Im Betrieb
wird eine Probenzahl gezählt, und dann wird CNTOV wahr und zählt zum nächsten Segment. Eine neue Zählung wird eingeladen,
und die Anzahl von Proben in diesem Segment wird gezählt. Wenn vier Segmente durchgezählt worden sind, wird
das Signal Hüllkurve ausgef. (=ausgeführt) wahr. Dadurch wird im Anscbwellzustand ein Übergang zum Stetigkeitszustand,
und im Niedergangszustand eine Rückkehr zum Leerlaufzustand
verursacht.
Außerdem gibt es noch einige weitere andere Eingangssignale, so z.B. Last ansteuern LDENB, Dieses Signal gestattet das
Laden des Probenzählers 61 durch den Hüllkurvenzählspeicher 27 und wird erzeugt durch das ODER (Gatter 63) von Laden
und CNTOV, wenn der Zähler überläuft, CNTOV wahr geworden ist und eine neue Zählung zur Aufnahme zur Verfügung steht.
Beim Übergang in den Anschwellzustand ist die Zählung jedoch
nicht übergelaufen, so daß ein Anlaufmittel erforderlich
ist. Wenn Anlauf zum ersten Mal wahr wird, wird Last eingestellt.
Zählen-Ansteuern CNTEN wird durch das ODER von Anschwellen und Niedergang (Gatter 64) erzeugt. Dieses ist im wesentlichen
wahr während der Anschwell- und Abklingabschnitte der Wellenform, ist jedoch nicht identisch zum Abklinghauptzustand.
Insbesondere bilden vier Flip-Flops 66 ein soge-
5 098Λ1/0 290
nanntes Vierflop (four-flop). Das Anschwellen wird erzeugt durch Übergang in den Laufhauptzustand, dann wird
Anschwellen wahr und bringt ebenfalls Last wahr. Last bleibt jedoch nur für einen Takt wahr, wohingegen Anschwellen
so lange wahr bleibt, bis Hüllkurve ausgef. (=ausgeführt) erscheint, d.h. bis sämtliche vier Segmente durchgezählt
worden sind. Danach bleibt Stetigkeitszustand so lange, bis der Abklinghauptzustand folgt, d.h. bis die Taste losgelassen
wird. Anschließend geht das Gerät in den Niedergangszustand. R-Last wird erzeugt wie Last, d.h. bleibt vorübergehend
an, wohingegen Niedergang so lange anbleibt, bis Hüllkurve ausgef. (=ausgeführt) wahr wird. Wenn die Taste
nur ganz kurz angeschlagen wird, ändert sich der Hauptzustand
zu Abklingen, wobei jedoch das Gerät so lange im Anschwellzustand verbleibt, bis Hüllkurve ausgef. wahr wird. Dann
geht das Gerät für gerade einen kurzen Augenblick in den Stetigkeitszustand und schaltet dann in den Niedergangszustand
um.
Figur 11 zeigt in Einzelheiten die Blöcke des Frequenzspeichers
37 und des Initialisierungs- oder Einleitungsspeichers 28 von Fig. 5. Der Frequenzspeicher ist unmittelbar
mit dem Vierwegselektor 36 für den Zwischenspeicher gekoppelt, und der Initialisierungsspeicher 28 läßt sich auf
die Sammelleitung durchschalten. Da der Initialisierungsspeicher nur acht bits aufweist, werden nur die acht bits
höherer Ordnung auf die Sammelleitung geschaltet, während die acht bits niedriger Ordnung entsprechend der Darstellung
in Fig. 12 als Nullen durchgeschaltet werden.
Entsprechend Fig. 11 besteht der Eingang zum Frequenzspeicher
aus einer 7-bit Zahl FREQ 0 bis FREQ 6. Dabei handelt es sich um die Zahl einer Taste, welche mit A von 27,5 Hz
beginnen. Jede Zahl gibt einen halben Schritt von diesem tiefen A an, d.h. 128 Frequenzzahlen können einen Bereich
von 7 Oktaven oberhalb des tiefen A vorgeben. Diese Zahlen
5098Λ1 /0290
werden über den Frequenzspeicher in eine tatsächliche Frequenzzahl
umgesetzt. Die Frequenzzahl ist somit der zur laufenden Stelle der Sinustabelle addierte Betrag, um die
nächste Position in der Sinustabelle zu erhalten. Anders ausgedrückt, es handelt sich dabei um den Winkelzuwachs,
dessen Sinus genommen wird. Die Speicherausgänge FTO bis FT15 sind mit dem Vierwegselektor 36 (Fig. 5) gekoppelt,
der durch WSO und WS1 im Instruktionswort angewählt werden
kann, welches das Schreiben-Anwählen-Signal in den Zwischenspeicher
darstellt.
Der Initialisierungsspeicher wird durch die drei bits der Instruktion adressiert und außerdem durch einen Vier-bit
Zähler, d.h. bis zu 16 Initialisierungskonstanten können zugeführt werden. Jedes Mal dann, wenn das Programm eine
neue Initialisierungskonstante mit den IM-Signalen (welche
von REO bis RE2 dekodiert sind) abfragt, zählt das Lesen-Ansteuern-Signal, das auf die Sammelleitung geschaltet wird,
den Zähler 67 und geht somit zu einer neuen Initialisierungskonstante. Das Programm muß im wesentlichen wissen, um
welche Konstanten es sich handelt und in welcher Reihenfolge diese eingespeichert sind.
Die Art der im Initialisierungsspeicher eingespeicherten Konstanten ist wie folgt: Zwecks Erzielung der höchsten
Vielseitigkeit sind die Frequenz des Trägersinusoids und des Modulationssinusoids nicht notwendigerweise die gleiche
Frequenz wie die Grundfrequenz. Der unterschied besteht
darin, daß sie im allgemeinen kleine integrale Vielfache der Grundfrequenz darstellen. Diese integralen Vielfachen
0, 1, 2 oder 3 oder dgl. werden im Initialisierungsspeicher gespeichert, um später ausgelesen zu werden. Weiterhin
sind im Initialisierungsspeicher die Beginnamplituden gespeichert. So beginnen manche Amplitudenhüllkurven mit
einer nicht gleich null betragenden Zahl wie z.B. die Glocke, welche laut einsetzt und dann abklingt. Für die meisten
509841 /0290
Instrumente betragen diese Zahlen jedoch 0. Die Zahlen werden in einer bestimmten Reihenfolge gespeichert, d.h.
Multiplikator für die zweite Modulationsfrequenz, Multiplikator
für die erste Modulationsfrequenz und Multiplikator für die Trägerfrequenz. Ausgegeben aus dem Initialisierungsspeicher
und durchgeschaltet zur Datensammelleitung (IMO bis IM7) sind die Anfangspositionen für den Winkel,
dessen Sinus genommen wird, der in den meisten Fällen gleich 0 ist. Die nächsten drei, aus dem Initialisierungsspeicher herausgegriffenen Zahlen sind der erste Modulationsindex I1, der zweite Modulationsindex I- und die Signalamplitude A. I1, I2 und A sind Stellen im Zwischenspeicher.
Im nachfolgenden ist eine Liste der Zwischenspeicherstellen mit den symbolischen Bezeichnungen angegeben.
Zwischenspeicherstellen:
10 11 12 13
14 ti
15 t2
fr1 gibt die Frequenz des zweiten Modulationsindex, pos1 den Winkel des zweiten Modulationssinusoids, fr2 und pos2
die Frequenz der ersten Modulationswellenform und den laufenden Winkel der ersten Modulationswellenform und fr3
und pos3 die Trägerfrequenz und deren Position an. A,
5 0 S 8 U 1 / 0 2 9 0
pos1 | ; Fm2 |
fr1 | ; Fm2*8 |
fr108 | |
pos2 | ; Fm1 |
fr2 | ; Fm1*8 |
fr208 | |
pos3 | ; Fc |
fr3 | ; Index 2/8 |
I2 | ; Index 1 / 8 |
I1 | ; Amplitudenhüllkurve |
A | ; Zeit |
ti2 | |
und I„ sind die Amplitudenhüllkurve bzw. Index 1 und Index
2. Im Zwischenspeicher befinden sich drei zur vorübergehenden Speicherung dienende Zwischenergebnisspeicher, die
mit ti, t2 und ti2bezeichnet sind. Zwei andere Zahlen
fr108 und fr208 sind die Modulationsfrequenzen mal 8. Dabei
handelt es sich um eine verschobene Konstante, die deswegen benutzt wird, weil in der Praxis die Indices wegen eines
Festpunktsystems zwecks Maßstabsänderung (scaling) durch 8 geteilt sind.
Weiterhin zeigt Fig. 11 die Dreizustandspuffer, welche den
Initialisierungsspeicher auf die Sammelleitung durchschalten.
In Fig. 12 ist der Zwischenspeicher (scratch pad memory) 26 (Fig. 5) dargestellt. Dieser Zwischenspeicher besteht aus
dem eigentlichen Speicher, der sich aus vier Lese-Schreib-Speichern
aus jeweils vier 16-bit Speichern zuscimmensetzt.
Die Daten in den Zwischenspeicher stammen von dem Vierwegselektor 36, welcher durch WSO und WS1 angewählt wird, die
entsprechend Fig. 6 aus dem Instrukticnswort kommen. Damit wird eingegeben entweder der Ausgang des Multiplikators MPO
bis MPI5 ,die Suminierschaltung AOO bis AO15, die Sinustabelle
STO bis ST15 und der Frequenzspeicher FTO bis FT15, wobei
die Selektorschaltung ein Zwischensignal 011 bis 0115 erzeugt,
das direkt an die Zwischenspeicherdateneingänge angelegt wird. Der Zwischenspeicher liest stets, wird jedoch
auch angesteuert zu Schreiben durch WE, das ein bit im Instruktionswort ist, d.h. Schreiben-Ansteuern, WE, und
seine Taktgabe I Last.
Das Signal Schreiben-Ansteuern des Zwischenspeichers ist wahr, wenn WE, das Schreiben-Ansteuer-bit des Instruktionsworts wahr ist. Es wird I Last getaktet oder nicht, d.h.
der abfallende Rand der Instruktionslast. Dadurch wird das Einschreiben-Ansteuern wahr, und sobald das Haltetaktsignal
5 0 9 8 k 1 / 0 2 9 C
ercheint, wird das Schreiben-Ansteuern abgeschaltet, indem die Daten zu diesem Zeitpunkt eingeschrieben sein dürften.
Die in Fig. 13 dargestellte Schaltung führt drei unterschiedliche
Vorgänge in bezug auf die Datensammelleitung aus. Sie kann den Zwischenspeicherausgang, der MemO bis Mem15 ist,
auf die Datensammelleitung und Nullen auf diese durchschalten. Das ist natürlich wichtig für die Hüllkurvensteuerung
während des Stetigkeitszustands, wenn sich die Amplituden- und Modulationsindices nicht verändern. Außerdem können
Nullen auf die bits hoher Ordnung der Sammelleitung geschaltet werden, wenn das LOB, d.h. das Bitsignal niedriger Ordnung
im Instruktionswort wahr ist. Das erfolgt zum Zwecke der Sinustabelleninterpolation. Als drittes wird schließlich
eine Konstante 3/4 durchgeschaltet, d.h. die höheren bits bei 3/4 einer Drehung auf die Sammelleitung. Dieser
Vorgang wird durch Signal C1 gesteuert, das eines der Lesen-Ansteuern-Signale
darstellt, d.h. REO bis RE2 gehen in einen Demultiplexer, der eines der Signale C1 erzeugt. Dabei
handelt es sich um eine Konstante, die zur Erzielung eines Kosinus zum Sinuswinkel addiert wird und im wesentlichen
3/2 pi beträgt.
Auf der linken Seite der Sammelleitung befinden sich zur Operationssteuerung dienende Gatter 68. Bei einer Stetigkeitszustandsbedingung
ist beispielsweise erwünscht, 0 auf die bits 8-15 niedriger Ordnung der Sammelleitung zu
schalten, vorausgesetzt, daß der Initialisierungsspeicher, das IM-Signal ausgelesen und die Konstante C1 von der Hüllkurve
vorhanden ist. Das ODER dieser Bedingungen erzeugt ein Signal ENBGND 8-15, Ansteuern-Masse auf 8 bis 15, wodurch
wiederum die drei Zustandshalteschaltungen gesteuert werden, welche Masse auf die bits niedriger Ordnung der
Sammelleitung durchschalten. Die bits hoher Ordnung schalten die bits 0 bis 5 und bits 6-7 etwas unterschiedlich. Sämt-
509841/0290
liehe bits werden unter der Bedingung auf Masse durchgeschaltet,
daß der Stetigkeitszustand für die Hüllkurve vorhanden ist. Der einzige Grund, aus dem die bits 0-5
unterschiedlich durchgeschaltet werden gegenüber den bits 6-7 besteht darin, daß die Konstante C1 nur die ersten
sechs bits belegt, und die übrigen Nullen sind. Wenn C1 wahr ist, werden die Nullen auf bits 6-15 der Sammelleitung
durchgeschaltet, und Masse wird angesteuert, d.h. Nullen werden auf 6-7 getrennt angesteuert, und die Bedingung,
unter welcher die Nullen auf 6-7 durchgeschaltet werden, besteht darin, daß LOB wahr ist, d.h. bits niedriger
Ordnung durchgeschaltet werden. Nullen werden in die bits hoher Ordnung der Datensammelleitung vom Instruktionswort
durchgeschaltet, wenn ENV und nicht Zählen-Ansteuern, CNTEN
wahr ist, d.h. wenn eine Hüllkurvenanfrage vorhanden ist. Sie befinden sich im Stetigkeitszustand oder es ergibt sich
eine Instruktionsspeicher- oder Initialisierungsspeicheranfrage, oder wenn die Konstante auf die Sammelleitung geschaltet
wird. Nullen werden auch auf die bits 0-5 der Sammelleitung geschaltet, wenn LOB wahr ist, d.h. nur bits
niedriger Ordnung und wenn Hüllkurvensteuerung und Stetigkeitszustand wahr sind.
In Fig. 14 ist die Summierschaltung 32 dargestellt, welche
aus drei Teilen besteht, nämlich einem 16-bit Addierer und zwei Eingangs-Halteschaltungsn 71 und 72. Die Eingangs-Halteschaltungen
werden abgetastet oder halten Daten von der Sammelleitung, 16 bits auf den AL1 und AL2-Signalen.
AL1 hält 71 und AL2 hält 72. Der Ausgang dieser Halteschaltungen liegt unmittelbar an dem 16-bit Addierer
70. Der Ausgang des Addierers ist mit AO 0 bis AO 15
bezeichnet und besteht aus einer 16-bit Zahl. Der Ausgang des Addierers ist mit zwei unterschiedlichen Stellen verbunden,
nämlich der Sinustabellen-Eingangshalteschaltung und dem Zwischenspeicher-Schreibselektor. Wenn der Winkel eines
Sinusoids auf den neuesten oder letzten Stand gebracht wird,
509841/0290
wird das Winkelinkrement (d.h. der Winkelzuwachsbetrag) zu
diesem addiert, und gleichzeitig können diese Daten zur Sinustabelle übergehen. Somit kann nicht nur der auf den
letzten Stand gebrachte Winkel zurück in den Zwischenspeicher eingespeichert werden, sondern auch die Sinustabellenschleife
kann gleichzeitig zum Anlauf gebracht werden.
In den Fig. 15 und 16 ist die Steuerung des 16-bit Multiplikators
31 von Fig. 5 dargestellt. Der 16-bit Multiplikator 31 weist zwei Halteschaltungen, eine dritte Halteschaltung
für das Partialprodukt, einen 16-bit Addierer und ein 16-bit Gatter auf, welches den Multiplikanden in den
16-bit Addierer durchschaltet und ihn bei Verschiebung zum Teilprodukt addiert, und außerdem etwas Steuerlogik auf.
Die Steuerlogik besteht im wesentlichen aus der Multiplikatorhalteschaltung, die aus einem Schieberegister 73 und
einem Zähler 74 besteht, welche 15 Mal zählen und dann anhalten. Die Arbeitsweise ist wie folgt: Bei Signal MPL2
wird der Multiplikand in eine der Multiplikatorhalteschaltungen eingeriegelt, d.h. in dieser gehalten. Bei Signal
MPL1 wird der Multiplikator in ein 16-bit Schieberegister
eingeriegelt, wobei MPL1 außerdem die Multiplikatorsteuerschaltung rückstellt. Der Abfall von MPL1 schaltet MP Last
wahr, wodurch beim nächsten Abfall des Schritts MP der Zähler geladen wird. Die Ladung des Zählers mit +1 erfolgt
in 15 und nicht 16 Schritten. MP-Schritt wird durch MP GO und den Haupttaktgeber Flip-Flop 76 erzeugt. Aus Synchronisationsgründen
wird jedoch der Ausgang zurück zum Eingang durchgeschaltet. Die Arbeitsweise ist wie folgt: Das Signal
MPL1 (welches das Durchschalten der Multiplikatoreingangshalteschaltung
steuert) fällt, wodurch MP Last wahr durchgeschaltet und das Last-Ansteuern des Zählers in den
Wahr-Zustand versetzt wird. Beim nächsten Haupttakt wird dann der Zähler mit einem +1 geladen, und MP GO wird wahr
gemacht, wodurch MP Last falsch wird. Sobald MP GO wahr ist, führt jeder MP-Schritt zum periodischen Betrieb des
509841/02 90
Multiplikators. Beim Multiplikator selbst sind der Reihenausgang der 16-bit Eingangshalteschaltung 77 und des
Schieberegisters 73 mit MC-Ansteuern (Multiplikanden-Ansteuern)
bezeichnet und werden in eine Gruppe von Gattern 78 (Fig. 16) eingekoppelt, welche den Multiplikator in die
Addierer 79 durchschalten und das Partialprodukt zum Multiplikator
addieren. Bei jedem Schritt schaltet das Signal MC-Ansteuern oder Multiplikand-Ansteuern den Multiplikanden
in die Addierer oder nicht. Auf diese Weise werden alle 15 bits des Multiplikators schrittweise durchgeschaltet. Das
Partialprodukt wird durch die Halteschaltung 81 in ein 16-bit Register am Ausgang eingeriegelt. Das ist im Blockschaltbild
nicht dargestellt, befindet sich jedoch innerhalb des 16-bit Multiplikatorblocks. Ein Ausgang ist gesteuert
durch den MP-Schritt. Der Ausgang der Halteschaltung 84, die Signale PM 0 bis MP 15, ist das Partialprodukt,
welches nach dem letzten Multiplikatorschritt das Produkt wird. Die Rechtsverschiebung des Partialprodukts erfolgt
in Fig. 16 in einfacher Weise durch Ordnen der Bits bei
ihrem Rücklauf in den Addierer, indem die Bits um eins nach rechts verschoben werden. Im ersten Addierer 79 ist das
Vorzeichenbit zweimal MPO als die ersten zwei bits. Das bedeutet eine arithmetische Zweikomplementenverschiebung
nach rechts,wobei die Kopie des Vorzeichenbits in die freien Stellen kopiert wird, indem das bit niedriger Ordnung in
jedem Takt weggelassen wird, da ein Multiplizieren zu einem Resultat von 31 bits führt und lediglich 16 bits erforderlich
sind. Der Multiplikator wird durch den Überlauf des Zählers 74 angehalten, wodurch MP-Löschen erzeugt wird, welches
MP 60 abschaltet und den Multiplikator anhält. Das Produkt steht am Multiplikatorausgang (Halteschaltung 81) als Signale
MPO bis MP 15 zur Verfügung. Diese Multiplikatorausgangssignale bleiben natürlich wahr bis die nächste Multiplikation
beginnt. Die Gesamtmultiplikation benötigt 15 Taktschritte. Ein Taktschritt erstreckt sich über etwa 200
509841/0290
Nanosekunden, so daß das ganze Multiplizieren 3 Mikrosekunden oder etwa 5 Instruktionstakte benötigt. Im fünften
Instruktionstakt nach Initiieren der Multiplikation kann der Ausgang verwendet werden.
Das Gerät führt gleichzeitig andere Vorgänge aus, indem es leicht pipelineförmig ausgelegt ist, so daß der Multiplikator
geladen werden kann und während des Rechnens andere Dinge wie die Amplitude oder den Modulationsindex auf-den
neuesten-Stand-bringen ausgeführt werden kann.
Figur 17 zeigt das Ausgangsregister, welches durch das Signal
"Last-Aus-Puffer" durchgeschaltet wird, das durch die Halteauswählbits LSO bis LS1 vom Instruktionswort erzeugt
wird. Dadurch werden 16 bits von der Sammelleitung abgenommen und verriegelt. Das Programm berechnet fortlaufend,
wie die Ausgangswellenform aussehen sollte und schaltet im letzten Schritt die Wellenform auf die Datensammelleitung
und tastet "Last-Aus-Puffer" ab, wodurch das Ausgangswort zum Digital-Analog-Wandler 22 (Fig. 5) übertragen wird.
Fig. 18 ist eine Sinustabelle, die aus einem 256 - 16-bit-Wort-Nur-Lese-Speicher
besteht. Der Ausgang des Nur-Lese-Speichers ist mit STO bis ST15 bezeichnet und zurückgeführt
zum Eingangsselektor für den Zwischenspeicher. Die Adresse für die Sinustabelle kommt aus dem Addierausgang AOO bis
A07, d.h. es werden nur die acht bits hoher Ordnung berücksichtigt und auf das Signal ST gehalten, das wiederum von
den Halteauswählbits des Instruktionsworts LSO bis LS2 erzeugt wird. Wenn das Signal ST auftritt, wird der Addiererausgang
gehalten und erzeugt innere Signale SAO bis SA7, d.h. die Sinusadresse oder den Sinuswinkel. Mit diesen
Speichern kann es bis zu einer Mikrosekunde dauern, bis die Daten zur Verfügung stehen, so daß eine Mikrosekunde
oder angenähert zwei Instruktionstakte später der Sinus zur Verwendung zur Verfügung steht.
S09841/0290
Das laufende Programm für das vorstehend beschriebene Gerät ist im nachfolgenden dargestellt.
INSTRUKTIONSSPEICHERSTELLEN
Laufendes Programm ISEL, MA, WS, LS, RE, LOB, SSEL, WE
INSTRUCTION ilL'MORY locations .,
RUNNING program
0 | AO | posl ·« ALl |
1 | frl ·*■ AL2 | |
2 | MO | ■· posl, AO ·♦ ST |
3 | ST | 12 * AlI |
4 | ■» ti ·» outbuf | |
5 | ■» ti ■♦ Ml2 | |
6 | r AO | 12 * MlI' |
7 | envOß) + AL2 | |
10 | - 12 | |
11 | AO | pos2 ·♦ ALl |
12 | MO | fr2 « AL2 |
13 | ·· pus2, AO ·♦ ST | |
14 | ·♦ ti <· Ml2 ' ■ | |
15 | frlo8 ■* HLl | |
16 | ST | pos2 ·♦ ALl |
17 | - Cl ^ AL2 | |
20 | ·♦ ti, AO ·♦ ST | |
21 | MO | Il - ALl |
22 ' | ST | env(lß) - AL2 |
23 | - ti2 | |
M | AO | ■· t2 ■» ML2 |
?5 | pos2( t ob > ·· MLl | |
26 | - U | |
>7 | AO | A ·· ALl |
10 | env(ll) -♦ AL2 | |
ίΐ | ■♦ A | |
!2 | MO | ti - AL2 |
t3 | AO | nop |
»4 | -♦ ti -· AlI | |
• 5 | η ti ■» ML2 | |
6 | U - MLl | |
I se I, m, WS, LS, RC, LOB, SSEL, WE
10123456789,112345
"iP#™y3,l,a,0,0 3000Π00011Π0100Ο
>"!»1»Γγ4,1,0,0,0 0030100100001000
B,0,lr5,0,0,D,l 0000001101000001
0,10,0,3,1,0,0,0
Z,14,0,7,1,0,0,1
0,14,2,2,1,3,0,1
0,10,0,1,1,0,0,0
Z,14,0,7,1,0,0,1
0,14,2,2,1,3,0,1
0,10,0,1,1,0,0,0
3,2,0*4,5,3,0,0
1,10,I10,0,3,0,1
1,10,I10,0,3,0,1
1#3,Zr?,1,3,0,55
i,3 ',II 5,' a! 0! oji
1,14,0,2,1,0,0,1
1,2,PyI,!, ίϊ, £1,0
1,2,PyI,!, ίϊ, £1,0
1#3,P»3,1,£J,0,0
1,14^,2,5,0,0,0,1
1,11,0,3.1,0,0,0
1,11,0,3.1,0,0,0
1,13,0,0,0,0,1,1
1,15,2,2,1,0,1.1
1,3,0,1,1,1,1,0
1,11,1,0,0,0,1,1
1,11,1,0,0,0,1,1
1,12,0,3,1.0,1,0
1ι3ι3τ4,3,ί1,1,0
3.12,1,0.3,0,8,0
3.12,1,0.3,0,8,0
0,14,0,4,1,0,0,0
0,14,0,3,1,3,0,1
3,14,1,2,1,0,0,1
0,11,0,1,1,0,0,0
3,14,1,2,1,0,0,1
0,11,0,1,1,0,0,0
Π100ί503011θ01030
3110O00111r?01001
0110013010001301
• 0100000001001000
iI0E10D03l001Ü10C?0
11R0001000000001
1001100011001000
1110003210001001
1001100011001000 1000O001U0011000
1100100011B01000 100000D1001010K0
1101100000000011
1110113010001011 I0ßll0000l001110
1100101000'300011
llßlf!0301100101'0
10Z0000100101010 0101301000302000
0110^00100001000
011ΖΓΙ00311301001
0110001010001001 0100100001001000
509841/0290
Portsetzung Laufendes Programm:
37 | MO | • | nop | - ALI | * | ALl | P | 14,0 | ,2 | ,1 | 3, | 10,0 | C |
40 | nop | ■ AL2 | AL2 | 1Pi | 5,2!, | 1, | 1, | rf, σ | 0 | ||||
41 | nop | - AL2 | ML 2 | r» | 0 | ||||||||
42 | nop | ; ■♦ ALl | MLl | 3' | ß | ||||||||
43 | nip |
9 im
AO ■♦ ST |
EL | n. | f. | ||||||||
44" | ·♦ ti ■< | -» ALI | Zt | ,a | 01100030100010 | ||||||||
45 | AL2 | .. 3, | 13,0 | ,3 | ,1 | .0 | ,0,ίΐ | 00101000010010 | |||||
46 | MO | AO - ST | \ | 14,0 | ,4 | ,1 | ,a | 10,1 | 0 | ||||
47 | AO | 13,1 | ,4 | ,1 | ti. | ,3,1 | 0 | ||||||
50 | |Ob> - ML2 | •j | 6, ?r | 3, | 1» | ·- # 10 |
0» 0 | 0 | |||||
51 | AO | MLl | {'. | 13,1 | ,5 | ,3 | 10,1 | 0 | |||||
52 | > ml? | - Al2 | 0, | 13,0 | .3 | ,1 | «a, | ,0,0 | 01211000110010 | ||||
53 | fr2o8 + MLl | - ALl | a» | 3,-?» | 4, | 3. | .3 | ß, 3 | f511000iJ103!3010 | ||||
54 | st | nop | 01 | 14,2 | .5 | ,3 | 10,0 | 31011011003010 | |||||
55 | nop | 3» | ,1 | ϊ]011.ί!'ί52!01ΐΊ0ΐΊι | |||||||||
56 | nop | C? I | 13,0 | ,2 | ,1 | ,3 | ,0,0 | >' M 4 «h Χ' t/ * " <■ * iV K<
Ä W 31011011010030 |
|||||
57 | ST | nop | ?, | 15,2 | ,1 | ,1 | 3, | ,0,1 | 010110001100101 | ||||
60 | tl2 | 0, | 6,0r | 4, | 1, | tf» | 3,β | 00300031000110! | |||||
61 | -» ti η | ?» | 3, | 1, | 0, | 0,0 | 011001310100001 | ||||||
62 | AO | ·♦ tl2 | <»■ | 6,Ir | Z, | 0, | 0»1 | 0 | |||||
63 | pos3 | 01 | 010110901000111 | ||||||||||
64 | ·♦ ti 2, | 0, | .0 | 311011300120101 | |||||||||
65 | HO | tl2 | Pi | 15,0 | .3 | ll | ,3 | ι0,1 | 30113001303310! | ||||
66 | Cl - | n, | 15,0 | ,4 | .1 | ,J | 10,0 | Ρ01030301Π012! | |||||
67 | AO | - ti, | 3# | 14,1 | ,2 | ll | i3 | ι0,1 | 00113010003000) | ||||
70 | nop | • a | 12,0 | ,1 | ,1 | 0,1 | ι0,Ü | 0 | |||||
71 | tl2( | ?. | 0,?r! | 6i | J,Π | 0 | |||||||
72 | * t2 ·♦ | ?.t | 011010Ζ0110010! | ||||||||||
73 | pos3 | 0, | 011010010000101 | ||||||||||
74 | frg | 0110(5010103010! | |||||||||||
75 | ·* pos3 | Pi | 01iUß00t50ln010( | ||||||||||
76 | nop | Ti, | 00f!0flß01l08200i | ||||||||||
77 | nop | Cl | |||||||||||
-· %2 + | |||||||||||||
ti - | |||||||||||||
·♦ ti * | |||||||||||||
A ·♦ | |||||||||||||
·♦ | |||||||||||||
nop | |||||||||||||
509841/0290
Im vorstehenden laufenden Programm steht in der linken Spalte die tatsächliche Programmzählerzahl in Oktalform.
Die zweite Spalte gibt in KurzSchreibung an, wohin die
Daten abfließen. Im allgemeinen sind die Addiererhalteschaltungen AL1 und AL2, die Multiplikatorhalteschaltungen
ML1 und ML2, die Sinustaballenhalteschaltungen ST, und der Hüllkurvenspeicher ist ENY. Für den Zustand der bits ISEL
und SSEL sind diese ENV (00, 01, 10, 11) und reflektieren
die vier möglichen Zustände. Zum Zurückschreiben in den Zwischenspeicher steht entweder AO für Addiererausgang, MO
für Multiplikatorausgang, ST für Siriustabelle oder FT für Frequenztabelie. Das trifft selbstverständlich nur auf
Initialisierung zu.
Das Programm läuft in folgender Weise ab. Die erste Instruktion zeigt pos1 übergehend zn AL1. Die nächste Instruktion
zeigt fr1 übergehend su AL2„ Das bedeutet, daß der laufende
Winkel der zweiten Modulationsfrequenz in die Addiererhalteschaltung,
und die zweite Modulationsfrequenz selbst, welche tatsächlich das Winkelinkrement darstellt, in die zweite
Addiererhalteschaltung eingeriegelt wird. Im nächsten Takt wird der Addiererausgang wiederuM in den Winkel eingespeichert,
d.h. } daß der Winkel auf den neuesten Stand gebracht
wird und der Äddisrerausga^g ebenfalls zur Sinustabelle geht. Instruktion 3 zeigt den zweiten Modulationsindex, welcher
zur ersten Addiererhalteschaltung geht, Dieser Vorgang erfolgt pipelinienförmig, und Instruktion 4 stammt eigentlich
aus dem vorhergehenden Takt. Während dieser Zeit hat der
Multiplikator die Endmaßsfcabsänderung des _Ausgangssignals
ausgeführt. In Instruktion 4 wird der Multiplikator-ausgang durch den Zwischenspeicher in einer Zwischenspeicherzelle ti
durchgeschaltet und gelangt smra Ausgangspuffer. Es steht
genügend Zeit zur Verfügung, um den Ausgang einer der arithmetischen
Einheiten in den Zwischenspeicher durchzuschalten, aus dem Zwischenspeicher auf die Batsnsammelleitung umzuschalten
und in der Halteschaltung wie z.B, dem Ausgangs-
B09841/C29Q
puffer zu verriegeln. Diese Zeit ist vom vorhergehenden
Takt übrig und zeigt einen Teil des Pipelinebetriebs entsprechend der Erfindung, indem Multiplikation während der
ganzen Zeit erfolgt. Instruktion 3, bei welcher der Modulationsindex
in die Addiererhalteschaltung 1 durchgeschaltet wird, ist gepaart mit Instruktion 7, um den richtigen Teil
des Hüllkurvenspeichers in die zweite Addiererhalteschaltung durchzuschalten, damit der zweite Modulationsindex auf den
neuesten Stand gebracht und der Addiererausgang auf Instruktion 10 zurück in I» eingespeichert wird. In der Zwischenzeit
erfolgen zwei andere Vorgänge. Die Sinustabelle bei Instruktion 2 begann mit dem Nachsehen des Sinusoids des
zweiten Modulationsindex, und auf Instruktion 5 ist dieser Sinus nunmehr gültig, da genügend Zeit zur Verfügung stand,
in welcher die Sinustabelle das 16-bit Sinuswort nachsehen
konnte. Der Sinustabellenausgang wird daher zum Durchlauf durch den Zwischenspeicher in einer Zwischenspeicherzelle gebracht
und in eine der Multiplikatorhalteschaltungen eingegeben. Bei Instruktion 6 wird der zweite Modulationsindex
in die erste Multiplikatorhalteschaltung eingegeben, wodurch die Multiplikation beginnt. Dabei erfolgt natürlich eine
Maßstabsänderung des zweiten Modulationssinusoids durch den
zweiten Modulationsindex. Nun läuft der Multiplikator, und Instruktionen 7 bis 10 laufen durch und vervollständigen
den Vorgang, durch welchen der zweite Modulationsindex auf den letzten Stand gebracht wird.
Die Instruktionen 11, 12 und 13 bringen den Winkel für die
erste Modulationswellenform auf den letzten Stand und senden diesen Winkel zur Sinustabelle. In Instruktion 14 wird der
Inhalt des Multiplikators, der zweite Modulationssinusoid mal dem zweiten Modulationsindex, durch den Zwischenspeicher
über ti ausgegeben und gelangt wieder zum Multiplikator. Auf Instruktion 15 wird die zweite Modulationsfrequenz
wiederum in den Multiplikator durchgeschaltet, weil in
B09841/0290
Phasenmodulation (das künstliche Operationserzeugnis) der zweite Modulationssinusoid nicht nur mit der zweiten Indexfnnktion,
sondern auch mit der zweiten Modulationsfrequenz selbst multipliziert werden muß. Dadurch wird die vorgenannte
Multiplikation ausgelöst, und wenn die Multiplikation beendet ist, ist die zweite Modulationsfunktion vervollständigt
.
Auf Instruktionen 16 und 17 wird der Winkel der ersten Modulationsfunktion
aufgenommen, zusammen mit der Konstante,
welche einen Winkel umsetzt, so daß der Kosinus des Winkels in die Addiererhalteschaltung eingespeichert wird. Auf
Instruktion 13 wird der Sinus des den ersten Modulationssinusoid darstellenden Winkels nachgesehen. Diese Sinustabelle
wird gelesen und stand bereits einige Zeit lang zur Verfügung. Auf Instruktion 20 wird der Ausgang der Sinustabelle
in der vorübergehenden Zelle oder Zwischenspeicherstelle ti gespeichert, und der Ausgang der Halteschaltung
wird durchgeschaltet, bei dem es sich um den Kosinus des Winkels der ersten Modulationsfunktion in dar Sinustabelle
handelt. Diese Sinustabelle wird in Instruktion 24 benutzt, jedoch werden in der Zwischenzeit bei den Instruktionen 21
und 22 der erste Modulationsindex und das Hüllkurvenspeicherwort zum Addierer übertragen. Das Hüllkurvenspeicherwort
gibt den Betrag an, um welchen der Modulationsindex vermehrt werden muß, indem der erste Modulationsindex auf den neuesten
Stand gebracht wird. Im Stetigkeitszustand ist der Ausgang dieses Hüllkurvenspeichers null. Diese Vorgänge
werden intern gesteuert. Der Ausgang geht zur Addiererhalteschaltung und wird weiter unten bei Instruktion 26 benutzt,
bei welcher der Ausgang der Addiererhalteschaltung abgegriffen und zurück in den ersten Modulationsindex eingespeichert
wird.
Während dieser Zeit hat der Multiplikator die Instruktion
/0290
ausgeführt, wobei die zweite Modulationsfunktion im Zwischenspeicher
in einer Zwischenspeicherzelle ti2 gespeichert worden ist. Diese Funktion wird erst wesentlich später bei
Instruktion 52 benutzt. Bei Instruktion 24 steht der Kosinus am Ausgang der Sinustabelle zur Verfügung und wird
durch eine Zwischenspeicherzelle in den Zwischenspeicher t2 durchgeschaltet. Der Sinus des die erste Modulationsfunktion
darstellenden Winkels ist ti. Der Kosinus wird durch t2 zur Multiplikatorhalteschaltung durchgeschaltet, und die
bits niedriger Ordnung des Winkels werden in Instruktion 25 in den Multiplikator durchgeschaltet. Dabei handelt es sich
um die Interpolation, indem der Sinus der hohen Ordnung des Winkels zusammen mit dem Sinus der bits niedriger Ordnung
mal dem Kosinus der bits hoher Ordnung des Winkels genommen wird. Der Kosinus ist natürlich die Ableitung, und die bits
niedriger Ordnung sind das Δ/Θ zum Durchschalten durch
das Inkrement. Dieses fällt aus der Kosinussumme der Winkelformel heraus, indem Sinus von bits hoher Ordnung plus bits
niedriger Ordnung angenähert 1 ergeben, zuzüglich Kosinus von bits hoher Ordnung, Sinus von bits niedriger Ordnung.
Der Sinus von bits niedriger Ordnung ist natürlich angenähert gleich den bits niedriger Ordnung, welche in den Multiplikator
durchgeschaltet werden. In der Instruktion erfolgt die Sinustabelleninterpolation für die erste Modulationswellenform.
Keine Interpolation erfolgt an der zweiten Modulationswellenform. Das ist darauf zurückzuführen, daß diese
als Knirschfunktion verwendet und zur Erzeugung von Disharmonie verwendet wird, so daß es nicht darauf ankommt, wenn
diese nicht interpoliert ist, da sie für unharmonische Teilfrequenzen verwendet wird.
Der Multiplikator läuft nunmehr. In Instruktion 26 wird der
Ausgang der Halteschaltung, welcher nunmehr den auf den neuesten Stand gebrachten ersten Modulationsindex nachstellt,
abgegriffen und zurück in den Zwischenspeicher eingespeichert. Die Instruktionen 27 und 30 schalten die Amplitude durch.
5 0 9 8 Λ 1/0290
Dabei handelt es sich um die Gesamtamplitude der Wellenformen und um die letzte Multiplikation an der Wellenform,
bevor diese zum Ausgangspuffer übertragen wird. Amplituden- und Hüllkurvenspeicher werden durchgeschaltet, wodurch das
Inkrement in den Addierer vorgegeben wird, und in Instruktion 31 wird der Addiererausgang zurück in A, d.h. die Amplitude,
durchgeschaltet. Die Speicherstelle ti enthält bereits den Sinus des die erste Modulationsfunktion darstellenden
Winkels. In Instruktionen 32 und 34 wird die Interpolation dadurch vervollständigt, daß der Ausgang des Multiplikators,
welcher aus bits niedriger Ordnung mal Kosinus besteht, abgegriffen und zu dem Inhalt von ti, welches der
Sinus ist, addiert wird. In Instruktion 35 wird der Addiererausgang abgegriffen und in den Multiplikator zurück eingeführt.
In Instruktion 36 beginnt die Multiplikation mit der ersten Indexfunktion. Der Multiplikator berechnet I1,
den Modulationsindex, mal Sinuswert sin W t, d.h. den
Sinusoid, welcher die erste Modulationsfunktion darstellt. In diesem Zeitpunkt ist kein anderer Vorgang auszuführen, so
daß fünf nops (Null-Operationen) bis zur Beendigung der Arbeitsweise des Multiplikators zur Verfügung stehen. In
Instruktion 44 wird der Multiplikatorausgang durch die Zwischenspeicherstelle
ti zurück zum Multiplikator durchgeschaltet, und in Instruktion 45 wird die zweite Modulationsfrequenz,
welche durch Multiplikation mit 8 in ihrem Maßstab verändert worden ist, aus dem Zwischenspeicher zurück zum
Multiplikator durchgeschaltet. Das Multiplizieren beginnt und beendet die erste Modulationsfunktion. Die erste Modulationsfunktion
ist die Modulationsfrequenz mal dem Index
mal dem Sinusoid. Die Maßstabsänderung durch den Faktor 8 dient zur Kompensation des Festpunktgeräts. Der interessierende
Modulationsindex I1 wird durch 8 geteilt. Er ist somit
genau um den Faktor 8 kleiner, wobei dieser Faktor 8 durch Multiplikation der Modulationsfrequenz mal 8 zurückerhalten
wird.
503841/02 9 0
Auf diese Weise lassen sich alle Maßstabsänderung ausführen. Nachfolgende nops dienen in den Instruktionen 46 bis
51 zur Taktvorgabe für den Multiplikator. Für die Instruktionen 52 und 53 sei daran erinnert, daß sich in ti2 die
vollständige zweite Modulationsfunktion befindet. Diese wird zum Erzeugen des Winkelinkrements zur ersten Modulationsfunktion
addiert und zu dem Trägerwinkel addiert, so daß der Winkel für das modulierte Sinusoid erhalten wird.
In den Instruktionen 52 und 53, für welche die vollständige zweite Modulationswellenform und der Multiplikatorausgang,
welcher die vervollständigte erste Modulationswellenform bildet, zur Verfügung stehen, werden beide in den Addierer
durchgeschaltet. Der Addiererausgang wird in Instruktion 54 wieder zurückgeführt in ti2 und überschreibt die erste
Modulationswellenform. Somit ist ti2 nunmehr die Summme der Modulationswellenform. In Instruktion 55 wird pos3,
d.h. der den Trägersinusoid darstellende Winkel in den Addierer durchgeschaltet.
Somit wird der durch die beiden modulierenden Wellenformen dargestellte Winkel addiert. Dieser Addiererausgang wird
in ti2 gespeichert und überschreibt die bereits in diesem befindlichen Daten. Außerdem beginnt die Sinustabelle mit
ihrer Operation an dem Trägersinusoid. Der Grund für die Speicherung in tx2 besteht darin, daß eine Interpolation
ebenfalls an dem Trägersinusoid ausgeführt werden kann. In Instruktionen 56 und 60 werden ti2, d.h. der Gesamtsinusoidwinkel
und die Konstante 3 %/2 in den Addierer durchgeschaltet. In diesem Zusammenhang sei daran erinnert, daß sich
in der Sinustabelle ein Betrag befindet, der in Instruktion 56 angefangen wurde. In Instruktion 61 wird der Sinustabellenausgang
und der zu diesem Zeitpunkt in ti2 befindliche Winkel in ti eingegeben, d.h. dem Sinus des Ausgangssinusoids
des modulierten Sinusoids. Der Addiererausgang wird durchgeschaltet in die Sinustabelle, wodurch das Nach-
509841 /0290
sehen des Kosinus beginnt. In Instruktion 62 steht zur Taktgabe kein nop zur Verfügung.
In Instruktion 63 werden die bits niedriger Ordnung von ti2,
welche den Gesamtwinkel darstellen, in den Multiplikator durchgeschaltet. In Instruktion 64 wird die Sinustabelle,
welche den Kosinus des Winkels darstellt, durch die vorübergehend benutzte Zwischenspeicherstelle t2 in den Multiplikator
herausgebracht. Damit beginnt das Multiplizieren der bits niedriger Ordnung des Winkels mit dem Kosinus der bits
hoher Ordnung des Winkels, wodurch die Interpolation erfolgt. Weiter unten bei den Instruktionen 72 und 73 werden diese
zueinander addiert. Das Multiplizieren beginnt für die Endinterpolation. Der Winkel für die Trägerwelle ist jedoch
noch nicht auf den letzten Stand gebracht worden, so daß dieses in den Instruktionen 65, 66 und 67 erfolgt. pos3
und fr3 werden in die Addierhalteschaltung durchgeschaltet, um den das Trägersinusoid darstellenden Winkel auf den letzten
Stand zu bringen, und dieser wird zurück in den Zwischenspeicher eingespeichert. In den Instruktionen 70 und 71
stehen zwei nops zur Taktgabe zur Verfügung. In Instruktion 72 ist der Multiplikator fertig. Der maßstäblich veränderte
Kosinus kommt in Instruktion 72 aus dem Multiplikator, während in Instruktion 73 der im Zwischenspeicher ti gespeicherte
Sinus herauskommt. In Instruktion 74 wird die Summe derselben erzeugt, welche den gesamten interpolierten Sinusoid
darstellt. Dieser wird durch die Zwischenspeicherstelle ti in den Multiplikator durchgeschaltet, und in Instruktion 75
wird die Gesamtamplitude in den Multiplikator durchgeschaltet. Damit beginnt die Multiplikation und die Schlußmaßstabsveränderung.
Die Multiplikation wird jedoch nicht bis zum nächsten Takt ausgeführt, und auf Instruktion 4 des
nächsten Takts wird der Multiplikatorausgang durch den Zwischenspeicher und in den Ausgangspuffer durchgeschaltet.
Damit wird die künstliche Erzeugung oder Synthese der Wellenform beendet. In Instruktion 56 wird ein Signal EL durch-
509841/0290
gegeben, durch welches das Hüllkurvensystem seinen Takt
durchläuft. Dadurch zählt der Hüllkurvenprobenzähler zur nächsten Probe und tastet falls erforderlich das nächste
Zeilensegment des Hüllkurvenspexchers ab. Damit ist das laufende Programm in der Wellenformsynthese ausgeführt.
- Patentansprüche: 509841/0290
Claims (3)
- Patentansprüche :.) Verfahren zum künstlichen Erzeugen eines musikalischen Klangs aus einer Vielzahl von Komponentenfrequenzen, gekennzeichnet durch Ausbildung einer zeitlich veränderlichen Amplitudenhüllkurve mit einem zeitlich veränderlichen Anschwellabschnitt, einem praktisch gleichbleibenden oder Stetigkeitsabschnitt und einem zeitlich veränderlichen Abklingabschnitt, Erzeugung eines zur Vorgabe einer im Tonfrequenzbereich liegenden Trägerfrequenz dienenden Signals U) , Erzeugung von zur Vorgabe erster und zweiter, im Tonfrequenzbereich liegender Modulationsfrequenzen dienender Signale U)m1 und U) , wobei das Verhältnis U) / U) gleich einerm2 2irrationalen Zahl ist, Erzeugung von zur Vorgabe zeitlich veränderlicher Modulationsindic.es dienender Signale I- (t)und I0 (t) , wobei U) mit &J und b) frequenzmoduliert δ c m1 m2und eine frequenzmodulierte Welle erzeugt wird, die der Formele = Asin [ Wct + 1I (t) sin 0Hi^ + Z2{t) ^ entspricht, in welcher e die Momentanamplitude der frequenzmodulierten Welle, Ä die Spitzenamplitude der Welle und [ω t + I1(t) sin ω t + I„(t) sin ω ti das Fre-quenzspektrum der Welle ist, welches sich als Funktion der Modulationsindices I1Ct) und I9Ct) ändert und eine Darstellung des Klanges ist,
- 2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß I-(t) als Funktion des Anschwellabschnitts der Amplitudenhüllkurve verändert wird.
- 3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß I-(t) im Vergleich zur Periode von U) über eine sehr kurze Zeitspanne vorgegeben wird.509841/02 9 0
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US45479074A | 1974-03-26 | 1974-03-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
DE2513127A1 true DE2513127A1 (de) | 1975-10-09 |
DE2513127C2 DE2513127C2 (de) | 1983-11-10 |
Family
ID=23806097
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE19752513127 Expired DE2513127C2 (de) | 1974-03-26 | 1975-03-25 | Verfahren zum künstlichen Erzeugen eines musikalischen Klangs |
Country Status (5)
Country | Link |
---|---|
JP (1) | JPS5433525B2 (de) |
DE (1) | DE2513127C2 (de) |
FR (1) | FR2274986A1 (de) |
GB (1) | GB1505712A (de) |
NL (1) | NL187597C (de) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0454047A2 (de) * | 1990-04-23 | 1991-10-30 | Casio Computer Company Limited | Tonerzeugungsvorrichtung |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS525516A (en) * | 1975-07-03 | 1977-01-17 | Nippon Gakki Seizo Kk | Electronic musical instrument |
JPS525515A (en) * | 1975-07-03 | 1977-01-17 | Nippon Gakki Seizo Kk | Electronic musical instrument |
US4079650A (en) * | 1976-01-26 | 1978-03-21 | Deutsch Research Laboratories, Ltd. | ADSR envelope generator |
JPS5535302A (en) * | 1978-09-01 | 1980-03-12 | Nippon Musical Instruments Mfg | Electronic musical instrument |
JPS61123886A (ja) * | 1985-07-25 | 1986-06-11 | ヤマハ株式会社 | 楽音形成方法 |
JPS6193495A (ja) * | 1985-10-19 | 1986-05-12 | ヤマハ株式会社 | 電子楽器 |
JPS6239433Y2 (de) * | 1986-11-17 | 1987-10-07 | ||
JP2643761B2 (ja) * | 1993-03-11 | 1997-08-20 | ヤマハ株式会社 | 周波数変調楽音合成原理による波形加工装置 |
WO2002025628A1 (es) * | 2000-09-25 | 2002-03-28 | Onda Edit S.L. | Sistema de sintesis por armonicos y formantes |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2417308B2 (de) * | 1973-04-11 | 1980-11-20 | Nippon Gakki Seizo K.K., Hamamatsu, Shizuoka (Japan) | Elektronisches Musikinstrument |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3288907A (en) * | 1962-05-07 | 1966-11-29 | Hammond Organ Co | Electronic musical instrument with delayed vibrato |
JPS5327794B2 (de) * | 1972-07-26 | 1978-08-10 | ||
JPS5312372A (en) * | 1976-07-20 | 1978-02-03 | Ishikawajima Harima Heavy Ind | Method of and apparatus for measuring cable tension |
-
1974
- 1974-04-10 JP JP4160274A patent/JPS5433525B2/ja not_active Expired
-
1975
- 1975-03-14 GB GB1072575A patent/GB1505712A/en not_active Expired
- 1975-03-25 FR FR7509274A patent/FR2274986A1/fr active Granted
- 1975-03-25 NL NL7503560A patent/NL187597C/xx not_active IP Right Cessation
- 1975-03-25 DE DE19752513127 patent/DE2513127C2/de not_active Expired
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE2417308B2 (de) * | 1973-04-11 | 1980-11-20 | Nippon Gakki Seizo K.K., Hamamatsu, Shizuoka (Japan) | Elektronisches Musikinstrument |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0454047A2 (de) * | 1990-04-23 | 1991-10-30 | Casio Computer Company Limited | Tonerzeugungsvorrichtung |
EP0454047A3 (en) * | 1990-04-23 | 1993-12-15 | Casio Computer Co Ltd | Tone generation apparatus |
US5340938A (en) * | 1990-04-23 | 1994-08-23 | Casio Computer Co., Ltd. | Tone generation apparatus with selective assignment of one of tone generation processing modes to tone generation channels |
Also Published As
Publication number | Publication date |
---|---|
GB1505712A (en) | 1978-03-30 |
FR2274986B1 (de) | 1979-03-09 |
NL187597C (nl) | 1991-11-18 |
NL7503560A (nl) | 1975-09-30 |
JPS5433525B2 (de) | 1979-10-22 |
JPS50126406A (de) | 1975-10-04 |
NL187597B (nl) | 1991-06-17 |
DE2513127C2 (de) | 1983-11-10 |
FR2274986A1 (fr) | 1976-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE2404431C3 (de) | Elektronisches Musikinstrument | |
DE2500839C3 (de) | Elektronisches Musikinstrument mit Sinustabellenspeicher | |
DE2926090C2 (de) | Tonerzeugungsverfahren | |
DE2350143A1 (de) | Elektronisches musikinstrument | |
DE2431161C2 (de) | Tonerzeugungseinrichtung für ein elektronisches Musikinstrument | |
DE3936693A1 (de) | Vorrichtung zum erzeugen digitaler audiosignale | |
DE2524497A1 (de) | Phasenvocoder-sprachsynthesesystem | |
DE2711511C2 (de) | Polyphones elektronisches Musikinstrument | |
DE2364336B2 (de) | Elektronisches Musikinstrument | |
DE2513127A1 (de) | Verfahren zum kuenstlichen erzeugen eines musikalischen klangs | |
DE2500720C3 (de) | Elektronisches Musikinstrument | |
DE3023581A1 (de) | Verfahren zur digitalen huellkurvensteuerung eines polyphonen musiksyntheseinstruments und schaltungsanordnung zur durchfuehrung des verfahrens | |
DE2909866A1 (de) | Elektronisches musikinstrument mit instrumentenart-auswahl | |
EP0036074A1 (de) | Syntheseschaltung für periodische Signale, insbesondere als Teil eines Musikinstruments | |
DE3226619A1 (de) | Modulationseffektvorrichtung | |
DE3037276C2 (de) | Tonsynthesizer | |
DE3004720A1 (de) | Elektronisches musikinstrument | |
DE2714264A1 (de) | Elektronisches musikinstrument | |
DE3151127A1 (de) | Elektronische einrichtung mit tonerzeugungsfunktion | |
DE2826570C2 (de) | ||
DE2808283A1 (de) | Digitales elektronisches musikinstrument | |
DE3239171C2 (de) | Integrierte Schaltung für ein elektronisches Gerät zur Datenverarbeitung mit einer Tongeneratoreinrichtung | |
DE3226600A1 (de) | Mit einem nachhalltonerzeugungsapparat ausgestattetes elektronisches musikinstrument | |
DE2808286A1 (de) | Nummerisches elektronisches musikinstrument | |
DE3345656A1 (de) | Elektronisches musikinstrument |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
8125 | Change of the main classification |
Ipc: G10H 1/14 |
|
8126 | Change of the secondary classification |
Free format text: G10H 7/00 G10H 1/057 |
|
D2 | Grant after examination | ||
8364 | No opposition during term of opposition |