>

D

dsp6414

Guest
atsauces uz dsplog ZF-SIC
[Mans Matlab kods]

main.m

M = 2;
Es_N0_dB = 00:03:30;
atkārtojuma = 50;
bloki = 200;
rāmji = 40;
frame_len = 1;
erros = nulles (2, garums (Es_N0_dB));
attiecībā uz ii = 1: garums (Es_N0_dB)
ii
par mm = 1: atkārtošanas
par kk = 1: bloki
uz ll = 1: rāmjus
s_in = randint (2 frame_len, M);
% H = SQRTn (1 / 2) * [randn (2,2) j * randn (2,2)];
H = [randn (2,2) j * randn (2,2)];
erros (1, ii) = erros (1, ii) ZF (s_in, M, Es_N0_dB (ii), H);
erros (2, ii) = erros (2, ii) ZF_SIC (s_in, M, Es_N0_dB (ii), H);
beigas
beigas
beigas
beigas

ser = erros./iteration/blocks/frames/frame_len/2

ZF.m

funkcija s_out = ZF (s_in, M, Es_N0_dB, H)
x = pskmod (s_in, M);
[R, c] = lielums (s_in);
n = 1/sqrt (2) * [randn (r, c) j * randn (r, c)];
y = H * x 10 ^ (-Es_N0_dB/20) * n;
x_1 = pinv (H) * y;% ZF
x_out = pskdemod (x_1, M);
s_out = symerr (s_in, x_out);
beigas

ZF_SIC.m
funkcija s_out = ZF_SIC (s_in, M, Es_N0_dB, H)
x = pskmod (s_in, M);
[R, c] = lielums (s_in);
n = 1/sqrt (2) * [randn (r, c) j * randn (r, c)];
y = H * x 10 ^ (-Es_N0_dB/20) * n;
x_1 = pinv (H) * y;
r1 = YH :) 2) * x_1 (2:);
x1 = 1 / (ABS (H (1,1)) ^ 2 abs (H (2,1)) ^ 2) * (apakšpunkts saistībā (H (1,1)) * R1 (1:) apakšpunkts saistībā ( H (2,1)) * R1 (2 ,:));% MRC
x_sic = [x1; x_1 (2 ,:)];
x_out = pskdemod (x_sic, M);
s_out = symerr (s_in, x_out);
beigasZF_sic sniegumu no ZF un ir vienādi.

 

Welcome to EDABoard.com

Sponsor

Back
Top