Skip to content

Simulador de comunicaciones digitales que ofrece la posibilidad de generar señales clásicas y no convencionales.

Notifications You must be signed in to change notification settings

SimuladorComunicacionesDigitales/SimuladorCD

Repository files navigation

SimCD: Simulador de Comunicaciones Digitales

Simulador para el estudio de señales digitales programado en Python.

Esta aplicación de escritorio permite el estudio de señales no convencionales, cuyos símbolos pueden ser ingresados por el usuario, con la finalidad de verificar cuáles son los cambios que ocurren en los distintos indicadores clave de una señal digital, como la ocupación espectral y la fortaleza frente al ruido.

Además tambien permite simular los resultados de señales clásicas como códigos de línea RZ, NRZ, Manchester y modulaciones BPSK, OOK, FSK, QPSK, 8-PSK y 16QAM.

Funcionamiento del programa

Este simulador funciona a partir del siguiente diagrama de bloque simplificado: DiagramaBloque

Los bloques representan:

  • Codificador de Línea // Modulador: Se genera la señal digital. El simulador posee dos opciones:

    • Señales clásicas: señales estandarizadas con características conocidas y aplicaciones prácticas
    • Señales no convencionales: señales cuyos símbolos que la conforman son definidas por el usuario. Las señales no convencionales pueden ser ingresadas de dos formas:
      • Símbolos: especificando directamente la forma de sus símbolos.
      • Bases: especificando las bases de la señal para luego ingresar las coordenadas de cada símbolo en el diagrama de constelación.
  • Canal AWGN: La señal generada es transmitida por un canal con ruido aditivo blanco gaussiano.

  • Receptor Óptimo Gram-Schmidt: se utiliza un receptor basado en el proceso de ortogonalización Gram-Schmidt para recuperar la señal transmitida con la menor cantidad de errores posibles.

Archivos .py

  • main.py es el archivo ejecutable del programa.
  • Funciones_GUI.py es un archivo con todas las funciones comunes que utilizan las ventanas del simulador.

Los demás archivos son las distintas ventanas que componen el simulador:

  • MainWindow.py es el menú inicial del simulador, y SenalesNoConvencionales.py es el menú del módulo de señales no convencionales.

  • numCiclos.py es la ventana de la verificación de Número de Ciclos en Sinusoides y documentacion.py es la ventana de documentación.

  • SenalesClasicas.py, ScreenSimbolos2.py, ScreenSimbolos3.py, ScreenSimbolos4.py, ScreenBases2.py, ScreenBases3.py, y ScreenBases4.py son las ventanas principales que contiene los resultados de los distintos módulos del simulador.

  • Este proyecto utiliza las librerías numPy, matplotlib y PyQt5.

Otros archivos:

  • Documentación_Simulador.pdf es el documento en PDF con la documentación completa del simulador.
  • En la carpeta /UIs/ se encuentran los archivos .ui utilizados por las ventanas del simulador, y los archivos .png que se utilizan en el programa.

Canal de Youtube e Instaladores del simulador

En este canal de Youtube podrás encontrar el funcionamiento del programa e instrucciones para su instalación.

En esta carpeta de Drive podrás encontrar los instaladores del simulador tanto para Windows como MacOS.

Este PDF contiene un documento que resume el trabajo realizado.

About

Simulador de comunicaciones digitales que ofrece la posibilidad de generar señales clásicas y no convencionales.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages