經典譜的產生(Clarke模型,即理論推導)
所謂的經典譜,最早是由Clarke於1968年提出來的。這個模型假設:
存在N個有任意相位的平面波,每個平面波以任意的方向達到接收機,且平均功率相同
也就是說,平面波達到接收機的仰角為零,而水平方位角(暫記為θ)在0到2π \piπ弧度之間均勻連續分布。
我們任選其中一束平面波來分析:

假設,發射信號為:x ( t )
則通頻帶發射信號:

由於移動台的運動,到達接收機的所有平面波都會經歷多普勒頻移。則通過I II條傳播路徑的散射信道后(不同路徑多普勒頻移不同),通頻帶接收信號可表示為:

其中,Ci,┏i,fi分別表示第i條路徑的信道增益,時延和多普勒頻移。其中fi=fmcosθ,fm為最大多普勒頻移,θ為入射角度)
基帶接收信號為:

其中![]()
所以盡管發射頻率為fc,但是接收到的信號頻譜卻擴展到了 fc-fm到fc+fm范圍內,這就是多普勒頻展。
根據輸入輸出,可以把信道建模為一個線性時變濾波器,脈沖響應如下:

將此表達式回帶進通頻帶接收信號,假設x(t)=1,可得通頻帶接收信號表達式為:



經典譜的產生(Jakes模型,即仿真實踐)
單徑瑞利信道,是信道的一種窄帶衰落模型,在這種衰落模型中,信道時延擴展相對很小,多徑分量不可分辨,信道為平坦衰落信道。可以用小信號模型來進行建模和擬合。
根據理論模型我們可知:復高斯信號的模服從瑞利分布,因此就需要產生一個復高斯信號,虛部實部都服從高斯分布。
那么我們如何生成這樣的實部虛部呢?我們采用正弦波疊加法,理論依據是中心極限定理:無窮多個獨立同分布信號的疊加服從高斯分布。





此外,經過多普勒頻移的正弦數N0必須足夠大,以便衰落信道的振幅能夠近似服從瑞利分布。一般取N0=8就足夠大了。
得到結果后,我們用圖表的形式展現出來(時域特性、幅度譜、相位譜、自相關函數、功率譜):

主函數
1 close all, clear all,clc 2 %參數 3 fd= 926; %多普勒頻率 4 Ts= 1e-6;%采樣周期 5 M= 2^12; 6 t=[0:M-1]*Ts; 7 f=[-M/2:M/2-1]/(M*Ts*fd); 8 Ns = 50000; 9 t_state=0; %%最終時間 10 %信道生成 11 [h,t_state]= Jakes_Flat(fd,Ts,Ns,t_state,1,0); 12 subplot(311) 13 plot([1:Ns]*Ts,10*log10(abs(h))) 14 title(['Jakes Model, f_d=',num2str(fd),'Hz,T_s=',num2str(Ts),'s']); 15 axis([0 Ns*Ts -20 10]) 16 xlabel('time[s]'),ylabel('Magnitude[dB]'); 17 18 subplot(323) 19 hist(abs(h), 50) 20 title(['Jakes Model, f_d=',num2str(fd),'Hz,T_s=',num2str(Ts),'s']);xlabel('Magnitude'), ylabel('Occasions') 21 22 subplot(324) 23 hist(angle(h), 50) 24 title(['Jakes Model,f_d=',num2str(fd),'Hz,T_s=',num2str(Ts),'s']);xlabel('Phase[rad])'),ylabel('Occasions') 25 26 %信道的自相關函數 27 temp = zeros(2,Ns); 28 for i =1: Ns 29 j= i:Ns; 30 temp(1:2,j-i+1)= temp(1:2,j-i+1)+[h(i)'*h(j);ones(1,Ns-i+1)]; 31 end 32 for k=1:M 33 Simulatcd_corr(k) = real(temp(1,k))./temp(2,k); 34 end 35 Classical_corr = besselj(0,2*pi*fd*t); 36 %自相關函數的傅里葉變換 37 Classical_Y= fftshift(fft(Classical_corr)); 38 Simulated_Y= fftshift(fft(Simulatcd_corr)); 39 subplot(325) 40 plot(t,abs(Classical_corr),'k-',t,abs(Simulatcd_corr),'r:') 41 title(['Autocorrelation, f d=',num2str(fd),'Hz']) 42 grid on 43 xlabel('delay \tau[s]'), ylabel('Correlation') 44 legend('Classical','Simulated') 45 46 subplot(326) 47 plot(f,abs(Classical_Y),'k-', f,abs(Simulated_Y),'r:') 48 title(['Doppler Spectrum,f_d=',num2str(fd),'Hz']) 49 axis([-1 1 0 600]), 50 xlabel('f/f_d'), ylabel('Magnitude') 51 legend('Classical','Simulated')
信道模型函數
1 function [h,tf]= Jakes_Flat(fd,Ts,Ns,t0,EO,phi_N) %Jakes 信道模型 2 %輸入: 3 % fd:多普勒頻率 4 % Ts:采樣周期 5 % Ns:采樣點數 6 % t0:初始時間 7 % EO:信道功率 8 % phi_N:具有最大多普勒頻率正弦信號的初始相位 9 %輸出: 10 % h:復衰落向量 11 % t_state:當前時刻 12 if nargin<6,phi_N=0;end 13 if nargin<5,EO=1; end 14 if nargin<4,t0=0;end 15 if nargin<3 16 error('More arguments are needed for Jakes_Flat()'); 17 end 18 NO = 8; 19 N=4*NO+2; 20 wd=2*pi*fd;%最大多普勒頻率[rad] 21 t=t0+[0:Ns-1]*Ts;%時間向量 22 tf = t(end)+Ts;%最終時間 23 coswt =[sqrt(2)*cos(0)*cos(wd*t); 2*cos(wd*cos(2*pi*([1:NO]')/N)*t)]; 24 h= EO/sqrt(2*NO+1)*exp(j*[phi_N pi*([1:NO])/(NO+1)])*coswt; 25 26 end
————————————————
原文鏈接:https://blog.csdn.net/ddatalent/article/details/118268913
