Wie findet man die Übertragungsfunktion eines Frequenzzählers?

Ich entwerfe ein mathematisches Modell für mein Steuerungssystemprojekt und darin gibt es diesen Block, der die Frequenz der Welle misst. Für die praktische Anwendung habe ich diese Welle in einen Mikrocontroller eingespeist und dann einen Algorithmus geschrieben, der Samples der Welle mit einer festen Rate aufnimmt und die Minima und Maxima herausfindet und mit ihnen die Frequenz ermittelt. Aber ich verstehe nicht, wie ich mathematisch vorgehen soll, damit ich einen Block dieses Zählers erstelle, dessen Eingang die Welle und der Ausgang die Frequenz sein wird. Irgendeine Idee, wie man damit fortfahren kann?

Sie haben einen Algorithmus geschrieben, der vermutlich tut, was Sie wollen, ja? Niemand auf Stack Exchange hat Zugriff auf diesen Algorithmus, ja? Bisher hast du alle Trümpfe in der Hand!
Nun, der Code wurde in der Arduino-Programmiersprache geschrieben, aber wenn Sie weitere Informationen darüber wünschen, wie der Algorithmus funktioniert, kann ich Ihnen das sicher geben???
Ich hoffe, Sie verstehen, dass die Abtastfrequenz höher sein muss als die höchste Komponentenfrequenz des Signals? Wenn Sie von Nyquist-Raten abhängig sind, müssen Sie das Signal bandbegrenzen, was durchaus einen ziemlich ausgeklügelten Filter erfordern kann.

Antworten (2)

Typischerweise integriert ein Frequenzzähler die Frequenz über die Torperiode und hält sie dann, bis der nächste Abtastwert verfügbar ist.

Ein grobes Modell (vielleicht geeignet für die Schleifenstabilitätsanalyse) wäre eine Totzeit von der Hälfte der Gate-Periode (genau in dem Maße, in dem sich die Frequenz linear ändert und unter der Annahme, dass die Messungen kontinuierlich sind), aber Sie könnten es genauer modellieren, wenn Sie möchten .

Spehros Antwort - "Integrator dividiert durch die Gate-Periode (Zeit oder Samples)" ist einfach ein Durchschnitt - ein undichten Integrator. Sie können also (mit der entsprechenden Skalierung) einen Boxcar-Filter verwenden, um Ihren Frequenzzähler zu modellieren. Die Übertragungsfunktion ist

Y ( z ) X ( z ) = z N + z N 1 + . . .1 N z N