Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

4
voti

Dipolo con CST - III

Indice

Introduzione

Nel secondo articolo [II] è stato creato un dipolo λ/2 per i 100 MHz, lungo 1.425 m, formato da fili di diametro 2 cm = 0.02 m. Il gap era di 1 cm = 0.01 m. Sono state seguite le indicazioni di design del libro [III].
Questo terzo articolo mostra come simulare il dipolo, usare l'optimizer, visualizzare i risultati in 2D e 3D.

Sorgente e impostazioni per la simulazione

Si riporta per comodità la macro eseguita per creare il dipolo, adattata al progetto:

Dim length, diameter, gap As Double
Dim translationX, translationY, translationZ As Double
Dim angleX, angleY, angleZ As Double
Dim dipole_name As String

'----------------------------------------------------------
'USER INTERFACE
dipole_name = "dipole_1"
length = 1.425
diameter = 0.02
gap = 0.01

'ROTATION:
angleX = 90
angleY = 90
angleZ = 0

'TRANSLATION:
translationX = 0
translationY = 0
translationZ = 0
'END OF THE USER INTERFACE
'----------------------------------------------------------

'PEC LAYER CREATION
With Layer
	 .Reset
	 .Name "Copper"
	 .FrqType "hf"
	 .Type "Pec"
	 .Epsilon "1.0"
	 .Mue "1.0"
	 .Rho "0.0"
	 .Colour "0", "1", "1"
	 .Wireframe "False"
	 .Transparency "0"
	 .Create
End With

'VACUUM LAYER CREATION
With Layer
	.Reset
	.Name "Vacuum"
	.FrqType "hf"
	.Type "Normal"
	.Epsilon "1.0"
	.Mue "1.0"
	.Kappa "0.0"
	.TanD "0.0"
	.TanDFreq "10"
	.TanDGiven "True"
	.TanDModel "ConstTanD"
	.KappaM "0.0"
	.KappaM "0.0"
	.TanDM "0.0"
	.TanDMFreq "0.0"
	.TanDMGiven "False"
	.DispModelEps "None"
	.DispModelMue "None"
	.Rho "0.0"
	.Colour "1", "1", "1"
	.Wireframe "False"
	.Transparency "30"
	.Create
End With

'CREATION OF THE STRUCTURE WITHOUT THE GAP
With Cylinder
     .Reset
     .Name dipole_name
     .Component "Copper"
     .Material "Copper"
     .OuterRadius diameter/2
     .InnerRadius "0"
     .Axis "z"
     .Zrange -length/2, length/2
     .Xcenter 0
     .Ycenter 0
     .Segments "0"
     .Create
End With

'CREATION OF A VACUUM CYLINDER TO CUT THE GAP
With Cylinder
     .Reset
     .Name dipole_name+"_gap"
     .Component "Vacuum"
     .Material "Vacuum"
     .OuterRadius diameter/2
     .InnerRadius "0"
     .Axis "z"
     .Zrange -gap/2, gap/2
     .Xcenter 0
     .Ycenter 0
     .Segments "0"
     .Create
End With

'CUT OF THE GAP
Solid.Subtract "Copper:"+dipole_name, "Vacuum:"+dipole_name+"_gap"

'ROTATION ALONG X
With Transform
     .Reset
     .Name "Copper:"+dipole_name
     .Origin "Free"
     .Center "0", "0", "0"
     .Angle angleX, "0", "0"
     .MultipleObjects "False"
     .GroupObjects "False"
     .Repetitions "1"
     .MultipleSelection "False"
     .Transform "Shape", "Rotate"
End With

'ROTATION ALONG Y
With Transform
     .Reset
     .Name "Copper:"+dipole_name
     .Origin "Free"
     .Center "0", "0", "0"
     .Angle "0", angleY, "0"
     .MultipleObjects "False"
     .GroupObjects "False"
     .Repetitions "1"
     .MultipleSelection "False"
     .Transform "Shape", "Rotate"
End With

'ROTATION ALONG Z
With Transform
     .Reset
     .Name "Copper:"+dipole_name
     .Origin "Free"
     .Center "0", "0", "0"
     .Angle "0", "0", angleZ
     .MultipleObjects "False"
     .GroupObjects "False"
     .Repetitions "1"
     .MultipleSelection "False"
     .Transform "Shape", "Rotate"
End With

'TRANSLATION ALONG X
With Transform
     .Reset
     .Name "Copper:"+dipole_name
     .Vector translationX, "0", "0"
     .UsePickedPoints "False"
     .InvertPickedPoints "False"
     .MultipleObjects "False"
     .GroupObjects "False"
     .Repetitions "1"
     .MultipleSelection "False"
     .Transform "Shape", "Translate"
End With

'TRANSLATION ALONG Y
With Transform
     .Reset
     .Name "Copper:"+dipole_name
     .Vector "0", translationY, "0"
     .UsePickedPoints "False"
     .InvertPickedPoints "False"
     .MultipleObjects "False"
     .GroupObjects "False"
     .Repetitions "1"
     .MultipleSelection "False"
     .Transform "Shape", "Translate"
End With

'TRANSLATION ALONG Z
With Transform
     .Reset
     .Name "Copper:"+dipole_name
     .Vector "0", "0", translationZ
     .UsePickedPoints "False"
     .InvertPickedPoints "False"
     .MultipleObjects "False"
     .GroupObjects "False"
     .Repetitions "1"
     .MultipleSelection "False"
     .Transform "Shape", "Translate"
End With

'VARIABLE DESTRUCTION
Set length = Nothing
Set diameter = Nothing
Set translationX = Nothing
Set translationY = Nothing
Set angleX = Nothing
Set angleY = Nothing

Discrete port

La sorgente che ecciterà il dipolo sarà una "discrete port". Andrà specificata l'impedenza d'uscita della porta: inseriremo 73 Ω, avendo progettato il dipolo affinché abbia 73 Ω di impedenza all'ingresso. Tutti i comandi inseriti di seguito appariranno nella history list, e potranno essere implementati facilmente in una macro. Qui si preferisce l'approccio tramite interfaccia grafica per mostrare i passi necessari alla simulazione.

Avviciniamo la visuale al gap del dipolo, poi selezioniamo la Discrete port dal menù Simulation.

Avviciniamo la visuale al gap del dipolo, poi selezioniamo la Discrete port dal menù Simulation.

Menù della discrete port. Inseriamo Impedance = 73 Ω, poi clicchiamo due volte sulle "facce" a cui connetteremo la porta, cioè le basi dei due cilindri che formano il dipolo.

Menù della discrete port. Inseriamo Impedance = 73 Ω, poi clicchiamo due volte sulle "facce" a cui connetteremo la porta, cioè le basi dei due cilindri che formano il dipolo.

Risultato finale prima di premere Ok e formare la porta.

Risultato finale prima di premere Ok e formare la porta.

Unità di misura

Impostiamo correttamente le unità di misura col tasto Units nel menù Home:

Aspetto finale della porta, unità di miusura.

Aspetto finale della porta, unità di miusura.

È buona norma controllare spesso che le unità di misura siano corrette, specie nel caso si eseguano molte macro diverse.

Background

Il background è tutto ciò che sta attorno alla nostra geometria: quanto è grande il volume che la racchiude e che cosa contiene.
Per simulare il dipolo facciamo un background largo 1 in tutte le direzioni attorno al dipolo. Siccome abbiamo impostato le unità di misure in metri, "largo 1" significa che si estende in tutte le direzioni per 1 m, a partire dalle estremità della geometria stessa.
Per cambiare il background, usare il pulsante Background dal menù Simulation. Attenzione: inserire come Material type il materiale Normal, dicendo così a CST che il materiale che forma il background è il vuoto. Il Material type predefinito è PEC (che sta per Perfect Electric Conductor, annegando quindi il dipolo in un metallo).

Attenzione: background molto grandi (come 10 metri) aumenteranno spaventosamente il numero delle mesh se non trattati opportunamente.

Impostazione del background. Notare come il background ci venga mostrato con contorni neri: è il parallelepipedo in figura (cliccare per allargare).

Impostazione del background. Notare come il background ci venga mostrato con contorni neri: è il parallelepipedo in figura (cliccare per allargare).

Boundaries

Una volta impostato il volume ed il tipo del background dobbiamo dire a CST che cosa confina col background. Sul bordo esterno del background, cosa c'è? Per simulare il dipolo impostiamo delle boundary "aperte" = Open.
Dal menù simulazione, accediamo alla modifica delle boundaries col tasto Boundaries:

Impostazione delle boundaries aperte. Cliccare per allargare.

Impostazione delle boundaries aperte. Cliccare per allargare.

Impostare le frequenze ed i field monitor

Per impostare la frequenza iniziale e quella finale, usare il tasto Frequency del menù Simulation:

Impostazione del range di frequenze.

Impostazione del range di frequenze.

I field monitor dicono a CST quali risultati della simulazione salvare in memoria, ed eventualmente quali analisi in più potrebbero servirci. Il farfield lo visualizzeremo tramite field monitor.
Apriamo le impostazioni dei field monitor dal menù Simulation, con l'apposito pulsante. Inserire molteplici field monitor è abbastanza scomodo, perché va riaperto il menù ogni volta; converrà in futuro far tutto via macro.

Impostazione dei field monitor: qui sto inserendo il farfield per 100 MHz. Notare come sia possibile inserire più field monitor contemporaneamente con step lineari o logaritmici.

Impostazione dei field monitor: qui sto inserendo il farfield per 100 MHz. Notare come sia possibile inserire più field monitor contemporaneamente con step lineari o logaritmici.

È possibile inserire contemporaneamente tutti i farfield che vogliamo, anche per dati diversi, come il campo elettrico, magnetico, far field, eccetera. Inseriamo farfield, campo elettrico e campo magnetico per la frequenza di 100 MHz.

Impostare il simulatore

CST Microwave Studio ha vari tipi di simulatori diversi; quello di cui abbiamo bisogno al momento è il Time Domain Solver. Per impostarlo, dal menù Home agire sulla linguetta del tasto Setup solver:

Impostare il simulatore Time domain solver.

Impostare il simulatore Time domain solver.

Per modificare le impostazioni del simulatore, cliccare direttamente sul pulsante. Inseriamo un'accuratezza di -60 dB:

Accuratezza di -60 dB.

Accuratezza di -60 dB.

Cliccando su Specials e poi su General, aumentiamo il numero di punti della simulazione.

Punti aumentati da 1001 a 4004. Non è obbligatorio che il nuovo numero sia un multiplo del precedente, ma è comodo nel caso si programmi tramite macro il salvataggio automatico dei risultati.

Punti aumentati da 1001 a 4004. Non è obbligatorio che il nuovo numero sia un multiplo del precedente, ma è comodo nel caso si programmi tramite macro il salvataggio automatico dei risultati.

Simulazione e risultati

Una volta impostato il simulatore lo si fa partire col tasto Start Simulation dal menù home o col tasto Star dal menù di definizione dei parametri del simulatore. Il mio vecchio quad core Intel impiega pochi secondi a simulare il dipolo; è un Core2 Quad CPU Q8300 a 2.5 GHz (assenti Turbo Boost, Hyper-Threading, core virtuali, cache L3) dotato di 4 MB di cache L2.

I risultati della simulazione appariranno nelle sotto cartelle del Navigation Tree:

Risultati. Notare come vi siano sia risultati 1D, come i (il) parametri S, risultati 2D/3D e Farfield a parte.

Risultati. Notare come vi siano sia risultati 1D, come i (il) parametri S, risultati 2D/3D e Farfield a parte.

S11: Ouch

Rimanendo su una definizione vaga, S11 rappresenta quanta potenza rimbalza indietro nella porta rispetto a quanta ne esce. Quindi in questo caso lo si vuole molto basso alla frequenza di interesse, 100 MHz.

Non va bene: abbiamo circa -12 dB a 100 MHz.

Non va bene: abbiamo circa -12 dB a 100 MHz.

Aver -12 dB a 100 MHz significa che il rapporto vale

\frac{Potenza\ entrante\ nella\ porta}{Potenza\ uscente\ dalla\ porta} \simeq -12\ dB \simeq 0.6

Terribile. Bisogna accorciare il dipolo; potremmo procedere per tentativi, ma al momento sono in vacanza e pigro, per cui armiamoci di Optimizer.

L'Optimizer

L'Optimizer può prendere un parametro dalla Parameter List e variarlo, per più iterazioni, finché non raggiunge un obiettivo prefissato. Il nostro parametro sarà la lunghezza del dipolo, l'obiettivo ottenere S11 = -50 dB (scelti arbitrariamente dal sottoscritto) a 100 MHz.
Come mostrato nel secondo articolo [II] creiamo un parametro, "lunghezza", assegniamogli un valore di 1.425 e modifichiamo la macro del dipolo in questo modo:

length = lunghezza

Poi aggiorniamo col pulsante Update della history list la struttura. Apriamo l'optimizer dal menù home e impostiamolo:

Tasto dell

Tasto dell'Optimizer - lo si può aprire anche dalla finestra delle impostazioni del simulatore.

Finestra dell

Finestra dell'optimizer. Mettere la spunta al parametro della parameter list che si vuole far variare. Notare come si possa impostare l'intervallo di tolleranza; ci basterà il 10%.

Comprarirà questo messaggio di errore. Francamente non so perché, ma ignorandolo funziona tutto; per sicurezza ho testato separatamente i risultati che seguiranno, senza optimizer, riscontrando gli stessi risultati.

Comprarirà questo messaggio di errore. Francamente non so perché, ma ignorandolo funziona tutto; per sicurezza ho testato separatamente i risultati che seguiranno, senza optimizer, riscontrando gli stessi risultati.

Cliccare su Goals (Obiettivi), poi sul tasto Add New Goal...

Impostazione del Goal (obiettivo). Notare come sia possibile specificare il Range; attenzione a inserire un numero negativo nel Target, si vuole star sotto i -50 dB, non sotto i 50 dB.

Impostazione del Goal (obiettivo). Notare come sia possibile specificare il Range; attenzione a inserire un numero negativo nel Target, si vuole star sotto i -50 dB, non sotto i 50 dB.

Una volta impostato l'obiettivo, dare ok e premere il tasto Start. Sul mio PC l'optimizer impiega un paio di minuti, nel mentre sono andato a metter su il caffè. La schermata mostrerà le varie iterazioni, raggiungendo una precisione fin troppo elevata per i nostri scopi.

Schermata dei risultati al termine delle operazioni.

Schermata dei risultati al termine delle operazioni.

Il risultato finale sarà molto migliore del precedente:

-50 dB e rotti a 100 MHz.

-50 dB e rotti a 100 MHz.

Per cui la lunghezza ideale del dipolo sarà di 1.33 m circa.

Altri risultati

I risultati dei campi elettrici e magnetici sono visualizzabili in molti modi, sia per piani 2D che in 3D. È possibile animarli, cambiare la scala, eccetera. Di seguito qualche esempio

Campo elettrico su un piano parallelo al dipolo

Il piano taglia a metà il dipolo per lungo:

Per gif ad alta risoluzione contattatemi in PM o ancor meglio aprite un thread sul forum.

Per gif ad alta risoluzione contattatemi in PM o ancor meglio aprite un thread sul forum.

Campo magnetico in 3D

Campo magnetico in 3D.

Campo magnetico in 3D.

Farfield

In questi esempi viene mostrata la direttività, ma è anche possibile visualizzare il guadagno (standard IEEE), i campi E ed H eccetera.

Modulo del farfield in 3D, scala logaritmica. È possibile renderlo trasparente, mostrare la struttura (il dipolo), ruotarlo, eccetera.

Modulo del farfield in 3D, scala logaritmica. È possibile renderlo trasparente, mostrare la struttura (il dipolo), ruotarlo, eccetera.

Si possono osservare modulo e fase per theta, phi o entrambi:

Fase del farfield, angolo theta, in 3D.

Fase del farfield, angolo theta, in 3D.

Sono disponibili grafici 2D, lineari e logaritmici:

Farfield in 2D, phi fisso a 90 gradi.

Farfield in 2D, phi fisso a 90 gradi.

Conclusioni

Questa breve serie di articoli si proponeva di mostrare alcune delle potenzialità del programma, spiegando al contempo un possibile approccio alla simulazione. La suite CST è rivolta all'utenza professionale, ma per gli studenti è disponibile una "student edition", che è possibile scaricare a questo link: https://www.cst.com/academia/student-edition/download, previa registrazione (circa 1 GB di download).

Segnalazioni di strafalcioni/errori sono molto gradite, così come eventuali suggerimenti o commenti per fare in modo diverso quanto trattato; il mio approccio è molto aperto, cerco di ricavare i dati che mi servono col minimo sforzo.

Le gif sono state realizzate col programma open source ScreentoGif [IV].

Bibliografia

[I] Fedhman, Dipolo con CST - I, Electroyou marzo 2016.
[II] Fedhman, Dipolo con CST - II, Electroyou marzo 2016.
[III] Constantine A. Balanis, 2005, Antenna Theory, 3 ed., U.K., John Wiley & Sons
[IV] ScreenToGif, https://screentogif.codeplex.com/

1

Commenti e note

Inserisci un commento

di ,

Forse può essere di tuo interesse questo paper: https://arxiv.org/ftp/arxiv/papers/0907/0907.3570.pdf Saluti

Rispondi

Inserisci un commento

Per inserire commenti è necessario iscriversi ad ElectroYou. Se sei già iscritto, effettua il login.