Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/flandrade/communication-system-simulation
Communication system in Matlab ☎️
https://github.com/flandrade/communication-system-simulation
ber-curves bpsk bpsk-variables codification codification-algorithms communication-systems matlab plots quantization quantization-error simulation
Last synced: 2 months ago
JSON representation
Communication system in Matlab ☎️
- Host: GitHub
- URL: https://github.com/flandrade/communication-system-simulation
- Owner: flandrade
- License: mit
- Created: 2015-12-16T19:27:39.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2016-01-21T17:58:58.000Z (about 9 years ago)
- Last Synced: 2024-03-19T03:32:04.195Z (11 months ago)
- Topics: ber-curves, bpsk, bpsk-variables, codification, codification-algorithms, communication-systems, matlab, plots, quantization, quantization-error, simulation
- Language: Matlab
- Homepage:
- Size: 364 KB
- Stars: 13
- Watchers: 3
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# A communication system simulation
This program simulates a basic communication system using Matlab, and it plots BER curves in order to compare the performance of several codification algorithms. It includes the following components:![Diagram](https://github.com/flandrade/communication-system-simulation/blob/master/images/diagram.png)
**main.m** is the main file.
## Components and options
### Input voices
**Voz.wav** is the audio file that contains the message. The program plots the input signal.#### Output
**fundamental_frequency**: the fundamental frequency of the message in the audio file.**x**: vector that contains the message.
### Quantization
This module plots the first input signal with the levels of quantization and the quantized signal.#### Options
**level**: the number of levels for quantization.**option_quantization**: quantization processes. Available options:
- 1 - Uniform
- 2 - Mu-Law
- 4 - A-Law#### Output
**xq**: quantized message.#### Output
**quantization_error**: quantization error.## Codification
This simulation codifies the message using the following methods:
- Hamming (7,4)
- Convolutional codes: soft decision
- Convolutional codes: hard decision## Modulation
This module modulates the message according the codification, and it plots the constellation for the selected modulation.#### Options
**option_modulation**: modulation processes. Available options:
- 1 - BPSK
- 2 - QPSK
- 3 - BPSK and QPSK#### Output
Message modulated according to the selected modulation:**BPSK variables**: bitsm1 (no codification), bitsm2 (Hamming), bitsm3 (Convolutionl)
**QPSK variables**: bitsmqpsk1 (no codification), bitsmqpsk2 (Hamming), bitsmqpsk3 (Convolutional)
## BER Curves
This module uses a loop in order to simulate an AWGN channel with several Eb/N0 values. Eb/N0 is the energy per bit to noise power spectral density ratio. Value between 1 and 6, where 6 is for the least noisy channel.Demodulation and decodification are performed in this loop. The program plots the BER curves of several codification algorithms.
#### Output
Probability of error gives the average rate of occurrence of decoding errors. Pe error for the codification algorithms according to the selected modulation:**BPSK variables**: errorpe_bpsk_nocod (no codification), errorpe_bpsk_hamming (Hamming), errorpe_bpsk_hard (Convolutionl: Hard decision), errorpe_bpsk_soft (Convolutional: Soft decision)
**QPSK variables**: errorpe_qpsk_nocod (no codification), errorpe_qpsk_hamming (Hamming), errorpe_qpsk_hard (Convolutional: Hard decision)
## Graphs
![Plots](https://github.com/flandrade/communication-system-simulation/blob/master/images/graphs.jpg)
### Acknowledgements
This program was developed during the communication course "Comunicación y codificación digital" at Universidad de las Fuerzas Armadas ESPE.