-
Hintergrund
der Erfindung
-
Die
vorliegende Erfindung bezieht sich auf Echolöschung in der Telekommunikation.
Insbesondere richtet sich diese Erfindung auf die Probleme des starken
akustischen Echos in der Zellulartelefon-Technologie.
-
Eine
Echolöschungsvorrichtung
ist eine notwendige Komponente bei der modernen Telekommunikation.
In Situationen nicht-perfekter Impedanzanpassung kann ein über ein
Telekommunikationsnetzwerk gesendetes Signal zurück zum Signalgenerator reflektiert
werden. Da das reflektierte Signal von dem Ort der Impedanzfehlanpassung
und zurück
zum Generator laufen muss, empfängt
der Signalgenerator das reflektierte Signal mit einer Verzögerung.
Diese Rückkehr
eines reflektierten Signals mit einer Verzögerung ist allgemein als Echo
bekannt. Ohne Echolöschung
würde ein
Telefonbenutzer nicht in der Lage sein, effektiv zu kommunizieren,
weil das reflektierte Signal die Stimme des Sprechers/der Sprecherin nach
jedem abgegebenen Ton zu ihm oder ihr zurückbringen würde.
-
Zusätzlich zum
durch Impedanzfehlanpassungen in dem Netzwerk erzeugten Echo kann
die Akustik der Telefonbenutzung ein Echo erzeugen. Ein akustisches
Echo wird meistens durch Verwendung eines freihändigen Telefons erzeugt. In
Fällen, in
denen der Echosignalpegel nahe oder größer als das erzeugte Signal
ist, wird ein starkes akustisches Echo beobachtet. Im Allgemeinen
arbeiten Echolöscher
zufriedenstellend; die Leistung des echoerzeugenden Signals muss
um einen vorbestimmt eingestellten Schwellenwert größer sein
als das Echosignal. Dieser Schwellenwert wird üblicherweise auf 6 dB gesetzt.
In Situationen, in denen die Echosignalleistung näher an der
Leistung des echoerzeugenden Signals liegt als der vorbestimmt eingestellte
Schwellenwert, wird das Echo als starkes Echo bezeichnet.
-
US 5,649,012 offenbart ein
Verfahren zum Bestimmen einer Echoposition. Das Verfahren umfasst
Aufsummieren von Energien von Gruppen von Filterkoeffizienten und
Zuweisen jeder summierten Gruppe von Koeffizienten zu einem Kriterium,
Bestimmen einer Differenz zwischen jeder aufsummierten Gruppe von
Koeffizienten und der vorangehenden Gruppe von Koeffizienten, die
demselben Kriterium zugeordnet sind, Erhöhen oder Erniedrigen eines dem
Kriterium zugeordneten Zählers,
basierend auf der bestimmten Differenz, Vergleichen des jedem Kriterium
zugeordneten Zählerstandes
mit einem Schwellenwert und Bestimmen einer Echoposition, basieren
auf dem Ergebnis jedes Vergleichs.
US 5,649,012 offen bart
nicht die Bestimmung eines größten Adaptivfilterkoeffizienten-Leistungswertes oder
das Anpassen eines Zählers
als Antwort auf den größten Adaptivfilterkoeffizienten-Leistungswert.
US 5,649,012 offenbart kein
Verfahren zum Bestimmen der Echostärke.
-
WO-A-9723055
offenbart die Berechnung eines Restleistungs-Schätzwertes, der auf einer Leistung
eines Ausgangssignals eines Echounterdrückers basiert, wobei der Restleistungs-Schätzwert mit
einem Schwellenwert verglichen wird.
-
Bei
der Zellulartelefon-Technologie weisen Echolöschungsvorrichtungen die Fähigkeit
auf, ein von dem Generator gehörtes
Signal auszuschneiden oder zu beschneiden, um ein Restecho von dem Echolöscher zu
eliminieren. Dies ist typischerweise bekannt als Mittenbeschneidungs-Funktion
(center clipping function). Obgleich Echolöscher nach dem Stand der Technik
eine Mittenbeschneidungs-Funktion aufweisen, hindert das Vorliegen
einer hohen Restecho-Ausgangsleistung den Echolöscher daran, ein starkes Echo
ausreichend zu bekämpfen,
insbesondere ein starkes akustisches Echo.
-
Kurze Beschreibung
der Zeichnungen
-
1 ist
ein Blockdiagramm des Standes der Technik.
-
2 ist
ein Blockdiagramm der vorliegenden Ausführungsform.
-
3 ist
ein Flussdiagramm der vorliegenden Ausführungsform.
-
Detaillierte Beschreibung
der derzeit bevorzugten Ausführungsformen
-
Die
vorliegende Ausführungsform
komplettiert einen bestehenden Echolöscher durch das Detektieren
eines starken Echos und durch Anweisen des Echolöschers, seine Mittenbeschneidungs-Funktion
zu verwenden. Dies erfolgt durch Auswerten der Koeffizienten aus
dem adaptiven Filter des bestehenden Echolöschers.
-
Typischerweise
werden Echolöscher
unter Verwendung einer Zeit-, Frequenz- oder Sub-Band-Analyse der
Eingangssignale, die Koeffizienten für ein adaptives Filter liefert,
implementiert. Dieses adaptive Filter manipuliert das Wunschsignal, um
ein echofreies Ausgangssignal zu erzeugen. Der Fachmann wird erkennen,
dass das üblichste
Verfahren zum Erzeugen von Koeffizienten für das adaptive Filter ein LMS-Ansatz
(least mean squares: kleinste Fehlerquadrate) ist.
-
Die
vorliegende Ausführungsform
verwendet die Koeffizienten, die das adaptive Filter betreiben, um
zu analysieren, ob der Echolöscher
korrekt funktioniert. Außerdem
wertet die vorliegende Ausführungsform
die Leistung der Signale und des Hintergrundrauschens aus. Durch
Analysieren der Koeffizienten des Echolöschers durch Leistungsmessungen und
Einbeziehung von Hintergrundrauschen detektiert der Starkecho-Detektor
und -Controller starke Echos und wendet die Mittenbeschneidungs-Funktion
auf den Echolöscher
an.
-
Die
vorliegende Ausführungsform
ist jedoch nicht auf die Löschung
und Detektion starker Echos beschränkt. Die Analyse der Adaptivfilter-Koeffizienten
des Echolöschers
kann nützlich
sein zum Detektieren und Steuern anderer Echoumgebungen, in denen
ein Echo vorliegt. Darüber
hinaus verbessert die vorliegende Ausführungsform den Stand der Technik durch
Auswerten der Leistung des Echolöschers durch
Frequenzdomänenanalyse
der Adaptivfilterkoeffizienten.
-
Die
vorliegende Ausführungsform
richtet sich auf Echolöschung
in der Zellulartelefon-Technologie. Insbesondere wird die bevorzugte
Ausführungsform in
der Telekommunikations-Infrastruktur implementiert. Insbesondere
ist die bevorzugte Ausführungsform
auf der Transcoder-Ebene der Infrastruktur eingebettet. Bei der
Alternative kann die vorliegende Ausführungsform direkt in einem
Zellulartelefon oder an einer anderen Position in der Infrastruktur
eingebettet sein.
-
1 zeigt
ein typisches Echolöschungssystem
nach dem Stand der Technik. Ein Referenzsignal 10 wird
in ein echoerzeugendes System 20 eingegeben. Als eine Ausgabe
aus dem echoerzeugenden System wird ein Echosignal 30 erzeugt.
Das Referenzsignal 10, auch als Fernenden-Sprache x(n) bezeichnet,
ist eines von zwei Sprachsignalen in dem Echolöschungssignal. Das andere Sprachsignal
ist das Nahenden-Sprachsignal 40.
Die Aggregation des Nahenden-Sprachsignals 40 und des Echosignals
erzeugt das Wunschsignal 50. Das Wunschsignal 50 wird
als s(n) geschrieben. Der Echolöscher 60 wirkt,
um das Wunschsignal 50 so echofrei wie möglich zu übertragen.
Der Echolöscher 60 ergibt
ein Ausgangssignal 70, geschrieben als e(n).
-
2 ist
ein Blockdiagramm der vorliegenden Ausführungsform. Ein Echolöscher 60 ist
mit einem Starkecho-Detektor und -Controller (SEDC: severe echo
detector and Controller) 100 gekoppelt. In den Echolöscher 60 ist
eine Mittenbeschneidungs-Funktion 110 und ein adaptives
Filter 130 eingebaut. Der Starkecho-Detektor und -Controller 100 kommuniziert
mit dem Echolöscher 60,
um die Mittenbeschneidungs-Funktion 110 zu aktivieren oder zu
deaktivieren. Bei der bevorzugten Ausführungsform ist eine Status-Flag 120,
bezeichnet als "cclip", der Kommunikationsmodus
zwischen dem Echolöscher 60 und
dem SEDC 100. Der SEDC 100 wertet aus, ob ein
starkes Echo vorliegt, indem ein Satz von Koeffizienten aus dem
adaptiven Filter 130 untersucht wird. Bei der bevorzugten
Ausführungsform sind
sowohl der Echolöscher 60 als
auch der Starkecho-Controller und -Detektor im Speicher als Softwaremodule
gespeichert, die von einem digitalen Signalprozessor 140 laufen
gelassen werden. Die bevorzugte Ausführungsform ist in einem digitalen
Signalprozessor Motorola, Inc. 56301 implementiert, der mit einem
Code in Assembly-Sprache läuft.
Die vorliegende Erfindung kann jedoch auch unter Verwendung anderer
digitaler Signalprozessoren, wie etwa eines anderen Prozessors der
Motorola 563x-Serie oder einem Prozessor der TMS320C5x-Serie von
Texas Instruments, Inc. implementiert werden. Ein allgemeiner Prozessor
oder eine festverdrahtete Schaltung können ebenfalls benutzt werden,
ohne sich von dem wesentlichen Umfang der Erfindung zu entfernen.
-
3 ist
ein Flussdiagramm eines Verfahrens der vorliegenden Ausführungsform.
Die vorliegende Ausführungsform
basiert auf einem Echolöscher 60,
der eine Echolöschung
im Zeitdomänenmodus
verwendet. Bei der Alternative wird der Fachmann erkennen, dass
auch Frequenz- oder Subband-Domänen-Ansätze verwendet
werden können. In
Schritt 200 wird alle 20 Millisekunden eine schnelle Fourier-Transformation
(FFT: fast Fourier transform) auf einem Satz von Koeffizienten aus
dem adaptiven Filter 130 durchgeführt.
-
Bei
der bevorzugten Ausführungsform
umfasst dieser Satz von Koeffizienten Datenwerte, die in einem Speicher
gespeichert sind, auf den mittels des digitalen Signalprozessors 140 zugegriffen
werden kann. Die bevorzugte Ausführungsform
verwendet einen Satz von 128 Koeffizienten und führt eine 128-Punkte-FFT mit
einem Spitzenecholöscher-Adaptivfilterkoeffizienten
im Zentrum durch. Schritt 200 konvertiert die Zeitdomänen-Koeffizienten
in einen Satz von Frequenzdomänen-Werten.
Der Fachmann wird anerkennen, dass, wenn der Echolöscher 60 einen
Frequenzdomänen-Modus
der Analyse verwendet, Schritt 200 nicht erforderlich ist.
-
Nachdem
die Koeffizienten in die Frequenzdomäne gewandelt sind, fährt Schritt 210 damit
fort, den Maximalenleistungswert, bekannt als "Kriterienmaximalleistung" (max bin power)
zu identifizieren. Die Kriterienmaximalleistung wird identifiziert,
indem die Ergebnisse von Schritt 200 quadriert werden und der
größte Wert
isoliert wird. Nachdem die Kriterienmaximalleistung identifiziert
ist, vergleicht 210 den Kriterienmaximalwert alle 20 Millisekunden
mit einem Schwellenleistungswert. Bei der bevorzugten Ausführungsform
ist dieser Schwellenwert –7
Dezibel (dB). Ein Wert von –7
dB ist typischerweise kennzeichnend für das Vorliegen eines starken
Echos.
-
Schritt 210 folgt
mit einer Modifikation eines Zählers.
Wenn die Kriterienmaximalleistung größer ist als der Schwellenpegelwert,
wird der Zähler
erhöht.
Wenn jedoch die Kriterienmaximalleistung kleiner ist als der Schwellenpegelwert,
wird der Zähler erniedrigt,
vorausgesetzt der Zähler
ist größer als Null.
-
Schritt 220 untersucht
den Zähler
alle 20 Millisekunden. Der Wert des Zählers bestimmt, ob Bedingungen
für ein starkes
Echo vorliegen. Bei der bevorzugten Ausführungsform ist der Zähler-Schwellenwert
auf 12 gesetzt. Wenn der Zählerwert
größer als
ein Zähler-Schwellenwert
ist, folgert das System, dass ein starkes Echo vorliegt und fährt fort
zu Schritt 400, dem ersten Schritt in der Ausschneide-Subroutine
(EXCISION). Anderenfalls kehrt das Verfahren zur Haupt-Echolöschungs-Routine
zurück.
-
Die
Ausschneide-Subroutine, die vorzugsweise alle 4 Millisekunden durchgeführt wird,
steuert den Echolöscher.
Um dieses Stadium zu erreichen, stellt das System zunächst fest,
dass ein starkes Echo vorliegt. Bei der bevorzugten Ausführungsform wird
der Echolöscher 60 durch
eine Status-Flag 120 gesteuert.
Wenn das System anzeigt, dass ein starkes Echo von dem Echolöscher 60 nicht
richtig behandelt wird, ändert
es die Status-Flag 120.
-
Bei
der bevorzugten Ausführungsform
werden mehrere Eingaben verwendet, um den Echolöscher 60 zu steuern.
Diese Eingaben sind die Status-Flag 120, eine Referenzsignalleistung
(Px) 310, eine Wunschsignalleistung (Ps) 330,
ein Referenzsignalhintergrundrauschpegel (Bx) und ein Wunschsignalhintergrundrauschpegel
(Bs). Obgleich es eine Vielzahl von Verfahren zum Bestimmen jeder
dieser Eingaben gibt, verwendet die bevorzugte Ausführungsform
ein spezielles Verfahren zum Bestimmen der Referenzsignalleistung 310.
-
Die
Referenzsignalleistung 310 wird in Schritt 300 bestimmt.
In Schritt 300 wird das Referenzsignal 10 eingegeben
und die Referenzsignalleistung 310 wird alle 4 Millisekunden
berechnet. Die in Schritt 210 eingeführte Spitzenechoposition wird verwendet,
um die Leistungsmessung zu zentrieren. Alle 4 Millisekunden werden
vier Durchschnittsreferenzleistungen, entsprechend vier 4-Millisekunden-Refe renzsegmenten
berechnet. Diese vier 4-Millisekunden-Segmente entsprechen zwei
Längensegmenten
vor der Spitzenechoposition und zwei Segmenten nach der Spitzenechoposition,
wobei jedes der Segmente eine Länge
von 4 Millisekunden hat.
-
Die
Wunschsignalleistung 330 wird in Schritt 320 bestimmt.
Dies beinhaltet das Auffinden der Durchschnittsleistung alle 4 Millisekunden.
Es können
verschiedene Verfahren zum Bestimmen der Signalleistung verwendet
werden. Beispielsweise verwendet die bevorzugte Ausführungsform
ein rechtwinkliges Mittelungsschema, wobei alle in einem Segment
enthaltenen Samples quadriert, summiert und dann durch die Anzahl
von Samples in dem Segment dividiert werden, um den Durchschnittswert
zu erhalten.
-
Sind
die Referenzsignalleistung 310 und die Wunschsignalleistung 330 berechnet,
fährt das
System zu der Ausschneide-Subroutine 400 fort. Die Ausschneide-Subroutine 400 zeigt
an, dass Schritt 220 geschlussfolgert hat, dass ein starkes
Echo vorliegt.
-
Schritt 410 beginnt
die Steuerung des Echolöschers 60,
in dem ausgewertet wird, ob die Status-Flag 120 OFF ist.
Bei der bevorzugten Ausführungsform
zeigt das OFF-Setzen der Status-Flag an, dass der Echolöscher 60 keine
Bedingungen für ein
starkes Echo detektiert hat. Bei einer alternativen Ausführungsform
könnte
das ON-Setzen benutzt werden, um anzuzeigen, dass kein starkes Echo
detektiert wurde. Wenn der Test in Schritt 410 "falsch" ist, steht die Status-Flag 120 auf
ON und der Echolöscher 60 hat
das Echo bereits angemessen gehandhabt. Das System fährt dann
fort zu Schritt 420.
-
In
Schritt 420 setzt das Verfahren ein Register für frühere Status-Flags
auf den Wert der aktuellen Status-Flag 120 und kehrt zu
der Haupt-Echolöschungsroutine
zurück.
Schritt 420 zeigt an, dass das System den Echolöscher nicht
zu modifizieren braucht.
-
Wenn
der Test in Schritt 410 "wahr" ist,
zeigt die Status-Flag 120 an, dass der Echolöscher 60 kein starkes
Echo detektiert hat. In diesem Fall fährt das System zu Schritt 440 fort.
In Schritt 440 wird die Referenzsignalleistung 310 mit
einem Referenzsignalleistungs-Schwellenwert verglichen. Bei der
bevorzugten Ausführungsform
ist der Referenzsignalleistungs-Schwellenwert –25 dB. Wenn die Referenzsignalleistung 310 größer ist
als der Referenzsignalleistungs-Schwellenwert, fährt das System zu Schritt 450 fort,
wo die Status-Flag 120 auch auf ON gesetzt wird, wodurch
der Mittenbeschneider 110 aktiviert wird. Das Register
für frühere Stauts-Flags 430 wird auf
ON gesetzt. Von Schritt 450 aus fährt das System fort zu der
NXT-Subroutine 500. Wenn die Referenzsignalleistung 310 den
Referenzsignalleistungs-Schwellenwert nicht übersteigt, fährt das
System zu Schritt 460 fort.
-
In
Schritt 460 bestimmt das System, ob der Echolöscher im
vorangegangenen Zyklus ein starkes Echo angesprochen hat. Wenn er
kein starkes Echo angesprochen hat, sollte das Register für frühere Status-Flags 430 auf
OFF gesetzt werden und das System fährt fort zu der NXT-Subroutine 500.
Wenn jedoch das System im vorangegangenen Zyklus ein starkes Echo
angesprochen hat, wird das Register für frühere Status-Flags 430 auf
ON gesetzt. Wenn das Register für
frühere
Status-Flags 430 ON ist, analysiert das System, ob der
Echolöscher
den Mittenbeschneider 110 vorschnell ausge schaltet hat. Dies
erfolgt durch Prüfen,
ob die Referenzsignalleistung 310 einen sekundären Referenzsignalleistungs-Schwellenwert überschreitet
und ob die Referenzsignalleistung 310 ausreichend über dem
Referenzsignalrauschpegel liegt. Bei der bevorzugten Ausführungsform
muss die sekundäre
Referenzsignalleistung auf –57
dB gesetzt sein und die Referenzsignalleistung muss das Referenzsignalhintergrundrauschen
um 5 dB überschreiten,
um die Starkecho-Löschung
beizubehalten.
-
Wenn
die Referenzsignalleistung 310 den sekundären Referenzsignalleistungs-Schwellenwert überschreitet
und ausreichend über
dem Referenzsignalrauschpegel liegt, während das Register für frühere Status-Flags 430 ON
ist, geht das System zu Schritt 450, wodurch der Mittenbeschneider 110 aktiviert
wird. Wenn die Referenzsignalleistung 310 den sekundären Referenzsignalleistungs-Schwellenwert nicht überschreitet,
nicht ausreichend über
dem Referenzsignalrauschpegel liegt oder das Register für frühere Status-Flags 430 nicht
ON ist, geht das System zu der NXT-Subroutine 500, ohne
die Status-Flag 120 oder das Register für frühere Status-Flags 430 zu ändern.
-
Die
NXT-Subroutine 500, die alle 4 Millisekunden abläuft, dient
dazu, sicherzustellen, dass die Starkecho-Erkennung tatsächlich in
dem System vorliegt. In Schritt 510 testet das System,
ob die Status-Flag 120 auf ON gesetzt ist. Wenn dies nicht
der Fall ist, fährt
das System zu Schritt 520 fort, wo die frühere Status-Flag 430 gleich
der Status-Flag-Einstellung 120 OFF gesetzt wird und der
Zyklus kehrt zur Haupt-Echolöschungsroutine
zurück.
In diesem Szenario hat das System die Starkecho-Detektionserklärung in
Schritt 220 bis Schritt 440 weder verifiziert
noch heraus gefunden, dass der Echolöscher 60 den Mittenbeschneider 110 in
Schritt 460 vorschnell abgeschaltet hat. Folglich gestattet
das System dem Echolöscher 60 fortzufahren,
ohne den Mittenbeschneider 110 zu benutzen. Wenn jedoch
die Status-Flag 120 in
Schritt 510 auf ON gesetzt ist, hat das System angezeigt,
dass der Echolöscher
angepasst werden sollte. Das System fährt dann fort zu Schritt 530,
um sicherzustellen, dass das identifizierte Signal wirklich ein
Echo ist. In Schritt 530 prüft das System, ob die Wunschsignalleistung
ausreichend über dem
Wunschsignalleistungsrauschpegel liegt und ob die Referenzsignalleistung
nicht ausreichend über dem
Referenzsignalrauschpegel liegt. Bei der bevorzugten Ausführungsform
ist die Wunschsignalleistung wenigstens 10 dB über dem Wunschsignalleistungsrauschpegel
und die Referenzsignalleistung ist weniger als 5 dB größer als
der Referenzsignalleistungsrauschpegel. Wenn beide Bedingungen vorliegen,
hat das System kein starkes Echo gefunden und das Verfahren fährt fort
zu Schritt 540. In Schritt 540 werden sowohl die
Status-Flag 120 als auch die frühere Status-Flag 430 auf
OFF gesetzt und das Verfahren kehrt zu der Haupt-Echolöschungsroutine
zurück.
Wenn eine der beiden Bedingungen nicht erfüllt ist, fährt das System zu Schritt 550 fort.
-
Schritt 550 stellt
auch sicher, dass das Verfahren ein starkes Echo richtig identifiziert
hat, indem die Referenzsignalleistung und die Wunschsignalleistung
ausgewertet werden. Wenn die Wunschsignalleistung oberhalb eines
Wunschsignalleistungs-Schwellenwertes liegt und die Referenzsignalleistung
unterhalb eines dritten Referenzsignalleistungs-Schwellenwertes
liegt, geht das System zu Schritt 540. Bei der bevorzugten
Ausführungsform
ist der Wunsch signalleistungs-Schwellenwert –37 dB und der dritte Referenzsignalleistungs-Schwellenwert
ist –60
dB. Wenn eine der beiden Bedingungen nicht erfüllt ist, fährt das System zu Schritt 560 fort.
In Schritt 560 wird die frühere Status-Flag 430 auf die aktuelle Status-Flag-Einstellung 120 ON
gesetzt und das Verfahren kehrt zu der Haupt-Echolöschungsroutine
zurück.
Wenn eine der Bedingungen von 550 nicht erfüllt ist,
hat das System korrekterweise ein starkes Echo gefunden, wobei der
Echolöscher
allein dies nicht getan hat.
-
Die
vorliegende Erfindung stellt die Fähigkeit ein starkes Echo zu
detektieren und zu steuern zur Verfügung. Durch Steuerung der Mittenbeschneidungs-Funktion
versetzt die vorliegende Ausführungsform
den Echolöscher
in die Lage, korrekt zu funktionieren, wenn ein starkes Echo auf
andere Weise in dem System vorherrschend bleiben würde. Außerdem stellt
die vorliegende Ausführungsform
ein Verfahren zum Analysieren der Leistung des Echolöschers zur
Verfügung,
indem die Koeffizienten des adaptiven Filters des Echolöschers ausgewertet
werden. Die vorliegende Ausführungsform
stellt weiter ein Verfahren zum Verwenden von Frequenzdomänen-Verfahren
zur Durchführung
der Koeffizientenanalyse zur Verfügung.
-
Es
muss verstanden werden, dass ein großer Bereich von Änderungen
und Modifikationen der oben beschriebenen Ausführungsformen für den Fachmann
offensichtlich sind und von ihm bedacht werden. Es ist daher vorgesehen,
dass die vorangehende detaillierte Beschreibung als illustrativ
und nicht als limitierend betrachtet werden soll und dass weiter
verstanden wird, dass es die nachfolgenden Ansprüche, einschließlich aller Äquivalente
sind, die den Umfang der Erfindung definieren sollen.