CA2编程辅导 、讲解 MatLab设计程序
CA2
Submission Instructions:
• CA2 is due on Friday, November 15, 2024, 23:59:59.
• Submit your homework to Canvas folder ‘CA2 submission’ as a single zip file containing,
1. MatLab file(s) of script/functions. Do not include the individual files for figures or
the workspace.
2. A brief PDF report.
• The zip file should be named “STUDENT-NUMBER_NAME.zip”.
• Name the main MatLab script “main”. When run, it should be able to call other scripts
and functions (if any) and generate all the necessary figures and results asked below.
Rules:
• You can use all online resources, including MathWorks, blogs and generative AI tools.
Cite the source in your report if you adopted a part of your work from somewhere.
• You may get a reasonable amount of help from others, but the submitted work must be
wholly your own.
• In your PDF report, only include the responses to the questions and figures asked in the
assignment. These are indicated in bold.
• Feel free to ask for clarifications until November 11, 2023, 23:59:59. No clarification will
be provided after this date. Please check the assignment carefully and ensure you fully
understand it by this date.
Task 1 – Path loss models (5 pts)
In this task, you will simulate the free-space and two-ray path-loss models using MatLab.
You will observe how the received power varies with channel parameters.
Write a MatLab script that plots the ratio of received power to transmit power in dB, against
the logarithm of the distance from the transmitter 𝑙𝑙𝑙𝑙𝑙𝑙10(𝑑𝑑), for d from 1 meter to 3000
meters.
a) Using the free space path-loss model.
b) Using two-ray model.
Use the following parameters:
fc = 2*10^9; % Carrier frequency in Hz
G = 1; % Antenna gain
R = 0.95; % Reflection coefficient
h = 2.5; % Sum of tx and rx antenna heights in meters. E.g., h1 = 1.1, h2 = 1.4
Increment d in small step sizes at least for small d values, e.g., 0.01 meters. For the two-ray
model, assume transmitter and receiver antennas are at equal heights from the ground
reflector. Hint: you must derive the reflected ray’s propagation distance in terms of d and h.
Overlay both plots onto the same figure with different colors, label the axes, indicate the
units, and label the plots with a legend. Copy the figure to your report.
Explain in your report, how and why the propagation characteristics in both models change
when you vary the carrier frequency and the sum of antenna heights.
Task 2 – Data fitting into path-loss and shadowing model (5 pts)
In this task, you will fit data into the simplified path-loss plus shadowing model.
The table below lists a set of empirical path loss measurements.
Use the least squares method to find the parameters of a simplified path-loss plus
shadowing model that best fits this data. I.e., find the value of the constant K in dB and the
path-loss exponent γ. Assume log-normal shadowing with zero mean, and 𝑑𝑑0 = 1. You may
use any MatLab function/library or write your own code to perform the least squares
optimization. Indicate the values of K and 𝛄𝛄 in your report.
Using the model you found, estimate the path-loss at 2 km from the transmitter. Briefly
show your calculations in your report.
Task 3 – Error correction coding with convolutional codes (10 pts)
We learned in class that error correction codes can detect and correct bit errors that occur
due to noise and interference in wireless channels. In this task, you will implement a
Convolutional code and a Viterbi decoder to improve the bit error rate in a communication
system.
Consider the convolutional code shown below. We will use this code over an Additive
Gaussian Noise Channel (AGNC). Let the input bit sequence be u = (u1, u2, … , un, 0, 0)
where n = 1000 and the last two 0's are for termination.
Let x = (x1, x2, … , x2𝑛𝑛+2) denote the encoded sequence. Suppose x is mapped to a
±1 sequence v by the rule vi = (−1)xi. Thus, vi = 1 if xi = 0, and vi = −1 if xi = 1 and
so on. Suppose v is sent over an AGNC and y = v + z is received, where z = (z1, … , z2𝑛𝑛+2)
is a sequence of independent Gaussian random variables with variance 𝜎𝜎 = N0/2.
Implement a Viterbi decoder for this code and plot the resulting bit error rate (BER) vs
𝐄𝐄𝐛𝐛/𝐍𝐍𝟎𝟎. Vary Eb/N0 from 0 dB to 10 dB in steps of 1 dB. Carry out at least 10,000 trials for
each data point in your plot. (Note that Eb/N0 equals 1/𝜎𝜎2 here.)
Determine by simulation the BER for uncoded transmission (i.e., vi = 1 if ui = 0, and ui =
−1 if ui = 1) and plot it against Eb/N0 for the same range of values. Overlay both plots on
the same graph and add it to your report. (Note that Eb/N0 equals 1/(2𝜎𝜎2) for uncoded
transmission.)
Hint: You can use built-in MatLab functions for Viterbi decoder or any other library if you are
using another programming language. You’ll have to figure out how to determine the values
of generator polynomials if you are using these functions.