多径衰落信道
这个例子展示了如何使用瑞利和Rician多路径衰落信道系统内置对象及其可视化模型衰落信道和显示通道的光谱特性。Rician和瑞利衰落信道模型是有用的无线通信的实际现象。这些现象包括多径散射效应,时间色散和多普勒频移,来自发射机和接收机之间的相对运动。
使用衰落信道的信号处理包括以下步骤:
创建一个通道系统对象™描述您想要使用的通道。通道对象MATLAB®是一种变量,其中包含的信息渠道,如最大的多普勒频移。
根据需要调整系统对象的属性,来建模您的频道。例如,您可以更改路径延迟或平均路径收益。
调用通道系统对象像一个函数应用信道模型,产生随机离散输入信号路径收益和过滤器。
初始化
下列变量控制瑞利和Rician通道对象。默认情况下,信道建模为四衰落路径,每个代表一个集群的多路径组件收到大约在同一延迟。
sampleRate500kHz = 500年e3;% 500 k赫兹的采样率sampleRate20kHz = 20 e3;% 20 k赫兹的采样率maxDopplerShift = 200;%马克斯漫射光的多普勒频移(赫兹)delayVector = (0:5:15) * 1 e-6;%的离散延迟four-path通道(年代)gainVector = [0 3 6 9];%的平均路径收益(dB)
计算最大的多普勒频移 ,在那里 是移动速度,f是载波频率,c是光速。例如,一个最大的多普勒频移的200赫兹(如上所述)对应于一个移动的速度每小时65英里(30 m / s)和载波频率的2 GHz。
按照惯例,第一个路径的延迟通常设置为0。为后续路径,1微秒延迟对应于一个300米的路径长度差异。在一些户外多径环境中,反映路径可达几公里超过最短路径。与上面指定的路径延迟,最后一个路径是4.5公里以上的最短路径,因此15微秒后到达。
在一起,路径延迟和路径获得指定通道的平均延迟概要文件。通常,路径平均收益衰减指数和延迟(dB值线性衰减),但具体延迟形象取决于传播环境。在上面的延迟指定配置文件中,我们假设3分贝降低平均功率每5微秒的路径延迟。
以下变量控制Rician通道系统对象。镜面的多普勒频移组件通常小于最大的多普勒频移(上图)和取决于旅行的方向相对于镜面的方向移动组件。增殖系数指定的线性比例平均接收功率的镜面组件相对于扩散组件相关联。
KFactor = 10;%的线性比例镜面分散权力specDopplerShift = 100;%多普勒频移的镜面组件(赫兹)
创建通道系统对象
创建comm.RayleighChannel
和comm.RicianChannel
系统对象使用上面定义的变量。配置对象来使用他们的独立随机流与指定路径获得代种子。
rayChan = comm.RayleighChannel (…SampleRate = sampleRate500kHz,…PathDelays = delayVector,…AveragePathGains = gainVector,…MaximumDopplerShift = maxDopplerShift,…RandomStream =“与种子mt19937ar”,…种子= 10,…PathGainsOutputPort = true);ricChan = comm.RicianChannel (…SampleRate = sampleRate500kHz,…PathDelays = delayVector,…AveragePathGains = gainVector,…KFactor = KFactor,…DirectPathDopplerShift = specDopplerShift,…MaximumDopplerShift = maxDopplerShift,…RandomStream =“与种子mt19937ar”,…种子= 100,…PathGainsOutputPort = true);
调制和信道过滤
通过生成一个帧的信号数据兰迪
函数。在代码框架指的是一个向量的信息碎片。调制信号数据,创建一个comm.QPSKModulator
系统对象配置相抵消的π/ 4。指定每帧传输的比特数是1000。对于QPSK调制,这对应于每帧500符号。
bitsPerFrame = 1000;味精=兰迪([0 1]bitsPerFrame 1);qpskMod = comm.QPSKModulator (BitInput = true, PhaseOffset =π/ 4);
调节的数据传输通道。应用瑞利和Rician信道调制数据没有可视化数据过滤。
modSignal = qpskMod(味精);rayChan (modSignal);ricChan (modSignal);
可视化的通道响应
衰落信道系统对象有内置的可视化显示通道脉冲响应、频率响应、多普勒频谱对象运行时。调用它,设置可视化
财产之前所需的值调用对象。释放瑞利和Rician通道系统的对象现在改变属性值。
释放(rayChan);释放(ricChan);
设置可视化
属性”脉冲响应
“显示了带宽受限的脉冲响应(黄色圆圈)。可视化显示底层衰落路径的延迟和震级收益(粉红色stembars)集群的峰值脉冲响应。注意,路径获得不平等AveragePathGains
属性值,因为多普勒效应导致的收益会随着时间变化而波动。
同样,设置可视化
属性”频率响应
“显示了频率响应(DFT变换)的冲动。你也可以设置可视化
“冲动和频率响应
“显示脉冲和频率响应。
设置可视化
属性”多普勒频谱
”显示了第一个的多普勒谱离散路径,这是一个统计特征的衰落过程。瞬时实证测量绘制的多普勒频谱(蓝色恒星)。随着时间的推移,更多的样品处理,这个测量更好的平均值接近理论多普勒频谱(黄色曲线)。
你可以控制输入样本的百分比是可视化通过改变SamplesToDisplay
财产。一般来说,比例越小,仿真运行得越快。更准确的信号块离子可视化图,选择回放
在工具栏和取消选择减少更新来提高性能选择。更快的模拟的选项是默认选中。如果你想看到每个输入样本的信道响应,集SamplesToDisplay
“100%
”,并取消选择减少更新来提高性能。
宽带或频率选择衰落
显示的冲动和瑞利衰落后QPSK-modulated信号的频率响应。信道频率响应不是平的,可能有很深的消失在500 k赫兹的带宽。因为功率变化信号的带宽,它被称为宽带或频率选择衰落。
rayChan。可视化=“冲动和频率响应”;rayChan。SamplesToDisplay =“100%”;%显示2帧的冲动和频率响应numFrames = 2;为我= 1:numFrames%建立随机数据味精=兰迪([0 1]bitsPerFrame 1);%调整数据modSignal = qpskMod(味精);%通过过滤数据通道,通道响应rayChan (modSignal);结束
同样的渠道规范,发布瑞利信道对象和重新配置来显示多普勒频谱首次离散路径,这是一个统计特征的衰落过程。
释放(rayChan);rayChan。可视化=“多普勒谱”;%显示多普勒频谱从5000帧传输numFrames = 5000;为i = 1: numFrames味精=兰迪([0 1]bitsPerFrame 1);modSignal = qpskMod(味精);rayChan (modSignal);结束
窄带或Frequency-Flat衰落
当信号带宽太小的解决单个组件,频率响应基本持平,因为最小时间色散引起的多路径通道。这种多路径衰落通常被称为窄带消退,或frequency-flat消退。
减少信号带宽从500 kb / s (250 ksym / s) 20 kb / s (10 ksym / s),所以延迟通道的跨度(15微秒)远小于QPSK符号时期(100毫秒)。合成脉冲响应具有非常小的符号间干扰(ISI)和频率响应基本持平。
释放(rayChan);rayChan。可视化=“冲动和频率响应”;rayChan。SampleRate = sampleRate20kHz;rayChan。SamplesToDisplay =“25%”;%显示四分之一的样本%显示2帧的冲动和频率响应numFrames = 2;为i = 1: numFrames味精=兰迪([0 1]bitsPerFrame 1);modSignal = qpskMod(味精);rayChan (modSignal);结束
对于窄带衰落信道,单路径衰落模型可以准确地代表了英吉利海峡。简化和加速模拟通道窄带衰落时,考虑更换一个多径衰落模型与单一路径衰落模型。以下设置对应于一个窄带衰落信道,如图所示的情节,频率响应是完全平坦的。
释放(rayChan);rayChan。PathDelays = 0;%单一路径与零延迟消退rayChan。AveragePathGains = 0;%的平均路径获得1(0分贝)
显示2帧的冲动和频率响应。
为i = 1: numFrames味精=兰迪([0 1]bitsPerFrame 1);modSignal = qpskMod(味精);rayChan (modSignal);结束
Rician衰落信道系统对象模型视距传播除了扩散路径散射。这将导致一个更小的收益的大小的变化路径。瑞利之间比较差异和Rician频道,查看自己的收益随着时间的推移,通过使用一个路径timescope
对象。
观察大小波动在大约10 dB范围Rician衰落信道(蓝色曲线),相比之下,30 - 40 dB的瑞利衰落信道(黄色曲线)。Rician衰落信道,这种变化将进一步减少通过增加增殖系数(目前设置为10)。
释放(rayChan);rayChan。可视化=“关闭”;%关掉Rayliegh对象可视化ricChan。可视化=“关闭”;%关掉Rician对象可视化%相同采样率和延迟的瑞利和Rician对象ricChan。SampleRate = rayChan.SampleRate;ricChan。PathDelays = rayChan.PathDelays;ricChan。AveragePathGains = rayChan.AveragePathGains;%配置一个时间范围系统对象显示路径增益级gainScope = timescope (…SampleRate = rayChan.SampleRate,…TimeSpanSource =“财产”,…时间间隔= bitsPerFrame / 2 / rayChan.SampleRate,…%一帧跨度Name =“多路径增益”,…ChannelName = [“瑞利”,“Rician”),…ShowGrid = true,…YLimits = -40 [10],…YLabel =“增益(dB)”);%比较路径增益输出对象一帧味精=兰迪([0 1]bitsPerFrame 1);modSignal = qpskMod(味精);[~,rayPathGain] = rayChan (modSignal);[~,ricPathGain] = ricChan (modSignal);%形式增长的路径作为一个双通道的输入时间范围gainScope (10 * log10 (abs ([rayPathGain ricPathGain])。^ 2));
衰落信道对信号星座的影响
返回到原始four-path瑞利衰落信道和窄带衰落的影响的节目信号通过使用一个星座comm.ConstellationDiagram
系统对象。慢下来的通道动力学可视化的目的,我们减少最大的多普勒频移到5赫兹。与输入信号的正交相移编码通道相比,你可以观察到信号衰减和旋转通道输出,以及一些信号失真由于少量的三军情报局在接收到的信号。
释放(rayChan);rayChan。PathDelays = delayVector;rayChan。AveragePathGains = gainVector;rayChan。MaximumDopplerShift = 5;constDiag = comm.ConstellationDiagram (…Name =“瑞利衰落后接收信号”);numFrames = 16;为n = 1: numFrames味精=兰迪([0 1]bitsPerFrame 1);modSignal = qpskMod(味精);rayChanOut = rayChan (modSignal);constDiag (rayChanOut);结束释放(rayChan);释放(constDiag);
增加信号带宽500 kb / s (250 ksym / s)和改建星座图。观察更大的失真信号星座由于三军情报局与时间相关的色散的宽带信号。通道的延迟跨度(15微秒)现在超过了QPSK符号周期(4微秒),因此,合成带宽受限的脉冲响应不再是基本持平。
rayChan。SampleRate = sampleRate500kHz;为n = 1: numFrames味精=兰迪([0 1]bitsPerFrame 1);modSignal = qpskMod(味精);rayChanOut = rayChan (modSignal);constDiag (rayChanOut);结束