《MIMO-OFDM系统原理、应用及仿真》李莉(实例代码)Word格式.docx

上传人:wj 文档编号:13016060 上传时间:2022-10-02 格式:DOCX 页数:50 大小:894.98KB
下载 相关 举报
《MIMO-OFDM系统原理、应用及仿真》李莉(实例代码)Word格式.docx_第1页
第1页 / 共50页
《MIMO-OFDM系统原理、应用及仿真》李莉(实例代码)Word格式.docx_第2页
第2页 / 共50页
《MIMO-OFDM系统原理、应用及仿真》李莉(实例代码)Word格式.docx_第3页
第3页 / 共50页
《MIMO-OFDM系统原理、应用及仿真》李莉(实例代码)Word格式.docx_第4页
第4页 / 共50页
《MIMO-OFDM系统原理、应用及仿真》李莉(实例代码)Word格式.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

《MIMO-OFDM系统原理、应用及仿真》李莉(实例代码)Word格式.docx

《《MIMO-OFDM系统原理、应用及仿真》李莉(实例代码)Word格式.docx》由会员分享,可在线阅读,更多相关《《MIMO-OFDM系统原理、应用及仿真》李莉(实例代码)Word格式.docx(50页珍藏版)》请在冰豆网上搜索。

《MIMO-OFDM系统原理、应用及仿真》李莉(实例代码)Word格式.docx

%瑞利模型

Rayleigh_ch=Ray_model(N);

%调用Ray_model子程序,产生瑞利分布幅度系数

[temp,x]=hist(abs(Rayleigh_ch(1,:

)),level);

%统计数据分布

plot(x,temp,gss(1,:

))

holdon

%莱斯模型

fori=1:

length(K_dB);

%对不同莱斯因子进行信道模型仿真

Rician_ch(i,:

)=Ric_model(K_dB(i),N);

%调用Ric_model产生莱斯分布幅度系数

[tempx]=hist(abs(Rician_ch(i,:

plot(x,temp,gss(i+1,:

end

xlabel('

x'

),ylabel('

Occurrence'

legend('

Rayleigh'

'

Rician,K=-40dB'

Rician,K=0dB'

Rician,K=15dB'

%瑞利信道模型子程序,子程序程序名称:

Ray_model.m

functionH=Ray_model(L)

%输入参数L:

仿真信道个数,为N=200000

%输出参数H:

返回瑞利信道矩阵

H=(randn(1,L)+j*randn(1,L))/sqrt

(2);

%产生实部为高斯分布、虚部为高斯分布、包络为瑞利分布的信道系数。

实部功率为1/2,虚部功率为1/2,因

%此该行指令返回单位功率的或称归一化功率的瑞利信道幅度系数。

%莱斯信道模型子程序,子程序程序名称:

Ric_model.m

functionH=Ric_model(K_dB,L)

%输入参数:

K_dB为莱斯因子,L为仿真信道个数

%输出参数H:

返回莱斯信道矩阵

K=10^(K_dB/10);

%将dB值描述的莱斯因子转换为幅度值

H=sqrt(K/(K+1))+sqrt(1/(K+1))*Ray_model(L);

%产生莱斯信道幅度系数。

莱斯信道模型中包含视距通信,收发之间有直通路径。

程序仿真结果见图2-9。

实例2-2两径信道与指数信道模型

产生一个两径信道和一个指数衰减的多径信道。

Example2_2

clear,clf

scale=1e-9;

%纳秒量级

Ts=10*scale;

%抽样时间间隔为10ns,在这个程序中这个量也为指数信道路径间隔

t_rms=30*scale;

%RMS时延扩展为30ns

num_ch=10000;

%仿真信道个数

%两径信道模型

%产生并绘制了理想的两径信道模型和瑞利分布两径信道模型。

pow_2=[0.50.5];

delay_2=[0t_rms*2]/scale;

%给出理想两径信道功率均为0.5,延时为0和60ns

H_2=[Ray_model(num_ch);

Ray_model(num_ch)].'

*diag(sqrt(pow_2));

%产生瑞利两径信道幅度系数。

通过调用子程序Ray_model产生归一化功率的瑞利两径信道幅度系数。

avg_pow_h_2=mean(H_2.*conj(H_2));

%计算瑞利分布两径信道每一径的平均功率。

在这里可以看到上一条语句中diag(sqrt(pow_2))的作用。

%当通过对幅度系数进行运算计算功率时,sqrt(pow_2)可以使每一径的功率为pow_2,即每一径的功率为0.5。

subplot(121)

stem(delay_2,pow_2,'

ko'

),holdon,stem(delay_2,avg_pow_h_2,'

k.'

);

xlabel('

Delay[ns]'

ChannelPower[linear]'

title('

2-rayModel'

legend('

Ideal'

Simulation'

axis([-1014000.7]);

%指数信道模型

%产生并绘制理想的指数信道模型和瑞利分布的指数信道模型。

pow_e=exp_PDP(t_rms,Ts);

%通过调用exp_PDP子程序,计算理想指数信道每一径上的功率。

delay_e=[0:

length(pow_e)-1]*Ts/scale;

%计算指数信道每一径的延时,单位为ns

fori=1:

length(pow_e)

H_e(:

i)=Ray_model(num_ch).'

*sqrt(pow_e(i));

end

%计算瑞利分布的指数信道幅度系数。

通过调用Ray_model产生归一化功率的瑞利分布幅度系数,%sqrt(pow_e(i))的作用类似于diag(sqrt(pow_2))。

avg_pow_h_e=mean(H_e.*conj(H_e));

%计算瑞利分布指数信道的平均功率。

%由于sqrt(pow_e(i))的存在,瑞利分布指数信道每一径的平均功率也为pow_e(i),即与理想指数信道

%每一径功率相同。

subplot(122)

stem(delay_e,pow_e,'

),holdon,stem(delay_e,avg_pow_h_e,'

xlabel('

title('

ExponentialModel'

axis([-1014000.7])

legend('

%瑞利信道模型子程序,子程序程序名称:

functionH=Ray_model(L)

H=(randn(1,L)+j*randn(1,L))/sqrt

(2);

%指数信道PDP子程序,子程序名称:

exp_PDP.m

functionPDP=exp_PDP(tau_d,Ts,A_dB,norm_flag)

%输入参数:

%tau_d:

RMS延时扩展,单位为s

%Ts:

抽样时间间隔,在这里也为指数信道路径间隔,单位为s

%A_dB:

最小不可忽略径[dB]

%norm_flag:

标准化标志

%输出参数:

%PDP:

输出指数信道PDP矢量

ifnargin<

4,norm_flag=1;

end%判断子程序调用参数个数,小于4,则norm_flag=1。

3,A_dB=-20;

end%判断子程序调用参数个数,小于4,则A_dB=-20。

%由于主程序中调用该子程序时,只有两个参数,所以上两条语句实际是幅值norm_flag=1和A_dB=-20。

sigma_tau=tau_d;

A=10^(A_dB/10);

lmax=ceil(-tau_d*log(A)/Ts);

%计算最大路径序号,参见式(2-34)。

%以下参见式(2-36)

ifnorm_flag

p0=((1-exp(-(lmax+1)*Ts/sigma_tau))/(1-exp(-Ts/sigma_tau)))/30;

elsep0=1/sigma_tau;

%计算式(2-37)中的P0

%指数信道PDP

l=0:

lmax;

PDP=p0*exp(-l*Ts/sigma_tau);

%参见式(2-37)

程序仿真结果如图2-17所示。

图2-17(a)为理想两径信道和瑞利两径信道的PDP曲线,图2-17(b)为离散指数信道和瑞利指数信道的PDP曲线。

(a)(b)

图2-17两径与指数信道模型

实例2-3IEEE802.11信道PDP与频谱分布

实现IEEE802.11信道仿真,画出IEEE802.11信道的PDP曲线与频谱图。

Example2_3.m

scale=1e-9;

%纳秒量级

Ts=50*scale;

%抽样时间间隔,50ns

t_rms=25*scale;

%RMS实验扩展,25ns

num_ch=10000;

%信道数

N=128;

%FFT长度

PDP=IEEE802_11_model(t_rms,Ts);

调用IEEE802_11_model子程序,计算IEEE802.11信道的PDP。

fork=1:

length(PDP)

h(:

k)=Ray_model(num_ch).*sqrt(PDP(k));

avg_pow_h(k)=mean(h(:

k).*conj(h(:

k)));

H=fft(h(1,:

),N);

subplot(121)

stem([0:

length(PDP)-1],PDP,'

),holdon,

length(PDP)-1],avg_pow_h,'

channeltapindex,p'

AverageChannelPower[linear]'

title('

IEEE802.11Model,\sigma_\tau=25ns,T_S=50ns'

axis([-1701]);

subplot(122)

plot([-N/2+1:

N/2]/N/Ts/1e6,10*log10(H.*conj(H)),'

k-'

Frequency[MHz]'

Channelpower[dB]'

Frequencyresponse,\sigma_\tau=25ns,T_S=50ns'

%IEEE802.11信道模型PDP产生子程序,子程序名称:

IEEE802_11_model.m

functionPDP=IEEE802_11_model(sigma_t,Ts)

%sigma_t:

RMS延时扩展

抽样时间间隔

IEEE802.11信道PDP矩阵

lmax=ceil(10*sigma_t/Ts);

%计算最大路径序号,参见式(2-38)

sigma02=(1-exp(-Ts/sigma_t))/(1-exp(-(lmax+1)*Ts/sigma_t));

%参见式(2-41)

l=0:

PDP=sigma02*exp(-l*Ts/sigma_t);

%参见式(2-40)

仿真结果参见图2-11。

实例2-4滤波白噪声模型

产生滤波白噪声

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1