Automatice los cálculos de RF en Python con rftools
El paquete python rftools le brinda acceso programático a 203 calculadoras de RF y electrónica de rftools.io, con una API escrita, una CLI, modo por lotes y compatibilidad asincrónica.
Contenido
¿Por qué automatizar los cálculos de RF?
Ejecutar un único cálculo de VSWR a mano está bien. Sin embargo, si estás realizando un barrido de parámetros a lo largo de 50 distancias, comparando los niveles de enlaces para 12 configuraciones de antenas o escribiendo un cuaderno de Jupyter para revisar el diseño, hacer clic en una interfaz de usuario web no es la solución.
El paqueterftools de Python le ofrece el motor completo de calculadoras rftools.io de su entorno Python, sin necesidad de raspar la web, copiar y pegar, solo llamadas a funciones limpias y mecanografiadas.
Instalación
«CÓDIGO_0»
Se requiere una clave de API gratuita; consíguala en rftools.io/pricing (5 llamadas al mes gratis). En el caso de los flujos de trabajo automatizados, el nivel de API ofrece 10 000 llamadas al mes.
Tu primer cálculo
«CÓDIGO_1»rftools.calculate()devuelve unCalculatorResult, similar a un dictado, por lo que puedes acceder a las salidas mediante una tecla.
Secuencias escritas para la función de autocompletado del IDE
Para mejorar la capacidad de detección y completar el IDE, utilice los módulos de categorías escritos:
«CÓDIGO_2»
Están disponibles las 13 categorías:rf,pcb,power,signal,antenna,general,motor,protocol,emc,thermal,sensor,unit_conversion,audio.
Modo por lotes (nivel de API)
La API por lotes ejecuta hasta 50 cálculos en una sola solicitud HTTP, lo que resulta ideal para realizar barridos:
import rftools
client = rftools.Client(api_key='rfc_live_xxx') # or: export RFTOOLS_API_KEY=rfc_live_xxx
distances = [10, 50, 100, 500, 1000] results = client.batch([ ('free-space-path-loss', {'frequency': 2400, 'distance': d}) for d in distances ])
for d, r in zip(distances, results): if r.ok: print(f'{d:>6}m → {r.values["pathLoss"]:.1f} dB')
Salida:10m → 60.0 dB 50m → 74.0 dB 100m → 80.0 dB 500m → 94.0 dB 1000m → 100.0 dB## Soporte asincrónico
Para los servicios de FastAPI o los núcleos asíncronos de Jupyter, utiliceAsyncClient:
«CÓDIGO_5»
CLIP
El comandorftoolsejecuta los cálculos desde la terminal:
«CÓDIGO_6»
La CLI es útil para comprobar rápidamente los flujos de trabajo de las terminales o los scripts de shell.
Gestión de errores
Todos los errores generan excepciones mecanografiadas:
from rftools.exceptions import AuthError, RateLimitError, ValidationError
try: result = client.calculate('vswr-return-loss', {'vswr': 2.5}) except RateLimitError as e: print(f'Quota exceeded. Retry after {e.retry_after}s') except AuthError: print('Invalid API key') except ValidationError as e: print(f'Bad inputs: {e.detail}')
## Explorando el catálogo de calculadoras# All 203 calculators calcs = rftools.list_calculators() print(f'{len(calcs)} calculators available')
# Filter by category rf_calcs = rftools.list_calculators(category='rf') for c in rf_calcs: print(f'{c.slug}: {c.title}')
# Inspect a specific calculator's inputs and outputs info = rftools.get_calculator('noise-figure-cascade') for field in info.inputs: print(f' in: {field.id} ({field.unit})') for field in info.outputs: print(f' out: {field.id} ({field.unit})')
## Un ejemplo práctico: Link Budget Sweep
A continuación, te explicamos cómo crear una tabla entre la potencia de recepción y la distancia en un portátil Jupyter:
«CÓDIGO_9»
Cómo empezar
Instálelo conpip install rftools-io. Fuente y problemas: github.com/rftools/rftools-py. Las claves de API y los precios se encuentran en rftools.io/pricing.
Artículos Relacionados
From Frequency to Physical Dimensions: How Wavelength Shapes Every RF Design Decision
Learn how to convert frequency to wavelength in free space and PCB substrates. Worked examples for WiFi, radar, and antenna design using our calculator.
15 mar 2026
Antenna DesignDesigning Small Loop Antennas: Radiation Resistance, Gain, and Bandwidth Demystified
Learn how to design small loop antennas with real examples. Calculate radiation resistance, gain, loss resistance, and bandwidth for HF loops.
14 mar 2026
Power ElectronicsTaming Capacitor Inrush: How to Size an NTC Thermistor for Your Power Supply
Learn how to calculate NTC thermistor cold resistance, energy absorption, and time constant to limit inrush current in capacitive power supplies.
13 mar 2026