-
Notifications
You must be signed in to change notification settings - Fork 0
/
zf.m
21 lines (20 loc) · 867 Bytes
/
zf.m
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function zf_symbols = zf(H, received_symbols_noisy)
% check that the matrices dimensions are ok for multiplication
if size(pinv(H),2) == size(received_symbols_noisy,1)
% apply zf
zf_symbols = pinv(H) * received_symbols_noisy;
else
error('[ERROR] matrices size are not adequate for multiplication')
end
end
%% Function Description
% Compute the Zero Forcing technique on a matrix of received symbols.
% Input:
% - H = channel matrix. Dimension: RxT, where R is the number of
% receive antennas ant T the number of transmit antennas
% - received_symbols_noisy = matrix of received symbols corrupted by
% noise. Dimension: RxN, where N is the number of symbols transmitted by
% every T antennas
% Output:
% - zf_symbols = modified version of the received symbols where zf
% technique is applied. Dimensionion: TxN