einseinsnull
[nur noch PN]
gibt es hier vielleicht ein ausnahmetalent, das mir bei der unkonventionellen berechnung von filtern helfen kann?
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: This feature may not be available in some browsers.
ich benötige die mathematik für chebychev-, bessel- und eine elliptische topologie
1000 'THIS SUBROUTINE IS CALLED FROM TABLE 20-4, LINE 340
1010 '
1020 ' Variables entering subroutine: PI, FC, LH, PR, NP, P%
1030 ' Variables exiting subroutine: A0, A1, A2, B1, B2
1040 ' Variables used internally: RP, IP, ES, VX, KX, T, W, M, D, K,
1050 ' X0, X1, X2, Y1, Y2
1060 '
1070 ' 'Calculate the pole location on the unit circle
1080 RP = -COS(PI/(NP*2) + (P%-1) * PI/NP)
1090 IP = SIN(PI/(NP*2) + (P%-1) * PI/NP)
1100 '
1110 ' 'Warp from a circle to an ellipse
1120 IF PR = 0 THEN GOTO 1210
1130 ES = SQR( (100 / (100-PR))^2 -1 )
1140 VX = (1/NP) * LOG( (1/ES) + SQR( (1/ES^2) + 1) )
1150 KX = (1/NP) * LOG( (1/ES) + SQR( (1/ES^2) - 1) )
1160 KX = (EXP(KX) + EXP(-KX))/2
1170 RP = RP * ( (EXP(VX) - EXP(-VX) ) /2 ) / KX
1180 IP = IP * ( (EXP(VX) + EXP(-VX) ) /2 ) / KX
1190 '
1200 ' 's-domain to z-domain conversion
1210 T = 2 * TAN(1/2)
1220 W = 2*PI*FC
1230 M = RP^2 + IP^2
1240 D = 4 - 4*RP*T + M*T^2
1250 X0 = T^2/D
1260 X1 = 2*T^2/D
1270 X2 = T^2/D
1280 Y1 = (8 - 2*M*T^2)/D
1290 Y2 = (-4 - 4*RP*T - M*T^2)/D
1300 '
1310 ' 'LP TO LP, or LP TO HP transform
1320 IF LH = 1 THEN K = -COS(W/2 + 1/2) / COS(W/2 - 1/2)
1330 IF LH = 0 THEN K = SIN(1/2 - W/2) / SIN(1/2 + W/2)
1340 D = 1 + Y1*K - Y2*K^2
1350 A0 = (X0 - X1*K + X2*K^2)/D
1360 A1 = (-2*X0*K + X1 + X1*K^2 - 2*X2*K)/D
1370 A2 = (X0*K^2 - X1*K + X2)/D
1380 B1 = (2*K + Y1 + Y1*K^2 - 2*Y2*K)/D
1390 B2 = (-(K^2) - Y1*K + Y2)/D
1400 IF LH = 1 THEN A1 = -A1
1410 IF LH = 1 THEN B1 = -B1
1420 '
1430 RETURN
das hier checke ich noch nicht.
RP = RP * ( (EXP( ...
IP = IP * ( (EXP( ...
wie soll man eine variable anhand sich selbst errechnen? oder ist damit sample t-1 gemeint oder was?
In BASIC wird zunächst der Teil RECHTS vom Gleichzeichen-Operator berechnet und das Ergebnis dann der Variable LINKS vom Gleichzeichen-Operator zugewiesen.
welches real und imaginary ist das jetzt? das obere (zeile 1080)? oder das erneut umgerechnete (zeile 1170)?
hehe, erst macht er W = 2*pi*F und später macht er dann überall W/2., was für ein noob.![]()
KX wird doch bei der Berechnung von RP und IP verwendet?und wozu berechnen wir eine variable KX wenn die später nirgends benutzt wird?
Das ist für die bessere Lesbarkeit, ist ja schließlich Beispiel-Code.
Gibt es 'ne Möglichkeit das Prinzip das hinter den Filter Algorithmen steckt zu erklären, was mit den Daten passiert, ohne dass man sich mit Formel belasten muss oder wird da wirklich versucht irgendwelche Schaltungen bzw. Bauteile in Formeln abzubilden?
In wie fern spielt die Filterfrequenz dabei eine Rolle?Duch einen Tiefpassfilter sollen schnelle Änderungen gedämpft werden. Ein Tiefpassfilter erhält man z.B. durch die Bildung des Mittelwertes. Also z.B. der Mittelwert aus dem vorigen Wert und dem neuesten Wert (nennt man wenn man das kontinuierlich macht moving average).
Dieser Mittelwertfilter ist allerdings nicht besonders steil, er sieht aus wie ein Teil von einem Sinus im Frequenzbereich bzw. eine sinc-Funktion.
Wenn man es besser machen will muss man schnelle Änderungen stärker unterdrücken, langsame Änderungen hingegen weniger. Dazu muss man geschickt werte aus der Vergangenheit und den aktuellen Wert miteinander verwurschteln (mit Koeffizienten multiplizieren und addieren). Divisionen versucht man typischerweise zu vermeiden, weil es vergleichsweise rechenintensiv bzw. aufwändig ist, ganz kann man es aber meist nicht vermeiden.
Den Trick kenne ich von div. Samplern, das Sample invertieren und überlagernEinen Hochpassfilter erreicht man im Prinzip, indem man das Originalsignal nimmt, und das Tiefpass-Signal (das von dem Originalsignal abgeleitet wurde) davon phasenrichtig abzieht.