how to use matched filter to compute SINR for communication users , given the information bellow

1 view (last 30 days)
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

Answers (1)

Yash
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.

Products


Release

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!