how to use matched filter to compute SINR for communication users , given the information bellow
1 view (last 30 days)
Show older comments
SINR = wc(HBR'*ome'*h_RU+h_BU)*(h_RU'*ome*HBR+h_BU')*wc' / ws(HBR'*ome'*h_RU+h_BU)*(h_RU'*ome*HBR+h_BU')*ws + sigma2
where
wc is the communication beamformer
ws is the sensing beamformer
HBR the channel between BS and RIS
h_RU the channel between RIS and UE
h_BU the channel between BS and UE
ome is the RIS phase shift
0 Comments
Answers (1)
Yash
on 27 Jun 2023
You can refer to the following code for the implementation.
% Generate the transmitted signal using the communication beamformer
s_t = wc*(HBR'*ome'*h_RU + h_BU)*(h_RU'*ome*HBR + h_BU')*wc';
% Add noise to the transmitted signal
r_target = awgn(s_t, sigma2);
% Apply the matched filter using the sensing beamformer
template = conj(ws*(HBR'*ome'*h_RU + h_BU));
filtered_signal = conv(r_target, template, 'same');
% Compute the numerator and denominator of the SINR equation
numerator = wc*(HBR'*ome'*h_RU + h_BU)*(h_RU'*ome*HBR + h_BU')*wc';
denominator = ws*(HBR'*ome'*h_RU + h_BU)*(h_RU'*ome*HBR + h_BU')*ws';
% Compute the SINR
SINR = abs(filtered_signal).^2 ./ (denominator + var(filtered_signal) - abs(numerator).^2 ./ (denominator + var(r_target)));
% End of code
You may need to change some parameters to values that are relevant to your model.
See Also
Categories
Find more on Beamforming in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!