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

Frequenz eines Signals ermitteln

 

dash

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.01.2016, 11:10     Titel: Frequenz eines Signals ermitteln
  Antworten mit Zitat      
Hi Leute,

ich habe ein Spannungssignal, von dem ich die Frequenz zum aktuellen Zeitpunkt ermitteln muss. Ich habe bereits oft und intensiv im Internet dazu gesucht und die Ergebnisse haben bei mir nicht zum Erfolg geführt. Daher frage ich nach, bestimmt ist es recht einfach.

Bild 1 zeigt das Eingangssignal
Bild 2 zeigt meinen Ansatz, der im Wesentlichen so funktioniert:
Bild 3 zeigt die ermittelte Frequenz

1) Detektiere ich die Nulldurchgänge
2) Zähle ich sie mit Counter UP
3) Teile ich sie durch die aktuelle Systemzeit
4) Erhalten ich die Frequenz

Problem: Es ist im Grunde eine Methode, die die Frequenz über den kompletten Simulationszeitraum mittelt, aber nicht die aktuelle Frequenz liefert, also über einen kleineren Zeitraum. Das ist für mich so nicht brauchbar. Anders kriege ich es aber nicht hin. Ich möchte die Frequenz eben über einen einstellbaren Zeitraum immer neu und aktuell ermittelt haben.

Auf gut deutsch: Ich möchte Schwankungen in der Frequenz mitkriegen und die gehen bei dieser Mittelung verloren Sad

Ich hoffe auf gute Tips und Tricks Smile

Grüße
ben

3.PNG
 Beschreibung:
ermittelte Frequenz

Download
 Dateiname:  3.PNG
 Dateigröße:  22.74 KB
 Heruntergeladen:  657 mal
2.PNG
 Beschreibung:
mein Modell Ansatz

Download
 Dateiname:  2.PNG
 Dateigröße:  17.31 KB
 Heruntergeladen:  678 mal
1.PNG
 Beschreibung:
Eingangssignal

Download
 Dateiname:  1.PNG
 Dateigröße:  39.94 KB
 Heruntergeladen:  635 mal


Epfi
Forum-Meister

Forum-Meister



Beiträge: 1.134
Anmeldedatum: 08.01.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 07.01.2016, 23:11     Titel:
  Antworten mit Zitat      
Der kleinste Zeitraum, in dem Du die Frequenz sinnvoll angeben kannst, ist eine halbe Periode. Ist das klein genug? Wenn nicht, kannst Du über die Annahme, dass die Phasenverschiebung und Amplitude Deines Signals konstant sind auch noch genauere Aussagen treffen... Wenn Du diese Annahmen nicht annehmen darfst und eine halbe Periode nicht schnell genug ist, kannst Du mit der Bastelei aufhören, weil es einfach nicht geht ;)

Dein Problem liegt darin, dass Du durch die aktuelle Systemzeit teilst. Dadurch kommen diese Spitzen zustande. Du willst aber nur dann durch die Systemzeit teilen, wenn gerade ein Nulldurchgang erkannt wurde - dieser Wert ist dann bis zum nächsten Nulldurchgang Deine aktuelle Frequenz. Genauer geht es mit Nullstellen zählen nicht. Jede Nullstelle ergibt eine neue Frequenz. Wenn Du es so umgesetzt hast, wie beschrieben, dann ist das die gemittelte Frequenz seit Modellstart. Die "aktuelle Frequenz" bekommst Du, wenn Du die Zeit zwischen zwei Nulldurchgängen ermittelst.
Private Nachricht senden Benutzer-Profile anzeigen
 
dash

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 08.01.2016, 12:23     Titel: Wie ermittle ich die Zeit einer Periode?
  Antworten mit Zitat      
Hi Epfi,

vielen Dank für die Antwort!

Über eine Periode ermitteln ist völlig okay! Das hätte ich auch schon umgesetzt, aber da liegt ja mein Problem. Wie ermittle ich denn die Zeit einer Periode? Ich kenne ja nur die Modellzeit, die ja immer weiterläuft. Ich könnte mir natürlich beim Nulldurchgang die aktuelle Zeit speichern und beim nächsten Nulldurchgang die gespeicherte Zeit von der aktuellen Modellzeit abziehen, aber wie realisiert man sowas in Simulink? Rolling Eyes

Grüße
ben
 
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.