Forum: Digitale Signalverarbeitung / DSP / Machine Learning Signalrekonstruktion


von Audiomann (Gast)


Lesenswert?

Ich bekomme Daten, die von einem Signalbegrenzer limitiert wurden und 
später nochmals im gain verändert wurden, der zufällig ist. Daher sind 
die Daten nun skaliert und nicht mehr am Maximum, also z.B. 65355. Wie 
kann ich die Wirkung eines Limiters erkennen?

Das Signal soll rekonstruiert werden und zwar in Echtzeit.

Idee?

von Joachim B. (jar)


Lesenswert?

wenn Daten futsch sind, rekonstruieren, wie soll das gehen?

habe leider keine Idee.

Wenn du noch mehr Fakten nennst gibts vielleicht Ratespielchen oder 
Statistik die Wiederherstellung raten kann.

Audiomann schrieb:
> Wie
> kann ich die Wirkung eines Limiters erkennen?

durch gestiegenen Klirrfaktor z.B.

von Audiomann (Gast)


Lesenswert?

Wenn das Signal geclippt ist, dann ist es irgendwo flach(er) und es soll 
der Bogen wiederhergestellt werden. Fürs Erste brauche ich den Clip 
Indikator. Die einfache Nummer, einfach zwei Samples zu vergleichen, ob 
sie gleich sind, funktioniert aufgrund später zugemischten Rauschens 
nicht. Ausserdem kann das Signal analog begrenzt sein und dann ist es 
nicht präzise flach.

von derguteweka (Gast)


Lesenswert?

Moin,

Vielleicht, wenn du dir die Haeufigkeit anguckst, mit der die einzelnen 
Werte im Signal vorkommen. Bei einem ungeclippten Signal koennt' ich mir 
vorstellen, dass es eine Haeufung von Samplewerten um den Nullpunkt und 
bei kleinen Amplituden gibt, bei geclipptem Signal dagegen Haeufungen um 
die 2 Samplewerte herum, wo ungefaehr geclippt wurde.

Gruss
WK

von Audiomann (Gast)


Lesenswert?

Das das Ganze in Echtzeit laufen soll, muss ich die Zahl der Werte, die 
ich ansehen und vorhalten kann, beschränken.

von Mark B. (markbrandis)


Lesenswert?

Audiomann schrieb:
> Das Signal soll rekonstruiert werden

Eine Rekonstruktion des Originalsignals ist nicht möglich, da durch das 
Clipping ja Informationen verloren gegangen sind.

Erläuterung siehe z.B. hier:
http://sound.stackexchange.com/questions/23122/how-to-remove-sound-clipping-in-existing-record

: Bearbeitet durch User
von Audiomann (Gast)


Lesenswert?

Es geht eben um eine möglichst gute Beseitung des negativen Klangs 
infolge des Clippens.

von Mark B. (markbrandis)


Lesenswert?

Wikipedia behauptet:

"Several software solutions of varying results and methods exist to 
counteract this problem: Sony Sound Forge, iZotope Rx3, Adobe Audition, 
Nero Wave Editor, and a plugin in the Audacity LADSPA package come with 
clip restoration software. There is also an Audacity plugin called Clip 
Fix that uses cubic splines to attempt to restore a continuously 
differentiable signal."

https://en.wikipedia.org/wiki/Clipping_%28audio%29

Audacity und Nero Wave Editor sind kostenlos, also würde ich die mal 
ausprobieren. Vielleicht taugt's ja was.

von J. S. (engineer) Benutzerseite


Lesenswert?

Man kann das in Echtzeit nur "so in etwa" rekonstruieren. Die gängige 
Methode der Glich- und Clip-Filter ist die, IIR-Filter mitlaufen zu 
lassen und die Periode des Ausfalls zu messen und dann den Bogen wieder 
dranzusetzen. Dazu muss man aber mindestens 50ms puffern. Die besseren 
Methoden lassen mehrere Filter mitlaufen und überlagern diese nach 
Massgabe der aktuellen Amplitude. Das Problem ist natürlich, dass die 
Oberwellen fehlen. Das kann man mit einem Exciter bewerkstelligen, der 
von einem Klirrgradmesser gesteuert wird. Dann wird quasi ungefähr 
nachgewürzt.

Wenn die Clips aber so aussehen, wie im Bild, hört man das dennoch 
ziemlich deutlich durch.

Die einzige Möglichkeit, solche fehlenden Informationen zu interpolieren 
ist eine FFT über einen ausreichenden Bereich mitsamt der Messungen der 
Amplituden und Phasen und anschließender Resynthese. Dieses Signal muss 
dann sanft anstatt des Clipbereichs eingeblendet werden. Gute 
Prozessorsoftware und Restauratinssoftware wie oben genannt, kann das.

Aber halt nur offline!

von Mark B. (markbrandis)


Lesenswert?

Ich frag mich auch was diese Bedingung hier soll:

Audiomann schrieb:
> und zwar in Echtzeit.

Wenn es um eine Aufnahme geht, die gerade erst gemacht wird, dann kann 
man diese auch so aussteuern dass es gar nicht erst zum Clipping kommt. 
Das ist sowieso die bessere Lösung.

Und wenn die Aufnahme als fertige Datei vorliegt, wozu dann Bearbeitung 
in Echtzeit?

von J. S. (engineer) Benutzerseite


Lesenswert?

Das ist ein guter Einwand! Es kann aber wohl sein, dass hier wieder 
eines der Super-Audio-Auffrischungsgeäte gebaut werden soll, dass man 
dann irgendwo in einen versauten Signalpfad hängt und dann alles 
glattbügelt.

Oder ist es ein Dekompressor?

von Audiomann (Gast)


Lesenswert?

Mark B. schrieb:
> Wenn es um eine Aufnahme geht, die gerade erst gemacht wird, dann kann
> man diese auch so aussteuern dass es gar nicht erst zum Clipping kommt.
> Das ist sowieso die bessere Lösung.

In der Tat ist das so, nur das steht nicht zur Debatte. Die Signale 
kommen (wenn) dann verzerrt aus dem Kabel und sind nicht neu 
aufzunehmen.

Jürgen S. schrieb:
> Oder ist es ein Dekompressor?

Nein, es ist kein Decompressor. Eher ein "super Audio optimizer". Genau 
genommen ist es die Notlösung für verhunzte Signale, deren Qualität ich 
nicht zu verantworten habe, jedoch verbessern möchte.

von Q. (Gast)


Lesenswert?

Audiomann schrieb:
> Eher ein "super Audio optimizer". Genau
> genommen ist es die Notlösung für verhunzte Signale, deren Qualität ich
> nicht zu verantworten habe, jedoch verbessern möchte.

Ah, Überwachungstechnik-
die Königin der Audiotechnik!
Bist Du der neue Inhaber der "Spezialist"en-Stelle,
die das BfV letztens ausgeschrieben hat?

Weitere Details darfst Du sicher nicht nennen?

von Michael K. (michael62)


Lesenswert?

Ohne fft und inverse wirst Du nicht wirklich was bewegen können.
das Problem ist identisch in der Bildrekonstruktion an / über Ränder 
hinweg, oder den Rausrechnen von Bildstörungen.
Gibt es ganze Bibliotheken im Bildverabeitungsbereich.
Halt auf Audio ampassen.

Tip:

Generiere mal ein Sinussignal, klippe es und schaue dir das Spektum an, 
reinige das Spektrum und transformiere zurück.

von J. S. (engineer) Benutzerseite


Lesenswert?

Michael K. schrieb:
> Generiere mal ein Sinussignal, klippe es und schaue dir das Spektum an,
> reinige das Spektrum und transformiere zurück.

Naja, bei einem reinen Sinus mag das leicht gehen, aber Musik besteht 
aus vielen Sinussen :-)

Einen lokalen Clip zu beseitigen ist schon nicht so ohne, aber was 
Längeres geht nur per Schätzeisentheorie.

von Mark B. (markbrandis)


Lesenswert?

Michael K. schrieb:
> Ohne fft und inverse wirst Du nicht wirklich was bewegen können.
> das Problem ist identisch in der Bildrekonstruktion an / über Ränder
> hinweg, oder den Rausrechnen von Bildstörungen.

Das sehe ich nicht so.

Es ist eine Sache, ob ein Nutzsignal von einem Störsignal überlagert ist 
(aber noch komplett im Gesamtsignal enthalten ist). Es ist eine andere 
Sache, ob vom Nutzsignal komplette Anteile fehlen. Diese kann man mit 
keinem Algorithmus der Welt wieder herstellen. Man kann zum Beispiel 
versuchen zu interpolieren. Damit kann man das Problem zwar vielleicht 
mildern, aber nicht lösen.

Da der Themenersteller sich strikt weigert, brauchbare Infos 
rauszurücken, wird bei diesem Thread auch nichts Vernünftiges mehr 
herauskommen.

Ernsthaft. Jemand ist nicht mal in der Lage zu sagen, ob er nun Sprache 
oder Musik oder Ultraschall oder sonstwas bearbeiten will, aber er will 
dass man ihm hilft? So jemandem gehört eine Backpfeife, ohne Clipping 
und mit allen Frequenzen. ;-)

: Bearbeitet durch User
von Michael K. (michael62)


Lesenswert?

Du irrst bezüglich der Rekostruktionen.

Eine Störung ist immer eine Faltung des ungestörten Signales mit der 
Störung, eine Bereichsklippung, Fehlstellen u.ä. sind da nicht anders.

Alles "simple" Faltungen.
Das sieht Alles im Fourierbereich ganz anders aus.

Bei einer grossen Anzahl an Anwendungen kann man den Störungskern 
errechnen oder aproximativ ermitteln.

Das Prinzip heisst Dekonvolution und ist eine sehr mächtige neue 
mathematische Technik.
Blind Deconvolution ist die Entstörungstechnik bei unbekanntem Störkern.

Ganz heissses Thema, da findet aktuell viel Grundlagenforschung statt.

: Bearbeitet durch User
von Mark B. (markbrandis)


Lesenswert?

Michael K. schrieb:
> Du irrst bezüglich der Rekostruktionen.
>
> Eine Störung ist immer eine Faltung des ungestörten Signales mit der
> Störung, eine Bereichsklippung, Fehlstellen u.ä. sind da nicht anders.
>
> Alles "simple" Faltungen.

Ich kann auch ein Signal mit einem Nullvektor falten. Dann mal viel Spaß 
beim Wiederherstellen des Originals! Mit Null multiplizieren und 
aufsummieren ist halt so schwer wieder rückgängig zu machen... ;-)

Wer's nicht glaubt:
"Eine Faltung kann immer berechnet werden, während ihre Umkehrung nicht 
immer möglich ist, weil bei der Faltung Informationen verloren gehen 
können, die nicht wiederherstellbar sind."

Quelle:
https://de.wikipedia.org/wiki/Dekonvolution

: Bearbeitet durch User
von Rolf S. (audiorolf)


Lesenswert?

Michael K. schrieb:
> Bei einer grossen Anzahl an Anwendungen kann man den Störungskern
> errechnen oder aproximativ ermitteln.

Aber nur, wenn Du mehrere Abbilder der Störungen hast und die Störungen 
linear sind und einfach abgezogen werden können.

Bei einem Clipping hast Du aber nur einen Fall und der Verlauf im toten 
Bereich ist unbekannt und nirgendwo sonst noch abgebildet.

von J. S. (engineer) Benutzerseite


Lesenswert?

Audiomann schrieb:
> Nein, es ist kein Decompressor. Eher ein "super Audio optimizer". Genau
> genommen ist es die Notlösung für verhunzte Signale, deren Qualität ich
> nicht zu verantworten habe, jedoch verbessern möchte.

Nun nach fast 3 Monaten würde mich Ergebnisse dieses Audiooptimierers 
interessieren. Gibt es da etwas zu vermelden?

von Audiomann (Gast)


Angehängte Dateien:

Lesenswert?

Das Projekt lebt noch. Ich hatte mir zwischenzeitlich Folgendes 
überlegt:

Man sucht nach einer Folge mit identischen Werten, weil der 
Clipping-Effekt ähnliche Werte produzieren wird, egal, wo sie liegen. 
Dabei hatte ich das angehängte Diagramm im Auge:

Rein optisch ist es eigentlich ein Leichtes, die Kurven nachzuzeichnen. 
Ich wollte die Kurvenpunkte suchen, die Steigungen benutzen und 
Geradenschnittpunkte ermitteln und dann gfs etwas filtern.

Grundsätzlich geht es in MATLAB, aber es gibt ein neues Problem:

Die Clips sind nicht glatt und liegen unverständlicherweise auch nicht 
an derselben Stelle in Y. Je nach Lage in X variieren sie bis zu 15% 
geschätzt.

Außerdem sind die Clips nicht glatt sondern kleine Hügel. Ich möchte 
jetzt mit einem Filter die Knicke finden und einen Hochpass dafür 
formulieren.

von Markus F. (Gast)


Lesenswert?

Audiomann schrieb:
> Außerdem sind die Clips nicht glatt sondern kleine Hügel.
Warum sollte das so sein?

Knicke findet man mit der 1. Ableitung, also Differenz / Zeit.

von Sven B. (scummos)


Lesenswert?

Das geht in deinem Beispiel gut weil dein Signal wenn man in die 
geclippten Bereiche keine Samplepunkte legt immer noch überabgetastet 
ist ... das ist aber bei einem Audiosignal in der Praxis nicht der Fall. 
Clipping ist Datenverlust, und exakt prinzipiell nicht 
rekonstruierbar. Viel mehr als eine leichte Verbesserung wird man 
fürchte ich auch in der Praxis nicht erreichen können ...

von J. S. (engineer) Benutzerseite


Lesenswert?

Das ist der Knackpunkt: Man müsste Annahmen über das Krümmungsverhalten 
machen, was der Frage nach den höchst zulässigen Oberwellen entspricht. 
Das könnte man wenn überhaupt aus der Umgebung ermitteln aber das ist 
mit normaler Abtastdichte illusorisch.

von Rolf S. (audiorolf)


Lesenswert?

Habe ein neues Restaurationstool im Testgebrauch. Enorm, was das kann. 
Ist ein plugin für Steinberg. Da geht schon einiges. Solche Clips werden 
so abgesenkt, dass sie nicht mehr hörbar sind. Schon beeindruckend.

Man müsste mal wissen, wie die das genau vollbringen.

von uwe (Gast)


Lesenswert?

Bei Musik gibt es aber oft Wiederholungen der einzelnen Passagen(die 
Hoffentlich nicht alle an der gleichen Stelle kaputt sind). Online gehts 
nur mit großem Puffer eventuell mehrere Minuten bis sich die Passage 
wiederholt.

von Rolf S. (audiorolf)


Lesenswert?

Die Restauration bezog sich in meinem Beispiel auf reine Algorithmik. 
Nicht auf das Duplizieren identischer Stellen.

von Stefan0618 (Gast)


Lesenswert?

Rolf S. schrieb:
> Ist ein plugin für Steinberg. Da geht schon einiges. Solche Clips werden
> so abgesenkt, dass sie nicht mehr hörbar sind. Schon beeindruckend.

Hi Rolf!
Wie ist der Name des Plugins?
Hast Du mal Beispieldaten als wav? Geklippte Eingangssignale und
restauriertes Signal fuer einige Testmuster (Einzelton, Mehrton,
repetitiv, ...)?
Wie gross ist die Latenz?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.