rayleighchan实现瑞利多径衰落信
rayleighchan实现瑞利多径衰落信道
1.命令格式:
chan = rayleighchan(ts,fd,tau,pdb)
其中:
ts—为输入信号的采样周期,
fd—就是Doppler频偏,以Hz为单位,与速率的换算关系为v×fc/c,fc是载频
tau—输入的信道参数,一个向量,包含了各径的延时,以s为单位
pdb—输入的信道参数,一个向量,包含了各径的功率(当然是均值啦,实际产生的能量都是以此为均值的随机量),以dB为单位。
然后y = filter(chan,x),即可将信道的影响加在输入的数据x上。
2.原理:
rayleighchan函数生成信道的过程实际是设计一个多抽头的滤波器,而滤波器的系数计算是多个sinc函数加权、延时后的求和:
g(n)=\sum_k{ sinc( tau(k)/Ts-n) h(k) },-N1<=n<=N2
其中N1和N2的选取要使得在-N1<=n<=N2之外的g(n)很小可忽略。
rayleighchan函数的实现步骤是这样的:
1) h(k)看作是一串冲激函数,与sinc函数卷积,sinc函数的边瓣周期由输入参数采样时间Ts决定,如果看连续时间波形的话,整个信道响应就是多个不同时延、不同幅度的sinc函数的叠加;
2) 对这个连续的信道响应进行采样得到信道滤波器的抽头系数,采样间隔为Ts,而采样点的个数是要保证舍弃位置的信道响应足够小可以忽略,如果采样率过小则Ts较大sinc函数衰减慢,需要保存较多个抽头系数,此时很可能在第一径位置之前出现若干个信道采样点,即h(n)~=0, n<0;
3)输入信号(以Ts为间隔的采样点)与滤波器进行卷积输出(filter函数的作用)。
注:输入信号和多径衰落信道的采样间隔必须相同。
3.补充:
sinc函数定义:sinc(x)=sin(x)/x
4.举例:
程序:
clear all
close all
clc
%-----------------------------升余弦滤波器
Fs=9600; %采样频率
Ts=1/Fs; %采样间隔
Fd=960; %Doppler频偏,以Hz为单位
tau=[0,0.002]; %多径延时,以s为单位
pdf=[0,0]; %各径功率,以dB位单位
h=rayleighchan(Ts,Fd,tau,pdf);
%-------------------------------通过信道
data1=[1,zeros(1,100)];%数据1
fc=96;
t=0:1/Fs:999*(1/Fs);
data2=cos(2*pi*fc*t); %数据2
data2_fft=fft(data2,100);
data2_abs=abs(data2_fft);
y1=filter(h,data1);
y11=abs(y1);
y2=filter(h,data2);
y22=fft(y2,100);
y222=abs(y22);
subplot(2,2,1);
x1=1:length(data1);
h1=stem(x1,data1);
set(h1,'MarkerFaceColor','red')
subplot(2,2,3);
x3=1:length(y11);
h3=stem(x3,y11);
set(h3,'MarkerFaceColor','red')
subplot(2,2,2);
x2=1:length(data2_abs);
h2=stem(x2,data2_abs);
set(h2,'MarkerFaceColor','blue')
subplot(2,2,4);
x4=1:length(y222);
h4=stem(x4,y222);
set(h4,'MarkerFaceColor','blue')
分析:
1.tau延时向量,时域上的参数,时域采样后延迟的点数为fix(tau/Ts).
2.Fd:多普勒频偏,频域上的参数,可以看到信号频域发生偏移,但是并不是简单的频率搬移,而是信号频率发生扩展,原来是单频信号,变为频率段信号。
经过数值的设定可以看到,在command history框下输入chan得到:
chan的writeable properties
1) 如何设定chan所需的各径的多普勒谱?
多普勒谱的种类一共有7种:
doppler.ajakes;doppler.bigaussian;doppler.jakes;doppler.rjakes;doppler.flat;doppler.gaussian和doppler.rounded。
在rayleighchan函数中默认的是Jakes谱,即doppler.jakes。修改多普勒谱的方法是直接对chan.DopplerSpectrum进行设置。
这里默认了各径都是按照gaussian谱来生成的,如果需要各径的Doppler谱不同则可以通过设置 ,即可得到对应于PathDelays的各径DopplerSpectrum。
2) InputSamplePeriod
直接设置即可,无线信道传输的基带信号的符号周期。
3) PathDelays
每条径的延时,单位是seconds。
4) MaxDopplerShift
最大多普勒频移:对于rayleighchan函数的使用方法研究
5) AvgPathGaindB
每条路径增益的平均功率,单位是分贝。
6) StoreHistory
将chan.StoreHistory设置为1时,可以把信道的信息记录下来,并可以通过Plot(chan)画出当前的信道的时域IR,频域相应等各种图。
7) NormalizePathGains
将chan.NormalizePathGains设置为1时,每条路径增益绝对值的平方和(即功率和)的平均值为1。这个可以通过多次使用rayleighchan生成信道,求取信道各路径增益绝对值的平方和即可看到其平均值为1。
8) StorePathGains
将chan.StorePathGains设置为1时,各路径的增益将会被记录下来,但是不能使用Plot(chan)画图。
- 在这里额外说一点,信道的StorePathGains设为1时,查看chan.PathGains可以发现这个值是一个N×M的矩阵,在这里N是信道处理的数据长(也就是输入信号的长度),M是多径数。这里的chan.PathGains每列是线性变化的,原因是在处理每个数据时信道由于受到多普勒谱的影响是时变的,但信道的状态是连续的。
9) ResetBeforeFiltering
将chan.ResetBeforeFiltering在使用filter函数前设置为0时,可以看到信道各路径的斜率会是一个值,也就是无论处理多少数据信道的实际状态都是连续的,无论其他的条件(比如噪声和输入信号)发生怎样的变化,信道的状态是连续的,但不是说信道的增益值是恒定的数值,只是信道增益的实际值线性增长的,信道的状态时连续的。(每次使用filter函数一次,信道增益的实际数值都是会发生变化的。)只要信道的状态不变就相当于信道没有发生质的变化,在仿真时我们可以认为使用的是同一个信道。
如果设置为1,则是说明每次生成的信道增益的状态是不连续的,也就是信道发生了变化,我认为这在仿真时可以控制信道变化的快慢。
chan2的read-only properties
1) ChannelType
这个就没什么好说了,只是说明使用函数生成的信道是瑞利的还是莱斯的。
2) PathGains
信道各路径的真实增益,这个增益不是通过AvgPathGaindB换算过来的,AvgPathGaindB是平均增益,所以生成的各路径增益的功率值是围绕这个值生成的。
3) ChannelFilterDelay
这个值没有什么好说的,原因是这个值没有什么用,它一般是和信道的PathDelays的第一个值是对应的。
4) NumSamplesProcessed
这个值是说信道处理了多少个数据,如果输入信号矢量的长度是N,则这个值就是N。
文章转自于:
http://blog.sina.com.cn/s/blog_ab9e9fc30101ejf5.html
http://blog.sina.com.cn/s/blog_8d3179bd01015jm8.html
http://blog.csdn.net/shenjun1992722/article/details/50193381
rayleighchan实现瑞利多径衰落信的更多相关文章
- OFDM通信系统的MATLAB仿真(2)
关于OFDM系统的MATLAB仿真实现的第二篇随笔,在第一篇中,我们讨论的是信号经过AWGN信道的情况,只用添加固定噪声功率的高斯白噪声就好了.但在实际无线信道中,信道干扰常常是加性噪声.多径衰落的结 ...
- LTE学习笔记(一)——背景知识
一.标准化组织 无线通信技术的演进离不开一些标准化组织. 1.ITU(International Telecommunication Union) 国际电信联盟,主要任务是制定标准,分配无线频谱资源, ...
- (经典文章uplink)Information capacity and power control in single-cell multiuser communications(1995)
摘要:本文在用户衰落被完美测量的情况下,提出一种可最大程度提高单小区多用户通信平坦衰落的信息容量的功率控制.主要特征为:在任何特定的时刻,只有一个用户在整个带宽上进行传输,并且在信道良好时为用户分配更 ...
- MIMO-OFDM通信系统学习笔记(一)
[笔记一:单载波传输与多载波传输] MIMO-OFDM技术是3G-LTE,WiMAX通信系 统,以及WLan比如IEEE802.11a,IEEE802.11n等标准的关键技术,作为一枚通信狗,这些应该 ...
- 基于 WiFi ( Wireless Fidelity) 的室内定位技术
系统的拓扑结构 基于信号强度的定位技术(RSSI, Received Signal Strength Indication) 无线信号的信号强度随着传播距离的增加而衰减,接收方与发送方离得越近, 则接 ...
- LIFI热火下的VLC基本链路、标准及发展问题
和白炽及荧光灯相比,白光发光二极管(LED)具有寿命长.光效高.功耗低.无辐射.安全性好.可靠性高等特点,被称为"绿色照明"并得到迅猛发展.白光LED在未来市场极具竞争力.世界范围 ...
- 无线网络中的MIMO与OFDM技术原理分析
无线网络中的MIMO与OFDM技术原理分析CNET中国·ZOL 07年08月14日 [原创] 作者: 中关村在线 张伟 从最早的红外线技术到目前被寄予重望的WIFI,无线技术的进步推动我们的网络一步步 ...
- CDMA原理
CDMA原理——特点 CDMA具有抗多径干扰.抗窄带干扰.抗认为干扰.抗多径延迟扩展的能力.同时有提高蜂窝系统的通信容量和便于模拟与数字体制的共存与过渡等优点.与TDMA技术形成强劲的竞争力. 与FD ...
- 最大比率传输(Maximum Ratio Transmission, MRT)原理分析
转载请注明出处. 最大比率发射(Maximum Ratio Transmission, MRT)是文献中经常看见的一个词,今天就在这里做一下笔记. 参考文献为:T. K. Y. Lo, "M ...
随机推荐
- 生成springboot docker镜像 并上传到阿里云镜像厂库
1 mvn package 2 创建Dockerfile ----------------------------------------------------------------------- ...
- Dictionary简洁
mydic_ShuiFei = new Dictionary<string, string>() { {"00000336","南京市 ...
- 动态规划之 <筷子>
描述 A 先生有很多双筷子.确切的说应该是很多根,因为筷子的长度不一,很难判断出哪两根是一双的.这天,A 先生家里来了K 个客人,A 先生留下他们吃晚饭.加上A 先生,A夫人和他们的孩子小A,共K+3 ...
- ROS中测试机器人里程计信息
在移动机器人建图和导航过程中,提供相对准确的里程计信息非常关键,是后续很多工作的基础,因此需要对其进行测试保证没有严重的错误或偏差.实际中最可能发生错误的地方在于机器人运动学公式有误,或者正负号不对, ...
- [Aaronyang紫色博客] 写给自己的WPF4.5-Blend5公开课系列 1
我的文章一定要做到对读者负责,否则就是失败的文章 --------- www.ayjs.net aaronyang技术分享 欢迎大家支持我的力作<[Aaronyang] 写给自己的 ...
- latex学习(三)
本文记录一点杂事. 1.vim下有个实时pdf预览的插件:https://github.com/xuhdev/vim-latex-live-preview 2.实时预览pdf的pdf查看器是:evin ...
- 【iCore1S 双核心板_FPGA】例程十四:FSMC总线通信实验——独立地址模式
实验原理: STM32F103上自带FMC控制器,本实验将通过FMC总线的地址独立模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC ...
- android开发(46) 使用 textview实现文字的阴影效果,浮雕效果
前言 最近看到一些文字的阴影效果很有意思,尝试了下,形成本文.“平面效果“是我们平时常见的平面的样子.“阴影效果”会给人一种凸起的感觉.浮雕效果会给一种雕刻“凹陷”的感觉. 演示效果图 方法 使用 t ...
- 解决:android源码同步repo sync 时出现的fatal:duplicate path错误
问题重现: 解决方法: 1.删除android项目里隐藏的 .repo 文件夹中除了以下几个文件夹的其他文件及文件夹 2.重新初始化android项目 repo init -u https//gith ...
- Java知多少(33)多态对象的类型转换
这里所说的对象类型转换,是指存在继承关系的对象,不是任意类型的对象.当对不存在继承关系的对象进行强制类型转换时,java 运行时将抛出 java.lang.ClassCastException 异常. ...