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 aus Messung entfernen

 

jimbo77

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.04.2013, 18:17     Titel: Rauschen aus Messung entfernen
  Antworten mit Zitat      
Hallo zusammen,

ich hab folgendes Problem:

Meine Messung (Strom-Zeit-Verlauf) ist stark verrauscht (Messung ist angehängt).
Ich bin leider momentan noch nicht allzu vertraut mit filtern, deswegen meine Frage, welchen Filter ich denn benutzen könnte, der mir das eigentliche signal am besten wiedergibt.

Danke!

Grüße

messungPLOT.jpg
 Beschreibung:

Download
 Dateiname:  messungPLOT.jpg
 Dateigröße:  20.65 KB
 Heruntergeladen:  932 mal


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 27.04.2013, 22:42     Titel: Re: Rauschen aus Messung entfernen
  Antworten mit Zitat      
Hallo jimbo77,

Diese Frage lässt sich prinzipiell nicht beantworten. Wir können nicht wissen, ob Du das hochfrequente Signal wegfiltern möchtest, oder das "niedrig frequente" rechteck-artige. Grundsätzlich sollte man für wissenschaftliche Messungen niemals irgendeinen Filter wählen, ohne die Natur des Rauschens möglichst genau zu berücksichtigen.

Woher stammt das Rauschen? welches Frequenzspektrum hat es? Welches ist das Spektrum des gewünschten Nutzsignals? Überlappen sich die Frequenzbereiche?

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

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.04.2013, 02:12     Titel:
  Antworten mit Zitat      
Hallo Jan,
danke für deine Hilfe!
also leider habe ich die messung so bekommen und weiß sonst nichts dazu.
Einzige Info ist, dass bei einem elektrischen Verbraucher der Strom über die Zeit abgebildet ist.

Kannst du mir sagen wie ich das Frequenzspektrum in Erfahrung bringen kann?

Gruß
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 28.04.2013, 11:52     Titel:
  Antworten mit Zitat      
Das geht mit dieser Funktion:

Code:

function [mag, mag_dB, fv] = FFT_betragsspektrum( signal, nfft, fa) ;
% Input:
% Signal im Zeitbereich
% nfft = Anzahl Messwerte für fft
% wenn nfft > length(sig) -> fft(sig,nfft) führt Zeropadding durch
% fa = Abtastfreq.
% Output:
% Magnitude des Spektrums linear und dB skaliert
% Frequenzvektor fv in [Hz] von 0...fa/2

% un-,gerade Anzahl Messwerte?
if mod(nfft,2) == 0;
    k = (nfft/2) + 1;
else
    nfft = nfft + 1;
    k = (nfft/2) + 1;
end

fn = fa/2; % Nyquistfreq.
df = fa/nfft; % Frequenzauflösung des Spektrums
% Frequenzvektor: Darstellung bis Nyquistfreq.
fv = 0: df : fn;

sig = signal(:);

% Signal transformieren
Fy = fft(sig,nfft);
 
%   Betrag - nur positives Freq.spektrum  
Fy_pos0 = abs(Fy(1:k));
 
%   Skalierung  
mag = [Fy_pos0(1)/nfft ;Fy_pos0(2:k-1)/(nfft/2);Fy_pos0(k)/nfft];

% Umrechnung in dB
mag_dB = 20*log10(mag + eps); % eps = kleine Konstante zur Vermeidung von log(0)
 


Du rufst die Funktion nun so auf:

Code:

signal = ...; % Zeitsignal
Fs = ...; % Abtastfrequenz in Hz
nfft = 2^nextpow2(length(signal)); % nächste Zweierpotenz bestimmen
[mag, mag_dB, fv] = FFT_betragsspektrum( signal, nfft, Fs) ;

% Darstellung
plot(fv,mag_dB); % oder hier alternative statt mag_dB -> mag verwenden für lineare Darstellung der Y-Achse.
grid on;
xlabel('Frequenz in [Hz]');
ylabel('Maginitude in dB');
 


Das Diagramm dann am Besten mal hier posten. Es es richtig, dass dein Nutzsignal diesem Sprung ("Rechteck") entspricht?
Private Nachricht senden Benutzer-Profile anzeigen
 
jimbo77

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.04.2013, 13:46     Titel:
  Antworten mit Zitat      
Das Spektrum habe ich angehängt, leider kann ich damit jetzt nicht so viel anfangen Rolling Eyes

Meinst du den Sprung bei ca. 2,5s?
Also es handelt sich bei dem elektr. Verbraucher um eine Lichtquelle..


Danke und Grüße

fft_mag_lin.jpg
 Beschreibung:

Download
 Dateiname:  fft_mag_lin.jpg
 Dateigröße:  21.31 KB
 Heruntergeladen:  910 mal
fft_mag_db.jpg
 Beschreibung:

Download
 Dateiname:  fft_mag_db.jpg
 Dateigröße:  35.81 KB
 Heruntergeladen:  921 mal
 
DSP
Forum-Meister

Forum-Meister



Beiträge: 2.117
Anmeldedatum: 28.02.11
Wohnort: ---
Version: R2014b
     Beitrag Verfasst am: 28.04.2013, 15:13     Titel:
  Antworten mit Zitat      
Genau den...im Bereich 2.5 - 10 sek. Sollte es sich hier tatsächlich um eine Sprungantwort handeln, ist man mit den Filtern etwas begrenzt. Der Anstieg/Abfall ist nämlich sehr hochfrequent und überlagert sich deshalb mit dem Rauschen, während die Anteile mit einer geringen Steigung niederfrequent sind. Man muss auf jeden Fall einen Tiefpassfilter einsetzen, der dann aber die Ecken des Rechtecks abrunden wird. Das lässt sich nicht vermeiden.

Schau dir doch als erstes mal die Funktion
Code:
yy = smooth(ydata,span)
an. Die entspricht einem Mittelwertfilter mit Tiefpassverhalten. Teste mal verschiedene Werte für span.

Ist deine Abtastfrequenz richtig, bzw. kennst du sie genau. Wenn du einen Zeitvektor t hast, wäre es ja einfach
Code:
fs = 1/diff(t(1:2))
Private Nachricht senden Benutzer-Profile anzeigen
 
jimbo77

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.04.2013, 15:36     Titel:
  Antworten mit Zitat      
Vielen Dank DSP!

Also die Abtastfrequenz stimmt genau (habe den Zeitvektor).

Für meinen Zweck muss das Signal nicht zu 100% genau rekonstruiert werden, ich muss lediglich das dynamische Verhalten erkennen können (bzw. kritische Punkte müssten ersichtlich sein).

Ich werde jetzt mal die smooth-funktion austesten, ob die mich weiter bringt und dann meine Ergebnisse hier posten..
 
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.