LabVIEWForum.de
Frequenz auf nächstkleinere aufrunden - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: Sonstiges (/Forum-Sonstiges)
+--- Forum: Smalltalk (/Forum-Smalltalk)
+---- Forum: Off Topic - LVF betreffend (/Forum-Off-Topic-LVF-betreffend)
+---- Thema: Frequenz auf nächstkleinere aufrunden (/Thread-Frequenz-auf-naechstkleinere-aufrunden)



Frequenz auf nächstkleinere aufrunden - eg - 10.07.2006 15:34

Hallo Leute, folgendes Problem:

habe eine Eingangsfrequenz (z.B. 5 Hz)
habe einen Frequenzteiler (z.B. 2 Hz)

5/2 = 2,5, passt aber nicht, soll ganzzahlig sein, so würde eine 1 für den Frequenzteiler als nächstkleinerer passen.

Wie kann ich es mathematisch(ohne For-Loop) berechnen ?

Grüsse


Frequenz auf nächstkleinere aufrunden - eg - 10.07.2006 16:31

Keine Ideen? Oder das Problem zu schlecht beschrieben? Bitte, brauche mathematische Hilfe, soll doch bestimmt ganz einfach gehen, nur komme ich nicht drauf.

Gruss


Frequenz auf nächstkleinere aufrunden - Lucki - 10.07.2006 18:38

etwas schlecht beschrieben schon, denn was ist ein "Frequenzteiler von 2 Hz" (ein Frequenzteiler ist doch etwas was dividiert, also z.B durch 2)
Aber wenn Du 5 Hz und 2 Hz brauchst, dann muß Du natürlich von einer Mutterfrequenz ausgehen, die das kleinste gemeinschfaftliche Vielfache von 2 und 5 ist (oder ein Mehrfaches davon). Hier wäre das minimal 10 Hz: dividiert duch 2 ergibt 5 Hz, und dividiert duch 5 ergibt 2 Hz.


Frequenz auf nächstkleinere aufrunden - eg - 11.07.2006 09:17

Also folgendes:

1)ich bekomme Daten mit einer bestimmten Frequenz (ist vor dem Starten des Programms einstellbar)
2)aus dem Config-File lese ich den Frequenzdivisor (Teiler) aus
3)die Ausgangsfrequenz soll der Eingangsfrequenz geteilt durch den Teiler sein

Der Teiler muss logischerweise ein Vielfaches der Eingangsfrequenz sein, sonst kann ich nicht teilen. Der Bediener macht aber natürlich keine Berechnung, sondern verlässt sich auf mein Programm.

So, was soll ich dann als Ausgangsfrequenz ausgeben, wenn meine Eingangsfrequenz durch den Teiler nicht ganzzahlig teilbar ist?
Deshalb gebe ich eine Warnung aus, dass der Teiler angepasst wurde und passe den Teiler so an, dass die Eingangsfrequenz durch diesen ganzzahlig teilbar ist.

Bsp.

Eingfrq = 10Hz
Teiler = 3

Was soll ich jetzt machen?

Aus der 3 mache ich eine 2, dann habe ich 5Hz Ausgangsfrequenz und bin glücklich.


Ich habe es schon mit einer While-Schleife realisiert:

der Teiler wird solange dekrementiert, bis ich keinen Rest bei der Division EinFrq/Teiler habe.
Die Lösung gefällt mir aber nicht, denn ich will keine While-Schleifen solcher Art haben, weil meine Applikation als Dienst arbeiten soll.

Deshalb will ich eine direkte mathematische Lösung finden, man hat ja genug math. VIs in LV.


Grüsse, Eugen

P.S. Danke Lucki, dass du zumindest mal etwas vorgeschlagen hast.


Frequenz auf nächstkleinere aufrunden - Kvasir - 11.07.2006 09:43

Ich fürchte du wirst um deine While Schleife nicht drumherum kommen.

Das ganze läßt sich sicher realisieren durch eine Faktorzerlegung deiner Eingangsfrequenz und dann einer Annäherung.
Ich habe allerdings keine passende Mathfunktion dazu gefunden. Was ich gesehen habe ist eine ggT und eine kgV Funktion, mit denen man das sicher auch hinbiegen könnte.
Aber: Ich habe mir diese ggT Funktion angesehen und in der steckt auch eine While Schleife, wie du sie schon hast.

Ich glaube also, dass du um deine Schleife nicht herumkommst. Sad


Frequenz auf nächstkleinere aufrunden - eg - 11.07.2006 10:23

Habe es wie auf dem Bild gemacht.
Wenn aber jemand doch eine Idee dazu hat, bitte melden.

Danke, Eugen


Frequenz auf nächstkleinere aufrunden - eg - 11.07.2006 10:41

Hier noch mal das Bild


Frequenz auf nächstkleinere aufrunden - Oliver Listing - 14.07.2006 17:04

Hi eugen,

pack in die Whileschleife noch eine kleine Wartezeit von z.B. 10ms rein. Dann bremst du nicht den Rechner aus, wenn dein Prog. mal ein Fehlermacht oder länger rechnet...

Ansonsten auch keine andere Idee zur Fragestellung.

Gruß
Oliver