Forum Home Forum Home > Software > Simulerings software
  New Posts New Posts RSS Feed: Behavioral Model i LTSpice
  FAQ FAQ  Forum Search   Calendar   Register Register  Login Login


Behavioral Model i LTSpice

 Post Reply Post Reply Page  <1 2345>
Author
Message
Enthusiast View Drop Down
Enthusiast
Enthusiast


Joined: 19 Okt 2011
Location: Sjælland
Online Status: Offline
Posts: 623
  Quote Enthusiast Quote  Post ReplyReply Direct Link To This Post Topic: Behavioral Model i LTSpice
    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å.



Edited by Enthusiast - 10 Maj 2017 at 09:05
Back to Top
USXX View Drop Down
Pro medlem
Pro medlem
Avatar

Joined: 17 Dec 2008
Location: Midtjylland
Online Status: Offline
Posts: 2194
  Quote USXX Quote  Post ReplyReply Direct Link To This Post 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.

Edited by USXX - 10 Maj 2017 at 09:55
Back to Top
USXX View Drop Down
Pro medlem
Pro medlem
Avatar

Joined: 17 Dec 2008
Location: Midtjylland
Online Status: Offline
Posts: 2194
  Quote USXX Quote  Post ReplyReply Direct Link To This Post Posted: 10 Maj 2017 at 13:31
Jeg er faktisk også fri i Pinsen - her bliver det så Mandag, jeg ikke gider.
Back to Top
Enthusiast View Drop Down
Enthusiast
Enthusiast


Joined: 19 Okt 2011
Location: Sjælland
Online Status: Offline
Posts: 623
  Quote Enthusiast Quote  Post ReplyReply Direct Link To This Post 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

Back to Top
USXX View Drop Down
Pro medlem
Pro medlem
Avatar

Joined: 17 Dec 2008
Location: Midtjylland
Online Status: Offline
Posts: 2194
  Quote USXX Quote  Post ReplyReply Direct Link To This Post 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).


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.



Edited by USXX - 08 Nov 2017 at 08:58
Back to Top
Enthusiast View Drop Down
Enthusiast
Enthusiast


Joined: 19 Okt 2011
Location: Sjælland
Online Status: Offline
Posts: 623
  Quote Enthusiast Quote  Post ReplyReply Direct Link To This Post 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.
Back to Top
USXX View Drop Down
Pro medlem
Pro medlem
Avatar

Joined: 17 Dec 2008
Location: Midtjylland
Online Status: Offline
Posts: 2194
  Quote USXX Quote  Post ReplyReply Direct Link To This Post 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
 



Edited by USXX - 08 Nov 2017 at 10:33
Back to Top
USXX View Drop Down
Pro medlem
Pro medlem
Avatar

Joined: 17 Dec 2008
Location: Midtjylland
Online Status: Offline
Posts: 2194
  Quote USXX Quote  Post ReplyReply Direct Link To This Post 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.

Edited by USXX - 08 Nov 2017 at 10:35
Back to Top
USXX View Drop Down
Pro medlem
Pro medlem
Avatar

Joined: 17 Dec 2008
Location: Midtjylland
Online Status: Offline
Posts: 2194
  Quote USXX Quote  Post ReplyReply Direct Link To This Post 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.


Edited by USXX - 08 Nov 2017 at 11:24
Back to Top
USXX View Drop Down
Pro medlem
Pro medlem
Avatar

Joined: 17 Dec 2008
Location: Midtjylland
Online Status: Offline
Posts: 2194
  Quote USXX Quote  Post ReplyReply Direct Link To This Post 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.

Edited by USXX - 09 Nov 2017 at 20:42
Back to Top
 Post Reply Post Reply Page  <1 2345>

Forum Jump Forum Permissions View Drop Down

Bulletin Board Software by Web Wiz Forums® version 9.56a
Copyright ©2001-2009 Web Wiz