Frequenzgang berechen digitahler Filter

OP #3752581
Lesenswert?

Ich habe mir einen einfachen Tiefpassfilter gebastelt.
1
#define C 8 // ein wert zwischen 0 und 10
2

3
int Y; // Gefilterter Messwert
4
int X; // wert der vom ADC gewandelt wird und in einen Messwert umgerechnet wurde
5
...
6
Y=(X*(10-C)+Y*C)/10;
7
...

Mit C stelle ich die Grenzfrequenz ein(glaube ich).
Der Messwert ändert sich nur sehr langsam, im Bereich von kleiner 0,25 
Hz
Alles darüber wollte ich weg filtern.

soweit so gut. bis hier hin läuft alles.

jetzt zur Theorie: ich möchte den Filter Dokumentieren und 
Charakterisieren

ich habe mir daher folgende Übertragungsfunktion überlegt:


Hier komme ich nicht weiter.
wie berechne ich jetzt aus dieser Übertragungsfunktion den Frequenzgang?
Kann ich diese diskrete Übertragungsfunktion in eine kontinuierliche 
umwandeln G(s)?


ps ich habe Octave zur Simulation
#3752658
Lesenswert?

Du hast einen Rechenfehler:

mit


Weiters kannst du, für deinen Bodeplot
setzen und Dir
 und
für
 ausrechnen.
Pi entspricht Abtastrate-halbe.
Diese Gleichsetzung bedeuted die Auswertung der Übertragungsfunktion am 
Einheitskreis.


Das ganze funktioniert in MATLAB und Octave auch mit dem Befehl
freqz(b,a).

In deinem Fall:

freqz(1-C/10, [1 -C/10])


lg
Markus
OP #3752744
Lesenswert?

kann man das so machen?
wenn ja dann müste das hir ja auch gehen:

ich glaube dann mus ich das nämlich so eingeben:
1
freqz([1-c/10 0],[1 -C/10])
#3752779
Lesenswert?

joachim j. schrieb:
> kann man das so machen?
>
> wenn ja dann müste das hir ja auch gehen:
>
>
>
>

Diese Umrechnung stimmt, allerdings wird für den freqz Befehl mit der 
Darstellung gearbeitet die 1/z beinhaltet.
Siehe:
http://dali.feld.cvut.cz/ucebna/matlab/toolbox/signal/freqz.html
[Diese Seite ist die Hilfe einer älteren freqz Version in MATLAB - ist 
aber für Octave (zumindest die Polynomkoeffizienten) gleich]

Der Befehl, so wie du ihn angegegeben hast, stimmt. Allerdings kenne ich 
deine Gedankengänge dazu nicht.

Weiters ist der Befehl mit dem aus meinem ersten Post ident, da alle 
b_i=0 für i>0. Da muß dann kein Vektor angegeben werden.

lg
Markus
OP #3759915
Lesenswert?

so da bin ich wieder, mit dem selben Filter und einer neuen Frage.
ich möchte in meiner Arbeit herleiten wie ich von der Grenzfrequenz zu 
den Filter Koeffizienten komme. Hier also mein Ansatz:

Die Voraussetzung damit ich mit dieser Formel b errechnen kann ist das 
ich einen Komplexe Frequenz für fg vorgebe. Wie muss ich vorgeben, wenn 
ich nur die Frequenz habe aber keinen Winkel habe? muss ich hier den 
Betrag ermitteln?
OP #3760213
Lesenswert?

ok das Hilft mir weiter.
hier mein überarbeiteter Lösungsansatz:




Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren