Forum: Digitale Signalverarbeitung / DSP / Machine Learning FIR Approximation analoger Filter


von div (Gast)


Lesenswert?

Hallo,

In verschiedenen Bereichen (z.B. SysID) ist es ja ueblich, analoge 
Systeme digital an der Nyquist Rate zu modellieren.

Beispielsweise adaptive Systeme: Hier wird ein analoges System einfach 
ueber einen FIR Filter approximiert.

Mir fehlt jetzt allerdings das Verstaendis fuer den umgekehrten Schritt: 
Wie sieht z.B. ein FIR Filter mit h = [1 0.75 0.5] im analogen Modell 
aus?

Eigentlich muessten das Diracs mit den Gewichten 1, 0.75 und 0.5 im 
Abstand der Abtastperiode sein, gefaltet mit einem sinc. Ist das 
richtig?

Bzw. anders gefragt: Ich habe das o.g. System h[n], ein Eingangssignal 
x[n] und das Ausgangssignal y[n].

Wie saehe nun h(t) fuer y(t) = h(t)*x(t) aus?

Thanks,
div

von Detlef _. (detlef_a)


Lesenswert?


von div (Gast)


Lesenswert?

Hallo,

Danke ... die beiden kenne ich.

Das heisst wenn man in der Praxis ein System mit einem adaptiven FIR 
Filter "findet" heisst das, dass man Impulsinvarianz annimmt? D.h. dass 
die gefundenen FIR Koeffizienten die Stuetzstellen der Impulsantwort des 
"echten" analogen Systems sind?

Nochmal konkret zu meinem Problem: Ich simuliere ein System in MATLAB 
das in irgeneiner Form auch eine SysID beinhaltet. Dabei arbeite ich nur 
mit diskreten Systemen (Integratoren).

Jetzt moechte ich die Problemstellung aber in ein analoges Modell 
bringen damit ich auch "echte" analoge Filter verwenden kann. Zum 
Beispiel einen Integrator, der ja in der Praxis nie eine Grade ist 
sondern die Form eines 1st order RC glieds hat (mit R>> aber nicht 
unendlich).

Heisst das also, dass ich das System, das ich zuvor im diskreten mit 
h=[1 0.75 0.5] modelliert habe, nun durch

h(t) = g(t) * (\delta(t) + 0.75\delta(t-T) + 0.5\delta(t-2T))

modellieren kann, wobei g(t) beliebig ist und T die Abtastrate ist?
Was waere den eine "praktisch" gute Wahl fuer g(t) bzw. gibt es ein 
g(t), sodass ich dieses System z.B. einfach in Simulink implementieren 
kann?

Danke nochmals
div

von div (Gast)


Lesenswert?

(sorry, Abtastperiode statt Abtastrate)

von Detlef _. (detlef_a)


Lesenswert?

div schrieb:
> Hallo,

> Nochmal konkret zu meinem Problem: Ich simuliere ein System in MATLAB
> das in irgeneiner Form auch eine SysID beinhaltet. Dabei arbeite ich nur
> mit diskreten Systemen (Integratoren).

Ähm SysID, häh.

> Beispiel einen Integrator, der ja in der Praxis nie eine Grade ist
> sondern die Form eines 1st order RC glieds hat (mit R>> aber nicht
> unendlich).

yo, eh nee.

Cheers
Detlef

von div (Gast)


Lesenswert?

Ok, danke.

von Michael (Gast)


Lesenswert?


von div (Gast)


Lesenswert?

>> Beispiel einen Integrator, der ja in der Praxis nie eine Grade ist
>> sondern die Form eines 1st order RC glieds hat (mit R>> aber nicht
>> unendlich).
> yo, eh nee.

doch

http://de.wikipedia.org/wiki/Integrierer#Integrierer
http://de.wikipedia.org/wiki/Integrierer#Realer_Operationsverst.C3.A4rker
... und etwas Rechnerei

von Frank M. (aktenasche)


Lesenswert?

div schrieb:
> h=[1 0.75 0.5] modelliert habe, nun durch
>
> h(t) = g(t) * (\delta(t) + 0.75\delta(t-T) + 0.5\delta(t-2T))

hä

du hast
(was sowieso schon mal etwas dubios für eine sprungantwort ist)
wieso ist dann
?
wenn dann auch nicht t sondern
 da im zeitdiskreten alle bereiche zwischen den abtastzeitpunkten 
unbekannt sind.

für mich kommt da eigtl nur bilineare transformation in frage und dann 
aus dem laplace-bereich in den zeitbereich rücktransformieren. 
vielleicht geht auch was über den frequenzgang.

von div (Gast)


Lesenswert?

Frank Meier schrieb:
> div schrieb:
>> h=[1 0.75 0.5] modelliert habe, nun durch
>>
>> h(t) = g(t) * (\delta(t) + 0.75\delta(t-T) + 0.5\delta(t-2T))
>
> hä
>
> du hast h=[1 0.75 0.5]

Ja, z.B..

> (was sowieso schon mal etwas dubios für eine sprungantwort ist)

Ist nur ein Bilderbuchbeispiel.
Im Endeffekt soll es aber eine FIR Approximation eines beliebigen 
analogen Systems sein (z.B. SysID).

Den Algorithmus und das ganze drum herum hab ich jetzt aber rein im 
diskreten modelliert.

> wieso ist dann?
> h(t) = g(t) * z^-1{H(z)}

Das ist es eh nicht.
Es sind eher kontinuierliche Diracs, gewichtet mit den diskreten 
Koeffizienten, im Abstand der Abtastperiode. Entspricht in etwa der 
Impulsinvarianz. Diese sagt dass man die Impulsantwort einfach abtastet.

Es ist mir schon klar, dass das analoge System unendlich viele 
Freiheitsgrade hat, waehrend mein zeitdiskretes System keine hat.

g(t)=sinc(t...) kommt daher, dass ich die rekonstruierte Impulsantwort 
durch einen Tiefpassfilter schicke (hypothetisch).

Aber - und das habe ich mittlerweile gedacht - stimmt das nur fuer 
dieses eine hypothetische, analoge System. Das kann es natuerlich nicht 
geben. Alles zwischen den Samples kann im analogen Fall ja beliebig 
sein.

> wenn dann auch nicht t sondern da im zeitdiskreten alle bereiche zwischen den 
abtastzeitpunkten
> unbekannt sind.

Deswegen schrieb ich ja eine reine zeitkontinuierliche Formel nur mit 
Diarcs. Naemlich c_1 * \delta(t - T): Impuls mit Gewichtung c_1 am 
ersten Abtastpunkt.

> für mich kommt da eigtl nur bilineare transformation in frage und dann
> aus dem laplace-bereich in den zeitbereich rücktransformieren.
> vielleicht geht auch was über den frequenzgang.

Genau, so hab ich das jetzt gemacht.
Ich verwende einfach die bilineare Transformation.
Ich glaub das ist the-way-to-go und macht man auch fuer einen Fall wie 
diesen so.

LG
div

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.