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

📄 sttc.m

📁 Branka Vucetic,Jinhong Yuan著的空时编码技术一书的源程序
💻 M
字号:
function [SNR,FER]=STTC(option)
fr_length=130;
NumberofPackets=500;
channel_model='Rayleigh';
Tx_antennas=2;
Rx_antennas=2;
corr_value=0;
Rx_corr=0;
%append zeros to the data to reset this trellis to zero
zf=3; %length of zero appendix. 

%prepare look-up table
[dlt,slt,md] = ltable(option,Rx_antennas);
%md -> number of constellation points. BITS define the number of coded bits
if md==4 %4PSK
    BITS=2;
elseif md==8%8PSK
    BITS=3;
elseif md==16%16QAM
    BITS=4;
end
Channel_Est=0;
add_est=0;
%SNR variation in dBs
SNR=0:2:20;
h=waitbar(0,'Percentage Completed');
set(h,'Position',[230 50 275.25 56.25]);
set(h,'name','Please wait...');
wb=9.09;
%commence loop 
for i=1:length(SNR)
    	source_data = generate_data(fr_length,NumberofPackets,md,zf);
	
        encoded_data = trellis_encoder(source_data,dlt,slt);
	
    	mod_sig = modul(encoded_data,md,Channel_Est);

	
	    [signal,ch_coefs] = channel(mod_sig,add_est,channel_model,SNR(i),Rx_antennas);


        if Channel_Est==1
            [est_coefs,signal]=est(signal,ch_coefs,NumberofPackets,Rx_antennas);
            ch_coefs=est_coefs;
        end    
        if Rx_corr==1
        	signal=correlate(signal,corr_value,NumberofPackets);
        end
    
        [data_est,state_est] = detect(signal,dlt,slt,ch_coefs);



% counting the errors
    	[FER_i,SER_i] = count(source_data,data_est);
	
    	SER(i) = SER_i;
        BER(i)=SER(i)/BITS;
        FER(i) = FER_i;
        str_bar=[num2str(wb) '% Completed'];
        waitbar(wb/100,h,str_bar);
        wb=wb+9.09;
    end
close(h);

⌨️ 快捷键说明

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