91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 0.01M
    文件類型: .m
    金幣: 1
    下載: 0 次
    發布日期: 2021-05-16
  • 語言: Matlab
  • 標簽: 其他??

資源簡介

mimo_detection.m

資源截圖

代碼片段和文件信息

%%?
%?ML-ZF-MMSE?檢測算法比較
%?bpsk調制-瑞利衰落信道-2個發送端,2個接收端

%%
clc
clear
N?=?10^5;?%?發送的符號數目
Eb_N0_dB?=?0:20;?%?信噪比范圍
nTx?=?2;
nRx?=?2;
%%
for?ii?=?1:length(Eb_N0_dB)

?????%?發送端
?????ip?=?rand(1N)>0.5;?%?等概率產生0和1
?????s?=?2*ip-1;?%?BPSK?調制?0?->?-1;?1?->?1
?????sMod?=?kron(sones(nRx1));?%?
?????sMod?=?reshape(sMod[nRxnTxN/nTx]);?%?將矩陣轉換為[nRxnTxN/nTx?]形式?

?????h?=?1/sqrt(2)*[randn(nRxnTxN/nTx)?+?j*randn(nRxnTxN/nTx)];?%?瑞利衰落信道
?????n?=?1/sqrt(2)*[randn(nRxN/nTx)?+?j*randn(nRxN/nTx)];?%?0均值高斯白噪聲


?????%?加入噪聲后在信道中傳輸

?????y?=?squeeze(sum(h.*sMod2))?+?10^(-Eb_N0_dB(ii)/20)*n;
%%
%ML
?????%?最大似然接收
?????%?----------------------------
?????%?當?[s1?s2?]?=?[+1+1?]
?????sHat1?=?[1?1];
?????sHat1?=?repmat(sHat1[1?N/2]);
?????sHat1Mod?=?kron(sHat1ones(nRx1));
?????sHat1Mod?=?reshape(sHat1Mod[nRxnTxN/nTx]);%發送矩陣
?????zHat1?=?squeeze(sum(h.*sHat1Mod2))?;?%接收矩陣
?????%e?=?abs(y?-?zHat1);?%取理論接收與實際接收的絕對值
?????J11?=?sum(abs(y?-?zHat1)1);%將兩行加為一行

?????%?當?[s1?s2?]?=?[+1-1?]
?????sHat2?=?[1?-1];
?????sHat2?=?repmat(sHat2[1?N/2]);
?????sHat2Mod?=?kron(sHat2ones(nRx1));
?????sHat2Mod?=?reshape(sHat2Mod[nRxnTxN/nTx]);
?????zHat2?=?squeeze(sum(h.*sHat2Mod2))?;
?????J10?=?sum(abs(y?-?zHat2)1);

?????%?當?[s1?s2?]?=?[-1+1?]
?????sHat3?=?[-1?1];
?????sHat3?=?repmat(sHat3[1?N/2]);
?????sHat3Mod?=?kron(sHat3ones(nRx1));
?????sHat3Mod?=?reshape(sHat3Mod[nRxnTxN/nTx]);
?????zHat3?=?squeeze(sum(h.*sHat3Mod2))?;
?????J01?=?sum(abs(y?-?zHat3)1);

?????%?當?[s1?s2?]?=?[-1-1?]
?????sHat4?=?[-1?-1];
?????sHat4?=?repmat(sHat4[1?N/2]);
?????sHat4Mod?=?kron(sHat4ones(nRx1));
?????sHat4Mod?=?reshape(sHat4Mod[nRxnTxN/nTx]);
?????zHat4?=?squeeze(sum(h.*sHat4Mod2))?;
?????J00?=?sum(abs(y?-?zHat4)1);

?????%?從四組數值中找出最小值jj,所在位置dd
?????rVec?=?[J11;J10;J01;J00];
?????[jj?dd]?=?min(rVec[]1);

?????%?mapping?the?minima?to?bits
?????ref?=?[1?1;?1?0;?0?1;?0?0?];
?????ipHat?=?zeros(1N);
?????ipHat(1:2:end)?=?ref(dd1);
?????ipHat(2:2:end)?=?ref(dd2);

?????%?統計錯誤
?????f?=?find([ip?-?ipHat]);%發生錯誤所在位置
?????nErrML(ii)?=?size(find([ip?-?ipHat])2);%錯誤個數


%%
%ZF
?????%?接收端

????%?求偽逆矩陣?G?=?inv(H^H*H)*H^H
????%?H^H*H?的矩陣維數為?[nTx?x?nTx].?即?[2?x?2]?
????%?[2x2]矩陣的轉置為?[a?b;?c?d]?=?1/(ad-bc)[d?-b;-c?a]

????hCof?=?zeros(22N/nTx);?
????hCof(11:)?=?sum(h(:2:).*conj(h(:2:))1);?%?d?
????hCof(22:)?=?sum(h(:1:).*conj(h(:1:))1);?%?a?
????hCof(21:)?=?-sum(h(:2:).*conj(h(:1:))1);?%?c?
????hCof(12:)?=?-sum(h(:1:).*conj(h(:2:))1);?%?b?
????hDen?=?((hCof(11:).*hCof(22:))?-?(hCof(12:).*hCof(21:)));?%?ad-bc
????hDen?=?reshape(kron(reshape(hDen1N/nTx)ones(22))22N/nTx);?%?
????hInv?=?hCof./hDen;?%?inv(H^H*H)

????hMod?=?reshape(conj(h)nRxN);?%?H^H?

????yMod?=?kron(yones(1

評論

共有 條評論