多径信道模型及其对调制信号的影响信息与通信工程学院2013211108班2013210218号姓名 曹明辉1. 目的a) 掌握多径衰落信道模型b)通过信道估计的数值仿真实验,验证信道对系统的影响2. 内容a) 3GPP 中典型应用场景的多径信道模型的时延功率谱;b) 多径信道模型的实现,采用MATLAB 中自带的Rayleighchan/Ricianchan 函数产生; c) 分析信号经过信道前后的功率谱(不同信噪比下)d)通过数值仿真方法获得调制信号经过多径衰落信道后的解调性能曲线3. 多径衰落信道模型说明根据ITU-R M.2135信道模型标准,本次实验我采用的是Rural Macro (RMa)信道。
从上图表中可见,其有两种典型信道模型的参数设置。
一种为带有直射路径的莱斯分布信道参数,一种为不带有主信号功率的瑞利分布信道参数的设置。
下面,分别对两者进行介绍 。
4. 调制信号经过多径衰落信道的实现说明我们已经知道,多径信道具有频率选择性,在调制信号经过N 条路径的情况下,信道的输出为()ty =()()[]t t x t a n nn τ-∑=N1,式中,()()t t a n n τ和表示与第N 条多径分量相关的衰减和传播延迟,延迟和谁见都表现为时间的函数。
前面已经说过,由于大量散射分量导致接收机输入信号的复包络是一个复高斯过程,在该过程均值为零的情况下,幅度满足瑞利分布,如果存在直射路径,幅度则变为莱斯分布。
在调制信号通过多径信道时,由于存在多径扩展和多普勒频移,所以,会在输出端产生多个输出,正如前面公式中所提到的,从而导致接收端的信号之间存在干扰,在此,我们假设,京御景之间是不相关的,每一径的多普勒形状相同,但功率不同。
利用上述参数公式,结合所查阅资料,得到如下的信道两个仿真图表。
调制信号经多径衰落信道前后的功率谱说明5. 解调性能说明(注意是SNR-BER的曲线,仿真的数据量要满足出现100个错误的要求)由于每个三次多项式需要四个条件才能确定曲线形状,所以对于组成 S的 n个三次多项式来说,这就意味着需要4n 个条件才能确定这些多项式。
但是,插值特性只给出了n+1个条件,内部数据点给出 n+1−2 = n-1个条件,总计是4n−2个条件。
我们还需要另外两个条件,根据不同的因素我们可以使用不同的条件。
附图各种插值算法的比较6. 算法实现流程图7. Matlab源代码%%*********************************************************************************** %% channel model simulation%%***********************************************************************************clear;% clc;tic;%%---------------------------------------------------------------------%%System Parameters%%---------------------------------------------------------------------Frame_Len=100;%每100bit为一组Mod_order = 1;%指mMod_level = 2^Mod_order;%指MSNR = 0:3:30(信噪比变化量值)NumOfFrame=800*(SNR+10);%每个snr下跑的帧数%%*************************************************************%% Channel Initialization%%*************************************************************sampleTime = 1.0e-7; % Sample time (s)maxDopplerShift = 5; % Maximum Doppler shift of diffuse components (Hz)%% Rural Macro channel modeldelayVector = 1.0e-7 * [-1.4 1.6 -2.6 -2.7 -5.8 -7.5]; % Discrete delays of channelgainVector = [0 5 10 15 20 25 ]; % Average path gains (dB)rayChanObj=rayleighchan(sampleTime,maxDopplerShift,delayVector,gainVect or) ;rayChanObj.NormalizePathGains=1; % the fadings are normalized such that the expected value of the path gains' total power is 1.Path_Delay = length(delayVector); % Multipath numberdelayLoc=delayVector/sampleTime+1;%% Modulation & demodulationphaseOff = pi/4;modObj = modem.pskmod('M', Mod_level,'PhaseOff', phaseOff, 'InputType', 'Bit');demodObj = modem.pskdemod('M', Mod_level, 'PhaseOff', phaseOff, 'OutputType', 'Bit');%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Simulation Start!!!%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% NumOfSNR = length(SNR);%BER=zeros(1,NumOfSNR);BER=zeros(2,NumOfSNR);BER_Ideal=zeros(1,NumOfSNR);for loop_SNR=1:NumOfSNR%对每个snr进行循环%%---------------------------------------------------------------------%% Parameters control for AWGN Channel%%---------------------------------------------------------------------for fram_counter = 1:NumOfFrame(loop_SNR)%对应SNR下,每帧的循环bits = Frame_Len * Mod_order;data = randi([0 1],bits,1);msg = modulate(modObj, data);Fading_Signal = filter(rayChanObj,msg);Signal_Rx = awgn(Fading_Signal, SNR(loop_SNR));msg_est = demodulate(demodObj, Signal_Rx);[errbits, errates]=biterr(msg_est, data);BER(1,loop_SNR) = BER(1, loop_SNR) +errbits;Rx_Signal = awgn(msg, SNR(loop_SNR));est_msg = demodulate(demodObj, Rx_Signal);[errbit, errate]=biterr(est_msg, data);BER(2, loop_SNR) = BER(2, loop_SNR) +errbit;end % end for frameEbNo = 10.^(SNR(loop_SNR)/10)/Mod_order;BER_Ideal(loop_SNR)=qfunc(sqrt(2*EbNo));end % end for SNR%% Performance statisticsBER = BER/NumOfFrame/Frame_Len/Mod_orderBER_Idealplot(SNR,BER_Ideal,'r--'),xlabel('SNR'),ylabel('BER_Ideal'),title('信噪比与误比特率曲线图像')time_used=toc8.仿真结果及性能分析对RMa信道模型的仿真结果:时延为delay=[0 5 10 15 20 25 ]平均功率为pow_per_channel=[-1.4 1.6 -2.6 -2.7 -5.8 -7.5 ]时,对应信道仿真结果如下:性能分析:在10MHz的信道带宽下,对应不同时延的多径信道的功率谱密度的分布图。
下图为对应实验数据下的误码率与信噪比之间的关系曲线:下图为对应的仿真输出数据分析与解读:随着信噪比的增大,误码率呈现降低趋势。
且在信噪比低于10dB时,误码率降低趋势明显;信噪比高于10dB时,误码率降低趋势平缓。