-
-
"Verfahren urd Anordnung zum Bestimmen der Stimmband-
-
grundfrequenz eines Sprachsignals" Die Erfindung betrifft ein Verfahren
zum Bestimmen der Stimmbandgrundfrequenz eines Sprachsignals, bei dem ein Zeitabschnitt
des Sprachsignals gegenüber dem Sprach signal verschoben und für unterschiedliche
Verschiebungen die Beträge der Differenzen zwischen dem Sprachsignal und dem verschobenen
Sprachsignal über den Zeitabschnitt aufsummiert werden, wobei die Verschiebung,
bei der die~Folge der so gebildeten Summen ein Minimum hat, bestimmt wird und diese
Verschiebung dieFeriodendauer der Stimmbandgrundfrequenz angibt, sowie eine Anordnung
zur Durchführung des Verfahrens.
-
Ein solches Verfahren ist bekannt aus "IEEE Trans-Acoust, Speech,
and Signal Processing",Vol. ASSP-24 (Oct. 1976), Seiten 399 bis 413, und Vol. ASSP-22
(Oct. 1974), Seiten 353 bis 362. Durch Bestimmung der Periodendauer in dieser Art
für aufeinanderfolgende Zeitabschnitte des Sprachsignals kann dann der Verlauf der
Stimmbandgrundfrequenz ermittelt werden. Die bekannten Verfahren erfordern jedoch
eine Vielzahl von Rechenschritten, so daß eine schnelle Verarbeitungsanordnung bzw.
Schaltungen mit hoher Taktgeschwindigkeit erforderlich sind, wenn die Verarbeitung
in Echtzeit erfolgen soll, d. h. die Pmtodendauer eines Zeitabschnitts des Sprachsignals
während einer Zeit höchstens gleich diesem Zeitabschnitt bestimmt werden soll.
-
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren anzugeben,
bei dem die Stimmbandgrundfrequenz mittels möglichst weniger und einfacher Verarbeitungsschritte
bestimmt werden kann. Diese Aufgabe wird erfindungsgemäß dadurch gelöst, daß zunächst
die Energie des Sprachsignals im Zeitabschnitt bestimmt wird, daß die Aufsummierung
der
Differenzen bei einem vorgegebenen minimalen Wert der Verschiebung
beginnend für Jeden Wert der Verschiebung abgebrochen und die Verschiebung um einen
Schritt vergrößert wird, sobald während der Aufsummierung ein vorgegebener Bruchteil
der Energie überschritten wird, daß nach der ersten Summe kleiner als der Bruchteil
der Energie Jede folgende Summe mit der kleinsten vorhergehenden Summe verglichen
und der Wert der Verschiebung zwischengespeichert wird, wenn die Summe kleiner ist
als die Vergleichssumme, und daß die Vergrößerung der Verschiebung mit folgender
Aufsummierung der Differenzbeträge beendet wird, wenn die Verschiebung einen vorgegebenen
maximalen Wert erreicht hat, wobei der zuletzt zwischengespeicherte Wert der Verschiebung
die Periodendauer der Stimmbandgrundfrequenz für den Zeitabschnitt angibt. Mit Differenzbeträge
sind hier und auch im folgenden die Beträge der Differenzen gemeint. Die Energie
des Sprachsignals ist hier das Integral bzw. bei zeitdiskreten Signalabtastwerten
die Summe des Betrages des Sprachsignals.
-
Auf diese Weise wird Jeder Teilschritt der Verarbeitung nur so weit
durchgeführt, bis feststeht, ob er zur Bestimmung des Minimums der Folge der Summen
beiträgt oder nicht. So wurde festgestellt, daß die das Minimum bildende Summe und
damit auch die in der Umgebung liegenden Summen den Mittelwert der Energie des Sprachsignals
im Zeitabschnitt, der bei konstanter Dauer des Zeitabschnitts proportional der Gesamtenergie
des Sprachsignals im Zeitabschnitt ist, um einen bestimmen Faktor unterschreiten
maß* Daher kann eine Summe, die den bestimmten Bruchteil der Energie bzw. der mittleren
Energie überschreitet, nicht in der XBe des Xinimums liegen, so daß die weitere
Durchführung der Aufsummierung der Differenzen hierfür sinnlos ist. Durch Vermeidung
unnötiger Berechnungen auf diese Weise kann die Bestimmung der Periodendauer erheblich
beschleunigt werden. Sobald Jedoch eine Summe diesen Bruchteil der Energie unterschreitet,
kann durch Vergleich der folgenden Summen mit der Jeweils kleinsten vorher-
gehenden
Summe und der Zwischenspeicherung der Verschiebung auf einfache Weise der Wert der
Verschiebung festgestellt werden, bei dem die Folge der Summen ein Minimum hat.
-
Es wurde ferner festgestellt, daß der Bereich in der Folge der Summen,
in dem die Summen den Bruchteil der Energie unterschreiten und in dem das Minimum
liegt, eine begrenzte maximale Größe hat. Wenn also eine Summe den Bruchteil der
Energie unterschreitet, braucht die Suche nach dem Minimum nur während eines bestimmten
folgenden Bereiches von Verschiebungen weitergeführt zu werden, d. h. daß in diesem
Bereich gefundene Minimum ist mit sehr großer Sicherheit auch das tatsächliche Minimum
der Folge der Summen. Dies erfolgt nach einer Ausgestaltung des erfindungsgemäßen
Verfahrens dadurch, daß der vorgegebene maximale Wert die um einen festen Bereichswert
vergrößerte Verschiebung ist, bei der erstmalig die Summe der Differenzen kleiner
als der vorgegebene Bruchteil der Energie ist, wenn diese vergrößerte Verschiebung
kleiner ist als ein vorgegebener Maximalwert der Verschiebung, und daß der vorgegebene
maximale ert der Maximalwert der Verschiebung ist, wenn dieser kleiner ist als die
vergrößerte Verschiebung oder wenn keine Summe kleiner als der vorgegebene Bruchteil
der Energie bis zum Erreichen des Maximalwertes der Verschiebung auftritt. Auf diese
Weise wird die Bestimmung der Periodendauer weiter beschleunigt.
-
In einem natürlichen Sprachsignal sind stets auch Abschnitte vorhanden,
in denen das Sprachsignal praktisch verschwindet oder zumindest so leise ist, daß
es sich nicht wesentlich über das Rauschen oder. andere Störgeräusche erhebt.
-
Während solcher Teile ist entweder keine Stimmbandgrundfrequenz vorhanden
oder ihre Bestimmung ist zumindest sehr unsicher. Damit diese Teile den Verlauf
der Stimmbandgrundfrequenz des Sprachs.ignals nicht zu sehr verfälschen, ist es
zweckmäßig, daß die Energie mit einer vorgegebenen Schwelle verglichen und die nachfolgende
Aufsummierung
nur dann freigegeben wird, wenn die Schwelle überschritten wird. Dadurch werden
solche Teile des Sprachsignals wie stimmlose Teile behandelt.
-
Um das erfindungsgemäße Verfahren mit einfachen Mitteln zu realisieren,
ist eine Anordnung zur Durchführung des erfindungsgemäßen Verfahrens mit einem Sprachsignalspeicher,
der die zeitdiskreten Werte eines Sprachsignals von einer Länge mindestens gleich
der Summe der Länge eines Zeitabschnitts und dem Maximalwert der Verschiebung enthält,
mit einer Adressieranordnung, die an den Adresseneingang des Sprachsignalspeichers
angeschlossen ist und Folgen von aufeinanderfolgenden Adressenpaaren aus jeweils
einer Adresse eines Wertes des Sprachsignals im Zeitabschnitt und einer um einen
bestimmten, nach jeder Folge um eine Einheit vergrößerten Adressenabstand verschobenen
Adresse liefert, mit einer Recheneinheit, die an den Datenausgang des Sprachsignalspeichers
angeschlossen ist und Differenzbeträge zwischen an den Adressen jeweils eines Adressenpaares
gespeicherten Werten über die Folge der Adressenpaare aufsummiert, dadurch gekennzeichnet,
daß zu Beginn der Verarbeitung eines Z abschnitts eir.e Steueran-ordnung die Adressieranordnung
ansteuert, um eine erste Folge nur von Adressen der Werte des Sp.-achsignals in
dem Zeitabschnitt zu erzeugen, daß an den Datenausgang des Sprachsignalspeichers
ein Akkumulator angeschlossen ist, daß mit dem Ausgang des Akkumulators der eine
Eingang eines Multiplizierers verbunden ist, der am anderen Eingang einen festen
Wert empfängt, daß die Adressieranordnung nach der Erzeugung der ersten Adressenfolge
den Ausgang wert des Multiplizierers in ein Vergleichsregister einschreibt und die
Steueranordnung zur Erzeugung von Folgen von Adressenpaaren umschaltet, daß der
Ausgang des Vergleichsregisters mit dem einen Eingang eines Minimum Vergleichers
verbunden ist, dessen anderer Eingang mit dem Ausgang der Recheneinheit verbunden
ist und der am Ausgang
ein Signal erzeugt, wenn der Wert am Ausgang
der Recheneinheit größer ist als der Wert am Ausgang des Vergleichsregisters, daß
die Adressieranordnung an einem Steuerausgang ein Folgeende-Signal nach jeder beendeten
Folge von Adressen bzw. Adressenpaaren erzeugt, daß der Steuerausgang der Adressieranordnung
mit dem Einschreib-Eingang des Vergleichsregisters, dessen Datenausgang nach dem
Erzeugen der ersten Adressenfolge auf den Ausgang der Recheneinheit umgeschaltet
ist, und dem Einschreib-Eingang eines Periodendauer-Registers verbunden ist, dessen
Dateneingang an einen den momentanen Wert der Verschiebung liefernden Verschiebungsausgang
der Adressieranordnung angeschlossen ist, daß der Steuereingang der Adressieranordnung
und der Ausgang des Minimum-Vergleichers gemeinsam mit einem Rückstelleingang der
Recheneinheit und einem Erhöhungseingang der Adressieranordnung zum Erhöhen der
Verschiebung der Adressen gekoppelt sind, und daß ein Maximum-Vergleicher vorgesehen
ist, dessen einer Eingang mit dem Verschiebungsausgang verbunden ist und dessen
anderer Eingang einen vorgegebenen maximalen Wert erhält und dessen Ausgang mit
einem Sperreingang der Adressieranordnung verbunden ist und ein Signal liefert,
wenn der Wert am Verschiebungsausgang größer ist als der maximale Wert, wobei dieses
Signal die Erzugung weiterer Folgen von Adressenpaaren bis zur Verarbeitung des
nächstern Zeitabschnittes sperrt und den im Periodendauer-Register enthaltenen Wert
als Periodendauer ausgibt.
-
Ausgestaltungen dieser Anordnung sind in den weiteren Unteransprüchen
gekennzeichnet.
-
Ausführungsbeispiele der Erfindung werden nachstehend anhand der Zeichnung
näher erläutert. Es zeigen: Fig. la einen Teil eines Sprachsignals,
Fig.
Ib ein Beispiel für den Verlauf der Folge der Summen mit einigen charakteristischen
Werten, Fig. 2 bis 4 Blockschaltbilder von Teilen einer vollständigen Anordnung
zur Bestimmung der Periodendauer Jeweils eines Zeitabschnitts eines Sprachsignals.
-
Ein Ausschnitt aus einem typischen Sprachsignal ist in Fig. 1a dargestellt.
Dieses Signal weist einige hohe Amplituden auf, zwischen denen das Signal mit niedrigerer
Amplitude verläuft. Dabei haben die Amplituden zum Zeitpunkt t1 und t3 etwa den
gleichen Wert, während die dazwischenliegende Amplitude bei t2 einen kleineren Wert
hat. Die Tonhöhe des Sprachsignals, d. h. die Stimmbandgrundfrequenz, wird durch
die Periode des Sprachsignals bestimmt, d. h. die Frequenz ist gleich dem Kehrwert
der Periode. Zur Bestimmung der Periode kann nun der Abstand dieser hohen Amplituden
im Sprachsignal verwendet werden.
-
Es ist Jedoch leicht zu erkennen, daß dabei bereits der Abstand zwischen
den Amplituden bei t1 und t2 fälschlich als Periode erfaßt werden kann.
-
Da es sich bei einem Sprachsignal allgemein um ein quasistationäres
Signal handelt, das seinen Verlauf Jeweils innerhalb einer Periode eher langsam
über mehrere Perioden ändert, ist es zweckmäßiger, Autokorrelationsverfahren zu
verwenden. Dabei wird im Falle eines kontinuierlichen Sprachsignals ein Zeitabschnitt
dieses Signals gegenüber dem gesamten Sprachsignal verschoben und der Grad der Übereinstimmung
bzw. Abweichung bestimmt, und beim Maximum der Übereinstimmung bzw. Minimum der
Abweichung gibt die Verschiebung des Sprachsignals im Zeitabschnitt gegenüber dem
übrigen Signal die Perlodendauer des Signals an. Ein sehr gut brauchbares Maß für
die Abweichung zwischen dem Sprachsignal und dem verschobenen Sprachsignal gibt
die Summe der Differenzbeträge zwischen diesen beiden Signalen über den Zeitabschnitt
an.
-
Zur Verdeutlichung ist in Fig. la ein Zeitabschnitt des Sprachsignals
vom Beginn der Darstellung an bis zum Punkt T, der die Länge des Zeitabschnitts
angibt, mit einer starkeren Linie dargestellt. Ferner ist gestrichelt dieser Zeitabschnitt
um den Wert bt verschoben über dem Sprachsignal als Beispiel dargestellt. Dabei
ist zu erkennen, daß nur sehr wenige Teile des Sprachsignals annähernd übereinstimmen,
während im allgemeinen sehr große Abweichungen bestehen, d. h. es ergibt sich eine
Vielzahl von großen Differenzen zwischen den beiden Sprachsignalen, deren Beträge
als Summe einen großen Wert ergeben und eine geringe Übereinstimmung angeben, da
die beispielsweise angenommene Verschiebung erheblich von der Periodendauer des
Sprachsignals abweicht. Für Sprachsignale stellt ein Zeitabschnitt T von 10 ms und
ein Bereich der Verschiebung der beiden Sprachsignale gegeneinander von 2 ms bis
15 ms zweckmäßige Werte dar.
-
In Fig. ib ist die Funktion F der Summe über die Differenzen zwischen
den beiden Sprachsignalen über den Zeitabschnitt abhängig von der Verschiebung k
aufgetragen. Die Differenzen sind dabei selbstverständlich nicht vorzeichenrichtig,
sondern nur ihrem Betrag nach aufsummiert, da bei den Unterschieden der Signale
nur deren Beträge~von Bedeutung sind.
-
In der Praxis werden die Differenzen an zeitdiskreten Signalen gebildet,
d. h. das kontinuierliche Sprachsignal wird periodisch abgetastet, z. B. mit 5 kHz,
so daß sich eine Folge von Werten ergibt, die in einem Abstand von 200 /us liegen.
Der oben erwähnte, stärker ausgezogene Abschnitt des Sprachsignals enthält dann
50 Abtastwerte.
-
Entsprechend wird die Verschiebung der beiden Sprachsignale gegeneinander
auch nur in Schritten entsprechend diesem Abstand der Signalwerte geändert. Die
in Fig. Ib dargestellte Funktion F der Summe der Differenzen besteht daher tatsäch-
lich
auch nur aus einzelnen, diskreten Punkten, die der Übersichtlichkeit halber hier
jedoch durch eine geglättete Kurve verbunden über die Verschiebung k dargestellt
sind.
-
Die Funktion F der Summen ist vom Beginn bei der Verschiebung k =
0, bei dem diese Funktion ebenfalls wegen völliger Überdeckung der beiden Sprachsignale
den Wert Null hat, bis zum Wert kmin gestrichelt dargestellt, da dieser Bereich
niemals untersucht wird, denn ein Minimum in diesem Bereich würde eine Stimmbandgrundfrequenz
ergeben, die höher ist als in tatsächlichen Sprachsignalen vorkommend, selbsst bei
Sprachsignalen von kleinen Kindern. Falls sicher ist, daß nur Sprac?signale von
erwachsenen Personen vorkommen können, kann dieser Wert kmin noch vergrößert werden.
Andere Ilöglichkeiten, diesen Minimalwert kinin heraufzusetzen, werden später angedeutet.
-
Der Verlauf der Funktion F zeigt nach einem Maximum ein relatives
Minimum, das jedoch oberhalb der gestrichelten Linie beim Wert pE für den Funktionswert
F liegt. Darin bedeutet E den Wert der gesamten Energie des Sprachsignals in dem
Zeitabschnitt von O bis T in Fig. 1a, d. h. die Summe der Flächen zwischen der Kurve
des Sprachsignals und der Abszisse, die bei Division durch die Dauer des Zeitabscnitts
die gesamte Energie des Sprachsignals angibt.
-
Der Wert p ist so gewählt, daß das Produkt pE unterhalb der mittleren
Energie des Sprachsignals liegt, beispielsweise bei 62,5% der gesamten Energie.
Ein gültiges Minimum der Funktion F liegt zumindest ohne Einfluß von Störsignalen
praktisch immer unterhalb dieses Wertes, so daß das erste relative Minimum der Funktion
F nicht das gesuchte echte Minimum sein kann. Dies liegt vielmehr bei dem Wert kp,
und zwar in einem Bereich der Funktion F unterhalb des Wertes pE. Die Funktion F
geht auch im Minimum selten auf den Wert Null zurück, da auch zwischen unmittelbar
benachbarten Zeitabschnitten eines Sprachsignals fast immer
kleine
Unterschiede vorhanden sind.
-
Die Aufsummierung der Differenzen erfolgt schrittweise, d.h.
-
für eine gegebene Verschiebung werden die Differenzbeträge aufeinanderfolgender
Punkte gebildet und aufsummiert.
-
Da nun ein gesuchtesI"iinimum der Kurve F nur unterhalb des Wertes
pE liegen kann, kann eine solche Aufsummierung sofort abgebrochen werden, wenn dieser
Wert erreicht wird, und die Verschiebung kann um einen Schritt erhöht werden.
-
Wenn dies bei der Funktion F in Fig. Ib beim Verschiebungswert kmin
beginnend durchgeführt wird, ist sofort erkennbar, daß dabei erheblich Rechenzeit
gespart wird.
-
Außerdem wird das erste relative Minimum gar nicht erst erfaßt. Erst
beim Verschiebungswert ka wird zum ersten Male der Funktionswert pE unterschritten,
und nun erst beginnt die Prüfung auf ein Minimum. Ein erstes relatives Minimum tritt
beim Wert k1 auf, jedoch wird, um das tatsächliche absolute Minimum zu finden, die
Prüfung weiter forgesetzt, bis das nächste Minimum beim Wert kp gefunden wird. Da
auch dieses nur ein relatives Minimum sein kann, solange nicht der Funktionswert
F an solch einem Minimum den Wert Null erreicht, wird die Prüfung noch weiter fortgesetzt.
-
Die weitere Suche nach dem Minimum kann bis zum Maximalwert kmax der
Verschiebung fortgesetzt werden, denn darüber hinausgehende Verschiebungen würden
eine Stimmbandgrundfrequenz ergeben, die praktisch nie vorkommt.
-
Tatsächlich kann die weitere Suche nach dem Minimum jedoch früher
abgebrochen werden, nämlich beim Wert ka + denn das Minimum liegt immer innerhalb
eines Bereiches #k nach dem Wert ka, nachdem die Funktion F erstmalig den Wert pE
unterschritten hat. Auf diese Weise ist eine weitere Verkürzung der Rechenzeit möglich.
-
In den Fig. 2 bis 4 sind Blockschaltbilder von Teilen einer vollständigen
Anordnung zur Bestimmung der Stimmband-
grundfrequenz bzw. deren
Periode, auch "pitch period" genannt, dargestellt. Dabei zeigt die Fig. 2 eine Anordnung
zur Bestimmung der Gesamtenergie des Sprachsignals im untersuchten Zeitabschnitt
sowie zur Bildung des Wertes pE. Der Sprachsignalspeicher 1 enthält die digitalisierten
Werte des in aufeinanderfolgenden Zeitpunkten abgetasteten Sprachsignals. Der Adresseneingang
dieses Speichers ist mit dem Parallelausgang 2 eines Adressenzählers 3 verbunden,
der am Eingang ein Taktsignal Ck von einer nicht dargestellten Taktquelle erhält.
Diese Verbindung zwischen dem Parallelausgang 2 des Zählers 3 und dem Adresseneingang
des Sprachsignalspeichers 1 besteht tatsächlich aus mehreren parallelen Leitungen
entsprechend der Anzahl Stufen des Zählers 3, jedoch sind diese Leitungen in Fig.
2 der Übersichtlichkeit halber nur als eine einfache Verbindung dargestellt. Dies
gilt auch für eine Anzahl weiterer Verbindungen zwischen Elementen in dieser sowie
den anderen Figuren, insbesondere an Eingangen von Registern, Addierern und Vergleichern.
-
Der Zähler 3 durchläuft nacheinander alle seine Stellungen und adressiert
im Sprachsignalspeicher 1 Speicherstellen mit den Abtastwerten des Sprachsignals,
die nacheinander am Ausgang des Sprachsignalspeichers 1 erscheinen und ohne Berücksichtigung
des Vorzeichens, d.h. nur dem Betrag nach, dem einen Eingang eines Addierers 5 zugeführt
werden Der Ausgang des Addierers 5 ist mit dem Dateneingang eines Registers 7 verbunden,
dessen Ausgang 8 u.a. mit dem anderen Eingang ds Addierers 5 verbunden ist. Der
Einschreib-Eingang des Registers 7 erhält für Jeden adressierten Speicherplatz im
Sprachsignalspeicher 1 ein Einschreibsignal, und zwar im dargestellten Beispiel
das invertierte Taktsignal Ck, das dem zum eine halbe Taktperiode verschobenen Taktsignal
Ck entspricht Auf diese Weise bilden Addierer 5 und Register 7 einen Akkumulator,
wobei nach dem Durchlaufen des Zählern 3 durch alle Zählerstellungen alle Abtastwerte
des Sprachsignal des Zeitabschnitts im Spradh-
signalspeicher 1
adressiert worden sind und das Register 7 den Wert der Gesamtenergie des Sprachsignals
im Zeitabschnitt enthält.
-
Der Ausgang 8 des Registers 7 ist mit dem einen Eingang eines Schwellwert-Vergleichers
9 verbunden, dessen anderer Eingang mit einer Quelle 19 zum Liefern eines festen
Schwellwertes verbunden ist. Der feste Schwellwert der Quelle 19 kann auch von dem
Sprachsignal in einer Sprachpause abgeleitet sein, so daß dieser feste Schwellwert
nur das Rauschen berücksichtigt und z. B. das 1,5-fache der gesamten Rauschenergie
in einem Zeitabschnitt darstellt.
-
Der Ausgang 8 des Registers 7 ist ferner mit dem einen Eingang eines
Nultiplizierers 13 verbunden, dessen anderer Eingang mit einer Quelle 6 zum Liefern
eines experimentell bestimmten konstanten Faktors p verbunden ist.
-
Dieser Multiplizierer 13 erzeugt an seinem Ausgang 14 nach einem vollständigen
Durchlauf des Zählers 3 einen Wert entsyrechend einem Bruchteil vcn z.B. 62,5 %
der Gesamtenergie des Sprachsignals im Zeitabschnitt.
-
Wenn der Wert der Ges.xmtenergie am Ausgang 8 des Registers 7 den
von der Quelle 19 gelieferten Schwellwert überschreitet, gibt der Schwellwert-Vergleicher
9 an seinem Ausgang 10 ein Signal ab, das dem einen Eingang eines UND-Gatters 15
und einem Umschalter 19 zugeführt wird, der in eine Stellung entgegengesetzt zur
gezeichneten Stellung umgeschaltet wird und den Dateneingang eines Vergleichsregisters
11 mit dem Ausgang 14 des Multiplizierers 13 verbindet. Der Umschalter 19 wird zweckmäßig
ebenso wie die anderen Umschalter der Anordnungen nach Fig. 3 und 4 durch elektronische
Mittel realisiert. Ferner führt der Ausgang 10 des Schwellwert-Vergleichers 9 auf
einen Ausgang c dieser Teilanordnung, der mit einem
entsprechenden
Eingang der Teilanordnung in Fig. 4 verbunden ist, wie dabei erläutert wird.
-
Am Ende eines vollständigen Umlaufs des Zählers 3 erscheint am Steuerausgang
4, der vom Ubertragsausgang des Zählers 3 abgeleitet sein kann, ein Folgeende-Signal,
das dem Einschreib-Eingang des Vergleichsregisters 11 zugeführt wird und dort den
Wert am Ausgang 14 des Multiplizierers 13 einschreibt Ferner ist dieser Steuerausgang
4 mit dem anderen Eingang des UND-Gatters 15 verbunden, so daß nun an dessen Ausgang
16 ein Signal erscheint. Dieser Ausgang 16 führt sowohl auf einen Ausgang b dieser
Teilanordnung, der auf einen entsprechenden Eingang der Anordnung nach Fig. 4 führt
und dort erläutert wird, als auch auf den J-Eingang eines J-K-Flipflops 17, dessen
Takteingang das invertierte Taktsignal Ck erhält, so da bei eine SipTjal auf dem
Steuerausgang 4, das kurz nach Beginn eines Taktsingals Ck erscheint, eine halbe
Taktzeit später das J-K-Flipflop 17 seinen Zustand wechselt und am Ausgang Q ein
Signal erzeugt. Dieses Signal wind über die Leitung 18 dem Löscheingang des Registers
7 zugeführt, wodurch dieses auf Null zuruckgesetzt wird und damit das Signal am
Ausgang 10 des Schwellwert-Vergleichers 9 und dadurch auch das Signal am Ausgang
16 des UND-Gatters 15 verschwindet, und das außerdem dem Ausgang a dieser Anordnung
zugeführt wird, der mit entsprechenden Eingängen der Anordnungen nach Fig. 3 und
4 verbunden ist.
-
Damit ist die Bestimmung des Bruchteils der Energie, die von einer
Summe für die Berücksichtigung bei der Suche des minimums nicht überschritten werden
darf und die nun im Verglelchsregister 11 gespeIchert ist, beendet.
-
Die in Fig. 3 dargestellte Teilanordnung führt nun die Suche nach
dem Minimum einer Folge von Summen durch. Darin sind einige Elemente der Teilanordnung
nach Fig. 2 nochmals dar-
gestellt und mit gleichen Bezugszeichen
versehen. Der Sprachsignalspeicher 1 wird wieder von dem Zähler 3 über die Leitung
2 adressiert, jedoch nicht direkt, sondern nun über einen Umschalter 27. Außerdem
erhält der Zähler 3 seinen Zähltakt nicht direkt, sondern ebenfalls über einen Umschalter
21. Dieser Umschalter 21 wird durch ein Startsignal St auf der Leitung 20, das zu
Beginn der Verarbeitung jedes Zeitabschnitts des Sprachsignals, d. h. alle 10 ms
erscheint, in die dargestellte Stellung geschaltet. Damit erhält der Zähler 3 das
Tatksignal Ck direkt, wie in Fig. 2 dargestellt wurde. Am Ende des ersten Durchgangs
des Zählers 3, d. h. mit dem ersten Folgeende-Signal am Steuerausgang 4, wird der
Schalter 21 in die entgegengesetzte Lage umgeschaltet, so daß der Takteingang des
Zählers 3 nunmehr mit dem Ausgang 22 eines J-K-Flipflops 23 verbunden ist.
-
Der Takteingang dieses J-K-Flipflops 23 erhält das Taktsignal Ck,
und die J- und K-Eingänge sind gemeinsam mit dem Eingang a verbunden, der von dem
Ausgang des J-K-Flipflops 17 in Fig. 2 abgeleitet ist und der nach dem Ende des
ersten Durchlauf des Zählers ein Signal erzeugt, wie dort beschrieben wurde. Damit
wechselt nun das J-K-Flipflop 23 mit jedem Takt des Taktsignals Ck seinen Zustand
und führt damit den Leitungen 22 und 24 abwechselnd ein Signal zu.
-
Der Ausgang 2 des Zählers 3 ist mit.dem einen Eingang eines Addierers
25 verbunden, dessen anderer Eingang über die Leitung 30 mit dem Ausgang eines Zählers
29 verbunden ist. Der Ausgang dieses Zählers 29 gibt die Verschiebung der beiden
Sprachsignale über eine Verschiebung der Adressen bei der Adressierung des Sprachsignalspeichers
1 an und ist vorher über die Leitung 28 auf einen Anfangswert, z. B. den Wert kmin
nach Fig. Ib, eingestellt worden. Der Addierer 25 erzeugt somit am Ausgang eine
Adresse, die um
den Wert der auf der Leitung 30 vorhandenen Verschiebung
gegenüber der Adresse auf der Leitung 2 verschoben ist, und führt diese verschobene
Adresse der einen Seite des Umschalters 27 zu Zu Beginn erzeugt der Zähler 3 nach
dem vollendeten Durchgang wieder die Anfangsadresse, so daß im Sprachsignalspeicher
1 die erste Adresse ausgelesen und deren Inhalt einem Register 31 und einem Subtrahierer
33 zugeführt wird.
-
Sobald das J-K-Flipflop 23 umschaltet und auf der Leitung 24, die
mit dem Umschalter 27 und dem Eingschreib-Eingang des Registers 31 verbunden ist,
ein Signal erzeugt, wird dieser erste Inhalt in das Register 31 eineschrieben und
gleichzeitig der Umschalter 27 in die entgegengesetzte Stellung umgeschaltet, so
daß nun der Inhalt der verschobenen Adresse ausgelesen und dem Subtrahierer 33 zugeführt
wird. Dieser Subtrahierer 33 bildet nun die Differenz zwischen den Inhalten der
ersten und der verschobenen Adresse, und zwar hier nicht in Zweierkomplement-Darstellung,
sondern nach Betrag und Vorzeichen, wobei nur die den Betrag angebenden Signale
dem einen Eingang eines Addierers 35 zugeführt werden, wie durch die beiden parallelen
Striche an dieser Verbindung angedeutet ist, während der Vorzeichenausgang nicht
angeschlossen ist.
-
Der Addierer 35 ist mit seinem Ausgang an ein Register 37 angeschlossen,
essen Ausgang 38 an den anderen Eingang des Addierers 35 angeschlossen ist. Der
Einschreib-Eingang des Registers 37 ist über die Leitung 22 mit dem Q-Ausgang des
J-K-Flipflops 23 verbunden, so daß mit dem nächsten Taktsignal Ck der Ausgangswert
des Addierers 35 in das Register 37 eingeschrieben wird, wenn gleichzeitig der Umschlater
27 in die dargestellte Stellung zurückgeschaltet wird und der Zähler 3 ein Taktsignal
erhält, so daß er die zweite Adresse im Sprachsignalspeicher 1 ansteuert. Da das
Register 37 zu Anfang gelöscht war, d. h. den Wert Null ent-
hielt,
wie später erläutert wird, werden somit die vom Subtrahierer 33 erzeugten Beträge
der Differenzen im Register 37 aufsummiert.
-
Der Ausgang 38 des Registers 37 ist ferner mit dem einen Eingang eines
Vergleichers 41 verbunden, dessen anderer Eingang mit dem Ausgang des Registers
11 verbunden ist, das bereits im Zusammenhang mit der Anordnung nach Fig. 2 erläutert
wurde und einen Wert enthält, der einem Bruchteil der Gesamtenergie des Sprachsignals
im Zeitabschnitt entspricht.
-
Sobald nun der Wert am Ausgang 38 des Registers 37 während des Aufsummierens
der Differenzen den Wert am Ausgang des Registers 11 überschreitet, erzeugt der
Vergleicher 41 ein Ausgangssignal auf der Leitung 42, das den Zähler 3 auf die Anfangsstellung
zurücksetzt, bevor dieser einen vollständigen Durchlauf beendet hat. Außerdem erzeugt
das Signal auf der Leitung 42 über das ODER-Glied 43 ein Signal auf der Leitung
44, die mit dem Takteingang des Verschiebungszählers 29 und dem Löscheingang des
Registers 37 verbunden ist, so daß das Ausgangssignal des Vergleichers 41 dem Verschiebungszähler
29 einen Zähltakt zuführt, so daß der Wert auf der Leitung 30 um eine Einheit erhöht
wird, und das Register 37 auf den Anfangswert Null zurücksetzt, so daß mit der neuen
Adressenverschiebung erneut eine Aufsummierung der Differenzen erfolgt.
-
Erst wenn während der Aufsumrrierung der Wert am Ausgang 38 des Registers
37 den Wert am Ausgang des Registers 11 nicht überschreitet, bis der Zähler 3 einen
vollständigen Durchlauf beendet und somit alle Differenzen aufsummiert sind, erscheint
auf dem Steuerausgang 4 ein Folgeende-Signal, das ebenfalls wie ein Signal auf der
Leitung 42 über das ODER-Gatter 43 und die Leitung 44 den Verschiebungszähler 29
um einen Schrit-weiterschaltet und das Register 37löscht.
-
Außerdem erhält nun das Register 11
einen Einschreibtakt,
so daß der über den Umschalter 19 zugeführte Wert in das Register 11 eingeschrieben
wird.
-
Dieser Umschalter 19, der vom Ausgangssignal des Schwellwert-Vergleichers
9 in Fig. 2 gesteuert wird, befindet sich in der dargestellten Stellung, da das
Signal am Ausgang 10 dieses Schwellwert-Vergleichers durch das Signal auf der Leitung
1., bzw. am Ausgang a wieder zum Verschwinden gebracht wird. In das Register 11
wird daher der Wert am Ausgang 38 des Registers 37, d. h. eine Summe kleiner als
der Bruchteil der Gesamtenergie bzw. später kleiner als die jeweils vorhergenende
Summe eingeschrieben.
-
Falls danach wieder eine größere Surirne auftritt, erzeugt der Vergleicher
41 wieder ein Signal auf dem Ausga42, wodurch u. a. der Zähler 3 wieder ohne Vollendung
eines vollständigen Durchlaufs auf den Anfangswert zurückgesetzt wird, so daß dann
kein Signal auf dem Steuerausgang 4 erscheint. Dadurch enthält das Register 11 schließlich
die kleinste aufgetretene Summe, und das letzte Signal am Steuerausgang 4 tritt
auch zusammen mit dieser kleinsten Summe, d. h. dem Minimum der Folge von SLmen1
au.
-
Die Leitung 30, die den inert der Verschiebung der Sprachsignale bzw.
der Adressen gegeneinander angibt. führt auf den Ausgang k der Teilanordnung in
Fig. 3, und der Steuerausgang 4 führt auf den Ausgang s dieser Teilanordnung.
-
Diese beiden Ausgänge sind mit der Teilanordnung in Fig. 4 verbunden.
-
Die in Fig. 4 dargestellte Anordnung1 in der auch das J-I-Flipflop
17 aus Fig. 2 nochmals dargestellt ist, dient zum Bestimmen und zum Steuern des
Endes der Suche n-acn- dam Minimum der Funlction F, d. h. dem Minimum der Folge
von Summen.
-
Der Eingang k, der den Verschiebungswert führt, ist mit dem Dateneingang
eines Registers 51 verbunden, dessen Ein-
schreib-Eingang mit dem
Eingang s verbunden ist, der das Folgeende-Signal vom Steuerausgang 4 in Fig. 3
erhält.
-
Dadurch enthält das Register 51 jeweils entsprechend wie das Register
11 in Fig. 3 den Wert der Verschiebung, bei dem die kleinste Summe der Differenzen
aufgetreten ist, und somit auch den Wert kp der Verschiebung beim Minimum der Funktion
F in Fig. Ib.
-
Ferner ist der Eingang k mit dem einen Eingang eines Maximum-Vergleichers
65 verbunden, dessen anderer Eingang mit dem Ausgang 64 eines Registers 63 verbunden
ist, der den Wert der maximalen Verschiebung enthält, bis zu dem nach einem Minimum
der Funktion F gesucht werden soll.
-
Dieser Wert wird über den Umschalter 61, der mit dem Dateneingang
des Registers 63 verbunden ist, auf folgende Weise eingeschrieben.
-
Nach einem Startsignal erzeugt während des ersten Durchlaufs des Zählers
3, bei dem die Gesam-lJellGrgie des Sprachsignals ermittelt wird, der Schwellwert-Vergleicher
9 am Ausgang 10 und damit am Ausgang c ein Signal, wenn diese Energie einen vorgegebenen
Schwelle wert überschreitet, und der Ausgang c ist in Fig. 4 mit dem einen Eingang
eines ODER-Gatters 59 verbunden, das den Umschalter 61 ansteuert und in die Stellung
entgegengesetzt zur gezeichneten Stellung umschaltet.
-
Damit wird dem Dateneingang des Registers 63 ein Maximalwert kmax
der Verschiebung von einer Quelle 55 zugeführt, die aus einer Anzahl fest mit einer
der beiden Signalspannungen verbundenen Leitungen bestehen kann. Ferner wird durch
das Signal am Ende dieses ersten Durchlauf s auf dem Steuerausgang 4 in Fig. 2 ein
Signal über den Ausgang b dem gleich bezeichneten Eingang in Fig. 4 zugeführt, das
über das ODER-Gatter 75 dem Einschreib-Eingang des Registers 63 zuführt. Damit enthält
dieses Register 63 zu Beginn der Suche nach dem Minimum den Maximalwert kmax der
Verschiebung, damit bei einem stimm-
losen Teil des Sprachsignals,
bei dem kein Minimum der Folge der Summe auftritt, die Suche nach dem Minimum beendet
werden kann.
-
Wenn danach eine vollständige Summe der Differenzen kleiner ist als
der vorgegebene Bruchteil der Energie, wird auf der Steuerleitung 4 in Fig. 3 wieder
ein Folgeende-Signal abgegeben, wie dort beschrieben wurde, und dieses Signal gibt
das UND-Gatter 73 frei, da das Flip-flop 71 sich in der rückgesetzten Stellung befindet
und somit der Q-Ausgang auf der Leitung 72 ein Signal abgibt, so daß das nächste
inverse Taktsignal Ck am Ausgang des UND-Gatters 73 und damit über das ODER-Gatter
75 auch am Einschreib-Eingang des Registers 63 ein Signal erzeugt. Ferner ist der
den Verschiebungswert führende Eingang k mit dem einen Eingang eines Addierers 53
verbunden, dessen anderer Eingang einen festen Bereichswert#k erhält, beispielsweise
durch entsprechende feste Verdrahtung mit Signalspannungen. Der Ausgang des Addierers
53 liefert d~n Wert ka + 6 k und führt außer auf den einen Eingang des Umschalters
61 auch auf den einen Eingang des Vergleichers 57, dessen anderer Eingang mit dem
maximalen Verschiebungswert kmax der Quelle 55 verbunden ist Nur wenn der Wert am
Ausgang des Addierers 53 größer ist als der von der Quelle 55 gelieferte Wert, erzeugt
der Vergleicher 57 ein Ausgangssignal, das über das ODER-Gatter 59 den Umschalter
61 in die entgegengesetzte Stellung umschaltet, so daß in das Register 63 nochmals
der Maxißmalwert kmax der Verschiebung eingeschrieben wird. In den meisten Fällen
wird jedoch der Wert ka +#k am Ausgang des Addierers 53 kleiner sein als der Maximalwert,
so daß dieser über den nicht umgeschalteten Umschalter 61 in das Register 63 eingeschrieben
wird.
-
Wie bei der Fig 2 erläutert1 wird das J-K-FlipS 17 erst eine halbe
Taktzeit nach dem Auftreten des ersten Signals am Steuerausgang 4 umgeschaltet,
so daß erst dann ein Signal am Ausgang a erscheint. Dieser Ausgang a
ist
über den gleich bezeichneten Eingang mit dem D-Eingang eines D-Flipflops 77 verbunden,
das sich zunächst im Ruhezustand befindet, wobei der 0Ausgang auf der Leitung 78
ein Signal erzeugt, das das Register 51 gelöscht und die bistabile Kippstufe 71
zurückgesetzt hält. Erst mit dem nächsten inversen Taktsignal CE, wenn das Signal
am Steuerausgang 4 in Fig. 2 bzw. Fig. 3 und somit auch das Signal am Eingang s
in Fig. 4 verschwunden ist, wird das D-FlipfloD 77 umgeschaltet, so daß das Signal
auf der Leitung 78 verschwindet. Beim nächsten Signal am Eingang s, mit dem das
Register 63 zum zweiten Mal eingeschrieben wird, wird das D-Flipflon 71 über den
Eingang vorbereitet und mit den nächsten Taktsignal Ck umgeschaltet, so daß nun
das Signal am Ausgang verschwindet und das U,JD-Gabter 73 gesperrt wird, so daß
das Register 63 nicht wieder eingeschrieben wird, bis ein neues Startsignal für
einen neuen Zeitabschnitt des Sprachsignals erscheint.
-
Wenn nun der Verschiebungswert am Eingang k größer wird als der Wert
am Ausgang 64 des Registers 63, d. h. wenn das Ende des Bereichs, in dem ein Minimum
gesucht wird, oder der Viaximalwert der Verschiebung erreicht ist, erzeugt der Vergleicher
65 auf der Ausgangsleitung 66 ein Signal, das den Einschreib-Eingang eines Speichers
69 ansteuert, dessen Dateneingang mit dem Ausgang 52 des Registers 51 verbunden
ist, das in diesem Augenblick den Wert der Verschiebung beim Minimum der Funktion
F enthält. Dadurch werden im Speicher 69 die Periodendauern aufeinanderfolgender
Sprachabschnitte gespeichert.
-
Ferner ist die Leitung 66 mit dem Eingang des J-K-Flipflops 17 verbunden,
das am Takteingang das inverse Taktsignal Ck erhält, so daß eine halbe Taktzeit
nach dem Erreichen des Endpunkte der Suche nach dem Minimum das J-K-Flipflop 17
umschaltet, wodurch das Signal am Q-Ausgang 13 und da-lt am Ausgang a verschwindet.
Dadurch ver-
schwindet auch das Signal an den J- und K-Eingängen
des Flipflops 23 in Fig. 3, so daß dieses in der Stellung stehen bleibt, in der
am Ausgang auf der Leitung 22 ein Signal erzeugt wird, und keine weiteren Signalwechsel
mehr erscheinen bis zur Verarbeitung des nächsten Zeitabschnitts des Sprachsignals.
Damit ist die Bestimmung der Periodendauer der Stimmbandgrundfrequenz in einem Zeitabschnitt
eines Sprachsignals beendet. Die im Speicher 69 schließlich enthaltene Folge von
Periodendauern des Sprachsignals kann anschließend noch weiterverarbeitet werden,
beispielsweise können einzelne Ausreißen bei den Werten, die durch Periodenverdoppelung
bzw. -vervielfachung entstehen können, beseitigt und die durch stimmlose Sprachabschnitte
erzeugten Pausen ausgefüllt werden.
-
Der minimale Wert der Verschiebung, bei dem die Suche nach dem Minimum
beginnt und der Jeweils in den Zähler 29 in Fig. 3 eingeschrieben wird, muß nicht
beim Minimalwert kmin beginnen, sondern er kann auch von der Periodendauer des Sprachsignals
im vorhergehenden Abschnitt abgeleitet werden, z.B. durch Verminderung um einen
festen Wert, sofern dabei nicht der Minimalwert kmin unterschritten wird Hierfür
muß dann der in den Speicher 69 eingeschriebene Wert in einem Register zwischengespeichert
werden, an das eine Anordnung ähnlich der Anordnung zur Bestimmung der maximalen
Verschiebung in Fig. 4 aus den Elementen 53, 55, 57 und 61 angeschlossen wird. Falls
das Verfahren zur Stimmbandgrundfrequenz für die Sp.recherverifikation verwendet
werden soll, wo die aus einem Sprachsignal gewonnenen Daten mit den Referenzdaten
des angegebenen Sprechers verglichen werden, kann bei diesen Referenzdaten die untere
Grenze für die Periode der Stimmbandgrundfrequenz mit gespeichert sein. Dabei ergibt
sich eine weitere merkliche Einsparung an Rechenzeit.
-
In der beschriebenen Anordnung können die angegebenen
Elemente,
wie Speicher, Register und Rechenelemente in verschiedener bekannter Weise aufgebaut
sein. Dabei können beispielsweise die beiden Speicher zu einem einzigen Speicher
entsprechender Größe zusammengefaßt werden, und auch die Rechenelemente können durch
Mehrfach-Ausnutzung zusammengefaßt werden. Insbesondere können diese Elemente, wie
auch die Register und Vergleicher, alle oder zumindest zum Teil durch einen fest
programmierten Mirkoprozessor ersetzt werden.