Forum: Analoge Elektronik und Schaltungstechnik brick-wall filter in LTspice


von Abdul K. (ehydra) Benutzerseite


Angehängte Dateien:

Lesenswert?

Zur Messung der der Bitfehlerrate von Demodulatoren wird hinter dem 
Rauschgenerator ein nachfolgender Tiefpaß bzw. Bandpaß geschaltet. Da 
der Demodulator ein Sampling System ist, muß der Rauschgenerator 
gesmootht werden, damit es nicht zu Aliasingeffekten kommt. Läßt man 
sich den RMS-Wert berechnen, sieht man das es auch Probleme gibt wenn 
nicht gesmootht wird.
Als Rauschgenerator benutze ich den hier:
* ft: transit frequency
* RMS: output voltage in RMS
.subckt noise_Gauss 1 2 params: ft={277e6} RMS=1 shape=1
B1 1 2 
V={shape}*{RMS}*SQRT(-2*LN(1E-5+rand(time*ft)))*SIN(2*PI*rand(time*ft+23 
45))  tripdv={0.2*rms} tripdt={1m/Ft}
.ends

Der scheint gut zu sein.

Das zum Hintergrund.


Nun die Frage:
Wie kann man in SPICE bzw. speziell LTspice ein effektives Brick-Wall 
Filter erzeugen?
Als ersten Ansatz habe ich mir 6 RC-Tiefpaßfilter kaskadiert. Mit der 
üblichen 10:1 Regel für die Kaskadierungswerte. Naja, irgendwie 
umständlich. 'Zwischen'-Netze, die zwar simuliert werden aber später 
keine Bohne spielen, sind in LTspice auch sehr zeitbehindernd. Das muß 
doch eleganter gehen.

Dann kam ich auf die Idee mittels einer BV-Quelle den Frequenzgang 
direkt anzugeben und SPICE die Darstellung selbst berechnen zu lassen. 
Das scheint aber von irgendwelchen Randbedingungen abzuhängen, wie man 
an der fehlerhaften Sim <angehängt> sehen kann. Da gibts plötzlich einen 
Peak im Frequenzgang, wo keiner sein darf. Wohlgemerkt, bei der ganzen 
Sache geht es um tran-Sims. Irgendeinen Phasengang anzugeben, hat auch 
nichts verändert.

Wo ist der Fehler? Muß man irgendwelche Stützpunkte mit ganz bestimmten 
Bedingungen hinzufügen?
In den beiden mitinstallierten LTspice Beispielen PLL.asc und PLL2.asc 
werden laplace-Darstellungen mit mehr oder weniger undokumentierten 
Optionen benutzt, z.B. nFFT=4096. Ist damit was zu machen? In der 
Hilfedatei steht, daß die Verwendung von Laplace einen Abfall des 
Frequenzganges hin zu höheren Frequenzen bedingt, was beim Beispiel 
eines Bandpaß nicht gegeben ist.

Mir ist schon klar, daß ein theoretisches Brick-Wall Filter nicht 
realistisch ist. Ich suche eine sinnvolle noch realisierbare Darstellung 
eines Filters mit möglichst geringer Noise-Bandbreite und trotzdem hoher 
Simulationsgeschwindigkeit. Mit Google kam ich auch nicht weiter.

Irgendwelche Ideen? Danke.


Hm. Anhänge kann man anscheinend nicht einzeln löschen. Nehmt den 
zweiten.

: Bearbeitet durch User
von Helmut S. (helmuts)


Lesenswert?

> V=V(in) dB 
FREQ=(1.48e6,-40,-0)(17.48e6,-5,-45)(18.48e6,-1,-90)(19.48e6,-5,-135)(35 
.48e6,-40,-180)

FREQ im Zeitbereich ist eine ganz schlechte Idee.

Nimm ein passives (R,L,C) Besselfilter z. B. 8. Ordnung.

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Ich hatte gelesen manches SPICE würde FREQ im Zeitbereich nicht 
unterstützen und es in LTSpice einfch ausprobiert, da es nicht 
dokumentiert ist ob es unterstützt wird. Es macht ja auch was, aber 
anscheinend nicht vollständig richtig. Wenn man die Sim laufen läßt, 
sieht man den fehlerhaften Peak.


Zu deinem Besselfilter-Vorschlag:
Ich bin mir unsicher, ob lineare Phase hier überhaupt notwendig ist. Bei 
einem Rauschgenerator gibt es keine Beziehung zwischen vorher und 
nachher. Folglich ist die Durchlaufzeit uninteressant. Oder übersehe ich 
was?

von Abdul K. (ehydra) Benutzerseite


Lesenswert?

Wenn man in
V={shape}*{RMS}*SQRT(-2*LN(1E-5+rand(time*ft)))*SIN(2*PI*rand(time*ft+23
45))  tripdv={0.2*rms} tripdt={1m/Ft}
rand durch white ersetzt, hat man doch einen Tiefpaß drin. Hm. Werde ich 
mal ausprobieren...

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.