[問題] 關於32x64 MMSE ZF detection 間距

看板comm_and_RF作者 (654SAI)時間4年前 (2019/07/18 11:53), 編輯推噓4(406)
留言10則, 2人參與, 4年前最新討論串1/1
我用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://www.ptt.cc/bbs/comm_and_RF/M.1563422036.A.B68.html

07/19 10:11, 4年前 , 1F
先校正. 找paper或書上面的圖, 參數改一樣
07/19 10:11, 1F

07/19 10:11, 4年前 , 2F
看能不能重現書上的圖.
07/19 10:11, 2F

07/19 10:14, 4年前 , 3F
通常可以找到 NtNr=2,4,8之類的圖吧
07/19 10:14, 3F

07/19 10:14, 4年前 , 4F
先確認你NtNr小的時候能跑出正常的結果
07/19 10:14, 4F

07/20 04:08, 4年前 , 5F
Nt=4 Nr=4 結果和學長做的一樣
07/20 04:08, 5F

07/20 04:08, 4年前 , 6F
但老師説即使4x4和學長做一樣說服力人仍
07/20 04:08, 6F

07/20 04:08, 4年前 , 7F
然不夠
07/20 04:08, 7F

07/20 09:09, 4年前 , 8F
去找理論曲線,記得有些分析的paper有推導
07/20 09:09, 8F

07/21 04:29, 4年前 , 9F
你是説Q Function 嗎?
07/21 04:29, 9F

07/23 16:27, 4年前 , 10F
類似這篇吧 https://bit.ly/2YjBRuy
07/23 16:27, 10F
文章代碼(AID): #1TB-rKje (comm_and_RF)