how to use matched filter to compute SINR for communication users , given the information bellow
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(1 个)
Yash
2023-6-27
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.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Beamforming 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!