Print Page | Close Window

Behavioral Model i LTSpice

Printed From: SpeakerBuilder
Category: Software
Forum Name: Simulerings software
Forum Discription: Her kan du diskutere alt inden for simulerings software som LspCAD og lign.
URL: http://forum.speakerbuilder.dk/forum_posts.asp?TID=1856
Printed Date: 28 Mar 2024 at 22:15
Software Version: Web Wiz Forums 9.56a - http://www.webwizforums.com


Topic: Behavioral Model i LTSpice
Posted By: Enthusiast
Subject: Behavioral Model i LTSpice
Date Posted: 04 Maj 2017 at 21:50
Er der nogen, der ved, om man kan sætte en behavioral model for en højttalerenhed op i LTSpice?
Jeg tænker helt konkret på, om man vil kunne importere måledata for en enhed i LTSpice og simulere et delefilter pålagt de målte data?



Replies:
Posted By: USXX
Date Posted: 05 Maj 2017 at 09:40
Det kan sikkert godt lade sig gøre (jeg har ikke forsøgt mig med det, og jeg vil heller ikke gå ind i projektet her), men jeg tror, du vil skulle bygge din egen komponent fra bunden. Er det måledata for kompleks impedans, frekvensgang (med minimalfase) eller begge dele? Husk i øvrigt delay - det kan laves med en spændingsstyret spændingskilde, hvor laplace=exp(-s*td).

Ud over den amlindelige spændingsstyrede spændingskilde (e), som ikke rækker her, findes der også en arbitrær spændingsstyret spændingskilder (bv), som måske kan/skal indgå. 


Posted By: USXX
Date Posted: 05 Maj 2017 at 09:47
Måske noget af det her kan bruges?

http://www.electro-tech-online.com/threads/ltspice-model-loudspeaker.142634/ - http://www.electro-tech-online.com/threads/ltspice-model-loudspeaker.142634/

Jeg mener i øvrigt, at data skal importeres i .csv format


Posted By: USXX
Date Posted: 05 Maj 2017 at 10:09
https://www.electronicspoint.com/threads/lt-spice-is-there-a-freq-transfer-function-table-frequency-transfer-phase.109923/ - https://www.electronicspoint.com/threads/lt-spice-is-there-a-freq-transfer-function-table-frequency-transfer-phase.109923/


Posted By: USXX
Date Posted: 05 Maj 2017 at 10:46
I tidsdomænet er det nemt nok, men det er jo ikke det, du skal bruge.... men måske inspiration

http://www.linear.com/solutions/6087 - http://www.linear.com/solutions/6087

http://www.linear.com/solutions/1815 - http://www.linear.com/solutions/1815



Posted By: USXX
Date Posted: 05 Maj 2017 at 11:15
http://ltwiki.org/index.php5?title=Undocumented_LTspice - http://ltwiki.org/index.php5?title=Undocumented_LTspice


Posted By: USXX
Date Posted: 05 Maj 2017 at 15:02
Det KAN lade sig gøre! Du skal lave et sub-circuit med en B-source, som importerer en .txt fil. Jeg er ikke helt i mål med det, og jeg vil ikke arbejde videre med det nu - men det kan komme til at virke.


Posted By: bknielsen
Date Posted: 05 Maj 2017 at 19:14
Jeg tror er bedre bud er Octave. https://www.gnu.org/software/octave/ - https://www.gnu.org/software/octave/


-------------
Diskant skal være der, men ikke høres.


Posted By: ham_den_lange
Date Posted: 05 Maj 2017 at 19:51
Det er herligt, at se Ulrik blive trigget på den måde.


Posted By: Enthusiast
Date Posted: 05 Maj 2017 at 20:02
Originally posted by USXX

Det KAN lade sig gøre! Du skal lave et sub-circuit med en B-source, som importerer en .txt fil. Jeg er ikke helt i mål med det, og jeg vil ikke arbejde videre med det nu - men det kan komme til at virke.


Fedt! Clap
Tusing tak for de mange tips.
Jeg vil lige prøvet at kigge lidt på dine links.


Posted By: Enthusiast
Date Posted: 05 Maj 2017 at 20:12
Originally posted by bknielsen

Jeg tror er bedre bud er Octave. https://www.gnu.org/software/octave/ - https://www.gnu.org/software/octave/


Umiddelbart frygter jeg, at det bliver kompliceret at opstille overføringsfunktionen for et 8. ordens band-pass filter med dæmpning og impedance-matching (så alle praktisk realiserbare filterkonfigurationer kan håndteres).
Men tanken har strejfet mig.


Posted By: USXX
Date Posted: 08 Maj 2017 at 11:57
Jeg har det til at virke i LTspice nu. Det bliver for kringlet/langsommeligt at forklare det i her (eller på mail), så interesserede må arrangere en dag.

Jeg har kun realiseret import af målt frekvensgang for en enhed, som man så kan lægge filteret henover. Den fulde model skal jo også importere den målte (komplekse) impedanskurve som belastning for det passive filter, der simuleres på. Pointen er, at det kan lade sig gøre.

Jeg kan sige så meget, at .txt filen skal være komma-separeret, og hver række skal indledes med '+' som vist herunder. Man kommer derfor nok ikke uden om at skulle editere sin ASCII-fil.

+ 1000, 0, 45
+ 2000, 3, 20

Første tal er frekvensen [Hz], andet tal er amplituden [dB] (man kan ændre det til den absolutte værdi), og sidste tal er fasen i grader (som kan ændres til radianer).


Posted By: USXX
Date Posted: 08 Maj 2017 at 12:00
LTspice interpolerer selv mellem punkterne og danner en spline.


Posted By: USXX
Date Posted: 08 Maj 2017 at 12:15
Her er et eksempel (SB29RDC hurtigt målt i et tilfældigt kabinet i et almindeligt rum uden dæmpning af gulvrefleksioner):




Posted By: USXX
Date Posted: 08 Maj 2017 at 13:23
Her er princippet vist (så mangler bare opbygning af bibliotek med sub-circuits) samt tegning/generering af nye symboler til brug i schematic.




Posted By: USXX
Date Posted: 08 Maj 2017 at 14:19
Realiseret:




Posted By: USXX
Date Posted: 08 Maj 2017 at 15:51
Her er simulering med filter (frekvensgang m/u filter samt elektrisk overføringsfunktion og målt/importeret impedans for diskantenheden):










Posted By: Enthusiast
Date Posted: 08 Maj 2017 at 20:02
Imponerende Clap
Så kan der jo snart simuleres delefiltre i LTSpice. Jeg må se at få kigget dine links igennem selv.
Lækkert, at du har gidet undersøge sagen.
Mange tak.


Posted By: USXX
Date Posted: 08 Maj 2017 at 20:16
Tak! Det er egentlig utroligt, at jeg ikke har fået det gjort noget før (har ofte tænkt på det), men jeg har jo mit Mathcad setup, som kan det samme - men det er lidt mere bekvemt at ændre i filteret her. Man kan selvfølgelig også bare bruge LSP-cad, men det her er da sjovere - og helt gratis.


Posted By: Enthusiast
Date Posted: 08 Maj 2017 at 20:37
Originally posted by USXX

Tak! Det er egentlig utroligt, at jeg ikke har fået det gjort noget før (har ofte tænkt på det), men jeg har jo mit Mathcad setup, som kan det samme - men det er lidt mere bekvemt at ændre i filteret her. Man kan selvfølgelig også bare bruge LSP-cad, men det her er da sjovere - og helt gratis.


Lige præcis.
Jeg går med tanker om at lave noget selv også. Nok mest for udfordringens skyld.
Er så småt ved at sætte mig ind i de teoretiske/matematiske udfordringer.
LTSpice løsningen vil jo være et fantastisk værktøj at benytte, indtil jeg kommer i gang med det.
Jeg har nemlig ingen licens til LSPcad og ydermere ingen erfaring med analog, passiv delefilterdesign.
Så det kommer til at tage noget tid at gnave sig igennem teorien Smile


Posted By: USXX
Date Posted: 09 Maj 2017 at 10:15
Her er et eksempel på simulering af en 2-vejs, som jeg engang har lavet. Som forventet 100% overensstemmelse med Mathcad.

Biblioteket skal (naturligvis) indeholde et sub-circuit for hver frekvensgang og impedanskurve - altså fire sub-circuits i dette tilfælde. Der er stadig kun to forskellige symboler/komponenter, men "komponentværdierne" er bare forskellige (dvs. navnene på de forskellige sub-circuits).




Posted By: USXX
Date Posted: 09 Maj 2017 at 10:16
Den kvikke vil bemærke, at diskanten er forbundet i modfase.


Posted By: Enthusiast
Date Posted: 09 Maj 2017 at 18:56
Originally posted by USXX

Den kvikke vil bemærke, at diskanten er forbundet i modfase.


Fordi den "summerede" kurve fremkommer ved at trække signalerne fra hinanden?


Posted By: USXX
Date Posted: 09 Maj 2017 at 19:45
Jep!


Posted By: bknielsen
Date Posted: 09 Maj 2017 at 21:43
Originally posted by Enthusiast

Originally posted by bknielsen

Jeg tror er bedre bud er Octave. https://www.gnu.org/software/octave/ - https://www.gnu.org/software/octave/


Umiddelbart frygter jeg, at det bliver kompliceret at opstille overføringsfunktionen for et 8. ordens band-pass filter med dæmpning og impedance-matching (så alle praktisk realiserbare filterkonfigurationer kan håndteres).
Men tanken har strejfet mig.


Rigtigt der vil være noget ligningsløsning forbundet med det.

Men nu behøver vi ikke tænke mere over det, for Ulrik har vist vejen i mellemtiden - det ser super godt ud Thumbs Up.

.....og faktisk findes der formentlig en anden grafisk løsning også, da Modelica sproget understøtter komplekse variable. Men det er nok ikke lettere end i LTSpice.


-------------
Diskant skal være der, men ikke høres.


Posted By: Enthusiast
Date Posted: 09 Maj 2017 at 21:55
Originally posted by bknielsen

Rigtigt der vil være noget ligningsløsning forbundet med det.

Men nu behøver vi ikke tænke mere over det, for Ulrik har vist vejen i mellemtiden - det ser super godt ud Thumbs Up.

.....og faktisk findes der formentlig en anden grafisk løsning også, da Modelica sproget understøtter komplekse variable. Men det er nok ikke lettere end i LTSpice.


Ligningsløsere behøver man nok ikke.
Man bør vel kunne komme igennem med nogle generelle overføringsfunktioner (1. og 2. ordens HP og LP,  etc.), der kaskadekobles efter det specifikke filters opbygning.
Præcis hvordan fasen håndteres, har jeg ikke fået styr på.
Man kan nemt regne det elektriske fasedrej for filteret, men om det så bare lægges til det målte (elektriske) fasedrej (radianer/grader) for enheden, det ved jeg faktisk ikke.


Posted By: bknielsen
Date Posted: 09 Maj 2017 at 23:06
@Entusiast: LTSpice håndterer fasen for dig, pga. reference til spændingskilden er jo taget over enhedens impedans og fasen i modellen for lydtrykket lægges til, den er efter spændingskilden. Men, hvordan delay mellem enhederne håndteres, kan jeg ikke gennemskue - med mindre målinger er med absolut fase.

@USXX: Jeg vil gerne være med, hvis vi arrangerer en dag. Er det lettest for dig vi kommer til Herning, hvis vi kan undgå at være i vejen, eller vil du hellere vi mødes et andet sted?


-------------
Diskant skal være der, men ikke høres.


Posted By: USXX
Date Posted: 10 Maj 2017 at 08:04
@Entusiast: Første del er den rent elektriske, hvor det passive filter simuleres med den faktiske komplekse belastningsimpedans (uden den ville det slet ikke give mening). Som Brian siger, så håndterer LTSpice alt det. Nu har du så den elektriske (og "uperfekte") overføringsfunktionen fra forstærker til højttalerenhedens terminal. Denne overføringsfunktion skal så multipliceres* med enhedens egen overføringsfunktion (dvs. frekvensgang). Man kunne godt lade fasen her være den samlede fase, men den vil jo cykle rundt mange gange. Jeg foretrækker at dele det op i minimalfase og delay (dvs. excess-fase/all-pass fase) - det er også det, LSPcad gør. Minimalfasen relaterer sig alene til amplitudeoverføringsfunktionen (dvs. formen på frekvensgangen) og kan med Hilbert-transformation udledes direkte herfra, hvis ens målesystem ikke kan dele fasen op (men det kan de fleste professionelle systemer). Den resterende fase er lineær, da det er et rent delay og kan derfor bare lægges til matematisk - i Laplace-domænet gøres det ved at multiplicere med exp(-s*td), hvor td er tidsforsinkelsen i sekunder - det er det, jeg gør med den spændingsstyrede spændingskilde (E1), som her også tjener til at lave impedansadskillelse til det sub-circuit, der repræsenterer frekvensgangen.

* Når overføringsfunktioner multipliceres, multipliceres amplituderne, og faserne lægges sammen (med fortegn).


Posted By: USXX
Date Posted: 10 Maj 2017 at 08:42
LTSpice holder selv styr på, om fasen er i grader eller radianer (internt regner den i samme enhed, som sandsynligvis er radianer). Ved data-import antager den grader (og regner selv om), medmindre man specificerer RAD i subcircuit.


Posted By: USXX
Date Posted: 10 Maj 2017 at 08:44
Excess-fasen [rad] er givet ved:

theta(omega) = -omega*td, hvor omega er vinkelfrekvensen


Posted By: Enthusiast
Date Posted: 10 Maj 2017 at 09:03
Originally posted by USXX

@Entusiast: 

* Når overføringsfunktioner multipliceres, multipliceres amplituderne, og faserne lægges sammen (med fortegn).

Det var nemlig det jeg mente, når jeg selv skulle håndtere beregningen (kode).

Jeg er helt med på, at LTSpice håndterer det hele i det viste eksempel og forstår udmærket kredsløbets opbygning.

Udfordringen for mig er at få indlæst dataet og sætte subsircuit-modellerne op i et passende bibliotek.
Men den del er jeg ved at kigge nærmere på.



Posted By: USXX
Date Posted: 10 Maj 2017 at 09:15
@bknielsen: Hvis det skal være på denne side af august, skal det være lørdag d. 17/6 - det ville passe mig fint. Jeg gider ikke en søndag. Måske andre vil være med, så slå det op under arrangementer.


Posted By: USXX
Date Posted: 10 Maj 2017 at 13:31
Jeg er faktisk også fri i Pinsen - her bliver det så Mandag, jeg ikke gider.


Posted By: Enthusiast
Date Posted: 10 Maj 2017 at 19:40
Originally posted by bknielsen

Men nu behøver vi ikke tænke mere over det, for Ulrik har vist vejen i mellemtiden - det ser super godt ud Thumbs Up.


Hele idéen med at gå i krig med sådan et projekt var jo netop at sætte lidt tanker i gang Smile



Posted By: USXX
Date Posted: 08 Nov 2017 at 08:56
Jeg fik en fornemmelse vedr. denne tråd i går, så her er en tidlig julegave til værdigt trængende (feel free to use, men hvis I bruger det i mere kommerciel sammenhæng, vil jeg sætte pris på kildeangivelse).

uploads/8/Speaker_model.zip - uploads/8/Speaker_model.zip

Der er 8 filer i mappen:

speaker_test.asc - det er selve LTspice schematic filen med mit 2-vejs eksempel (se forrige sider)
disk_imp.txt - data for diskantens impedans (modulus og fase)
disk_freq.txt - data for diskantens frekvensgang og minimalfase
bas_imp.txt - tilsvarende data for bassens impedans
bas_freq.txt - tilsvarende data for bassens frekvensgang
Z_speaker.asy - diagramsymbol for kompleks impedans
Amp_speaker.asy - diagramsymbol for enhedens overføringsfunktion
us_speaker.lib - bibliotek (library) indeholdende de fire sub-circuits, der er nødvendige for at kunne simulere en 2-vejs

Der kommer forklaring senere omkring placering af filer i de rigtige mapper o.s.v.



Posted By: Enthusiast
Date Posted: 08 Nov 2017 at 09:10
Fedt.

Fornemmelsen må være kommet af, at jeg var ved at skrive et indlæg i denne tråd i går :)
Havde skrevet det, men fik aldrig trykket send. Jeg valgte at droppe indlægget og blot kæmpe lidt videre selv.

Er gået i krig med at sætte delefilterberegninger op uden for LTSpice. 
Jeg kom aldrig rigtig i gang med LTSpice. Gik kold i oprettelsen af bibliotekerne. Det blev for kompliceret, da jeg ikke er vant til at bruge softwaren, selv med de indbyggede modeller og biblioteker.

Men tusind tak for, at du gør dine biblioteker tilgændelige for os andre.


Posted By: USXX
Date Posted: 08 Nov 2017 at 10:29
Jeg kører LTspice IV (32 bit) på 64 bit maskine, så mappestrukturen ser således ud:

C: > Programmer (x86) > LTC > LTspiceIV > lib

Herunder ligger så bl.a. mapperne sub og sym

I sub-mappen lægger man de fire .txt-filer (datafilerne) samt .lib-filen.
I sym-mappen lægger man .asy-filerne (symbolfilerne).
Schematic-filen (.asc) placerer man i sin egen mappe, som man opretter til sine LTspice modeller, der hvor man vil have den - men det skal være uden for Windows program-mappen*. Det er altid en fordel at gemme det aktuelle schematic i denne mappe, inden man kører beregningen (*det er noget Windows-teknisk siden Win 7, der gør, at man ellers kommer til at vente 10 sekunder på, at beregningen går i gang - man får meddelelsen "waiting for permission to clear on C: ...").

Inde i schematic skal de nye "komponenter" for impedanser og overføringsfunktioner have tildelt værdier (på samme måde som man giver fx en modstand en værdi). Det er gjort i mit eksempel, og man gør det ved at højre-klikke på symbolet og angive "værdien" ud for Value. Disse værdier er navnene for de pågældende sub-circuits (disk_z, bas_z, disk_spl og bas_spl), som fremgår af .lib-filen (som ses herunder). Hvis man ønsker andre navne (også for datafilerne, som inkluderes i sub-circuits), skal det ændres i .lib-filen, som man i øvrigt også kan gemme under et andet navn (så skal man selvfølgelig samtidig i schematic ændre navnet i SPICE-direktivet .include....). Det bør nu være tydeligt, hvordan tingene hænger sammen.


* Loudspeaker model
*
*
.subckt disk_spl 1 2 3 
R1 1 2 1
B1 3 2 V=V(1) FREQ=
.include disk_freq.txt
.ends
*
*
.subckt disk_z 1 2 
R1 1 10  0.001
V1 10 11 0
B1 11 2 V=I(V1) MAG FREQ=
.include disk_imp.txt
.ends
*
*
.subckt bas_spl 1 2 3 
R1 1 2 1
B1 3 2 V=V(1) FREQ=
.include bas_freq.txt
.ends
*
*
.subckt bas_z 1 2 
R1 1 10  0.001
V1 10 11 0
B1 11 2 V=I(V1) MAG FREQ=
.include bas_imp.txt
.ends
 



Posted By: USXX
Date Posted: 08 Nov 2017 at 10:35
Jeg vil ikke gå i dybden med det (kredsløbs-) tekniske omkring disse sub-circuits - det må I bare tage/acceptere, som det er.


Posted By: USXX
Date Posted: 08 Nov 2017 at 11:23
Som jeg har nævnt tidligere, så skal man have en spændingsstyret spændingskilde (E) mellem impedansen og overføringsfunktionen for at skabe komplet impedansadskillelse (ellers vil de to sub-circuits blive parallelkoblet, og så bliver simuleringen helt forkert). For den enhed, som ikke skal tildeles delay, giver man bare denne kilde værdien 1 (se mit eksempel).

Vær i øvrigt opmærksom på, at pin-numrene for symbolerne hænger sammen med tallene i sub-circuits - det har kun betydning, hvis man roterer komponenten/symbolet uden at tænke sig om.


Posted By: USXX
Date Posted: 09 Nov 2017 at 08:35
Jeg skal lige sikre mig, at der ikke sker forvirring vedr. delay. I den viste model ser man Laplace-udtrykket for delay på diskanten (hvor det jo normalt er bassen, der er tidsforsinket) samtidig med, at der intet delay er på bassen (her er værdien bare et rent 1-tal, der bliver ganget på). Delay'et er dog 0 (nul) sekunder for diskanten, idet der er 100% fysisk time alignment i den pågældende højttaler - så derfor er simuleringen korrekt. Det, jeg vil sige, er bare, at I skal huske at sætte delay'et der, hvor der skal modelleres et delay i forhold til den fysiske højttaler (typisk på bassen) - og ikke lade jer forvirre af mit eksempel.


Posted By: Enthusiast
Date Posted: 09 Nov 2017 at 20:33
Det er kæmpestort det her Clap
Jeg har desværre ikke haft tid til at prøvekøre det endnu. Men det er hentet ned på PC'en og ligger klar.

Tak Ulrik.



Posted By: Enthusiast
Date Posted: 02 Jan 2018 at 20:06
Så fik jeg endelig taget mig sammen og testet denne fine behavioral model.
Jeg kom forholdsvis problemfrit i gang ved hjælp af beskrivelserne tidligere i tråden.

Jeg kører med LTspice XVII (32 bit) installeret på et 64 bit Windows 7 styresystem.

Det er muligvis noget nyt i LTspice XVII i forhold til version IV, men ved installationen af LTspice dannes en kopi af sym og sub undermapperne et sted på computeren uden for installationsmappen.
Når LTspice starter, søges efter symboler og biblioteker i denne kopi-mappe - altså ikke i selve installationsfolderen.

I forhold til den tidligere beskrivelse, hvor tekstfiler, .lib filen samt symbol-filerne skulle lægges i "sub" og "sym" installationsmapperne under "C:\Program files (x86)\...", skulle jeg derfor i stedet lægge filerne på deres respektive pladser i kopi-mappen.

Stien til kopi-mappen kunne jeg finde ved at trykke F2 inde i LTspice. Så kommer symbol-biblioteket frem. Her står stien flere steder.



Ellers var alt fuldstændig som beskrevet.

Jeg leger stadig med det givne eksempel, som kører fint.


Posted By: USXX
Date Posted: 03 Jan 2018 at 07:49
Big smile


Posted By: USXX
Date Posted: 01 Feb 2018 at 08:58
Jeg faldt lige over dette (er ikke stødt på det før) - ser vældig interessant ud. Det virker som om, man skal bruge den samlede fase for enheden til crossover simulation (i stedet for minimalfase og delay).

http://users.on.net/~isaacmcn/audio/audio.html - http://users.on.net/~isaacmcn/audio/audio.html


Posted By: USXX
Date Posted: 14 Dec 2021 at 08:04
Opdatering!

Her er en lille rettelse til .lib filen (hele .zip filen er vedhæftet igen, men alt andet end .lib filen er uændret).

Der var en principiel fejl, som dog var helt uden praktisk betydning (under normale omstændigheder). Jeg havde fået vendt polariteten på spændingskilden B1 i de sub-sircuits, der genererer outputtet. Derved blev minimalfasen for enhedens overføringfunktion vendt -180°. Da "fejlen" naturligvis fandtes i sub-circuits for begge enheder, kom der ingen fejl i den relative fase mellem de to - summationen har hele tiden været korrekt. Mere præcist har jeg nu byttet om på rækkefølgen af to knudepunkter, således at B1 3 2 V=V(1) FREQ= er ændret til B1 2 3 V=V(1) FREQ=

Hvis man har tilføjet flere enheder til biblioteket, så man fx kan simulere 3-vejs systemer, er det vigtigt, at man laver ændringen i alle sub-circuits (.subckt) for SPL - ellers går det galt med summationen/polariteten.

http://forum.speakerbuilder.dk/uploads/8/Speaker_Model_Rev1.zip - http://forum.speakerbuilder.dk/uploads/8/Speaker_Model_Rev1.zip


Posted By: USXX
Date Posted: 14 Dec 2021 at 10:13
...og der kommer nok en tilsvarende rettelse på sub-circuits for impedanser - igen noget, som under normale omstændigheder er fuldstændig ligegyldigt. Sagen er, at NOGEN er begyndt at rode med lattice-filtre sammen med min behavioral model, og så er det pludselig ikke helt uden betydning. Det er godt, at der er nogen, der kan holde mig oppe på beatet.

*** Opdatering ***
Glem indtil videre ovenstående vedr. impedansmodellen - det er i første omgang ikke nødvendigt, omend der stadig er noget, der lige skal verificeres.


Posted By: Enthusiast
Date Posted: 15 Dec 2021 at 21:23
Det er et super godt værktøj, du har lavet Thumbs Up 
Nemt at arbejde med, når man først har lært LTSpice at kende.



Posted By: USXX
Date Posted: 16 Dec 2021 at 10:56
Tak!

Så er impedansmodellen verificeret. Der var ikke brug for ændringer - alt kører (fortsat), som det skal. Jeg har alligevel opdateret .lib filen - dog alene for at holde konventionen (konsekvens er trods alt på sin plads). Den tekniske forklaring er, at hvert sub-circuit for impedansmodellen indeholder to kilder. Ligesom det var tilfældet med modellen for overføringsfunktionen, så var kilderne også her vendt på hovedet. Det betyder ingen verdens ting, når bare BEGGE kilder i samme sub-circuit vender samme vej (og det gjorde de selvfølgelig), og at det gøres konsekvent i BEGGE/ALLE sub-circuits (det var også tilfældet). Anyway, jeg har nu vendt begge kilder i begge sub-circuits (som sagt for at være konsekvent og holde konventionen hele vejen igennem). Resultatet er nøjagtig det samme. Jeg vedhæfter her endnu en revideret fil (mappe) frem for bare at rette .lib filen i den tidligere revision - det gør jeg for at bevare historikken. 

http://forum.speakerbuilder.dk/uploads/8/Speaker_Model_Rev2.zip - http://forum.speakerbuilder.dk/uploads/8/Speaker_Model_Rev2.zip


Posted By: USXX
Date Posted: 16 Dec 2021 at 12:18
Slutteligt; når man indfører et lattice-netværk, så må man ikke være så doven, som jeg har været i mit eksempel speaker-test.asc, hvor jeg har forbundet minus-terminalerne på ind- og udgangssiden af den spændingsstyrede spændingskilde (E) og derved lagt stel sammen. Det fungerer selvfølgelig fint uden lattice-netværk. I stedet skal man bryde/fjerne denne forbindelse og forbinde minus-terminalen på udgangssiden direkte til stel. Gør man ikke det, får man en tiltagende stor fejl på amplitudekarakteristikken ved enten lave eller høje frekvenser (afh. af hvilken type lattice-netværk man anvender), da stel gradvist afkobles i den del af frekvensområdet. Man skal sikre, at kildens udgang har stel. Når man viser spændinger i proben, er det altid relativt til stel, og derfor skal der også være stel på udgangen, for at man får vist den rigtige spænding mellem udgangens puls- og minus-terminaler (man kan også tildele en label og trække to spændinger fra hinanden, men det er mere bøvlet). Det mest smarte er konsekvent at gøre det på denne måde, hvad enten man bruger et lattice-netværk eller ej. Min erfaring er, at de fleste fejl i kredsløbssimuleringer skyldes, at man har glemt stel et eller andet sted (eller på anden måde har rod med stelforbindelserne).



Print Page | Close Window

Bulletin Board Software by Web Wiz Forums® version 9.56a - http://www.webwizforums.com
Copyright ©2001-2009 Web Wiz - http://www.webwizguide.com