Skip to content

Commit

Permalink
Add radio_frequency.py
Browse files Browse the repository at this point in the history
  • Loading branch information
jungtaekkim committed Mar 27, 2024
1 parent b12e4ee commit 1667de8
Showing 1 changed file with 35 additions and 0 deletions.
35 changes: 35 additions & 0 deletions src/radio_frequency.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
import numpy as np

from layerlumos.utils_materials import load_material_RF
from layerlumos.layerlumos import stackrt0


def calculate_shielding_effectiveness(materials, thicknesses):
frequencies = np.linspace(8e9, 18e9, 100)

n_k_Ag = load_material_RF('Ag', frequencies)
n_Ag = n_k_Ag[:, 1] + 1j * n_k_Ag[:, 2]

n_air = np.ones_like(frequencies)
d_air = np.array([0])
d_Ag = np.array([2e-8]) # Thickness of SiO2 layer in meters (e.g., 2 microns)

n_stack = np.vstack([n_air, n_Ag, n_air]).T
d_stack = np.vstack([d_air, d_Ag, d_air])

R_TE, T_TE, R_TM, T_TM = stackrt0(n_stack, d_stack, frequencies)

SE_TE = -10 * np.log10(T_TE)
SE_TM = -10 * np.log10(T_TM)
SE = (SE_TE + SE_TM) / 2

shielding_effectiveness = np.mean(SE)
return shielding_effectiveness


if __name__ == '__main__':
materials = None
thicknesses = None

shielding_effectiveness = calculate_shielding_effectiveness(materials, thicknesses)
print(shielding_effectiveness)

0 comments on commit 1667de8

Please sign in to comment.