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

HP-Filterung

 

Lutanic
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 17.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.04.2010, 17:51     Titel: HP-Filterung
  Antworten mit Zitat      
Hallo,
habe ein Sprachsignal, bei dem ich an gewissen Stellen eine HP-Filterung druchführen möchte. Das klappt soweit auch ganz gut, allerdings ist jeweils zu Beginn und Ende des HP - gefilterten Segemnts ein knacken zu höhren.

Ich nehmen mal an, das dieses Knacken daher kommt, die Signalamplitude zu "plötzlich" durch die HP-Filterung gesenkt wird. Ich bräuchte im Prinzip einen glatten übergang zwischen hp-gefiltertem Signal und original Signal, um diese Unstetigkeit zu vermeiden. Habe aber keine Idee wie ich das hinbekomme.

hier mal ein codebeispiel

Code:

[x, fs] = wavread('Datei');
h = fdesign.highpass('n,f3db,ast,ap',20,400,50,2,fs);
HP = design(h);
x_filt = x;
filter(HP,x_filt(10000:20000));
 


Angenommen, fs =10000, so höre ich bei sekunde 1 und sekunde 2 ein knacken, wenn ich das Signal x_filt abspiele.
Irgendwer ne Idee wie ich das Verbessern kann?
Private Nachricht senden Benutzer-Profile anzeigen


Jan*
Forum-Century

Forum-Century


Beiträge: 178
Anmeldedatum: 06.11.09
Wohnort: ---
Version: R2007b
     Beitrag Verfasst am: 10.04.2010, 19:16     Titel:
  Antworten mit Zitat      
Hi,

versuch mal den zeitlichen Übergangsbereich deiner gefilterten Folge abzuschneiden. Wenn die Ordnung deines Filters n ist, müsstest du die ersten und letzten n Werte abschneiden, die zusätzlich durch die Faltung des filter Befehls entstehen.

Gruß Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Lutanic
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 17.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.04.2010, 17:43     Titel:
  Antworten mit Zitat      
Also so ganz funktioniert das leider auch nicht. bekomme diese Artefakte immer noch an den grenzen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Lutanic
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 17.03.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 21.04.2010, 16:43     Titel:
  Antworten mit Zitat      
Ok, also für die die es interessiert, ich habe das Problem in den griff bekommen. Es lag nicht an der Filterung, wie in meinem ersten Post vermutet an dem "unstetigen" übergang von gefiltertem un ungefiltertem Signal.

Wenn man den Übergang glättet sind keine Artefakte mehr zu hören.
Die Glättung erreiche ich, indem ich in gewisser weise gefiltertes uind nichtgefiltertes signal Langsam überlager

also am anfang z.B (wenn die Filterung bei index k beginnt). :
x_filt(k) = .99 * x(k) + .01*x_filt(k)
x_filt(k+1) = .99*x(k+1) + .02*x_filt(k)

und am ende des gefilterten Segments genau umgekehrt
Private Nachricht senden Benutzer-Profile anzeigen
 
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 - 2025 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.