Sunday, 17 September 2017

Gleitender Durchschnitt Rms


Bewegen averageroot mittlere quadratische normalisieren im Suchen nach einer Funktion, die ich denke, heißt quotmoving averagequot oder quotroot mean quadratquot (rms) normalization, obwohl ich im nicht die meisten audio-savvy zugeben. Was id wie ist zu normalisieren Stimme auf eine konsistente Ebene und nicht nur auf den lautesten Ton in der Aufnahme. Ich fand diese Person fragen, was ich glaube, ist die gleiche Sache früher, und jemand schlug vor, nyquist-Plugins zu verwenden: - audacity-forum. dedownloadedgarnyquistnyquist-docnyquist. htm Ich fand auch dieses quotfir10.nyquot Skript, das ich vermute, was im suchen Für, aber kann nicht sicher sagen: - n2.nabbletext-version-of-fir10.ny-td238442.html weiß jedermann, wenn dieses Merkmal vorhanden ist, oder wenn Entwickler an ihm arbeiten, dass ich versuchen könnte, auch zu helfen - ich habe ein Verwandte (Rohrtraum) Frage. Ich habe einige Arbeit auf einem Campus-Radiosender in Kanada, die soundforge verwenden, um ihre Bearbeitung zu tun. Würde es irgendeinen Punkt zu mir versuchen, sie und andere Campusradiosender zu überzeugen, um das Geld zu nehmen, das sie auf soundforge Lizenzen ausgeben und es in Kühnheitentwicklung abgeben, dort jede mögliche Infrastruktur, diese Art des Geldes in einer verantwortlichen und transparenten Weise wieder zu erhalten, dieses Ist wahrscheinlich ein Rohrtraum, im nicht sicher, id tatsächlich in der Lage, jemanden zu überzeugen, aber ich finde es lohnt sich fragen. Danke für eure Zeit Everybody, macho Öffnen Sie diesen Beitrag in der threaded-Ansicht Bericht Inhalt als Unangemessen Re: Moving averageroot mean square normalize Macho Philipovich schrieb im Suchen nach einer Funktion, die ich denke, heißt quotmoving averagequot oder quotroot mean quadratquot (rms) Normalisierung, obwohl i Im nicht die meisten audio-savvy. Was id wie ist zu normalisieren Stimme auf eine konsistente Ebene und nicht nur auf den lautesten Ton in der Aufnahme. Ich fand diese Person fragen, was ich glaube, ist die gleiche Sache früher, und jemand schlug vor, nyquist-Plugins zu verwenden: - audacity-forum. dedownloadedgarnyquistnyquist-docnyquist. htm Ich fand auch dieses quotfir10.nyquot Skript, das ich vermute, was im suchen Denn, aber kann nicht sicher sagen: - n2.nabbletext-version-of-fir10.ny-td238442.html weiß jemand, ob diese Funktion vorhanden ist, oder wenn Entwickler daran arbeiten, dass ich versuchen könnte, zu unterstützen Für eine endgültige Antwort auf Nyquist Fähigkeiten sollten Sie abonnieren Sie die Nyquist-Liste und fragen Sie dort: lists. sourceforge. netlistslistinfoaudacity-nyquist aber so weit wie mein sehr begrenztes Verständnis geht, ist die Nyquist quotnormalizequot Funktion Peak-Normalisierung. Audacity führt keine RMS-Normalisierung durch, und wir haben keine unmittelbaren Pläne, es zu implementieren, es sei denn, jemand überzeugt uns, dass wir dies in Audacity benötigen und einen Patch bereitstellen. Sie können jedoch eine sehr grobe Vorstellung von dem RMS-Pegel des Audios in Audacity erhalten, indem Sie das Track Dropdown-Menü verwenden, um auf die Wellenform (dB) - Ansicht umzuschalten und auf den Pegel des hellblauen Teils der Wellenform, der RMS-Leistung, zu schauen . In Audacity Beta 1.3.7 können Sie tatsächlich eine Messung der durchschnittlichen RMS einer beliebigen Auswahl bei Analyze gt Contrast (sehen Sie in der quotVolumequot-Box). RMS Normalisierung kann am Ende geben Clipping in einer ruhigen Strecke, die nur ein paar Abschnitte viel lauter als der Rest hat, denn der Durchschnitt wird sehr niedrig sein und schlagen vor, eine große Menge an Boost benötigt wird. Also einige RMS Normalisierer hinzufügen Begrenzung, was bedeutet, Sie verlieren Dynamikbereich. Haben Sie berücksichtigt Replay Gain, die eine Ausarbeitung der RMS-Normalisierung ist Wenn Ihr Audio in einem Format, das weit verbreitet unterstützt Metadaten-Tags (MP3, OGG, FLAC aber nicht WAV oder AIFF), können Sie analysieren, die Audio mit Software, die quotReplay Gainquot Informationen schreiben wird In die Markierungen. Mit Replay Gain kann der Benutzer ein queckargetquot-wahrgenommenes Volume einstellen. Dieses Ziel ist nicht ein Ziel für maximale Verstärkung, noch ist es Komprimierung anwenden, ist aber ein Ziel für quotoverall wahrgenommenen Wiedergabevolumenquot. Wenn Sie eine Datei mit Replay Gain-Daten in einem Mediaplayer abspielen, der sie unterstützt, wird die Audiowiedergabe-Lautstärke so eingestellt, dass das wahrgenommene Volume dem von Ihnen angegebenen Ziel entspricht. Wenn Sie alle Ihre Audiodateien mit Replay Gain auf derselben Zielstufe schreiben, werden sie alle über die gleiche Lautstärke klingen, ohne dass Sie mit den Lautstärkereglern fummeln müssen, damit sie als solche klingen. Wenn Sie beispielsweise Audacity als MP3 exportieren, können Sie MP3Gain mp3gain. sourceforge. netfaq. phpstart verwenden, um die Replay Gain-Informationen in die Datei zu schreiben. Die Datei wird nicht neu codiert, so dass keine weitere Qualität mehr als die ursprüngliche MP3-Komprimierung verloren geht. Eine mögliche Lösung für WAV-Dateien ist hier (dies re-encodieren Sie die Datei): members. home. nlw. speekwavegain. htm gt Ich habe eine unabhängige (pipe dream) Frage. Ich habe einige Arbeit auf einem gt Campus-Radiosender in Kanada, die soundforge verwenden, um ihre Bearbeitung zu tun. Gt würde es irgendeinen Punkt zu mir versuchen, sie und andere Campus gt Radiosender zu überzeugen, das Geld zu nehmen, das sie auf soundforge Lizenzen ausgeben und gt es in Kühnheitentwicklung abzulassen gibt es irgendeine Infrastruktur, zum diese Art des Geldes in einer verantwortlichen und transparenten zu erhalten Weg Sie könnten sicherlich machen die Radiosender von Audacity und sehen, ob sie für etwas Bestimmtes im Gegenzug für einen finanziellen Beitrag suchen würde. Und immer offen grundsätzlich zu Sponsoring von neuen Features: audacityteam. orgsponsor. php In der Praxis hat die bisherige Sponsoring haben eine kleine Anzahl von Firmenpatenschaften für brandedcustomized Versionen von Audacity. Plus wir sind alle Freiwilliger und es gibt die Frage der Einzelpersonen, die die Zeit haben, an bezahlten Projekten zu nehmen. Wenn Sie oder der Radiosender möchten, um finanzielle Beiträge zu diskutieren, schlage ich vor, dass Sie unsere Entwickler-Mailing-Liste abonnieren: lists. sourceforge. netlistslistinfoaudacity-devel und heben sie dort, wenn Sie einige konkrete Vorschläge oder Fragen über solche haben. Improve Ihre root-mean Berechnungen E-mail-Systeme benötigen oft die Berechnung eines Wurzelmittels, wie z. B. einen Wurzelmittelwert (RMS) oder eine mittlere Größe eines komplexen Signals. Während die Mittelung von den meisten Mikroprozessoren effizient implementiert werden kann, ist die Quadratwurzel möglicherweise nicht - vor allem bei kostengünstiger Hardware. Wenn der Prozessor keine schnelle Quadratwurzelfunktion implementiert, muss er in Software implementiert werden, obwohl dies genaue Ergebnisse liefert, kann es nicht effizient sein. Ein allgemeines Verfahren zur Berechnung der Quadratwurzel ist das Newton-Verfahren, das iterativ auf einer Lösung unter Verwendung einer anfänglichen Schätzung konvergiert. Da die Quadratwurzel aus einem langsam variierenden Mittelwert berechnet wurde, ist der vorherige Wurzelmittelwert eine gute Schätzung. Darüber hinaus können wir die iterative Newton-Methode mit einem rekursiven Mittelwert erster Ordnung kombinieren, was zu einer supereffizienten Methode zur Berechnung des Wurzelmittels eines Signals führt. In diesem Artikel, Ill entwickeln und präsentieren drei effiziente rekursive Algorithmen für die Berechnung der Wurzel-Mittel, illustriert jedes Verfahren mit Signalflussdiagrammen und Beispiel-Code. Bis zu einem gewissen Grad, jede dieser Methoden Trades Hardware Komplexität für Fehler. Ich vergleiche die Berechnungsleistung und den Fehler jeder Methode und schlage eine geeignete Hardware für jede Implementierung vor. Wurzel-Mittelwert Der Wurzel-Mittelwert wird als Quadratwurzel des Mittelwertes über die Zeit seiner Eingabe berechnet. Dieser Durchschnitt kann rekursiv oder nicht-rekursiv sein, und Ill kurz den allgemeinen Fall für beide. Nichtrekursiver Durchschnitt Der nicht rekursive Mittelwert oder gleitender Durchschnitt. Ist die gewichtete Summe von N Eingängen: der aktuelle Eingang und N -1 vorhergehende Eingänge. In der digitalen Filter-Terminologie wird dies als endliche Impulsantwort bezeichnet. Oder FIR-Filter: Die häufigste Verwendung des gleitenden Mittelwerts setzt typischerweise die Gewichte so, dass a n 1 N. Wenn wir diese Gewichte gegen die Zeit abbilden würden, würden wir das Fenster des Eingangssignals sehen, das zu einem gegebenen Zeitpunkt gemittelt wird. Dieses 1 N-Fenster wird als rechteckiges Fenster bezeichnet, da es sich um ein N-by-1 N-Rechteck handelt. Es gibt einen Trick für die Berechnung des 1 N-Mittelwertes, so daß alle N Abtastwerte nicht gewichtet und mit jeder Ausgangsberechnung summiert werden müssen. Da sich die Gewichte nicht ändern, können Sie einfach die neueste gewichtete Eingabe hinzufügen und die n-te gewichtete Eingabe von der vorherigen Summe subtrahieren: Während dieses Verfahren rechnerisch effizient ist, erfordert es eine Speicherung und eine zirkuläre Pufferverwaltung von N Abtastwerten. Natürlich werden viele andere Fensterformen häufig verwendet. Typischerweise gleichen oder ähneln diese Fensterformen einem erhöhten Kosinus zwischen 8211pi2 und pi2. Diese Fenster gewichten die Proben in der Mitte mehr als die Proben nahe den Kanten. Im Allgemeinen sollten Sie nur eines dieser Fenster verwenden, wenn es eine bestimmte Notwendigkeit, wie das Anwenden eines bestimmten Filters auf das Signal. Der Nachteil dieser Fenster ist, dass rechnerische Komplexität und Speicheranforderungen mit N zunehmen. Rekursiver Mittelwert Der rekursive Mittelwert ist die gewichtete Summe der Eingaben, N vorherigen Eingaben und M vorherigen Ausgaben: Der einfachste von ihnen ist die rekursive Mittelwertrelation erster Ordnung, wenn es um rechnerische Komplexität und Speicherung geht. In diesem Fall wird der Durchschnitt als die gewichtete Summe des Stromeingangs und des vorherigen Ausgangs berechnet. Der rekursive Durchschnitt erster Ordnung eignet sich auch für eine Optimierung, wenn er mit der Berechnung der Quadratwurzel kombiniert wird, die in Kürze besprochen wird. Im Gegensatz zum nichtrekursiven Mittelwert ist das rekursive Mittelwertfenster erster Ordnung ein abklingendes Exponential (Abbildung 1). Technisch hat der rekursive Durchschnitt ein unendliches Fenster, da es nie den ganzen Weg auf Null zerfällt. In der digitalen Filterterminologie wird dies als unendliche Impulsantwort oder als IIR-Filter bezeichnet. Aus Fig. 1 sehen wir, daß frühere Abtastwerte mehr gewichtet werden als spätere Abtastungen, was es erlaubt, irgendwie willkürlich eine Mittelungszeit für den rekursiven Durchschnitt zu definieren. Für den Fall erster Ordnung definieren wir die Mittelungszeit als die Zeit, zu der die Impulsantwort auf den Faktor 1e abgestürzt ist. Oder etwa 37, seines Anfangswertes. Eine äquivalente Definition ist die Zeit, zu der die Sprungantwort 18211 (1e) oder ungefähr 63 dessen Endwert erreicht. Andere Definitionen sind möglich, werden aber hier nicht behandelt. Die Gewichtung der Summe bestimmt diese Mittelungszeit, um einen Einheitsgewinn zu gewährleisten, die Summe der Gewichte muß gleich Eins sein. Als Konsequenz muß nur ein Koeffizient angegeben werden, um die Mittelungszeit zu beschreiben. Daher berechnen wir für die rekursive Mittelung erster Ordnung den Mittelwert als: wobei x (n) die Eingabe ist, m (n) der Mittelwert und a der Mittelungskoeffizient ist. Der Mittelungskoeffizient ist definiert als: wobei t die Mittelungszeit ist und f S die Abtastfrequenz ist. Der Wurzelmittelwert kann dann berechnet werden, indem die Quadratwurzel von Gleichung 4 genommen wird: wobei y (n) der Wurzelmittelwert ist. Effiziente Rechenmethoden Googeln schnell Quadratwurzel erhalten Sie eine Fülle von Informationen und Code-Snippets auf die Umsetzung von schnellen Quadrat-Root-Algorithmen. Während diese Methoden gut funktionieren, berücksichtigen sie nicht die Anwendung, in der die Quadratwurzel erforderlich ist. Oftmals brauchen Sie möglicherweise nicht genaue Genauigkeit bis zum letzten Bit, oder der Algorithmus selbst kann manipuliert werden, um die Berechnung der Quadratwurzel zu optimieren. Ich präsentiere hier einige grundlegende Ansätze. Berechnen Sie es nur, wenn Sie es brauchen. Wahrscheinlich ist die einfachste Optimierung, nur die Quadratwurzel zu berechnen, wenn Sie sie unbedingt brauchen. Obwohl dies offensichtlich erscheinen mag, kann es leicht übersehen werden bei der Berechnung des Wurzelmittels auf jedem Eingangssample. Wenn Sie für jedes Eingabebeispiel keinen Ausgabewert benötigen, ist es sinnvoller, die Quadratwurzel nur zu berechnen, wenn Sie den Ausgabewert lesen. Ein Beispiel für eine Anwendung, wenn diese Technik verwendet werden kann, ist die RMS-Messung eines Signals. Ein Zählerwert, der visuell angezeigt wird, kann nur eine Aktualisierung alle 50 bis 100ms erfordern, was weit weniger häufig ist, als das Eingangssignal abgetastet wird. Beachten Sie jedoch, dass rekursive Mittelung sollte noch auf der Nyquist Rate berechnet werden. Logarithmen Erinnern Sie sich, dass: Wenn Sie den Logarithmus einer Quadratwurzel berechnen werden, ist es weit weniger rechenintensiv, das Ergebnis einfach zu halbieren. Ein allgemeines Beispiel für diese Optimierung ist die Berechnung eines RMS-Pegels in dB, der wie folgt vereinfacht werden kann: Newton-Methode Die Newton-Methode (auch Newton-Rapson-Methode genannt) ist eine bekannte iterative Methode zur Schätzung der Wurzel einer Gleichung. 1 Newton Methode kann sehr effizient sein, wenn Sie eine vernünftige Schätzung des Ergebnisses haben. Wenn darüber hinaus keine Genauigkeit für das letzte Bit erforderlich ist, kann die Anzahl der Iterationen festgelegt werden, um den Algorithmus deterministisch zu halten. Wir können die Wurzel von f (x) durch iteratives Berechnen berechnen: (9) Wenn wir finden wollen, müssen wir die Wurzel auf die Gleichung f (y) y 2 - m finden. Wenn wir f (y) in Gleichung 9 einsetzen, erhalten wir: Rearrangeing Gleichung 9, erhalten wir: wobei y (n) die Näherung der Quadratwurzel von m (n) ist. Gleichung 11 erfordert eine Teilungsoperation, die für einige Prozessoren unbequem sein kann. Als Alternative können wir das Ergebnis berechnen und multiplizieren mit m zu erhalten. Wiederum mit der Newton-Methode können wir die reziproke Quadratwurzel iterativ berechnen und die Quadratwurzel wie folgt berechnen: Obwohl die Newton-Methode für die reziproke Quadratwurzel die Teilungsoperation eliminiert, kann sie für Festkommaprozessoren problematisch sein. Unter der Annahme, dass m (n) eine positive ganze Zahl größer als 1 ist, ist yr (n) eine positive Zahl kleiner als 1 - jenseits des Bereichs der Darstellung für ganzzahlige Zahlen. Die Implementierung muss mit einer Gleitkommazahl oder einer gemischten Integer-Zahlendarstellung durchgeführt werden. Wurzelmittel unter Verwendung von Newton-Verfahren Eine subtile Differenz zwischen den Gleichungen 10 und 11 ist, dass m m (n) wird, was bedeutet, dass versucht wurde, die Quadratwurzel eines sich bewegenden Ziels zu finden. Da jedoch m (n) ein Mittelwert ist oder sich langsam ändert, kann er als annähernd konstant zwischen Iterationen betrachtet werden. Da y (n) ebenfalls langsam variiert, ist y (n - 1) eine gute Annäherung an y (n) und erfordert weniger Iterationen - eine, wie wir hoffen - eine gute Schätzung zu erreichen. Zur Berechnung des Wurzelmittels kann man einfach die Newton-Methode zur Berechnung der Quadratwurzel auf den Mittelwert anwenden. Solange die Mittelungszeit im Vergleich zur Abtastperiode (t 6262 1 f S) lang ist, sollte für eine vernünftige Genauigkeit eine Iteration der Quadratwurzelberechnung ausreichen. Dies scheint einfach genug, aber wir können tatsächlich verbessern die Rechenleistung, die in einem der folgenden Abschnitte behandelt werden. Verwenden der reziproken Quadratwurzel Anders als die iterative Quadratwurzelmethode erfordert die iterative reziproke Quadratwurzel keine Teilung. Diese Implementierung eignet sich am besten für die Gleitkomma-Verarbeitung, die Zahlen größer und kleiner als eins effizient verarbeiten kann. Wir stellen diese Implementierung als Signalflussdiagramm in 2 dar. Der Mittelungskoeffizient, a. Wird durch Gleichung 5 definiert, und z 82111 repräsentiert eine Einheitsabtastverzögerung. Eine Codeliste für eine C-Klasse, die die Berechnung in Abbildung 2 implementiert, wird in Listing 1 dargestellt. In dieser Beispielklasse wird die Initialisierung im Klassenkonstruktor durchgeführt und jeder Aufruf von CalcRootMean () führt eine Iteration der Mittelung und Quadratwurzelberechnung durch . Listing 1. C-Klasse, die den Wurzelmittelwert mit Hilfe von Newton berechnet. Methode für die reziproke Quadratwurzel Verwenden der direkten Quadratwurzel Wir gehen zurück und nehmen einen genaueren Blick auf Gleichung 11. Die Newton-Methode konvergiert auf der Lösung so schnell wie möglich ohne oszillierend um sie herum, Aber wenn wir diese Konvergenzgeschwindigkeit verlangsamen, wird die iterative Gleichung auf der Quadratwurzel des Mittelwerts ihrer Eingänge konvergieren. Das Addieren des Mittelwertbildungskoeffizienten ergibt die folgende Grundgleichung: wobei a durch Gleichung 5 definiert ist. Nun konvergiert y (n) mit der Quadratwurzel des Mittelwerts von x (n). Eine äquivalente Signalflußdarstellung der Gleichung 14 ist in Fig. 3 dargestellt. Hier wird ein zusätzlicher y (n 82111) Term summiert, so daß nur ein Mittelungskoeffizient erforderlich ist. Beachten Sie, dass x (n) und y (n 82111) größer als Null sein müssen. Eine Codeauflistung für eine C-Klasse, die die in Abbildung 3 gezeigte Berechnung implementiert, wird in Listing 2 dargestellt. Wie im vorherigen Beispiel wird die Initialisierung im Class-Konstruktor durchgeführt, und jeder Aufruf von CalcRootMean () führt eine Iteration von averagingsquare-root-Berechnungen durch . Listing 2. C-Klasse, die die Gleitkomma-Version von Abbildung 3 implementiert Abbildung 3 kann auch in Fixpunktarithmetik implementiert werden, wie in Listing 3 gezeigt. In diesem Beispiel wird Skalierung implementiert, um gültige Ergebnisse sicherzustellen. Wenn eine ausreichende Wortgröße vorhanden ist, wird x durch nAvgCoeff vor der Division skaliert, um die Genauigkeit des Ergebnisses zu maximieren. Listing 3. C-Klasse, die die Fixpunktversion von Fig. 3 implementiert. Teilfreier RMS unter Verwendung der Normierung Nun wird der spezielle Fall betrachtet, bei dem ein RMS-Wert auf Festkomma-Hardware berechnet wird, der keine schnelle Teilungsoperation aufweist, was typisch ist Für kostengünstige Embedded-Prozessoren. Obwohl viele dieser Prozessoren eine Division durchführen können, tun sie dies ein Bit zu einem Zeitpunkt, wobei mindestens ein Zyklus für jedes Bit der Wortlänge erforderlich ist. Weiterhin ist darauf zu achten, dass die RMS-Berechnung mit ausreichender numerischer Genauigkeit durchgeführt wird. Bei Fixpunkt-Hardware erfordert das Quadrat eines Werts die doppelte Anzahl an Bits, um die ursprüngliche Datenpräzision beizubehalten. In diesem Sinne manipulieren wir die Gleichung 14 wie folgt: Obwohl der Ausdruck x (n) 2 8211 y (n 82111) 2 mit doppelter Genauigkeit berechnet werden muss, eignet sich diese Implementierung einer signifikanten Optimierung. Beachten Sie, dass a 2 y (n 82111) wie ein pegelabhängiger Mittelungskoeffizient wirkt. Wenn eine geringfügige zeitabhängige Varianz in der Mittelungszeit toleriert werden kann - was oft der Fall ist - kann 1 y (n 82111) grob angenähert werden. Bei einem Gleitkommaprozessor nähert sich die Verschiebung des Mittelungskoeffizienten nach links durch das Negativ des Exponenten der Teilungsoperation an. Dieser Vorgang wird üblicherweise als Normalisierung bezeichnet. Einige Festpunkt-DSPs können eine Normalisierung durch Zählen der führenden Bits des Akkumulators und Verschieben des Akkumulators um diese Anzahl von Bits durchführen. 2 In beiden Fällen wird der Mittelungskoeffizient auf die nächste Potenz von zwei abgeschnitten, so dass der Koeffizient mit 32 multipliziert werden muss, um das Ergebnis zu runden. Diese Implementierung ist in Gleichung 16 gezeigt. Fig. 4 ist das Signalflußdiagramm, das Gleichung 16 wiedergibt. Genau wie in Fig. 3 müssen x (n) und y (n 82111) grßer als null sein. Eine Beispielcode-Auflistung, die Abbildung 4 implementiert, ist in Listing 4 gezeigt. Diese Assembler-Implementierung ist für den Freescale (früher Motorola) DSP563xx 24-Bit-Festkommaprozessor. Listing 4. Freescale DSP563xx Baugruppenimplementierung von divide-free RMS mit Normalisierung Natürlich kann diese Methode auch ohne schnelle Normalisierung implementiert werden. Sie können eine Schleife implementieren, um x (n) 2 8211 y (n 82111) 2 nach links für jedes führende Bit in y (n 82111) zu verschieben. Dies wird langsamer sein, kann aber auch mit einfachsten Prozessoren realisiert werden. Mittels höherer Ordnung Eine rekursive Mittelung höherer Ordnung kann erreicht werden, indem zusätzliche Mittelungsfilter vor der iterativen Quadratwurzel eingefügt werden. Diese Filter können einfach ein oder mehrere kaskadierte rekursive Abschnitte erster Ordnung sein. Abschnitte erster Ordnung haben den Vorteil, daß in der Sprungantwort kein Überschwingen erzeugt wird. Darüber hinaus gibt es nur einen Koeffizienten für die Anpassung und Quantisierungseffekte (die vor allem für die Festpunkt-Implementierung von Bedeutung sind) sind weit geringer als die von Filtern höherer Ordnung. Der Implementierer sollte sich bewusst sein, dass kaskadierende Abschnitte erster Ordnung die Definition der Mittelungszeit ändern. Eine einfache, aber grobe Annäherung, die die frühere Definition der Schrittantwort beibehält, besteht darin, einfach die Mittelungszeit jedes Abschnitts erster Ordnung durch die Gesamtzahl der Abschnitte zu teilen. Es ist jedoch Aufgabe der Implementierer, zu überprüfen, ob diese Annäherung für die Anwendung geeignet ist. Abschnitte zweiter Ordnung können auch verwendet werden, wenn (zB) eine Bessel-Thomson-Filterantwort gewünscht wird. Wenn Sektionen zweiter Ordnung verwendet werden, ist es am besten, eine Kompositreaktion ungerader Ordnung zu wählen, da das Mittelungs-Quadratwurzelfilter dem finalen Filter erster Ordnung mit Q 0,5 annähert. Es ist darauf zu achten, das Überschwingen dieses Mittelungsfilters zu minimieren. Das Einstellen der Mittelungszeit dieses Filters in Echtzeit wird sich als schwieriger erweisen, da es eine Anzahl von Koeffizienten gibt, die im Einklang eingestellt werden müssen, um Stabilität zu gewährleisten. Ergebnisse Drei Verfahren zum Berechnen des RMS-Pegels werden in 5 verglichen. Die Mittelungszeit wird auf 100 ms eingestellt, und der Eingang ist eine Sekunde von 1 f Rauschen mit einer Abtastfrequenz von 48 kHz. Die erste Spur ist der RMS-Wert, der unter Verwendung von Gleichung 6 berechnet wird. Die zweite Spur ist die RMS-Berechnung unter Verwendung von Gleichung 14. Die dritte Spur ist die Nichtteilungsberechnung von Gleichung 16. Die vierte Spur ist der RMS-Wert unter Verwendung der reziproken Quadratwurzel Verfahren der Gleichung 13. Die vier Spuren sind größtenteils gut angeordnet. Alle vier Annäherungen scheinen konvergieren mit der gleichen Rate wie der wahre RMS-Wert. Erwartungsgemß ist die größte Abweichung von dem wahren RMS-Wert die Annäherung von Gleichung 16. Diese Annäherung hat den größten Fehler bei großen Änderungen des Pegels des Eingangssignals, obwohl dieser Fehler temporär ist: die optimierte Annäherung konvergiert nach dem Wahren RMS-Wert, wenn der Pegel des Eingangssignals konstant ist. Die Fehler zwischen den drei Näherungen und dem wahren RMS-Wert sind in 6 gezeigt. Der Fehler der RMS-Näherung unter Verwendung von Gleichung 14 nimmt langsam ab, bis er unter 1E82117 liegt, was für eine Genauigkeit von 24-Bit ausreicht. Die optimierte Annäherung von Gleichung 16 ist wesentlich schlechter, bei etwa 1E82114, aber immer noch gut genug für viele Anwendungen. Die Näherung, die die reziproke Quadratwurzel verwendet, liegt im Rauschen unter 1E82119. Für hoch kritische Gleitkommaanwendungen ist dies die effiziente Methode der Wahl. Wie Sie erwarten würden, werden die oben diskutierten Fehler mit kürzeren Mittelungszeiten und besser mit längeren Mittelungszeiten schlechter sein. Tabelle 1 fasst die ungefähren Fehler gegen die Mittelungszeit dieser drei Verfahren zusammen mit geeigneten Anforderungen an die Hardwarearchitektur zusammen. Geeignet für durchschnittliche Leser Durch die Kombination rekursive Mittelung mit Newton Methode für die Berechnung der Quadratwurzel, youll gewinnen eine sehr effiziente Methode für die Berechnung der Wurzel-Mittelwert. Obwohl die drei Methoden, die ich hier vorgestellt habe, für verschiedene Hardware entwickelt werden und jeder, der bis zu einem gewissen Grad, Hardware-Fähigkeiten für Fehler abwickelt, sollten die meisten von Ihnen eine dieser Methoden finden, die für Ihre Anwendung geeignet sind. Brian Neunaber ist derzeit digitaler Systemarchitekt von Software und Firmware bei QSC Audio Products. Er hat digitale Audioalgorithmen und - systeme in Echtzeit für QSC und St. Louis Music entworfen und hat eine MSEE von der Southern Illinois University. Sie können ihn bei brianneunaberqscaudio kontaktieren. Endnoten: 1. D. G. Zill. Kalkül mit analytischer Geometrie, 2. Aufl. . PWS-Kent, Boston, S. 170-176, 1988. 2. Motorola. DSP56300 Family Manual, Rev. 3, Motorola Literature Distribution, Denver, 2000. 1996, ein Artikel in Dr Dobbs Zeitschrift präsentiert einen Quadratwurzel-Algorithmus, der nur Verschiebungen verwendet und addiert - keine Multiplikatoren und sicherlich keine Trennungen. Es kann hier gefunden werden: ddjdocumentss962ddj9604l (erfordert Registrierung). Ive verwendet diese in jedem Job und jedes Projekt seitdem - seine bei weitem die schnellste Ganzzahl Quadratwurzel herum, und Im erstaunt, dass seine noch so wenig bekannt. Ich bin mir nicht sicher, ob ich damit einverstanden bin und ich glaube, dass es sich um sehr unterschiedliche Prozesse handelt. Durch mein Verständnis, wenn die Literatur verwickelt sie in der gleichen Entität, sind sie falsch. Ich sehe RMS als den Prozess, um einen einzigen, skalaren Wert, der die Amplitude des Signals zu erreichen. Ich habe noch nie gesehen dies für Glättung EMG-Signale verwendet. Weiterhin muss für eine entsprechende Interpretation dieses auf einem Null-Mittelwert-Signal durchgeführt werden. Bei einem Signal mit Null-Mittelwert ist der RMS-Wert im wesentlichen die Standardabweichung des Signals. Die Glättung ist ein völlig anderer Prozess und ist eine Möglichkeit, das gesamte Signal zu manipulieren. Der Ausgang ist ein neues geglättetes Signal (d. h. ein Array von Werten, nicht ein einzelner Wert wie RMS). Es gibt viele Möglichkeiten, ein Signal zu glätten, z. B. einen gleitenden Durchschnitt (lineare Hüllkurve) oder Fensterfunktionen wie Hamming. Dies wird nicht auf einem Nullmittelwert durchgeführt, da das Ergebnis ein Nullsignal wäre. Der erste Schritt besteht darin, das Signal so zu korrigieren, daß alle Werte positiv sind (d. h. das Signal hat einen positiven Mittelwert). Dann gleicht der gleitende Durchschnitt das Signal ab, um unerwünschte Spikes und Varianz zu entfernen. RMS kann (und wurde) verwendet worden, um EMG in der gleichen Weise zu verarbeiten, wie die Anwendung einer linearen Hüllkurve. Durch Quadrieren des Rohsignals verwandeln Sie es effektiv in ein Nullmittelsignal. Dann werden der Mittelwert (und die Quadratwurzel) unter Verwendung eines Bewegungszeitfensters angewendet, dessen Länge der Benutzer definieren kann. Die ausgewählte Länge des Fensters (d. h. die Zeitkonstante) wird beeinflussen, wie das Quotum des Signals zu einem Signal wird. Die gewählte Zeitkonstante wird auch beeinflussen, wie stark das Signal verschoben wird (ähnlich der Phasenverschiebung, die durch das Anlegen einer Einpass-Linearhüllkurve induziert wird).

No comments:

Post a Comment