|
|
Faltung und Normalisieren von Audiosignalen: clipping |
|
flargoesmatlab |
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 16.04.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.05.2013, 13:34
Titel: Faltung und Normalisieren von Audiosignalen: clipping
|
|
Hallo,
ich möchte 2 Audiosignale falten. Das gefaltete Signal möchte ich anschließend normalisieren. Bei der Erstellung mittels wavwrite() bekomme ich eine Warnung von Matlab "Data clipped during write to file....". eben das Clipping möchte ich ja mit diesem Schritt vermeiden. Exportierte ich jedoch das nichtnormalisierte File bekomme ich keine Clipping Warnung. Ich wäre sehr dankbar wenn mir dabei jemand weiterhelfen könnte, da ich nicht weiß wo der Fehler ist.
Hier mein Code:
[EDITED, Jan, Bite Code-formatierung verwenden - Danke!]
|
|
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 05.05.2013, 21:58
Titel: Re: Faltung und Normalisieren von Audiosignalen: clipping
|
|
Hallo flargoesmatlab,
Wie sehen denn die Daten aus? Schaue doch einfach mal rein um das Problem zu finden:
Was würde denn passieren, wenn conSignal = [-0.9, 0.0001] ist?
Wenn die Anzahl der Bits nicht angegeben ist, schreibt WAVWRITE mit 16 Bits als Default. Dann ist der erlaubte Range nur: -1.0 <= Y < +1.0. +1 ist also explizit ausgeschlossen!
Gruß, Jan
Zuletzt bearbeitet von Jan S am 06.05.2013, 20:25, insgesamt einmal bearbeitet
|
|
|
Gast |
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 06.05.2013, 18:21
Titel:
|
|
du normalisierst dein Signal mit max(signal), das gibt allerdings nur denn größten positiven Wert zurück, aber der Betrag ein negativen Wertes kann natürlich noch größer sein, daher normalisier mal mit max(abs(signal))
viele Grüße,
René
|
|
|
flargoesmatlab |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 16.04.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.05.2013, 17:37
Titel:
|
|
Hey,
auch mit max(abs(convSignal)) kommt die Clipping Warnung leider immernoch.
Grüße
|
|
|
Jan S |
Moderator
|
|
Beiträge: 11.057
|
|
|
|
Anmeldedatum: 08.07.10
|
|
|
|
Wohnort: Heidelberg
|
|
|
|
Version: 2009a, 2016b
|
|
|
|
|
|
Verfasst am: 12.05.2013, 23:24
Titel:
|
|
Hallo flargoesmatlab,
Ich wiederhole es nochmal:
Zitat: |
Wenn die Anzahl der Bits nicht angegeben ist, schreibt WAVWRITE mit 16 Bits als Default. Dann ist der erlaubte Range nur: -1.0 <= Y < +1.0. +1 ist also explizit ausgeschlossen! |
Du hast bisher noch nicht darauf reagiert.
Wenn Du also "wavwrite(y,48000,'E:\...')" schreibst, führt ein +1.0 in y zu der genannten Warnung betreffend des Clippings. Siehe "help wavwrite".
Eine Abhilfe ist die Umwandlung in INT16 und das explizite Ausschließen des nicht akzeptierten Wertes:
Oder aber Du schreibst das WAV mit 32 Bits, so dass auch +1.0 erlaubt ist.
Mit "Wie sehen Deine Daten denn aus?" meinte ich, dass Du die Ausgaben der gezeigten Befehle "max(convSignal) ..." hier im Forum posten könntest. Dann wäre eine zielsichere Hilfe möglich.
Gruß, Jan
|
|
|
flargoesmatlab |
Themenstarter
Forum-Newbie
|
|
Beiträge: 5
|
|
|
|
Anmeldedatum: 16.04.13
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 13.05.2013, 14:56
Titel:
|
|
Hi,
sorry ich war leider unterwegs.
Danke für den guten Tip, das werde ich ausprobieren. Sollte das nicht klappen poste ich die Daten.
Grüße
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|