官方淘宝店 易迪拓培训 旧站入口
首页 > 无线通信 > 通信技术学习讨论 > 瑞利信道建模

瑞利信道建模

01-01
请问大家,
我现在需要在matlab中建立一个瑞利衰落信道,参数如下所示:
Relative delay (ns): 0,200,800,1200,2300,3700
Average power (dB): 0, -0,9, -4,9, -8, -7,8, -23,9
Doppler spectrum: Jakes
每个信道抽头都是由Jakes产生的,
请问这里的模型该如何产生?除了使用rayleighchan还有其他方法吗?
谢谢!

delayVector = 1.0e-009 * [0 200 800 1200 2300 3700];
gainVector = [0 -0.9 -4.9 -8 -7.8 -23.9];
SamplingTime = 1.0e-6; % 采样时长(根据系统设定)
fd = 100; % 最大多普勒频移(根据应用设定)
chan = rayleighchan(SamplingTime, fd, delayVector, gainVector);
chan.ResetBeforeFiltering = 1;
chan.NormalizePathGains = 0;
chan.StoreHistory = 0;
chan.StorePathGains = 0;
x_Ray = filter(chan, x); % 发射信号x通过瑞利信道
rayleighchan是利用TDL的方式来仿真WSSUS信道,比较通用,而且有现成的代码和配套工具。
不利用TDL的仿真方法也有,我见过一篇文章是用谐波叠加仿真的,本质上与TDL相同,实现的路径不一样而已。至少matlab里面没有这个方法的函数库,要不得在网上找,要不得自己写,都比较麻烦。

好详细啊。
请教三个问题:
1)这里时间单位是ms?
2)SamplingTime指的是信号的过采样符号的持续时长吧,一般多径信道仿真中常规MPSK信号的过采样率是多少,是不是只要保证时间分辨率细到多径可以用多个序列和的形式写出就可以了,比如这个例子里,SamplingTime=1e-4也可以(假设信号调制速率远小)?
3)对于OFDM符号的话,IFFT出来的时域符号怎么过采?直接矩形成形?

1.本意时间单位是秒,结果我自己的仿真里用的是微妙,粘过来时没改全。^_^原文已改。
2.过采样率1-8都可以,具体的要看应用。处理的信号,位于“同步”和“匹配滤波”之前的,肯定要考虑过采样。位于之后的,可以视情况简化处理。时间分辨率的大小,仅需考虑信号的需求,与信道无关。
3.如果需要过采的话,我觉得应该用升余弦。多了一步滤波,仿真起来比较慢。所以,能简化还是要简化。
(一家之言,欢迎指正)

Matlab里面没有直接给出h[n],估计是为了通用性,她给出的是每一条可辨识多径的实现,放在chan.PathGains变量里。你可以根据PathGains计算出TapGains,也就是时变信道冲击响应h[n]。
具体可以参考"A MATLAB-based Object-Oriented Approach to Multipath Fading Channel Simulation"

Top