实现不同收发天线数,不同调制方式下的误比特率测量matlab源码程序 - matlab通信信号 - 谷速源码
下载频道> 资源分类> matlab源码> 通信信号> 实现不同收发天线数,不同调制方式下的误比特率测量matlab源码程序

标题:实现不同收发天线数,不同调制方式下的误比特率测量matlab源码程序
分享到:

所属分类: 通信信号 资源类型:程序源码 文件大小: 23.81 KB 上传时间: 2019-06-16 15:50:15 下载次数: 10 资源积分:1分 提 供 者: zhangsan456 MIMO程序
内容:
实现不同收发天线数,不同调制方式下的误比特率测量matlab源码程序
function runsim(sim_options)
 
%examine options
fr_length=sim_options.FrmLen;
Num=sim_options.NumberofPackets;
channel_model=sim_options.ChannelModel;
no_tx_antennas=sim_options.TxDiv;
no_rx_antennas=sim_options.RxDiv;
alpha=sim_options.corr_value;
channel_est=sim_options.Channel_Est;
modulation=sim_options.Modulation;
 
if channel_est==0
    type='stbc_per';
else
    type='stbc_est';
end
if alpha~=0 & sim_options.Rx_corr==1
    type='stbc_cor';
end
 
% length = 130 symbols
fr_length=130;
 
%SNR upto 20 dBs
EbNo=[0:2:20];
 
%N, M: number of transmit and receive antennas
 
N=no_tx_antennas;
M=no_rx_antennas;
 
%choose type of stbc
switch type 
    case 'stbc_per'
        if N==1 & M==2
            [FER FER_uncoded SER SER_uncoded BER BER_uncoded]=stbc12(channel_model,fr_length,Num,no_tx_antennas,no_rx_antennas,modulation)
        elseif N==2 & M==2
            [FER FER_uncoded SER SER_uncoded BER BER_uncoded]=stbc22(channel_model,fr_length,Num,no_tx_antennas,no_rx_antennas,modulation)
        elseif N==2 & M==1
            [FER FER_uncoded SER SER_uncoded BER BER_uncoded]=stbc21(channel_model,fr_length,Num,no_tx_antennas,no_rx_antennas,modulation)
        elseif N==3 & M==4
            [FER FER_uncoded SER SER_uncoded BER BER_uncoded]=stbc34(channel_model,fr_length,Num,no_tx_antennas,no_rx_antennas,modulation)
        elseif N==3 & M==1
            [FER FER_uncoded SER SER_uncoded BER BER_uncoded]=stbc31(channel_model,fr_length,Num,no_tx_antennas,no_rx_antennas,modulation)
        elseif N==4 & M==4
            [FER FER_uncoded SER SER_uncoded BER BER_uncoded]=stbc44(channel_model,fr_length,Num,no_tx_antennas,no_rx_antennas,modulation)
        elseif N==4 & M==1
            [FER FER_uncoded SER SER_uncoded BER BER_uncoded]=stbc41(channel_model,fr_length,Num,no_tx_antennas,no_rx_antennas,modulation)
        elseif N==1 & M==4
            [FER FER_uncoded SER SER_uncoded BER BER_uncoded]=stbc14(channel_model,fr_length,Num,no_tx_antennas,no_rx_antennas,modulation)
        end
    case 'stbc_est'
    [FER FER_uncoded SER SER_uncoded BER BER_uncoded]=stbc22_est(channel_model,fr_length,Num,no_tx_antennas,no_rx_antennas,modulation)
    case 'stbc_cor'
    [FER FER_uncoded SER SER_uncoded BER BER_uncoded]=stbc22_cor(channel_model,fr_length,Num,alpha,no_tx_antennas,no_rx_antennas,modulation)
    otherwise 'No coding'
end
clc;
 
str1=cd;
str2=sim_options.FileName;
str3=[str1 '\' str2];
 
if sim_options.Savefile==1
    save(str3);
end
 
%plot routines. Choose FER/SER/BER as required
figure;
semilogy(EbNo,BER_uncoded,'r')
hold on
semilogy(EbNo,BER,'b')
hold off
xlabel('SNR [dB]')
ylabel('BER')
axis([min(EbNo) max(EbNo) 1e-6 1e0])
str1=num2str(N);
str2=num2str(M);
str=[str1 'x' str2];
legend('Uncoded',str);
grid on
str1='System:';
str2=num2str(N);
str3=num2str(M);
str4=[str1 str2 'x' str3];
(str4);
if channel_model=='AWGN    '
    model='AWGN';
else
    model='Rayleigh';
end
str5=['Space-Time Block Coding-' model ' Channel'];
set(gcf,'Number ','off');
set(gcf,'Name',str5);
grid on

关键词: 收发天线数 误比特率

Top_arrow
回到顶部
联系方式| 版权声明| 招聘信息| 广告服务| 银行汇款| 法律顾问| 兼职技术| 付款方式| 关于我们|
网站客服网站客服 程序员兼职招聘 程序员兼职招聘
沪ICP备19040327号-3
公安备案号:沪公网安备 31011802003874号
库纳格流体控制系统(上海)有限公司 版权所有
Copyright © 1999-2014, GUSUCODE.COM, All Rights Reserved