Monte Carlo
Simulación del sistema de comunicación
Objetivo:
El objetivo de esta aplicación es simular el canal de comunicación utilizando el análisis de Monte Carlo.
- ¿Es un error estudiar ingeniería mecánica en lugar de CS, ECE o EEE?
- Estoy haciendo mi BE ahora, en electrónica y comunicaciones. En mi primer semestre obtuve 8.36 por 10. Para llegar a buenas universidades en los Estados Unidos, ¿cuál debe ser mi próximo paso y cómo debo prepararme?
- ¿Qué es un RTOS?
- ¿Qué requisitos previos tenemos que hacer para obtener un doctorado en diseño y automatización electrónica (EDA)?
- ¿Qué significa la señal ergódica?
Grupo de proyecto:
Doppalapudi Raghu Chaitanya
Nombres de archivo:
RemoteTask.Java
RemoteApp.Java
RemoteAppTaskListener.Java
Introducción:
No podemos probar muchas cosas en el mundo real de manera tan eficiente, entonces simular las cosas es la mejor opción. De manera similar, en la comunicación inalámbrica, la simulación es de suma importancia. En muchos casos usamos
Monte Carlo
Análisis para la simulación. Pero muchas personas usan Mat lab para simular estas cosas, al usar Mat lab consume mucho tiempo para generar los resultados. El análisis de Monte Carlo para el canal de comunicación implica un gran paralelismo que puede explotarse utilizando la computación en cuadrícula y obtener los resultados.
de manera eficiente.
Acercarse a, aproximarse:
Este fue uno de mis proyectos de clase de EE561.
Así es como debería funcionar la simulación.
- Configure Eb / No para que sea igual al primer valor en el vector de entrada SNR.
- Deje ensayos = 0. Este es un contador que realiza un seguimiento de cuántos símbolos se han simulado.
- Dejar errores = 0. Este es un contador que realiza un seguimiento de cuántos errores de símbolo se han encontrado.
- Deje ensayos = ensayos + L.
- Dibuje símbolos L al azar de su complejo conjunto de señales y colóquelos en un vector s .
- Agregue un vector de L muestras de ruido Gaussianas complejas n al vector de señal. La variación se debe elegir de modo que la SNR recibida sea Eb / No.
- Pase la señal recibida r = s + n se pasa a través de un receptor ML coherente (que deberá implementar). Si el receptor no detecta correctamente la señal, incremente el contador de “errores” por el número de errores de símbolos en el paquete.
- Para protegerse contra la pérdida de datos, se recomienda guardar periódicamente el estado de su simulación. El estado incluye la cantidad de pruebas y la cantidad de errores para cada punto SNR que se ha simulado.
- Si los errores <min_num_errors, entonces no se han registrado suficientes errores. Regrese al paso 4.
- Si errores> = min_num_erros, calcule la probabilidad de error del símbolo Ps (SNR) = errores / ensayos.
- Si Ps (SNR) <min_Ps, entonces la simulación completa puede detenerse. De lo contrario, establezca Eb / No en el siguiente valor más alto en el vector SNR y regrese al paso 2.
Usé este algoritmo para la simulación del canal de comunicación. Simulo lo anterior usando MATLAB, pero me llevó mucho tiempo ejecutar el programa porque los bucles ahorran mucho tiempo en MATLAB.
Este programa contiene mucho paralelismo. Exploté el paralelismo entre los bucles y obtuve la solución en muy poco tiempo. El enfoque que utilicé fue que el algoritmo definido anteriormente debería ejecutarse para muchos valores de relación señal / ruido, por lo que usé gird para ejecutar esta función para todos los valores posibles de snr.
El siguiente diagrama representa la ejecución del trabajo en varias computadoras del gird.
Resultados:
Obtuve los valores del número de pistas de cada trabajo que serían útiles para la generación del gráfico para la probabilidad de error de símbolo y SNR.
Ideas futuras
Si se diera un poco más de tiempo, explotaría más paralelismo. Pensé varias veces, como generar los gráficos en Java para los datos que obtuve de la cuadrícula. Estoy planeando diseñar una interfaz de usuario para esta aplicación que sería útil para los novatos.
Simulación de sistemas de comunicación.
Espero que esto ayude
Gracias