?? channel.m
字號:
function [out]=channel(in,fs,fd,n_delay,t_delay,p_delay)
%in是輸入碼元,是一行矩陣,可以是實(shí)數(shù)也可以是復(fù)數(shù)
%fs是輸入碼元的比特率
%fd是多普勒頻移
%n_delay是多徑信道的徑數(shù)
%t_delay是多徑信道各徑的時(shí)延時(shí)間
%p_delay是多徑信道各徑的功率db值
Ns=length(in);
Ts=1/fs; %碼元間隔
dt=Ts; %時(shí)域采樣間隔
df=1/(Ns*Ts); %頻域采樣間隔
dn=ceil(t_delay/dt); %各路對應(yīng)時(shí)域抽樣值移位個(gè)數(shù)
p=10.^(p_delay/10); %各徑平均功率
sum_p=sum(p);
p=p/sum_p; %歸一化
r=zeros(n_delay,Ns);
r_one=ClarkeModel( fd, fs, Ns );
for j=1:n_delay
r(j,:)=r_one;
end;
for j=1:n_delay
r(j,:)=sqrt(p(j)).*[zeros(1,dn(j)), r(j,1:(Ns-dn(j)))];
end;
rr=zeros(1,Ns);
for j=1:n_delay
rr=rr+r(j,:);
end;
H=t2f(rr,dt);
%求系統(tǒng)后的碼元樣本序列
IN=t2f(in,dt);
S=circonv(IN,H,Ns); %序列在頻域通過系統(tǒng),要用循環(huán)卷積,因?yàn)闀r(shí)域上離散非周期,頻域上是周期連續(xù)的
% 求卷積后相當(dāng)于求頻域在2*Ns-1個(gè)采樣點(diǎn)上的值,但還是一個(gè)周期
out=f2t(S,dt); %轉(zhuǎn)換到時(shí)域
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -