Eye diagram and Constellation diagram
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.
Task1: Building your first communications system
Create a communications system model using a blank model from the Comms Toolbox and the following blocks. The demo in Lecture 11 will help with this.
• General QAM Modulator and Demodulator (Use the default constellation and click View Constellation to see how many symbols there are).
• Random Integer Generator (Set the Set Size parameter to match the number of symbols expected by the modulator)
• AWGN Channel (Set the ‘mode’ parameter to ‘SNR’).
• Error Rate Calculator (set the Output Data parameter to Port)
Connect the blocks in the right order to form a simple communications system Drag the mouse from the output port of one block to the input port of another to connect them with wires.
The Error Rate Calculator has two inputs. Rx should be connected to the received signal and Tx to the transmitted signal (or to the wire coming out of it).
Congratulations! You’ve created a model of a communications system. Now run it for a duration of 100 seconds and record the error rate.
Now answer the following questions:
• What is the error rate?
• Are you measuring BER or SER?
• What modulation scheme is being used?
• How many symbols did you send in this run of the model?
• How many bits did you send in one run of the model?
• What is the value of SNR at the receiver?
Does this run duration give a reasonably accurate estimate of the error rate? In the Error Rat Calculator, set the ‘Stop simulation’ box and press OK to accept the default values of 100 errors or 1000000 symbols. Set the timer to ‘inf’ and run the simulation again. Record the error rate again and comment on how it differs from the first run.
(NB. In the following tasks, please alter the ‘Stop simulation’ criteria as needed. To study the outputs for longer, simply uncheck the box, but to get a statistically valid estimate of error rate, please adjust as necessary.)
Now download the model Digitalcomms1.slx from the Blackboard site and put it in the Matlab directory that you are using for these exercises. This is a model of comms system using an ASK modulations scheme, including a filter, an eye diagram and a constellation diagram, as well as the error rate counter that you used in the last exercise. We’ll use it to show how these diagnostic tools can indicate the signal quality, as recorded in the error rate.
Because we have limited time and no interactive computer lab this year, the model has been created for you, circumventing a few Simulink-related technical issues that would take time to iron out if you made the model yourself.
Task2: The relation between error rate and SNR
As the model is adaptable, you must set a couple of variables in the Matlab command window before running the model. The variable M represents the number different symbols in the modulation scheme. Let’s start by typing M=2 to set it to a binary modulation scheme. The variable ts is the symbol period. Start by setting it to ts=1.
Now run the model by pressing the green ‘Run’ button, as before. Record the error rate and paste the eye diagram and constellation diagram into your lab-book.
Now answer the following questions:
• What is the error rate?
• What is the SNR?
• What modulation scheme is being used?
• Are you measuring BER or SER?
• Do the eye diagram and constellation diagram indicate a good quality signal?
• What two different symbols are used in this scheme?
Now reduce the SNR to 10dB, paste in the eye and constellation diagrams and record the error rate again. Now reduce the SNR to 0dB and repeat this procedure.
Please give your conclusions as to the relation between SNR and error rate.
(NB. If the eye diagram is not displayed well, you may wish to alter the figure properties. The simplest thing to do is to press Tools and then Automatically Scale Axes Limits, but there are other controls if you go to View/Configuration Properties.)
Task3: The relation between error rate and M
Now reset the model to its original state or download another fresh copy of it from the Blackboard site. Set M to 4 in the Matlab console and keep ts as 1 second. Run the model again, paste the graphical outputs into your lab-book and answer the following questions.
• What is the error rate?
• What is the SNR?
• Are you measuring BER or SER?
• Does the eye diagram indicate a good quality signal?
Now double the M-value repeatedly, until you reach M=64 and record the error rate each time. Use Matlab to plot a graph of error rate vs. M, not forgetting to label the axes. Paste the graph into your lab-book and give it a figure caption, stating any relevant parameters used to produce the graph. Explain briefly why the error rate changes with M.
Task4: The effect of filtering.
Reset the modulation scheme to binary ASK and make sure the SNR is equal to 20dB. In the Matlab console, change the symbol period to 0.1 seconds by typing ts=0.1 and run the model again. As the filter causes a delay in the signal which varies with symbol rate, this change will result in an error rate near to the maximum value of 0.5. This is not the real value, but is caused by the two inputs into the Error Rate Calculator being out of synchronisation. For this reason, the model includes a ‘Find Delay’ block, to measure this delay. Take the number given in the display next to the ‘Find Delay’ block and put it into the ‘Receive Delay’ parameter in the Error Rate Calculator dialogue box. Press OK and run the model again. It may be necessary to change the delay value by ±1. Choose whichever value gives the best error rate.
Record the error rate and paste the eye diagram into your lab-book, confirming that the symbol shown in the eye diagram is of the length specified. Now repeat the procedure with a symbol period of 50 ms and 20 ms, each time recording the eye diagram and error rate. Plot a graph of error rate vs. ts, not forgetting to label the axes. Paste the graph into your lab-book and give it a figure caption, stating any relevant parameters used to produce the graph.
From the Lowpass Filter dialogue box, click on View Filter Response to see the filter characteristic. Change the x-axis of the plot shown by choosing Edit/Axes Properties and setting ‘Xlim’ to 0,30 or by typing xlim([0,30])into the Matlab console. Now answer the following questions:
• What is the maximum frequency that will pass though the filter un-attenuated?
• What are the fundamental frequencies when the symbol period is 1000, 100, 50 and 20 ms?
• What is the data rate for these different symbol periods?
• Are the symbols generated in the modulator well-formed square symbols or more rounded in shape? (to answer this, you may want to delete the wire going to the Eye Diagram block and then join it to the wire connecting the Rectangular Pulse Filter and the Lowpass blocks.)
• Explain briefly why the error rate changes with symbol period.
Task 5: When to sample the received signal
Set the symbol period to 50 ms and adjust the receive delay parameter to get an error rate of a few percent. Open the dialogue box for the Rectangular Pulse Filter and look at the parameter ‘Pulse length (number of samples)’. It is set to 32, meaning that the simulation produces 32 numbers to trace out a single symbol. Due to the restricted bandwidth, the symbols are very rounded at this baudrate. It would therefore be wise to sample the received symbols only in their centre, away from the transition regions on the eye diagram. We can do this by opening the Error Rate Calculator dialogue box and clicking on Computation Mode. It should be currently set to ‘Entire Frame’, which means that all 32 points in the symbol are sampled in order to measure the error rate. Change this parameter to ‘Select samples from mask’ and then input [10:22] in the ‘selected samples input box that appears. This will select samples 10 to 22 of the 32 values in one symbol. Now run the model again and record the error rate.