ITBA, Ingeniería Electrónica
Curso: 22.21 - Electromagnetismo, 2Q 2024
Trabajo practico adicional
Grupo 1:
- AGRIPPINO, Franco
- DOLHARE, Mariano
- HEIR, Alejandro Nahuel
Radiopropagación en las bandas de VHF (30-300 MHz) y UHF (300-3.000 MHz)
El objetivo de este trabajo es realizar un estudio de la propagación por onda espacial (directa y reflejada) sobre tierra esférica con rugosidad en la superficie y refracción troposférica en zona de visibilidad (línea de vista) y difracción (transhorizonte).
Como entregable, se debe desarrollar un programa de cálculo de enlace (GUI). El programa debe permitir el cálculo de la potencia recibida y el campo eléctrico para radioenlace tanto en un esquema punto a punto como también poder variar la distancia entre Tx y Rx o las alturas de las antenas.
Entradas básicas para el programa: estas entradas son las variables que el usuario debe poder modificar acorde al enlace que desea calcular.
- Frecuencia
- Potencia
- Altura de antenas Tx y Rx
- Tipo de antena (dipolo de media longitud de onda, monopolo de cuarto de longitud de onda. isotrópica)
- Polarización de las antenas
- Factor efectivo del radio terrestre.
- Rugosidad del terreno.
- Distancia, inicial y final, paso de avance en distancia
- Conductividad y permitividad del terreno Salidas: estos son los resultados que el programa debe poder calcular.
- Potencia recibida.
- Punto a Punto.
- Variación con la distancia. (gráfico y tabla)
- Variación con la altura de una de las antenas. (gráfico y tabla)
- Campo eléctrico para el radioenlace.
- Punto a Punto.
- Variación con la distancia. (gráfico y tabla)
- Variación con la altura de una de las antenas. (gráfico y tabla)
- Polarización de antenas: solo vertical+vertical o horizontal+horizontal
- Remover ángulo
- Afecta en quedarte con los coefs // o perpendicular.
- Verificar cálculo de tierra esférica:
- Alturas ht y hr efectivas, que daban negativas y rompían el factor de divergencia
- Revisar efecto de tipo de antena; no parecía afectar.
- Revisar que cambiar "cosas" hace cambiar valores
- Buscar alguna simulación/medición hecha con valores conocidos para contrastar lo nuestro.
- Ajustar valores default (permitivadad > 1)
- OPCIONAL: poner presets como tierra húmeda
- Agregar cursores sobre los gráficos, para poder ver valor en cierto punto:
- Cursor a mano
- Revisar indices/distancias mínimas para arrancar a calcular.
- Se detecta Psi negativo!
- Exportar bien tablas.
- Agregar a las tablas coefs de reflexión total
- Revisar ganancia de curva por espacio libre. ¿Hacerla toggeable? Agregarla al plot de espacio eléctrico.
- Rampita. Esperar a data de Patricio. // Umbral límite de D.
- En los gráficos en función de la altura sería interesante que calcularán el número de zona de Fresnel despejada.
- Ajustar escalas verticales
- Potencias: dBm
- Campo eléctrico: dBμ (decibeles sobre microvoltio por metro)
- Plots de potencia arrancan siempre en +4dBm
- Agregar línea vertical en el límite de transhorizonte
- Autoajustar ancho de tablas al contenido
- Omitir difracción transhorizonte
- Agregar cálculo con radio terrestre (k)
- Sobre rugosidad: criterio Rayleigh
- Multiplica luego a los coeficientes de Fresnel
- Sobre tipos de antena: solo modificar la ganancia.
Asegúrate de tener instaladas las siguientes dependencias:
pip install -r requirements.txt
Para ejecutar la aplicación, usa el siguiente comando:
python main.py
Para crear un instalador para Windows, sigue estos pasos:
-
Instalar PyInstaller:
pip install pyinstaller
-
Crear el ejecutable:
pyinstaller --onefile --windowed main.py
Esto generará un ejecutable en la carpeta
dist
. -
Instalar Inno Setup: descarga e instala Inno Setup desde aquí.
-
Crear un script de Inno Setup: crea un archivo llamado
setup.iss
con el siguiente contenido:[Setup] AppName=PropagationCalculator AppVersion=1.0 DefaultDirName={pf}\PropagationCalculator DefaultGroupName=PropagationCalculator OutputDir=. OutputBaseFilename=PropagationCalculatorSetup Compression=lzma SolidCompression=yes [Files] Source: "dist\main.exe"; DestDir: "{app}"; Flags: ignoreversion [Icons] Name: "{group}\PropagationCalculator"; Filename: "{app}\main.exe" Name: "{group}\Uninstall PropagationCalculator"; Filename: "{uninstallexe}"
-
Compilar el script de Inno Setup: abre Inno Setup y compila el script
setup.iss
. Esto generará un archivo de instalación.exe
.
Para crear un instalador para Linux, sigue estos pasos:
-
Instalar PyInstaller:
pip install pyinstaller
-
Crear el ejecutable:
pyinstaller --onefile --windowed main.py
Esto generará un ejecutable en la carpeta
dist
. -
Instalar makeself: En la mayoría de las distribuciones de Linux, puedes instalar makeself desde los repositorios:
sudo apt-get install makeself
yay -S makeself
-
Crear el instalador con makeself:
makeself --notemp dist PropagationCalculatorInstaller.sh "Propagation Calculator Installer" ./main
Esto generará un archivo
PropagationCalculatorInstaller.sh
que puedes distribuir.