calculate the interference vector

i have a communication network with the following entries
B is M*K matrix represents large-scale channel coefficient
γ is M*K matrix represents variance of channel estimation
G is M*K matrix is channel coefficient
g ̃ is ( B - γ) represent channel estimation error
all the matrices above calculated in matlab
M=30
K=10
and now i must also calculate SINR with Zero forcing pecoding , which is the desired signal over the interferebce signal (γ_ki)
where γ_ki is the i-th element of the vector below
γ_k= diag {E(((G ̂^T G ̂^* )^(-1) G ̂^T E (g ̃_k^* g ̃_k^T ) G ̂^* (G ̂^T G ̂^* )^(-1) ))}
where E (g ̃_k^* g ̃_k^T ) represents a diagonal matrix including (B_mk - γ_mk) on its m-th diagonal component
my question is how can i represent γ_ki in matlab
i tried the following expression but it gives error about the different size in matrices
p=(diag(BETAA-Gammaa))
γ_k= (Gammaa'.* conj(Gammaa)).^(-1) .* Gammaa' .* p .* conj(Gammaa) .* (Gammaa'.* conj(Gammaa)).^(-1)

5 Comments

Don't make it so difficult for us to help.
Include executable code and the exact error message you receive.
Sara
Sara on 6 May 2023
Edited: Sara on 6 May 2023
the code is very long and contains many functions
i just wrote the part that i doubt about writting it and it showed error about the matrices size
I doubt it is really elementwise multiplication you need here.
I guess the command must read
γ_k= (Gammaa' * conj(Gammaa))^(-1) * Gammaa' * p * conj(Gammaa) * (Gammaa' * conj(Gammaa))^(-1)
but of course I can't be sure about the matrix sizes.
If the error about the matrix sizes persist, just add the lines
size(Gammaa')
...
to check whether the matrix sizes are compatible.
Note that A' means transpose(conj(A)), not only transpose(A).
Error using *
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix
matches the number of rows in the second matrix. To operate on each element of the matrix
individually, use TIMES (.*) for elementwise multiplication.
this is the error shows
the size of Gamma' is 10* 30 and the size of Gamma is 30*10
Gammaa' * p * conj(Gammaa) is not defined:
(10x30) * (10x10) * (30x10) does not make sense.

Sign in to comment.

Answers (0)

Categories

Asked:

on 6 May 2023

Commented:

on 6 May 2023

Community Treasure Hunt

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

Start Hunting!