1.算法概述
无线信道是移动通信的传输媒体,所有的信息都在这个信道中传输。信道性能的好坏直接决定着人们通信的质量,因此要想在有限的频谱资源上尽可能地高质量、大容量传输有用的信息就要求我们必须十分清楚地了解信道的特性。然后根据信道地特性采取一系列的抗干扰和抗衰落措施,来保证传输质量和传输容量方面的要求。对几种常用的信道模型进行了详细的理论分析,主要包括自由空间损耗模型,Okumura-Hata模型,COST231 Hata模型,最后对802.16规范中建议使用的SUI信道模型进行了详细的理论分析。针对每种信道的特点,我们采用MATLAB对所介绍的信道进行仿真。
Okumura-Hata模型,当频率范围在150Mhz至1500Mhz的范围内的时候,其表达式:
COST231 Hata模型应用频率在1 500MHz到2 000MHz之间,适用于小区半径大于1km的宏蜂窝系统,发射有效天线高度在30m到200m之间,接收有效天线高度在1m到10m之间。路径损耗计算的经验公式为:
SUI模型,为了仿真一个无线接收机接受信号强度的变化,我们需要知道:接收机所处的地理环境, 接收机到发射机的各个路径信号所受的影响,多普勒频偏等,即信道模型。对于频域单载波(SC-FDE) 技术,IEEE802.16主要规定其应用于11GHz以下的非视距(NLOS)固定无线接入( FWA),其典型的信道特征如下:
·蜂窝半径<1 0 k m,具有多样化的地形和植被密度;
·基站发送天线高1 5-4 0 m;
·接收天线高2~10 m,位于屋檐、窗口以下,或者是房顶高度的定向天线;
·高的蜂窝覆盖率(80%~90%)。
SUI模型基于AT&T的Wireless和Erceg等人的工作,Erceg将地形分成三种类型:
A类:最大路径衰落,适用于山地地形以及很大的植被密度,对应于信道模型SUI-5、SUI-6;
B类:中等路径衰落,适用于A、C描述之间的地形,对应于信道模型SUI-3、SUI-4;
C类:最小路径衰落,适用于平原地形以及极小的植被密度,对应于信道模型SUI-1、SUI- 2;
SUI模型对于各类衰落规定了具体的衰落公式,提出6种SUI模型的适用环境如下:
·蜂窝半径7 k m;
·基站发送天线高30m,接收天线高6m;
·基站发送天线波束宽度120度,接收天线波束宽度:全向(360)和(3 0);
·天线垂直极化;
·90%的蜂窝覆盖率,覆盖范围内99.9%的可信度。
2.仿真效果预览
matlab2022a仿真
3.MATLAB部分代码预览
function sui1(); N=10000;%独立随机数实现的数目 OR=20;%观察频率(Hz) M=256;%多普勒滤波器的阶数 Dop_res=0.1;%SUI参数中的多普勒判决(Hz)(在重复采样进程中) res_accu=20;%重复采样进程的精确度 %%%%%SUI信道参数%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% tau=[0.0 0.4 0.9];%每个抽头的时延 Dop=[0.4 0.3 0.5];%最大多普勒频移参数 K=[4 0 0];%K因子 P=[0 -15 -20];%每一阶的功率衰减 ant_corr=0.4;%天线相关性 Fnorm=-1.5113;%增益归一化因子 %%%%%%%%%%%计算m的值%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% P = 10.^(P/10);%计算线性功率 s2 = P./(K+1); % 计算方差 m2 = P.*(K./(K+1)); % 计算常数功率 m = sqrt(m2); % 计算常数部分 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% rmsdel = sqrt( sum(P.*(tau.^2))/sum(P) - (sum(P.*tau)/sum(P))^2 ); fprintf('rms delay spread %6.3f μs\n', rmsdel); %%%%%%%%%在特定功率下计算伦琴信道系数%%%%%%%%%%%%%%%% L = length(P); % 阶数 paths_r = sqrt(1/2)*(randn(L,N) + j*randn(L,N)).*((sqrt(s2))' * ones(1,N)); %L*N矩阵每阶的数据噪声 paths_c = m' * ones(1,N);%常数部分 for p = 1:L D = Dop(p) / max(Dop) / 2; % 归一化最大多普勒频移 f0 = [0:M*D]/(M*D); % 频率因子 PSD = 0.785*f0.^4 - 1.72*f0.^2 + 1.0; % PSD估计 filt = [ PSD(1:end-1) zeros(1,M-floor(2*M*D)) PSD(end:-1:2) ]; % S(f) filt = sqrt(filt); %从S(f)到|H(f)| filt = ifftshift(ifft(filt)); % 获得脉冲响应 filt = real(filt); % 寻找实数滤波器 filt = filt / sqrt(sum(filt.^2)); %归一化滤波器 path = fftfilt(filt, [ paths_r(p,:) zeros(1,M) ]); paths_r(p,:) = path(1+M/2:end-M/2); end; paths = paths_r + paths_c;%路径输出数据 Pest = mean(abs(paths).^2, 2); fprintf('tap mean power level: %0.2f dB\n', 10*log10(Pest)); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% SR = max(Dop)*2; % 精确采样率 m = lcm(SR/Dop_res, OR/Dop_res); %求最小公倍数 P = m/SR*Dop_res; % 分子 Q = m/OR*Dop_res; % 分母 paths_OR = zeros(L,ceil(N*P/Q)); % 创造新矩阵 for p=1:L paths_OR(p,:) = resample(paths(p,:), P, Q, res_accu); end; Pest = mean(abs(paths_OR).^2, 2); fprintf('tap mean power level: %0.2f dB\n', 10*log10(Pest)); paths_OR1=10*log10(paths_OR); NN=length(paths_OR(1,:)); y1=abs(paths_OR).^2; y2=10*log10(y1);%转换为dB t=60;%时间长度 x=1:NN; y=x/OR; 01-22m
标签:paths,filt,模型,SUI,信道,Hata,Dop From: https://www.cnblogs.com/51matlab/p/17000412.html