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

mittenfrequenz aus ein FFT signal

 

gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.01.2010, 03:30     Titel: mittenfrequenz aus ein FFT signal
  Antworten mit Zitat      
Hallo,

ich habe ein FFT und davon möchte ich die mittenfrequenz berechnen ,was muss ich beachten,und wie bekomme ich das hin?
falls meine frage nicht klar bitte melden
grüsse


derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 26.01.2010, 17:42     Titel:
  Antworten mit Zitat      
Hi, du musst zunächst f1 und f2 berechnen und dann das geometrische Mittel davon bilden:

Code:

geom = prod(x).^(1/length(x));
 


Wie du jetzt aber die Grenzfrequenzen f1 und f2 berechnest, dazu müsste ich schon etwas mehr wissen. Wie groß ist deine FFT Fensterbreite? Wo kommt das Signal her? usw.

Viele Grüße,

der Oli
Private Nachricht senden Benutzer-Profile anzeigen
 
gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.01.2010, 12:43     Titel: mittenfrequenz aus ein FFT signal
  Antworten mit Zitat      
Hallo,

hier ist einmal Original signal auf dem linken fenster und fft spektrum und FFT spektrum auf dem rechten.
ich weiss nicht wie ich die grenzfrequenz f1 und f2 in dem code einfügen kann.
muss ich eine gauskurve aus fft signal machen ,um die mittenfrequenz zu berechnen?aber wie ich habe kein f1 und f2
das ist fft code :
Code:
% --- Spektrum darstellen
% wird ausgeführt nach Betätigung Button "Spektrum berechnen"
function fftstart_Callback(hObject, eventdata, handles)
global SPANNUNG SAMPLES ABTAST MESSUNGEN SPKTRM Signalbeginn Signalende
frequenz = 1/(ABTAST*0.001); %Frequenz
T = (Signalende-Signalbeginn+1)/frequenz; %Abtastperiodendauer
t = 0:1/frequenz:T; %Abtastzeitwerte in Matrix
t_diff = t(end)-t(1); %Zeitdifferenz
SPKTRM = [];
% Plot Spektrum
for n = (0:MESSUNGEN-1)
% Berechnung FFT
spektrum = fft(SPANNUNG(Signalbeginn+n*SAMPLES:Signalende+n*SAMPLES));
SPKTRM = [SPKTRM; spektrum];
% nur im positiven Bereich
spktrmabs = abs(spektrum);
% Gleichanteil und spiegelung entfernen
fspktrm = spktrmabs(2:ceil(length(spktrmabs)/2));
% Plot Spektrum
stem(handles.spektrum,...
     linspace(1/t_diff,length(fspktrm)/t_diff,length(fspktrm)),fspktrm,...
     'fill','MarkerSize',1,'Color', [0 0.7 0]);
hold on
end
hold off
xlabel(handles.spektrum,'Frequenz [Hz]')
 


signal und fft.jpg
 Beschreibung:

Download
 Dateiname:  signal und fft.jpg
 Dateigröße:  69.38 KB
 Heruntergeladen:  754 mal
 
derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 27.01.2010, 13:03     Titel:
  Antworten mit Zitat      
Hi wenn ich so dein Spektrum sehe, könnte ich mir vorstellen, dass du bloß denn Anfang und das Ende von dem Peak messen müsstest. Also der Filter, der vorher genutzt wurde ist sozusagen unbekannt?

Code:

thres=0.1; % ????
find(x>thres,1,'first')
find(x>thres,1,'last')
% umrechnen in Frequenzen
% geometrische Distanz berechnen
 


Viele Grüße,

der Oli
Private Nachricht senden Benutzer-Profile anzeigen
 
gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.01.2010, 17:59     Titel: mittenfrequenz aus ein FFT signal
  Antworten mit Zitat      
Hallo,
die messwerten,mit denen ich arbeite wurden mit Labview gemacht.
und der jenige,der das gemacht hat, hat ein Bandpass benutzt ein mal mit filter und einmal ohne filter , mit 2.Filterordnung und o.grentfrequenz=44 khz,und U.grenzfrequenz=38khz .
und das signal was du sieht ist ungefiltert ,dass muss ich noch tun,bevor ich das fft spektrum darstelle.
kannst du nochmal erklären,wie du diesen code benutzen würdest?

grüsse
 
derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 27.01.2010, 19:52     Titel:
  Antworten mit Zitat      
Hi,

ich weiß halt auch bloß wie man die Mittenfrequenz von einem Spektrum bildet, wenn man die obere und untere Grenze kennt. Ich weiß ja nicht ob du einfach die Werte für den Bandpassfilter fest eingeben sollst oder ob du diese erst aus dem Spektrum bestimmen sollst. Zweiteres angenommen meinte ich das so:

Code:

% y ist dein Spektrum
thres=0.1; % Schwellenwert muss von dir festgelegt werden
fu=find(x>thres,1,'first')
fo=find(x>thres,1,'last')
% umrechnen in Frequenzen
fu = x(fu); % wenn x deine passenden Frequenzwerte sind
fo = x(fo);
% geometrische Distanz berechnen
geom=sqrt(fu.*fo);
 


Viele Grüße,

der Oli
Private Nachricht senden Benutzer-Profile anzeigen
 
gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.01.2010, 00:08     Titel: mittenfrequenz aus ein FFT signal
  Antworten mit Zitat      
Hallo,

diese werte sollen erst aus dem Spektrum bestimmt werden,weil die werte von fo und fu sind vom labview und die kann ich nicht festgeben.
es ist einfach bisschen kompliziert!

ich denke eine gausglocken kurve musste das problem lösen.
das heisst aus dem spektrum eine gausskurve machen und davon alle mögliche Merkmale berechen wie std und var und schiefe und kurtosis usw.

aber wie kann man so eine kurve darstellt und daraus fo und fu und die bandbreite und andere Merkmale berechnet?
grüsse
 
derOli
Forum-Meister

Forum-Meister


Beiträge: 579
Anmeldedatum: 19.03.08
Wohnort: Leipzig
Version: 2010a
     Beitrag Verfasst am: 28.01.2010, 15:22     Titel:
  Antworten mit Zitat      
Hi, du kannst auch eine Glockenkurve zeichnen, ich glaube mit hist() geht das. Aber das Ergebnis sollte das gleiche wie bei meinem Ansatz oben sein, du musst dich für einen Schwellenwert entscheiden und dann ersteinmal fu und fo bestimmen.

Viele Grüße,

der Oli
Private Nachricht senden Benutzer-Profile anzeigen
 
gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 28.01.2010, 21:43     Titel: mittenfrequenz aus ein FFT signal
  Antworten mit Zitat      
Hallo,

ja ich würde das mit hist versuchen und ergebnisse dann vergleichen,ob das gleiche rauskommt.
vielen dank für deine Hilfe
grüsse
 
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.