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

📄 single_packet.m

📁 MIMO-OFDM 信道的自适应仿真程序
💻 M
字号:
function [txsignal, tx_inf_bits, rxsignal, inf_bits_cnt, inf_bit_errs] = single_packet(sim_options, SNR,BER_sta,n_tx,n_rx)
BER_staif BER_sta==0
    if SNR <= 6        Modulation='BPSK';    elseif SNR <=12        Modulation='QPSK';    elseif SNR <=19        Modulation='16QAM';    else         Modulation='64QAM';    endelseif BER_sta>1e-4        Modulation='BPSK';    elseif BER_sta<1e-4     if SNR <= 2        Modulation='BPSK';    elseif SNR <=8        Modulation='QPSK';    elseif SNR <=12        Modulation='16QAM';    else        Modulation='64QAM';    endelse    if SNR <= 6        Modulation='BPSK';    elseif SNR <=12        Modulation='QPSK';    elseif SNR <=19        Modulation='16QAM';    else         Modulation='64QAM';    endend    Modulation%% Generate channel impulse response
H=(randn(n_tx,n_rx) + i*randn(n_tx,n_rx))/sqrt(2);%5月16日增加,用于信道增益%计算发射信道增益for n=1:n_tx    H_tr(n_tx)=sum(abs(H(n_rx,n_tx))^2);endHsum=sum(H_tr);
%H=ones(n_tx,n_rx);
%H_corr=mimo_channel(n_rx, n_tx,10);%5月17日增加,用于相关信道H_corr=eye(n_rx, n_tx)+0.2*randn(n_rx, n_tx);H1=H*H_corr;% Generate tx signal, returns also information bits and raw bits
[txsignal, tx_inf_bits, s] = transmitter(sim_options, Modulation,H1,n_tx,n_rx);%4.10增加了s,与星座映射table对应
%tx_inf_bits
% Channel modelll=size(txsignal,2);%txsignal=txsignal.*(H_tr(n_tx)/Hsum).';rxsignal = channel(txsignal, SNR,H1,n_tx,n_rx);
%Receiver, return data bits and undecoded bits
%[soft_bits] = rx_demodulate(rxsignal, SNR);改为下面语句0408rxsignal=rxsignal./(H_tr(n_tx)/Hsum).';[soft_bits] = receiver(rxsignal, Modulation,H,ll,s,n_tx,n_rx);%4.10增加了s,与星座映射table对应
rx_inf_bits=soft_bits>0;%tx_inf_bits%rx_inf_bits
%% Calculate bit errors
%raw_bit_errs = sum(abs(rx_raw_bits(1:length(tx_raw_bits))-tx_raw_bits));
%raw_bits_cnt = length(tx_raw_bits);

inf_bit_errs = sum(abs(rx_inf_bits(1:length(tx_inf_bits))-tx_inf_bits));
inf_bits_cnt = length(tx_inf_bits);

⌨️ 快捷键说明

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