- Open Matlab (with any way you choose)
- Open Simulink by typing simulink in the command window or by clicking on Simulink Button in Home Tab.
- Create Blank Model in New Tab.
- Add the necessary blocks by typing the name of it on the blank window.
- Random Integer Generator.
- Modulator & Demodulator for chosen scheme.
- AWGN Channel.
- Two constellation diagrams for plotting the symbols at the transmitter and receiver.
- Error rate calculation.
- Display for BER.
- To Workspace block for generating the BER-vs-SNR figures.
- Connect the blocks in the way shown in Blocks folder.
- Set the Simulation stop time (in a text box in the above buttons) to 100.
- In the Random Integer Generator : Set Source of initial seed to Parameter and Set Initial seed to 37.
- In the AWGN Channel: Set Eb/No (dB) to 10.
- In Error rate calculation : Set Output data to Port, tap Stop Simulation, and set Maximum number of symbols to 1e4.
- In To Workspace : Set Limit data points to last to 2, set Save format to Array, and Save 2-D signals as 2-D array.
- Save the model (by clicking on the Save button or by using the shortcut Ctrl+S) with any name and location you choose.
- Click on Run Button to produce the scatter plots.
- In the AWGN Channel : Set Eb/No (dB) to Eb/No to be able to produce BER figure.
- Don't forget to Save.
- Type bertool in the command window then click Enter.
- In Theoritical tab : choose the specific Modulation Type you are using with Modulation Order you are using, then click Plot.
- In Monte Carlo tab : Set the Eb/No range to -10:1:10.
- Choose the model you are using and previously saved in Simulation MATLAB File or Simulink model tab.
- Set BER variable name to the name of To Workspace block in your model (default: simout, mine: ber).
- Set Number of bits to 1e4.
- Click Run to produce the BER figure.
-
BPSK is the simplest (Binary) form of phase shift keying (PSK).
It uses two phases which are separated by 180° and so can also be termed 2-PSK. -
- Add BPSK Modulator Baseband and BPSK Demodulator Baseband blocks.
- In the Random Integer Generator : Set Set Size to 2.
- In BPSK Modulator Baseband and BPSK Demodulator Baseband : Set the Phase offset to 0.
-
Before Noise figure is the plot of symbols at transmitter, and After Noise figure is the plot of symbols at receiver:
-
The theoretical-exact0 curve is the Theoretical (Exact), and simulation0 curve is for the simulation of the model:
-
Quadrature phase-shift keying (QPSK) is one of PSK forms.
QPSK uses four points on the constellation diagram, equispaced around a circle.
With four phases, QPSK can encode two bits per symbol to minimize the bit error rate (BER) — sometimes misperceived as twice the BER of BPSK. -
- Add QPSK Modulator Baseband and BPSK Demodulator Baseband blocks.
- In the Random Integer Generator : Set Set Size to 4.
- In QPSK Modulator Baseband and QPSK Demodulator Baseband : Set the Phase offset to pi/4.
-
Before Noise figure is the plot of symbols at transmitter, and After Noise figure is the plot of symbols at receiver:
-
The theoretical-exact0 curve is the Theoretical (Exact), and simulation0 curve is for the simulation of the model:
-
Frequency-shift keying (FSK) is a frequency modulation scheme in which digital information is transmitted through discrete frequency changes of a carrier signal.
The simplest FSK is binary FSK (BFSK) which I have used.
BFSK uses a pair of discrete frequencies to transmit binary (0s and 1s) information.
With this scheme, the "1" is called the mark frequency and the "0" is called the space frequency. -
- Add M-FSK Modulator Baseband and M-FSK Demodulator Baseband blocks.
- In the Random Integer Generator : Set Set Size to 2.
- In M-FSK Modulator Baseband and M-FSK Demodulator Baseband : Set the M-ary Number to 2.
-
Before Noise figure is the plot of symbols at transmitter, and After Noise figure is the plot of symbols at receiver:
-
The theoretical-exact0 curve is the Theoretical (Exact), and simulation0 curve is for the simulation of the model:
-
Quadrature amplitude modulation (QAM) is the name of a family of digital modulation methods and a related family of analog modulation methods widely used in modern telecommunications to transmit information.
It conveys two analog message signals, or two digital bit streams, by changing (modulating) the amplitudes of two carrier waves, using the amplitude-shift keying (ASK) digital modulation scheme or amplitude modulation (AM) analog modulation scheme.
The two carrier waves of the same frequency are out of phase with each other by 90°, a condition known as orthogonality and as quadrature.
Since in digital telecommunications the data is usually binary, the number of points in the grid is usually a power of 2 (2, 4, 8, …).
Since QAM is usually square, some of these are rare — the most common forms are 16-QAM, 64-QAM and 256-QAM.
So this (QAM-16) is one of the most common forms of QAM. -
- Add Rectangular QAM Modulator Baseband and Rectangular QAM Demodulator Baseband blocks.
- In the Random Integer Generator : Set Set Size to 16.
- In Rectangular QAM Modulator Baseband and Rectangular QAM Demodulator Baseband :
- Set the M-ary Number to 16.
- Set the Normalization method to Average Power.
- Set the Phase offset to 0.
- Set the Average Power to 1.
-
Before Noise figure is the plot of symbols at transmitter, and After Noise figure is the plot of symbols at receiver:
-
The theoretical-exact0 curve is the Theoretical (Exact), and simulation0 curve is for the simulation of the model:
-
QAM-64 is one of the most common forms of QAM.
-
- Add Rectangular QAM Modulator Baseband and Rectangular QAM Demodulator Baseband blocks.
- In the Random Integer Generator : Set Set Size to 64.
- In Rectangular QAM Modulator Baseband and Rectangular QAM Demodulator Baseband :
- Set the M-ary Number to 64.
- Set the Normalization method to Average Power.
- Set the Phase offset to 0.
- Set the Average Power to 1.
-
Before Noise figure is the plot of symbols at transmitter, and After Noise figure is the plot of symbols at receiver:
-
The theoretical-exact0 curve is the Theoretical (Exact), and simulation0 curve is for the simulation of the model: