?? interwave.asv
字號(hào):
function [iout,qout]=interwave(ci,spow,ml,tstp,length);
%****************** variables *************************
% ci : Carrier to interference ratio
% spow : Power of desired signal
% ml : Modulation level
% nsamp : Number of samples
% tstp : Time resolution
% fadingpara : Fading parameter
% iout : Output Ich signal
% qout : Output Qch signal
% *****************************************************
rate=[0,0,0,rand(1,2)>0];
tau=[0,3,4,5];%每個(gè)多徑分量的到達(dá)時(shí)間
dlvl1=[0,10,20,30];
n0=[6,7,9,8];
now1=length(itau);%多徑分量的個(gè)數(shù)
itand1=[200,300,400,600];%每個(gè)多徑分量的衰落記數(shù)器
fd=1000;%符號(hào)周期為1/sr=312.5ns,在時(shí)間相關(guān)函數(shù)為90%的情況下fd>>13.536MHZ情況下為快衰落,否則為慢衰落
flat=0;%flat=1為平坦衰落,flat=0為頻率選擇性衰落
if ci < 40;
data=rand(1,length)>0.5;
para=122;
fftlen=128;
knd=1;
sr=3200000; % symbol rate
br=sr.*ml; % bit rate per carrier
gilen=37; % the length of guard interval
%%% Set CE data load
kndata=zeros(1,fftlen);
kndata0=2.*(rand(1,52)>0.5)-1;
kndata(2:27)=kndata0(1:26);
kndata(39:64)=kndata0(27:52);
%%% Simulation start
%%% fading initialization
%%%%%%%%%%%%%%%%%%%%%%%%%%%% transmitter %%%%%%%%%%%%%%%%%%%%%%%%%%%
seridata=rand(1,length+3000)>0.5;
tf_mapping_psdu1=Dcm_qpsk_mapping_psdu(seridata,length(seridata),rate);
guard_carrier_psdu1=Guard_gen_plcp(tf_mapping_psdu1,length(tf_mapping_psdu1));%psdu保護(hù)子載波
ploit_carrier_psdu1=Ploit_gen_psdu(tf_mapping_psdu1,length(tf_mapping_psdu1),rate);%psdu導(dǎo)頻子載波
ifft_carrier_psdu1=Carrier_gen_plcp(tf_mapping_psdu1,guard_carrier_psdu1,ploit_carrier_psdu1,length(tf_mapping_psdu1)/100);%psdu子載波映射
ifft_carrier_psdu_matrix1=reshape(ifft_carrier_psdu1,128,length(tf_mapping_psdu1)/100);%plcp header子載波變?yōu)榫仃?ifft_psdu1=ifft(ifft_carrier_psdu_matrix1);%psdu的IFFT
symbol_psdu1=zeros_pad(ifft_psdu1,length_fft1,samples_per_symbol1,length(tf_mapping_psdu1)/100);%165點(diǎn)的發(fā)送psdu
frame1=symbol_psdu1;
frame_serial1=reshap(frame1,1,165*length(tf_mapping_psdu1)/100);%將發(fā)送幀變?yōu)榇螖?shù)據(jù)
frame_serial_real1=real(frame_serial1);%取幀實(shí)部
frame_serial_imag1=imag(frame_serial);%取幀虛部
[ifade2,qfade2,ramp,rcos,rsin]=sefade(frame_serial_real1,frame_serial_imag1,itau,dlvl1,n0,itnd1,now1,length(frame_serial_real1),tstp,fd,flat);
spowintw=sum(frame_serial_real1.^2+frame_serial_imag1.^2)/(length+30000)*100/122;
rint=spow/spowintw*10^(-ci/10);
iout=ifade2.*sqrt(rint);
qout=qfade2.*sqrt(rint);
else
iout=zeros(1,nsamp);
qout=zeros(1,nsamp);
end
%******************** end of file ***************************
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -