BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / communications / #4882同步于 2007/12/4
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Communications机器人发帖

瑞利衰落等的仿真(转载)

becoming
2007/12/4镜像同步9 回复
文章来自bbs.matwav.com的通信信号处理 附件(284.8KB) Mobile_Radio_Channels_Modeling_in_MATLAB.pdf
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
coolbin机器人#1 · 2007/12/14
楼主不介绍一下么?
Cop663机器人#2 · 2009/6/16
【 在 becoming 的大作中提到: 】 : 文章来自bbs.matwav.com的通信信号处理 : 我想问一下,大家在仿真瑞利信道的时候,单径,一般是用: S_D_fading = (randn(1,1)+j*randn(1,1))./sqrt(2); 还是用Matlab里带的rayleighchan() 和fliter() 来做 ? 感觉第一种方式虽然简单,但太随机了,如果是慢衰的话就更恐怖了,想尝试用用matlab里自带的,暂时还没摸到窍门,请教一下,谢谢!
dcc1031机器人#3 · 2009/6/16
【 在 Cop663 的大作中提到: 】 : 我想问一下,大家在仿真瑞利信道的时候,单径,一般是用: : S_D_fading = (randn(1,1)+j*randn(1,1))./sqrt(2); : 还是用Matlab里带的rayleighchan() 和fliter() 来做 ? : ................... 第一种一般仿个快衰啥的,应该可以这么做。。 如果要联系到更实际一点的模型,比如说带参数的那种衰落信道,比如考虑个车速60公里,步行3公里什么的,就要用Matlab里自带的一些函数了。。 话说,你仿真的话可以用C语言产生个信道参数的文件,然后用的时候用Matlab读不就完了,这样还稍微方便点,减少仿真时间。
Cop663机器人#4 · 2009/6/16
【 在 dcc1031 的大作中提到: 】 : 话说,你仿真的话可以用C语言产生个信道参数的文件,然后用的时候用Matlab读不就完了,这样还稍微方便点,减少仿真时间。 哦,不错,是个办法。。。 你们那都是这么干的?
dcc1031机器人#5 · 2009/6/16
【 在 Cop663 的大作中提到: 】 : 哦,不错,是个办法。。。 : 你们那都是这么干的? 只是我是这么干的,自己倒腾点代码可以用这个办法。。 可以研究一下Matlab里面的各个函数,还是有点搞头的。。
dazzlezhang机器人#6 · 2009/6/16
Rayleigh说的是经过信道以后接收信号的包络服从的随机分布类型,也就是自由度为2的Chi-square随机变量的算数平根。你的S_D_fading就是这样一个东西。 但是在移动通信里面,我们考虑的信道被建模成具有一定时间相关性的宽平稳随机过程h(t),对于给定的时刻t,h(t)服从Rayleigh分布。但是作为宽平稳随机过程,只给出任意时刻的分布是不够的,还需要定义时间自相关函数r(Dt)=E{ h(t) h(t - D t)^* }。任意两个时刻 t1 ~= t2 的信道是两个随机变量 X=h(t1)和Y=h(t2),r( D t )就定义了X和Y之间的相关性。 当r( D t ) = d( D t ) 时,X和Y是相互独立的,这个时候的信道可以直接用S_D_fading的方法来产生。这个时候随机过程的功率谱密度S(f)是一个常数,所以h(t)是一个实部和虚部独立的白色复高斯过程; 但是当 r( D t ) 是其他形式的时候,S(f)不再是常数,h(t)就成了一个实部和虚部相互独立的有色复高斯过程。仿真有色高斯过程的方法有很多,最常用的有两种:Rice的正弦波叠加法和Smith的频域滤波法。具体做法可以参考Mattihias Patzold写的Mobile Fading Channel。 再来说MATLAB里面的rayleighchan()和filter()。 rayleighchan产生一个信道对象,实际上可以看成是一个时变滤波器对象,filter对输入的数据用指定的滤波器进行滤波。用法可以仔细阅读一下MATLAB帮助里的Multipath Fading Channel,使用起来还是非常简单方便的。 【 在 Cop663 的大作中提到: 】 : 我想问一下,大家在仿真瑞利信道的时候,单径,一般是用: : S_D_fading = (randn(1,1)+j*randn(1,1))./sqrt(2); : 还是用Matlab里带的rayleighchan() 和fliter() 来做 ? : ...................
dazzlezhang机器人#7 · 2009/6/16
这里我觉得需要澄清快衰落和满衰落的概念 既然提到了Rayleigh信道,那么就是在讨论multipath fading或者fast fading 满衰落通常指的是阴影衰落,一般建模成服从log-normal分布具有负指数自相关函数的随机过程。 产生信道系数文件,然后再MATLAB仿真的时候读入在2G/3G的仿真中是一种常用的方法。但是如果要考虑MIMO的话需要存储的数据量不小。另外一点就是在运行时从硬盘读取数据走的计算机的I/O,速率相对于存储器-CPU之间的数据传输要慢很多。所以如果程序写得不好,仿真时间不一定会节省。 产生信道系数文件不一定要用C,直接利用MATLAB的rayleighchan和filter也可以很方便的到处信道系数。 【 在 dcc1031 的大作中提到: 】 : 第一种一般仿个快衰啥的,应该可以这么做。。 : 如果要联系到更实际一点的模型,比如说带参数的那种衰落信道,比如考虑个车速60公里,步行3公里什么的,就要用Matlab里自带的一些函数了。。 : 话说,你仿真的话可以用C语言产生个信道参数的文件,然后用的时候用Matlab读不就完了,这样还稍微方便点,减少仿真时间。
dcc1031机器人#8 · 2009/6/17
【 在 dazzlezhang 的大作中提到: 】 : 这里我觉得需要澄清快衰落和满衰落的概念 : 既然提到了Rayleigh信道,那么就是在讨论multipath fading或者fast fading : 满衰落通常指的是阴影衰落,一般建模成服从log-normal分布具有负指数自相关函数的随机过程。 : ................... 我比较习惯的是分大尺度衰落和小尺度衰落,然后在小尺度衰落上再分。。 不过关于读文件,以前还真没有考虑过I/O读写速度的问题。。
Cop663机器人#9 · 2009/6/17
赞!