WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Maxima von Audiodatei, Hüllkurve

 

Frederik123

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.11.2012, 16:55     Titel: Maxima von Audiodatei, Hüllkurve
  Antworten mit Zitat      
Hallo zusammen,

ich habe ein Problem, das ich leider auch nach intensiver Recherche nicht lösen kann...
Ich habe eine wav-Datei vorliegen, in der Störgeräusch auftreten (im Bild rot markiert). Jetzt möchte ich gerne die Indizes aus meinem Datenvektor erhalten, bei denen ein Maxima auftritt. Also am besten immer den Anfangs- und den Endwert eines Störgeräuschs.

Ich hatte die Idee eine Hüllkurve über das Signal zu legen um dann die lokalen Maxima davon zu bestimmen. Leider war ich damit nicht erfolgreich Confused

Habt ihr vielleicht eine Idee wie ich das Problem lösen könnte?

Schonmal vielen Dank!

Peaks.png
 Beschreibung:
Audiosignal mit Störgeräuschen

Download
 Dateiname:  Peaks.png
 Dateigröße:  11.53 KB
 Heruntergeladen:  868 mal


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 08.11.2012, 10:47     Titel: Re: Maxima von Audiodatei, Hüllkurve
  Antworten mit Zitat      
Hallo Frederik123,

Wie unterscheidest Du denn Störgeräusche vom gewünschten Signal?
Was hast Du denn bisher genau ohne Erfolg versucht? Es ist im Allg. einfacher einen Verbesserungsvorschlag zu machen, anstatt ein Problem vollständig zu lösen.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Frederik123

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.11.2012, 13:36     Titel:
  Antworten mit Zitat      
Hallo Jan,

danke, dass du dich meinem Problem annimmst Wink

Das Problem ist glaub ich weniger die Umsetzung in Matlab, sondern die richtige Vorgehensweise.

Zu meinen Ideen:

1) Tiefpassfiltern und Hüllkurve erstellen
Code:

Fs = 44100;
[b,a] = butter(2,10/(Fs/2),'low');
smoothData = filtfilt(b,a,abs(hilbert(data)));
 


zwar schon ne echt Verbesserung, aber leider immer noch eine Funktion mit vielen kleinen lokalen Maxima.

2) Vergleich des aktuellen Wert, ob er in einem bestimmten Intervall das Maximum ist
Code:

 for i=(window+1):L-window
            if data(i)==max(data((i-window):(i+window)))
             vektor=[vektor i];
         end
 end
 


Ist im Nachhinein irgendwie auch Quatsch...


Eigentlich ist jedes Geräusch, dass sich "deutlich" abhebt (in der Abbildung durch roten Kreis), von Interesse. Ich befürchte ich komm nicht drum irgendeinen Grenzwert festzulegen, ab dem das Signal betrachtet werden soll.

Trotzdem noch eine Frage zur Hüllkurve: Gibt es eine Möglichkeit die Hüllkurve so zu legen, dass sie wirklich nur ganz grob drüber liegt (blöde Erklärung jetzt, aber wie wenn man eine Tischdecke vobn oben auf meinen Graphen fallen lassen würde Rolling Eyes )??

Danke, Gruß
 
Frederik123

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.11.2012, 14:42     Titel:
  Antworten mit Zitat      
Zur nur Info, ich hab das Problem mehr oder weniger elegant gelöst, wer also Hilfe benötigt, einfach nochmal schreiben Wink
 
Saint1031

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 30.01.2013, 14:32     Titel:
  Antworten mit Zitat      
Hallo Frederik123,

ich habe nahezu dasselbe Problem und finde keine Lösung. Würdest du mir sagen oder einen Tipp geben wie du es gelöst hast?

Gruß
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.