discrete baseband channel wrt time SNR (in dB)
2 次查看(过去 30 天)
显示 更早的评论
Digital and wireless communications
I am trying to determine what is the expected SNR (in dB) and the probability that the instantaneous SNR falls below 0dB for the problem statement shown below. I then need to compute the expectation E[SNR(h0)] of this random variable, and the probability that it is less than 0dB. I attached the Matlab code shown below I had used for the previous problem where I had to plot the cumulative distribution function (CDF) of the squared amplitude and phase of h0 from the samples I have collected (two distinct figures), and compared the resulting CDFs with the Rayleigh fading case. This code shown below also compares the CDF of |h0| ^2 with the exponential distribution and estimates the mean m from the sequence of |h0|^2. in order to do this. I can use some assistance in developing the code for the problem statement shown below. I am uncertain if I should create a new Matlab code for this new problem statement, or if I should just add the code for this new problem to my current Matlab code shown below. The physical model of the distance between the transmitter and receiver are shown below. The discrete baseband channel model complex channel filter tap at time m equation is also shown below. Thank you in advance!
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1324200/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1324205/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1324210/image.png)
% Physical parameters
c = 3e8; % speed of light
d = 1000; % distance between transmitter and receiver in meters
v = 72*1000/3600; % velocity of receiver in m/s
fc = 100e3;
W = 200E3;
% Baseband channel model parameters
lambda = c/fc;
x1 = 100;
x2 = 50;
%tau = d/c; % delay
% Time vector
%fs = 1e3; % sampling frequency
%t = 0:1/fs:1; % time vector from 0s to 1s
t_new = linspace(0,1,1001)
% Discrete channel filter tap at time m
h0 = zeros(1,length(t_new));
for m = 1:length(t_new)
% Calculate the distance traveled by the RX at time m
dist = v * (t_new(m));
% Calculate the complex gains of the multipath components
a0 = lambda/(4*pi*(d + dist));
a1 = -lambda/(4*pi*(d + dist + 2*x1));
x3 = sqrt(((d + dist)/(2)).^2 + (200)^2);
x4 = sqrt(((d + dist)/(2)).^2 + (200)^2);
a2 = -lambda/(4*pi*(x3+x4));
a3 = -lambda/(4*pi*(d + dist + 2*x2));
x5 = sqrt(((d + dist)/(2)).^2 + (100)^2);
x6 = sqrt(((d + dist)/(2)).^2 + (100)^2);
a4 = -lambda/(4*pi*(x5+x6));
a = [a0 a1 a2 a3 a4];
% Calculate the delays of the multipath components
tau0 = d + dist/c;
tau1 = d + dist + 2*x1/c;
tau2 = (x3 + x4)/c;
tau3 = d + dist + 2*x2/c;
tau4 = (x5 + x6)/c;
tau = [tau0 tau1 tau2 tau3 tau4];
a = a.*exp(-1j*2*pi*v*t_new(m)*tau)/W;
h0(m) = sum(a.*sinc(-t_new(m)*tau*W));
end
% Plot
figure;
plot(t_new, abs(h0));
xlabel('Time (s)');
ylabel('|h_0|');
title('Discrete Baseband Channel Model |h_0| vs Time');
figure
histogram(abs(h0).^2,100,'Normalization', 'cdf')
hold on
m = mean(abs(h0).^2)
x = linspace(0,100,100)*1e-12;
Ce = 1 - exp(-x/m);
plot(x,Ce,'*-')
hold off
figure
histogram(angle(h0),100,'Normalization', 'cdf')
0 个评论
采纳的回答
Ganapathi Subramanian
2023-4-26
编辑:Ganapathi Subramanian
2023-4-26
Hi Jose,
It is my understanding that you are trying to find expected SNR and probability of instantaneous SNR below 0dB for a multipath channel.
Please refer to the below documentation regarding how to model a multipath fading channel.
Use the computed path gains and path delay of multipath components in the code you have attached to the above implementation of multipath fading channel. Based on received signal strength of the modelled multipath channel, calculate Signal to Noise Ratio(SNR).
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Propagation and Channel Models 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!