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

Anwendung einer FFT zur Bestimmung eines Echos

 

Patrick96
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 11.10.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 14.07.2017, 22:46     Titel: Anwendung einer FFT zur Bestimmung eines Echos
  Antworten mit Zitat      
Hallo liebe Community,

für meinen studentischen Job an der Uni soll ich einen Prüfstand zur Ultraschallmessung entwickeln. Die Auslegung der Messtechnik ist erfolgt und nun bin ich in der Lage die Ultraschallgeschwindigkeit von Wasser zu messen. Hierbei wird das Impuls-Echo Verfahren mit einem US-Sensor verwendet. Sowohl das Anregungssignal als auch das Echo kann ich auf einem Oszilloskop "sehen". Die Messdaten lass ich mir anschließend von LabView an Matlab weiterreichen (s.Bild "Echo).
Zum Abschluss meiner Arbeit möchte ich gerne die Qualität dieser Auswertung erhöhen. Dies möchte ich gerne über einen Filter zur Eliminierung der Störgeräusche erreichen. In verschiedenen Büchern ist die folgende Abfolge in verwendet worden:"FFT-Filter-IFFT". Dies möchte ich auch gerne probieren. Leider scheitere ich schon an der FFT. Aus diesem Grund würde ich gerne die Community fragen, ob der beschriebene Weg bei meinem Problem sinnvoll ist oder eine Alternative in meinem Fall besser wäre.

Vielen Dank für jeden Hinweis/Verbesserung

Viele Grüße

Patrick


Code:
%
clc
clear all
Zeit=[]%Siehe Rohdaten
Amplitude[]%Siehe Rohdaten
figure;
plot(Zeit,Amplitude);


T_inc=Zeit(2)-Zeit(1);
Fs=1/T_inc;
L=length(Amplitude);

signal_FFT=fft(Amplitude);%Matlab FFT Ausgabe
amplitude=2*abs(signal_FFT(1:L/2+1));
frequenz= Fs/2*linspace(0,1,L/2+1);

figure;
plot(frequenz,amplitude);

 


Echo.m
 Beschreibung:
Hier sind die Rohdaten meiner Messung

Download
 Dateiname:  Echo.m
 Dateigröße:  37.8 KB
 Heruntergeladen:  467 mal
Echo.JPG
 Beschreibung:

Download
 Dateiname:  Echo.JPG
 Dateigröße:  24.41 KB
 Heruntergeladen:  478 mal
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 18.07.2017, 16:43     Titel: Re: Anwendung einer FFT zur Bestimmung eines Echos
  Antworten mit Zitat      
Hallo Patrick96,

Es ist generell in einem Forum nütlich, sich auf die wesentliche Frage zu beschränken. Je länger die Leser Informationen lesen, die nichts mit der Frage zu tun haben, desto wahrscheinlicher ist es, dass sie weiter klicken.

Die Daten in einem M-File zu speichern, ist unpraktisch. Alle vorherigen Ergebnisse durch ein "clear all" zu zerstören, ist echt schade. Brutales Löschen alle ins Ram geladener Files erfordert nur ein zeitraubendes Nachladen von der Festplatte. Deswegen halt ich gar nicht von "clear all".

Zitat:
Leider scheitere ich schon an der FFT.

Dann erkläre noch, was Du hier als "Scheitern" bezeichnest. Was läuft nicht so wie gewünscht und was genau möchtest Du erreichen?

Es ist noch nicht klar, welches "Störgeräusch" Du genau herausfiltern möchtest. Wenn es die tiefen Frequenzen sind, wäre ein Tiefpass-Filter wohl einfacher als der Umweg über eine FFT.

Gruß, Jan
Private Nachricht senden Benutzer-Profile anzeigen
 
Patrick96
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 11.10.16
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.07.2017, 18:40     Titel:
  Antworten mit Zitat      
Hallo Jan,

meine großes Ziel ist die Berechnung der verstrichenen Zeit zwischen dem "Ende der Anregung" und dem Erscheinen des Echos. Anhand dieser Zeit kann ich die Ultraschallgewindigkeit berechnen.

Wie im Bild "Echo" zu erkennen, habe ich die Messdaten aus meinem Oszilloskope geladen und mir in Matlab geploted. Mich interessiert aber nur das Echo. Deshalb habe ich mir gedacht, dass ich durch eine FFT das Signal in den Frequenzraum überführe und es mit dem Einsatz von Filtern bearbeiten kann. Mein Sensor hat eine Resonanzfrequenz von 2.3 MHz und das Echosignal soll sich im Bereich von +/- 10% der RF liegen. (laut Literatur). Aus diesem Grund habe ich einen Bandpass Filter ausgewählt.
Anschließend überführe ich das gefilterte Signal mittels iFFT in den Zeitraum zurück. Hier soll nur noch das Echosignal deutlich erkennbar dargestellt werden, damit der spätere Anwender eine einfache Abschätzung der vergangenen Zeit durch Betrachtung des Graphen durchführen kann. In der Endfassung würde ich gerne so einen Verlauf haben der dem Schwingungsverlauf im Bild "Echo_Literatur" in einem gewissen Rahmen entspricht.

Mein Code ist folgender:

Code:
%
m=length(Amplitude);
t=Zeit(2)-Zeit(1);  %Samplingrate Hz
dF=1/t;             %Frequenz

%%FFt%
FFT_Signal=fft(Amplitude);
FFT=abs(FFT_Signal);
f1 = dF*(0:(m)-1)/m; %Berechnung der Frequenzintervalle

% Echo Detektion
 figure(1);
subplot(211)
plot(Zeit,Amplitude);
title('Zeitsignal')

subplot(212)
plot(f1,FFT)
title('Signal nach FFT')

%%Filter%%
BPF=FilterBandpass2;
XF=filter(BPF,FFT_Signal);


%%iFFT%%
IFFt_Signal=ifft(XF);
figure(2);
subplot(211)
plot(f1,XF)
title('Signal nach Filterung')

subplot(212)
IFFt=abs(IFFt_Signal);
plot(Zeit,IFFt)
title('Signal nach iFFT')


 


Das M-Skript hänge ich noch an.
Vielen Dank für Verbesserungsvorschläge oder Hinweise.

Viele Grüße ,

Patrick

FilterBandpass2.m
 Beschreibung:

Download
 Dateiname:  FilterBandpass2.m
 Dateigröße:  965 Bytes
 Heruntergeladen:  432 mal
Vergleich4.m
 Beschreibung:

Download
 Dateiname:  Vergleich4.m
 Dateigröße:  201.99 KB
 Heruntergeladen:  504 mal
Echo_Literatur.JPG
 Beschreibung:

Download
 Dateiname:  Echo_Literatur.JPG
 Dateigröße:  25.63 KB
 Heruntergeladen:  444 mal
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 - 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.