|
|
Frequenz eines Signals ermitteln |
|
dash |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.01.2016, 11:10
Titel: Frequenz eines Signals ermitteln
|
|
|
|
|
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
Ich hoffe auf gute Tips und Tricks
Grüße
ben
Beschreibung: |
|
Download |
Dateiname: |
3.PNG |
Dateigröße: |
22.74 KB |
Heruntergeladen: |
657 mal |
Beschreibung: |
|
Download |
Dateiname: |
2.PNG |
Dateigröße: |
17.31 KB |
Heruntergeladen: |
678 mal |
Beschreibung: |
|
Download |
Dateiname: |
1.PNG |
Dateigröße: |
39.94 KB |
Heruntergeladen: |
635 mal |
|
|
|
|
|
Epfi |
Forum-Meister
|
|
Beiträge: 1.134
|
|
|
|
Anmeldedatum: 08.01.09
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 07.01.2016, 23:11
Titel:
|
|
|
|
|
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.
|
|
|
dash |
Gast
|
|
Beiträge: ---
|
|
|
|
Anmeldedatum: ---
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.01.2016, 12:23
Titel: Wie ermittle ich die Zeit einer Periode?
|
|
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?
Grüße
ben
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
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
| 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.
|
|