作者b0241091 (654SAI)
看板comm_and_RF
标题[问题] 关於32x64 MMSE ZF detection 间距
时间Thu Jul 18 11:53:54 2019
我用MATLAB模拟
NT=32、NR=64 uplink MMSE、ZF detection
结果如下图
https://imgur.com/zZlcIip
模拟环境使用rayleigh flat fading channel
杂讯为AWGN
程式码如下
clear;
nt = 32; % Number of transmit antenna
nr = 64; % Number of receiving antenna
M = 16; % Size of signal constellation
k = log2(M); % Number of bits per symbol
snr_start = 1;
snr_end = 21;
BER = zeros(1,snr_end);
BER_ZF = zeros(1,snr_end)snr_start = 1;
for iii = snr_start:snr_end
if (M == 4)
QAM = [-1-1i,-1+1i,+1-1i,+1+1i];
Scaling_factor = 2;
if (iii < 36)
n = 100000;
end
end
if (M == 16)
QAM =
[-3-3i,-3-1i,-3+3i,-3+1i,-1-3i,-1-1i,-1+3i,-1+1i,+3-3i,+3-1i,+3+3i,+3+1i,+1-3i,+1-1i,+1+3i,+1+1i];
Scaling_factor = 10;
if (iii < 8)
n = 5000;
end
if (iii >= 8) && (iii < 14)
n = 10000;
end
if (iii >= 14) && (iii < 17)
n = 100000;
end
if (iii >= 17) && (iii < 20)
n = 1000000;
end
if (iii >= 20)
n = 10000000;
end
end
if (M == 64)
QAM=[ -7-7i,-7-5i,-7-1i,-7-3i,-7+7i,-7+5i,-7+1i,-7+3i, ...
-5-7i,-5-5i,-5-1i,-5-3i,-5+7i,-5+5i,-5+1i,-5+3i, ...
-1-7i,-1-5i,-1-1i,-1-3i,-1+7i,-1+5i,-1+1i,-1+3i, ...
-3-7i,-3-5i,-3-1i,-3-3i,-3+7i,-3+5i,-3+1i,-3+3i, ...
+7-7i,+7-5i,+7-1i,+7-3i,+7+7i,+7+5i,+7+1i,+7+3i, ...
+5-7i,+5-5i,+5-1i,+5-3i,+5+7i,+5+5i,+5+1i,+5+3i, ...
+1-7i,+1-5i,+1-1i,+1-3i,+1+7i,+1+5i,+1+1i,+1+3i, ...
+3-7i,+3-5i,+3-1i,+3-3i,+3+7i,+3+5i,+3+1i,+3+3i ];
Scaling_factor = 42;
if (iii < 8)
n = 5000;
end
if (iii >= 8) && (iii < 14)
n = 10000;
end
if (iii >= 14) && (iii < 18)
n = 100000;
end
if (iii >= 18) && (iii < 20)
n = 1000000;
end
if (iii >= 20) && (iii < 22)
n = 10000000;
end
if (iii >= 22)
n = 20000000;
end
end
total_num_BER = 0;
total_num_BER_ZF = 0;
sequential_bits = de2bi(0:length(QAM)-1,k,'left-msb');
for i = 1:n
dataIn=round(rand(nt,k));
dataSymbolsIn = bi2de(dataIn,'left-msb')+1; % Convert to integers
dataMod = QAM(dataSymbolsIn).'; % Gray coding, phase offset = 0
SNR = iii;
signalpower = Scaling_factor*nt;
noisepower = signalpower/(10^((SNR)/10));
noise = (sqrt(noisepower/2))*(randn(nr,1)+1i*randn(nr,1)); % AWGN
H = 1/sqrt(2)*randn(nr,nt)+1/sqrt(2)*1i*randn(nr,nt); % Rayleigh
flat fading channel
receivedSignal = H*dataMod + noise;
powerofpersymbol = Scaling_factor;
W_inv = (H'*H + (noisepower/(powerofpersymbol))*eye(nt))\H'; % MMSE
W_inv_ZF = (H'*H)\H'; % ==pinv(H)
s_hat = W_inv*receivedSignal; % Multiply by decoding matrix after
transmission
s_hat_ZF = W_inv_ZF*receivedSignal;
[~,idxhat] =
min(abs(s_hat*ones(1,length(QAM))-ones(nt,1)*QAM).^2,[],2);
bithat = sequential_bits(idxhat,:);
[num_BER,ratio_BER] = biterr(dataIn,bithat);
total_num_BER = total_num_BER + num_BER;
[~,idxhat_ZF] =
min(abs(s_hat_ZF*ones(1,length(QAM))-ones(nt,1)*QAM).^2,[],2);
bithat_ZF = sequential_bits(idxhat_ZF,:);
[num_BER_ZF,ratio_BER_ZF] = biterr(dataIn,bithat_ZF);
total_num_BER_ZF = total_num_BER_ZF + num_BER_ZF;
end
BER(iii) = total_num_BER/(n*nt*k); % 64-QAM nt*k=4*6=24
BER_ZF(iii) = total_num_BER_ZF/(n*nt*k);
end
snr = snr_start : snr_end;
semilogy(snr,BER(snr),'Color',[0 0 0.7],'Marker','*'); grid on;
hold on;
semilogy(snr,BER_ZF(snr),'Color',[0.7 0 0],'Marker','*');
title([num2str(nt),'x',num2str(nr),' ',num2str(M),'-QAM']);
legend('MMSE','Zero-Forcing');
xlabel('SNR(dB)');
y=ylabel('BER');
set(get(gca,'YLabel'),'Rotation',0);
set(y,'Units','Normalized','Position', [-0.06, 0.5]);
set(gca,'fontsize',16,'xtick',snr_start:snr_end);
axis([snr_start snr_end 10^(-6) 1]);
set(gcf, 'InvertHardCopy', 'off'); % Figure background color when printing
or saving
pause;
close;
因为这两条线实在是太靠近了,想询问一下有人知道这样模拟是正确的吗?
如果是正确的,要如何用数值证明两条线这个间距是合理的??
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 220.134.106.109 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/comm_and_RF/M.1563422036.A.B68.html
1F:推 bxxl: 先校正. 找paper或书上面的图, 参数改一样 220.136.152.91 07/19 10:11
2F:→ bxxl: 看能不能重现书上的图. 220.136.152.91 07/19 10:11
3F:推 bxxl: 通常可以找到 NtNr=2,4,8之类的图吧 220.136.152.91 07/19 10:14
4F:→ bxxl: 先确认你NtNr小的时候能跑出正常的结果 220.136.152.91 07/19 10:14
5F:→ b0241091: Nt=4 Nr=4 结果和学长做的一样 101.12.162.144 07/20 04:08
6F:→ b0241091: 但老师説即使4x4和学长做一样说服力人仍 101.12.162.144 07/20 04:08
7F:→ b0241091: 然不够 101.12.162.144 07/20 04:08
8F:推 bxxl: 去找理论曲线,记得有些分析的paper有推导 220.136.152.91 07/20 09:09
9F:→ b0241091: 你是説Q Function 吗? 101.12.162.144 07/21 04:29