Add basic code

This commit is contained in:
Ksyer
2024-07-16 15:54:44 +08:00
parent 088f1a82fd
commit e98983b374
5 changed files with 65 additions and 43 deletions
+29
View File
@@ -0,0 +1,29 @@
function Psi = get_Psi_KR_product(N, M, epi)
d_n = floor(rand(N, 1)*M) / M;
zeta_n = 1 + d_n .* epi; % epi = B / f_c
R = zeros(N, M);
D = zeros(N, N);
for n = 0: N-1
for m = 0: M-1
R(n+1, m+1) = exp(-1j * 2 * pi * m * d_n(n+1));
end
end
for n = 0: N-1
for l = 0: N-1
D(n+1, l+1) = exp(-1j * 2 * pi * l * n * zeta_n(n+1) / N);
end
end
Psi = KR_product(R', D')';
end
function kr = KR_product(F, G)
nR_F = size(F, 1);
nR_G = size(G, 1);
mul = ones(nR_G, 1);
FF = kron(F, mul);
GG = repmat(G, nR_F, 1);
kr = FF .* GG;
end