DIGITAL MODULATION TYPES AND EFFECTS OF NOISE
Topics to consider
Please read about the following
Binary modulations (1 bit per symbol):
• Amplitude Shift Keying (ASK)
• Frequency Shift Keying (FSK)
• Phase Shift Keying (PSK)
Multi-level modulations (M bits per symbol):
• M-ary ASK
• M-ary FSK
• M-ary PSK
• Quadrature Amplitude Modulation (QAM)
SNR
Eb/N0 and C/B
Shannon's Law
Code positions in the constellation
Coherent vs incoherent detection
Synchronisation
Carrier recovery
Simulation exercises
The eye diagram is a convenient visual method of diagnosing problems with data systems and may be used to display the effect of differing channel responses and sources of degradation on the data transmission and reception process. It is also often informative to display the constellation diagram of the signal.
Task: For each of the modulations and levels of noise, display the constellation diagrams, eye diagrams and signal spectra. In particular, note the effect of increasing noise on the constellation diagram. You should use the Additive White Gaussian Noise generator block to introduce noise into the communication channel. It will be necessary to introduce an upsampling block to make the eye diagram look smooth and to get a good peak in the spectrum (an ideal rectangular pulse filter will achieve this). You should also use a low-pass filter before the constellation and eye diagram blocks in order to simulate the finite bandwidth of a real system. NB constellation and eye diagrams are not applicable.
Task: Investigate the resilience of each of the modulations to additive white gaussian noise and produce plots of BER vs Eb/N0. The plots may be produced manually by changing the level of noise in the AWGN block and noting the resulting error rate, however, this process may be automated making the simulation process quicker and easier to perform. Read Section 3 of the Getting Started manual about sending and receiving data in the MATLAB workspace. This will enable you to run a sequence of simulations with different parameters (in particular with varying Es/N0 values in the AWGN block) and to retrieve the resulting error rates for manipulation within the MATLAB workspace. The following Matlab code will send and receive data from your Simulink model into the Matlab workspace, in order to create a BER curve. To use this, you must replace the numerical value of EsNo in the AWGN block with the variable ‘EsN0' and the numerical value of the M value in the
generator to a function of nbps. Also, direct the output of the Error Rate Calculator block to ‘Workspace' (= the Matlab command window).
nbps = x; % Replace x with the number of bits per symbol to suit modulation scheme used
EsN0list = [-20:30]; % List of Es/N0 values for the simulation
EbN0list = EsN0list - 10*log10(nbps); % List of Eb/N0 values derived from the Es/N0 list for ii = 1:length(EsN0list)
EsN0 = EsN0list(ii) % EsN0 is the Es/N0 value used by the simulation sim('xxx') % Replace xxx with the name of the simulation file eratelist(ii) = erate(1); % erate(1) is the error rate returned by the simulation
end
semilogy(EbN0list,eratelist) % Plot the results
title(?Modulation type: xxx'); % Annotate the plot
xlabel(?Eb/N0')
ylabel(?BER')
Task: Using M-PSK and QAM modulations with M>2, investigate the effect on the BER of changing the way in which the various bit combinations are mapped to the constellation points. Both binary and Gray mapping are available in the modulation dialogue boxes.