⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 blast_transmitter.m

📁 程序是MIMO-OFDM系统下
💻 M
字号:
function   Ps=BLAST_transmitter(ant_num,rx_num,sub_num,dK,pre_ratio,pilot_num,data_num,fd,deltaT,Lh,Cons,Tdata,SNR)
%%%%%%%%%%%%%%%%%%%%%%   OFDM
Ps=zeros(1,length(SNR));
data=reshape(Tdata,ant_num,length(Tdata)/ant_num);

FRAME_NUM=length(Tdata)/data_num/ant_num;
pilot=Cons(2*round(rand(ant_num,pilot_num*FRAME_NUM))+round(rand(ant_num,pilot_num*FRAME_NUM))+1);
[pilot_position, Tx_data]=OFDM_tx1(pilot,pilot_num,data,data_num,dK,ant_num,sub_num,pre_ratio,FRAME_NUM);



%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%channel
ht=Tap_Rayleigh_Jakes(fd,deltaT,length(Tx_data),ant_num,rx_num);
R=zeros(rx_num,length(Tx_data));
for k=1:1:rx_num
    rd=zeros(size(Tx_data));
    rd=Tx_data.*ht((k-1)*ant_num+1:k*ant_num,:);
    for rn=1:1:ant_num
        R(k,:)=R(k,:)+rd(rn,:);
    end
end

for snr=1:1:length(SNR)
SNR(snr)
RD=zeros(size(R));    


Es=zeros(1,rx_num);
Noise=zeros(size(R));


for rn=1:1:rx_num
Es(rn)=(R(rn,:)*R(rn,:)')/length(R(rn,:));
Noise(rn,:)=sqrt(Es(rn)/(10^(SNR(snr)/10))/2)*(randn(1,length(R))+randn(1,length(R))*i);
end
No=Es(1)/(10^(SNR(snr)/10));
RD=R+Noise;


%%%%%%%%%%receiver
[H,tx_data]=OFDM_rx(ant_num,rx_num,FRAME_NUM,sub_num,pre_ratio,pilot,RD,pilot_position,Lh,pilot_num,data_num);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5
Rx=zeros(length(Tdata),1);
for k=1:1:length(tx_data)
    Rd=tx_data(k,:).';
    h=reshape(H(k,:),ant_num,rx_num).';
    %Rx(M*(k-1)+1:M*k,1)=ZFdecode(Rd,h,Cons);
    %Rx(M*(k-1)+1:M*k,1)=QR_ZF_decode(Rd,h,Cons);

    %Rx(M*(k-1)+1:M*k,1)=MMSEdecode(Rd,h,Cons,No);
    Rx(ant_num*(k-1)+1:ant_num*k,1)=QR_MMSE_decode(Rd,h,Cons,No);

end
Rdata=reshape(Rx,1,length(Tdata));
error=0;
for k=1:1:length(Tdata)
    if Rdata(k)~=Tdata(k);
        error=error+1;
    end
end
Ps(snr)=error/length(Tdata);
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -