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

Rauschen Unterdrücken FIR Filter

 

DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 02.10.2012, 12:36     Titel:
  Antworten mit Zitat      
Jedes Filter hat eine Einschwingzeit oder auch Delay genannt, bis die Signale vom Eingang an den Ausgang kommen. Das kann man nicht verhindern. Man kann das Signal nun um den Delay wieder nach links verschieben, so dass die Anstiege wieder in etwa mit dem ungefilterten Signal übereinstimmen. Da du hier aber eine Art Rechtecksignal hast und die Flanken nun mal ein hochfreq. Signal sind, werden durch die Tiefpassfilterung alle Kanten abgerundet. Hier wirst du einfach Abstriche machen müssen...die Filter sind kein Zauberwerkzeug Wink

Ich habe nun mal dein neues Signal mit dem gleichen Filter gefiltert und das Signal anschließend um den Delay wieder nach links verschoben. Viel mehr wird mit der herkömmlichen Filterung hier nicht gehen. Ich werde mal noch ein IIR Filter probieren, befürchte aber, dass auf Grund der notwendigen niedrigen Grenzfreq. die Einschwingzeit einfach zu lang ist.

FIR_Filter_fc_10Hz_signal_voltage.JPG
 Beschreibung:

Download
 Dateiname:  FIR_Filter_fc_10Hz_signal_voltage.JPG
 Dateigröße:  185.85 KB
 Heruntergeladen:  1213 mal
Private Nachricht senden Benutzer-Profile anzeigen


alexej_ivanovic
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 26.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.10.2012, 12:52     Titel:
  Antworten mit Zitat      
Das schaut erst mal super aus. Könntest du mir noch die Logik erklären, wie du es machst ??? Bzw. wie man sowas handhabt.

oder evtl. den quelcode oder simulink file zuschicken


Besten Dank Smile
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 02.10.2012, 13:12     Titel:
  Antworten mit Zitat      
Da du ja nicht die notwendigen Toolboxen zum Erstellen des Filters zu haben scheinst, musst du dieses Skript nutzen (habe ich hier auch).

http://www.gomatlab.de/window-sinc-filter-t19156.html

Lade dir alle 4 m-files auf der verlinkten Seite in dein Workverzeichnis von Matlab. In einem seperaten m-file erstellst du nun folgendermaßen das Filter und führst die Filterung durch.

Code:

% signal laden
clear;
load voltage.mat

% Ich nutze eine 2er Potenz als Länge
t=voltage.time(1:2^17);
V=voltage.signals.values(1:2^17);

figure(1)
plot(t*1000,V,'b--');
xlabel('time in ms');
ylabel('Spannung in V');
grid on;
hold on;



% Filterdesign
order = 100; % Filterordnung -> 101 Koeffizienten
fc1 = 5; % 1. Grenzfrequenz
fc2 = 0; % 2. Grenzfrequenz...wird bei Tiefpass nicht gebraucht
fs = 1000 % Abtastfrequenz in Hz
filter_type = 'low';
window_type = 'Blackman';
analyse_plot = 'n'; % Filterfrequenzantwort darstellen
% Berechnung der Impulsantwort = Filterkoeffizienten
h = window_sinc_filter(order, fc1, fc2, fs, filter_type, window_type, analyse_plot);


% Signal mit dem Tiefpasspass filtern
V_filt = FFT_Faltung(V,h) ;
delay = 50; % Signal bei der Darstellung um delay (ms) nach links verschieben
% delay = halbe Filterlänge (siehe Variable order)
plot(t*1000,V_filt(delay+1:2^17+delay),'r.-');
 


Du kannst gerne noch mit die order erhöhen und fc1 verringern...aber das Ergebnis wird wohl kaum besser werden und dein Delay weiter steigen. Ich habe auch mal noch ein IIR Filter getestet, was aber auch keinen wirklichen Vorteil brachte. Vor allem an den Kanten entstehen mit diesem Filtertyp bei derartig niedrigen Grenzfrequenzen fc Überschwinger.

Wenn dir das Ergebnis immer noch nicht genug ist, musst du dich von der herkömmlichen Filterung verabschieden und eine Lifterung(=Filterung) im Cepstrum (=transformiertes Freq.-Spektrum) durchführen. Da du ja aber im Bereich Signalverarbeitung Anfänger bist, wäre das ein ganz schön harter Brocken.
Private Nachricht senden Benutzer-Profile anzeigen
 
alexej_ivanovic
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 26.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.10.2012, 13:22     Titel:
  Antworten mit Zitat      
Hättest du evtl. dafür einen UNI-Skript oder ähnliches ?

Ich habe mal gelesen, dass man mit der AKF und Akkumulation auch weiterkommt ?
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 02.10.2012, 13:25     Titel:
  Antworten mit Zitat      
Für was ein Skript?

Zu deiner zweiten Frage kann ich leider nix sagen...
Private Nachricht senden Benutzer-Profile anzeigen
 
alexej_ivanovic
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 16
Anmeldedatum: 26.09.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.10.2012, 13:53     Titel:
  Antworten mit Zitat      
Danke für die Hilfe Smile


Skript, weil ich gerne das ganze verstehen möchte. Wie z.B. man auf die Grenzfrequenzen kommt.

Wie auf die Filterordnung etc.
Private Nachricht senden Benutzer-Profile anzeigen
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 03.10.2012, 10:08     Titel:
  Antworten mit Zitat      
Hier ist eine Seite, die ich immer wieder nur empfehlen kann. Allerdings ist das Skript auf englisch. Dafür sehr gut für Einsteiger und vor allem praxisnah ohne nun zu sehr auf die ganze Mathematik einzugehen.

http://www.dspguide.com/pdfbook.htm

Ab Kapitel 14-21 werden digitale Filter erklärt. Ich empfehle dir aber auch die Kapitel 8-11 wo es um die Erzeugung von Frequenzspektren etc. geht...also Grundlagen der digitalen Signalverarbeitung.

Skripte in deutsch von Uni's muss du selber mal googlen...da gibt es mit Sicherheit auch welche. Ansonsten kann ich die Bücher dig. Signalverarbeitung von K.D. Kammeyer oder dig. Messwertverarbeitung von R.Best empfehlen.
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen

Gehe zu Seite Zurück  1, 2

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.