discrete baseband channel wrt time SNR (in dB)
1 Ansicht (letzte 30 Tage)
Ältere Kommentare anzeigen
Jose Iglesias
am 14 Mär. 2023
Kommentiert: Jose Iglesias
am 28 Apr. 2023
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!
% 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 Kommentare
Akzeptierte Antwort
Ganapathi Subramanian
am 26 Apr. 2023
Bearbeitet: Ganapathi Subramanian
am 26 Apr. 2023
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).
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Applications finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!