主要内容gydF4y2Ba

衰落信道gydF4y2Ba

衰落信道概述gydF4y2Ba

使用通信工具箱™,您可以使用对象或块实现衰落通道。瑞利衰落信道和瑞斯衰落信道是无线通信中真实现象的有用模型。这些现象包括多径散射效应、时间分散和多普勒频移,这些都是由发射机和接收机之间的相对运动引起的。本节简要介绍衰落通道,并描述如何使用工具箱实现它们。gydF4y2Ba

该图描述了固定的无线电发射机和移动的接收机之间的直接和主要反射路径。阴影形状代表反射器,如建筑物。gydF4y2Ba

主要路径导致延迟版本的信号到达接收机。此外,无线电信号在天线上进行散射gydF4y2Ba当地的gydF4y2Ba为每个主要路径缩放。这种局部散射通常是由移动设备附近物体的反射引起的。这些不可解析的组件在接收器处结合,并导致一种称为gydF4y2Ba多径衰落gydF4y2Ba.由于这种现象,每个主路径都表现为离散的衰落路径。对于非视距路径,衰落过程具有瑞利分布的特征,而对于视距路径,衰落过程具有瑞利分布的特征。gydF4y2Ba

发射机和接收机之间的相对运动引起多普勒频移。局部散射通常来自移动物体周围的多个角度。这种情况会导致一系列的多普勒频移,称为gydF4y2Ba多普勒频谱gydF4y2Ba.的gydF4y2Ba最大gydF4y2Ba多普勒频移对应的是与运动轨迹方向完全相反的局部散射分量。gydF4y2Ba

信道滤波器将路径增益应用于输入信号,gydF4y2Ba信号gydF4y2Ba.路径增益基于衰落通道对象或块中选择的设置进行配置。gydF4y2Ba

这些块和对象使您能够建模SISO或MIMO衰落通道。gydF4y2Ba

工具gydF4y2Ba 的输出gydF4y2Ba 米姆gydF4y2Ba
MATLABgydF4y2Ba®gydF4y2Ba

comm.RayleighChannelgydF4y2Ba

comm.RicianChannelgydF4y2Ba

comm.MIMOChannelgydF4y2Ba

万博1manbetx®gydF4y2Ba

SISO衰落信道gydF4y2Ba

MIMO衰落信道gydF4y2Ba

使用对象实现衰落信道gydF4y2Ba

使用对象实现的多路径传播场景的基带信道模型包括:gydF4y2Ba

  • NgydF4y2Ba离散衰落路径。每条路径都有自己的延迟和平均功率增益。一种信道gydF4y2BaNgydF4y2Ba= 1称为agydF4y2Ba频率平坦衰落信道gydF4y2Ba.一种信道gydF4y2BaNgydF4y2Ba> 1体验为agydF4y2Ba频率选择衰落信道gydF4y2Ba通过一个足够宽的带宽的信号。gydF4y2Ba

  • 每条路径的瑞利或瑞斯模型。gydF4y2Ba

  • 使用贾克斯多普勒频谱进行默认信道路径建模,可指定最大多普勒频移。允许的其他类型的多普勒频谱(所有路径相同或不同)包括:平坦的,受限的Jakes,不对称的Jakes,高斯,双高斯,圆形和钟形。gydF4y2Ba

    如果在构建信道对象时将最大多普勒频移设置为0或省略,则该对象将信道建模为静态。对于这种配置,衰落不随时间而变化,指定的多普勒频谱对衰落过程没有影响。gydF4y2Ba

关于延迟和增益的典型值的一些附加信息已经发布gydF4y2Ba选择现实的通道属性值gydF4y2Ba.gydF4y2Ba

使用块实现衰落信道gydF4y2Ba

信道块库包括MIMO和SISO衰落块,可以模拟移动通信中的真实现象。这些现象包括多径散射效应,以及由发射机和接收机之间的相对运动引起的多普勒频移。gydF4y2Ba

提示gydF4y2Ba

要对一个同时包含衰落和加性高斯白噪声的信道建模,可以使用一个衰落信道块和一个AWGN信道块。gydF4y2Ba

的gydF4y2BaMIMO衰落信道gydF4y2Ba而且gydF4y2BaSISO衰落信道gydF4y2Ba块可以设置为模拟信道的瑞利或瑞斯衰落分布。根据信号路径的类型,选择要使用的衰落分布。gydF4y2Ba

信号通路gydF4y2Ba 衰落分布gydF4y2Ba
从发射机到接收机的直接视线路径gydF4y2Ba RiciangydF4y2Ba
从发射机到接收机的一条或多条主要反射路径gydF4y2Ba 瑞利gydF4y2Ba

您可以使用为瑞利衰落分布配置的衰落信道块的单个实例来同时模拟多个主要反射路径。gydF4y2Ba

根据您的情况选择适当的块参数非常重要。有关更多信息,请参见gydF4y2Ba选择现实的通道属性值gydF4y2Ba,以及gydF4y2BaMIMO衰落信道gydF4y2Ba而且gydF4y2BaSISO衰落信道gydF4y2Ba阻止引用页。gydF4y2Ba

可视化衰落信道gydF4y2Ba

您可以使用信道可视化工具查看衰落信道的特征。有关更多信息,请参见gydF4y2Ba渠道可视化gydF4y2Ba.gydF4y2Ba

补偿衰减响应gydF4y2Ba

涉及衰落信道的通信系统通常需要补偿衰落响应的组件。补偿衰落的典型方法包括:gydF4y2Ba

  • 差分调制或一键均衡器有助于补偿频率平坦衰落信道。有关实现差分调制的信息,请参见gydF4y2BaM-DPSK调制器基带gydF4y2Ba块引用页。gydF4y2Ba

  • 具有多个开关的均衡器有助于补偿频率选择性衰落信道。看到gydF4y2Ba均衡gydF4y2Ba获取更多信息。gydF4y2Ba

的gydF4y2Ba带滤波和衰落信道的自适应均衡gydF4y2Ba示例说明了为什么补偿衰落通道是必要的。gydF4y2Ba

模拟多径衰落信道的方法gydF4y2Ba

通信工具箱中的瑞利和瑞斯多径衰落信道模拟器使用第9.1.3.5.2节中的带限离散多径信道模型gydF4y2Ba[1]gydF4y2Ba.该实现假定信道的延迟功率分布和多普勒频谱是可分离的gydF4y2Ba[1]gydF4y2Ba.因此,多径衰落信道被建模为线性有限脉冲响应(FIR)滤波器。让gydF4y2Ba {gydF4y2Ba 年代gydF4y2Ba 我gydF4y2Ba }gydF4y2Ba 表示通道输入处的样本集合。然后是样本gydF4y2Ba {gydF4y2Ba ygydF4y2Ba 我gydF4y2Ba }gydF4y2Ba 在输出时的通道都是相关的gydF4y2Ba {gydF4y2Ba 年代gydF4y2Ba 我gydF4y2Ba }gydF4y2Ba 通过:gydF4y2Ba

ygydF4y2Ba 我gydF4y2Ba =gydF4y2Ba ∑gydF4y2Ba ngydF4y2Ba =gydF4y2Ba −gydF4y2Ba NgydF4y2Ba 1gydF4y2Ba NgydF4y2Ba 2gydF4y2Ba 年代gydF4y2Ba 我gydF4y2Ba −gydF4y2Ba ngydF4y2Ba ggydF4y2Ba ngydF4y2Ba

在哪里gydF4y2Ba {gydF4y2Ba ggydF4y2Ba ngydF4y2Ba }gydF4y2Ba 是由:给出的抽头权重的集合:gydF4y2Ba

ggydF4y2Ba ngydF4y2Ba =gydF4y2Ba ∑gydF4y2Ba kgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba KgydF4y2Ba 一个gydF4y2Ba kgydF4y2Ba sincgydF4y2Ba [gydF4y2Ba τgydF4y2Ba kgydF4y2Ba TgydF4y2Ba 年代gydF4y2Ba −gydF4y2Ba ngydF4y2Ba ]gydF4y2Ba ,gydF4y2Ba −gydF4y2Ba NgydF4y2Ba 1gydF4y2Ba ≤gydF4y2Ba ngydF4y2Ba ≤gydF4y2Ba NgydF4y2Ba 2gydF4y2Ba

式中:gydF4y2Ba

  • TgydF4y2Ba 年代gydF4y2Ba 是通道的输入采样周期。gydF4y2Ba

  • {gydF4y2Ba τgydF4y2Ba kgydF4y2Ba }gydF4y2Ba ,在那里gydF4y2Ba 1gydF4y2Ba ≤gydF4y2Ba kgydF4y2Ba ≤gydF4y2Ba KgydF4y2Ba ,为路径延迟集。gydF4y2BaKgydF4y2Ba是多径衰落通道中的路径总数。gydF4y2Ba

  • {gydF4y2Ba 一个gydF4y2Ba kgydF4y2Ba }gydF4y2Ba ,在那里gydF4y2Ba 1gydF4y2Ba ≤gydF4y2Ba kgydF4y2Ba ≤gydF4y2Ba KgydF4y2Ba 为多径衰落信道的复径增益集。这些路径增益彼此不相关。gydF4y2Ba

  • NgydF4y2Ba 1gydF4y2Ba 而且gydF4y2Ba NgydF4y2Ba 2gydF4y2Ba 都是被选中的gydF4y2Ba |gydF4y2Ba ggydF4y2Ba ngydF4y2Ba |gydF4y2Ba 很小的时候gydF4y2BangydF4y2Ba小于gydF4y2Ba −gydF4y2Ba NgydF4y2Ba 1gydF4y2Ba 或者大于gydF4y2Ba NgydF4y2Ba 2gydF4y2Ba .gydF4y2Ba

滤波高斯噪声和正弦和两种技术用于生成复路径增益集,gydF4y2Ba 一个gydF4y2Ba kgydF4y2Ba .gydF4y2Ba

每个路径增益过程gydF4y2Ba 一个gydF4y2Ba kgydF4y2Ba 由以下步骤生成:gydF4y2Ba

滤波高斯噪声技术gydF4y2Ba

  1. 在离散时间中生成了一个均值为零、单位方差为零的复杂非相关(白色)高斯过程。gydF4y2Ba

  2. 采用带频响的多普勒滤波器对复杂高斯过程进行滤波gydF4y2Ba HgydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba =gydF4y2Ba 年代gydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba ,在那里gydF4y2Ba 年代gydF4y2Ba (gydF4y2Ba fgydF4y2Ba )gydF4y2Ba 为所需的多普勒功率谱。gydF4y2Ba

  3. 对滤波后的复高斯过程进行插值,使其采样周期与输入信号的采样周期一致。采用线性插值和多相插值相结合的方法。gydF4y2Ba

Sum-of-sinusoids技术gydF4y2Ba

  1. 中描述的方法产生相互不相关的瑞利衰落波形gydF4y2Ba[2]gydF4y2Ba,在那里gydF4y2Ba我gydF4y2Ba= 1gydF4y2Ba对应于同相组件和gydF4y2Ba我gydF4y2Ba= 2gydF4y2Ba对应于正交分量。gydF4y2Ba

    zgydF4y2Ba kgydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba μgydF4y2Ba kgydF4y2Ba (gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba +gydF4y2Ba jgydF4y2Ba μgydF4y2Ba kgydF4y2Ba (gydF4y2Ba 2gydF4y2Ba )gydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba ,gydF4y2Ba kgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba ,gydF4y2Ba 2gydF4y2Ba ,gydF4y2Ba ...gydF4y2Ba ,gydF4y2Ba KgydF4y2Ba μgydF4y2Ba kgydF4y2Ba (gydF4y2Ba 我gydF4y2Ba )gydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba 2gydF4y2Ba NgydF4y2Ba kgydF4y2Ba ∑gydF4y2Ba ngydF4y2Ba =gydF4y2Ba 1gydF4y2Ba NgydF4y2Ba kgydF4y2Ba 因为gydF4y2Ba (gydF4y2Ba 2gydF4y2Ba πgydF4y2Ba fgydF4y2Ba kgydF4y2Ba ,gydF4y2Ba ngydF4y2Ba (gydF4y2Ba 我gydF4y2Ba )gydF4y2Ba tgydF4y2Ba +gydF4y2Ba θgydF4y2Ba kgydF4y2Ba ,gydF4y2Ba ngydF4y2Ba (gydF4y2Ba 我gydF4y2Ba )gydF4y2Ba )gydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba ,gydF4y2Ba 2gydF4y2Ba

    在哪里gydF4y2Ba

    • NgydF4y2BakgydF4y2Ba指定用于模拟单个路径的正弦波数。gydF4y2Ba

    • fgydF4y2Ba kgydF4y2Ba ,gydF4y2Ba ngydF4y2Ba (gydF4y2Ba 我gydF4y2Ba )gydF4y2Ba 为离散多普勒频率,为单个路径内的每个正弦波分量计算。gydF4y2Ba

    • θgydF4y2Ba kgydF4y2Ba ,gydF4y2Ba ngydF4y2Ba (gydF4y2Ba 我gydF4y2Ba )gydF4y2Ba 是相的吗gydF4y2BangydF4y2Ba的第Th分量gydF4y2Ba μgydF4y2Ba kgydF4y2Ba (gydF4y2Ba 我gydF4y2Ba )gydF4y2Ba 是一个I.I.D.随机变量在区间内具有均匀分布gydF4y2Ba (gydF4y2Ba 0gydF4y2Ba ,gydF4y2Ba 2gydF4y2Ba πgydF4y2Ba ]gydF4y2Ba .gydF4y2Ba

    • tgydF4y2Ba是衰落过程的时间。gydF4y2Ba

    当杰克多普勒频谱建模时,离散多普勒频率,gydF4y2Ba fgydF4y2Ba kgydF4y2Ba ,gydF4y2Ba ngydF4y2Ba (gydF4y2Ba 我gydF4y2Ba )gydF4y2Ba ,最大位移gydF4y2BafgydF4y2Ba马克斯gydF4y2Ba是由gydF4y2Ba

    fgydF4y2Ba kgydF4y2Ba ,gydF4y2Ba ngydF4y2Ba (gydF4y2Ba 我gydF4y2Ba )gydF4y2Ba =gydF4y2Ba fgydF4y2Ba 马克斯gydF4y2Ba 因为gydF4y2Ba (gydF4y2Ba αgydF4y2Ba kgydF4y2Ba ,gydF4y2Ba ngydF4y2Ba (gydF4y2Ba 我gydF4y2Ba )gydF4y2Ba )gydF4y2Ba =gydF4y2Ba fgydF4y2Ba 马克斯gydF4y2Ba 因为gydF4y2Ba [gydF4y2Ba πgydF4y2Ba 2gydF4y2Ba NgydF4y2Ba kgydF4y2Ba (gydF4y2Ba ngydF4y2Ba −gydF4y2Ba 1gydF4y2Ba 2gydF4y2Ba )gydF4y2Ba +gydF4y2Ba αgydF4y2Ba kgydF4y2Ba ,gydF4y2Ba 0gydF4y2Ba (gydF4y2Ba 我gydF4y2Ba )gydF4y2Ba ]gydF4y2Ba

    在哪里gydF4y2Ba

    αgydF4y2Ba kgydF4y2Ba ,gydF4y2Ba 0gydF4y2Ba (gydF4y2Ba 我gydF4y2Ba )gydF4y2Ba ≜gydF4y2Ba (gydF4y2Ba −gydF4y2Ba 1gydF4y2Ba )gydF4y2Ba 我gydF4y2Ba −gydF4y2Ba 1gydF4y2Ba πgydF4y2Ba 4gydF4y2Ba NgydF4y2Ba kgydF4y2Ba ⋅gydF4y2Ba kgydF4y2Ba KgydF4y2Ba +gydF4y2Ba 2gydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba ,gydF4y2Ba 2gydF4y2Ba 而且gydF4y2Ba kgydF4y2Ba =gydF4y2Ba 1gydF4y2Ba ,gydF4y2Ba 2gydF4y2Ba ,gydF4y2Ba ...gydF4y2Ba ,gydF4y2Ba KgydF4y2Ba

  2. 为了在时间上推进衰落过程,初始时间参数gydF4y2BatgydF4y2Ba初始化gydF4y2Ba,介绍。衰落的波形变成gydF4y2Ba

    μgydF4y2Ba kgydF4y2Ba (gydF4y2Ba 我gydF4y2Ba )gydF4y2Ba (gydF4y2Ba tgydF4y2Ba )gydF4y2Ba =gydF4y2Ba 2gydF4y2Ba NgydF4y2Ba kgydF4y2Ba ∑gydF4y2Ba ngydF4y2Ba =gydF4y2Ba 1gydF4y2Ba NgydF4y2Ba kgydF4y2Ba 因为gydF4y2Ba (gydF4y2Ba 2gydF4y2Ba πgydF4y2Ba fgydF4y2Ba kgydF4y2Ba ,gydF4y2Ba ngydF4y2Ba (gydF4y2Ba 我gydF4y2Ba )gydF4y2Ba (gydF4y2Ba tgydF4y2Ba +gydF4y2Ba tgydF4y2Ba 我gydF4y2Ba ngydF4y2Ba 我gydF4y2Ba tgydF4y2Ba )gydF4y2Ba +gydF4y2Ba θgydF4y2Ba kgydF4y2Ba ,gydF4y2Ba ngydF4y2Ba (gydF4y2Ba 我gydF4y2Ba )gydF4y2Ba )gydF4y2Ba ,gydF4y2Ba 我gydF4y2Ba =gydF4y2Ba 1gydF4y2Ba ,gydF4y2Ba 2gydF4y2Ba

    当gydF4y2BatgydF4y2Ba初始化gydF4y2Ba= 0gydF4y2Ba时,衰落过程开始于时间0。的正值gydF4y2BatgydF4y2Ba初始化gydF4y2Ba推进衰落过程相对于时间零,同时保持其连续性。gydF4y2Ba

  3. 信道衰落样本是使用gmed生成的gydF4y2Ba1gydF4y2Ba[2]gydF4y2Ba算法。gydF4y2Ba

计算复系数gydF4y2Ba

这两种技术产生的复杂过程,gydF4y2Ba zgydF4y2Ba kgydF4y2Ba ,缩放以获得正确的平均路径增益。对于瑞利信道,衰落过程为:gydF4y2Ba

一个gydF4y2Ba kgydF4y2Ba =gydF4y2Ba ΩgydF4y2Ba kgydF4y2Ba zgydF4y2Ba kgydF4y2Ba

在哪里gydF4y2Ba

ΩgydF4y2Ba kgydF4y2Ba =gydF4y2Ba EgydF4y2Ba [gydF4y2Ba |gydF4y2Ba 一个gydF4y2Ba kgydF4y2Ba |gydF4y2Ba 2gydF4y2Ba ]gydF4y2Ba

对于专家级信道,衰落过程为:gydF4y2Ba

一个gydF4y2Ba kgydF4y2Ba =gydF4y2Ba ΩgydF4y2Ba kgydF4y2Ba [gydF4y2Ba zgydF4y2Ba kgydF4y2Ba KgydF4y2Ba rgydF4y2Ba ,gydF4y2Ba kgydF4y2Ba +gydF4y2Ba 1gydF4y2Ba +gydF4y2Ba KgydF4y2Ba rgydF4y2Ba ,gydF4y2Ba kgydF4y2Ba KgydF4y2Ba rgydF4y2Ba ,gydF4y2Ba kgydF4y2Ba +gydF4y2Ba 1gydF4y2Ba egydF4y2Ba jgydF4y2Ba (gydF4y2Ba 2gydF4y2Ba πgydF4y2Ba fgydF4y2Ba dgydF4y2Ba ,gydF4y2Ba lgydF4y2Ba OgydF4y2Ba 年代gydF4y2Ba ,gydF4y2Ba kgydF4y2Ba tgydF4y2Ba +gydF4y2Ba θgydF4y2Ba lgydF4y2Ba OgydF4y2Ba 年代gydF4y2Ba ,gydF4y2Ba kgydF4y2Ba )gydF4y2Ba ]gydF4y2Ba

在哪里gydF4y2Ba KgydF4y2Ba rgydF4y2Ba ,gydF4y2Ba kgydF4y2Ba 的瑞尔斯k因子是多少gydF4y2BakgydF4y2Bath路径,gydF4y2Ba fgydF4y2Ba dgydF4y2Ba ,gydF4y2Ba lgydF4y2Ba OgydF4y2Ba 年代gydF4y2Ba ,gydF4y2Ba kgydF4y2Ba 的视距分量的多普勒频移gydF4y2BakgydF4y2Bath路径(Hz),和gydF4y2Ba θgydF4y2Ba lgydF4y2Ba OgydF4y2Ba 年代gydF4y2Ba ,gydF4y2Ba kgydF4y2Ba 初始阶段的视距组件是gydF4y2BakgydF4y2Ba路径(弧度)。gydF4y2Ba

在带限多径信道模型的输入端,传输的符号必须通过至少等于脉冲整形引入的带宽扩展因子的因子进行过采样。例如,如果使用sinc脉冲整形,其中脉冲形状信号的带宽等于符号速率,则带宽扩展因子为1,并且在通道的输入端每个符号至少需要一个采样。如果使用系数大于1的凸起余弦(RC)滤波器,其中脉冲形信号的带宽等于符号速率的两倍,则带宽扩展因子为2,并且在通道的输入端每个符号至少需要两个采样。gydF4y2Ba

信道滤波器模型特性gydF4y2Ba

信道滤波器实现了一个分数延迟(FD)有限脉冲响应(FIR)带通滤波器,每个候选分数延迟在0,0.02,0.04,…,0.98处具有16个系数的长度。gydF4y2Ba

每个离散路径舍入到其最近的候选分数延迟,因此延迟误差限制为样本时间的1%。为了实现组时延带宽超过80%,幅度带宽超过90%,算法为每个分数阶时延选择最优FIR系数值,同时满足以下条件:gydF4y2Ba

  • 群延迟纹波≤10%gydF4y2Ba

  • 幅度纹波≤2 dBgydF4y2Ba

  • 震级带衰减= 3 dBgydF4y2Ba

图中显示的带宽满足组延迟纹波、幅度纹波和幅度带衰减的设计标准。gydF4y2Ba

参考文献gydF4y2Ba

[1] M.杰鲁钦,P.巴拉班,K. S.尚木干,gydF4y2Ba通信系统仿真gydF4y2Ba,第二版,纽约,Kluwer学术/全会,2000年。gydF4y2Ba

[2] Pätzold,马提亚斯,王成祥,比约恩·奥拉夫·霍格斯坦德。“基于正弦和的两种新方法,用于有效生成多个不相关瑞利衰落波形。”gydF4y2BaIEEE无线通信汇刊gydF4y2Ba.Vol. 8, Number 6, 2009, pp. 3122-3131。gydF4y2Ba

指定衰落通道gydF4y2Ba

“通信工具箱”将衰落信道建模为线性FIR滤波器。使用衰落信道对信号进行滤波包括以下步骤:gydF4y2Ba

  1. 创建一个描述要使用的通道的通道对象。信道对象是一种MATLAB变量,它包含有关信道的信息,例如最大多普勒频移。gydF4y2Ba

  2. 如有必要,调整通道对象的属性以使其适合您的需要。例如,您可以更改路径延迟或平均路径增益。gydF4y2Ba

  3. 通过调用该对象,将通道对象应用于信号。gydF4y2Ba

本节介绍如何定义、检查和操作通道对象。主题是:gydF4y2Ba

创建通道对象gydF4y2Ba

要创建适合建模情况的衰落通道对象,请选择以下系统对象之一。gydF4y2Ba

函数gydF4y2Ba 对象gydF4y2Ba 环境建模gydF4y2Ba

comm.RayleighChannelgydF4y2Ba

瑞利衰落信道对象gydF4y2Ba 一个或多个主要反射路径gydF4y2Ba

comm.RicianChannelgydF4y2Ba

瑞尔斯衰落信道对象gydF4y2Ba 一个直接的视线路径,可能与一个或多个主要反射路径组合gydF4y2Ba

例如,该命令创建一个表示瑞利衰落信道的信道对象,该信道作用于采样频率为100,000 Hz的信号。信道的最大多普勒频移为130赫兹。gydF4y2Ba

rayChan1 = com . rayleighchannel ('SampleRate',1e5,…“MaximumDopplerShift”,130);瑞利衰落信道对象gydF4y2Ba

学习如何调用gydF4y2BarayChan1gydF4y2Ba衰落信道对象用于通过信道对传输信号进行滤波,请参见gydF4y2Ba使用衰落信道gydF4y2Ba.gydF4y2Ba

复制和复制对象gydF4y2Ba

您还可以通过复制现有对象来创建另一个对象,然后根据需要调整新对象的属性。要复制一个对象,总是使用gydF4y2Ba克隆gydF4y2Ba函数如:gydF4y2Ba

rayChan2 =克隆(rayChan1);复制rayChan1,创建一个独立的rayChan2。gydF4y2Ba

而不是gydF4y2BarayChan2 = rayChan1gydF4y2Ba.的gydF4y2Ba克隆gydF4y2Ba的副本gydF4y2BarayChan1gydF4y2Ba它独立于gydF4y2BarayChan1gydF4y2Ba.相比之下,命令gydF4y2BarayChan2 = rayChan1gydF4y2Ba创建gydF4y2BarayChan2gydF4y2Ba仅仅作为一个参考gydF4y2BarayChan1gydF4y2Ba,所以gydF4y2BarayChan1gydF4y2Ba而且gydF4y2BarayChan2gydF4y2Ba总是有难以区分的内容。gydF4y2Ba

显示和更改对象属性gydF4y2Ba

通道对象具有许多属性,这些属性记录了关于通道模型的信息、关于已经过滤了信号的通道的状态,以及关于对未来信号的通道操作的信息。gydF4y2Ba

您可以通过以下方式查看属性:gydF4y2Ba

  • 要查看通道对象的所有属性,请在命令窗口中输入对象名称。gydF4y2Ba

  • 您可以查看通道对象的属性,或者通过输入对象名称后跟点(句号),再后跟属性名称,将值赋给变量。gydF4y2Ba

你可以通过以下方式改变通道对象的可写属性:gydF4y2Ba

  • 要更改通道对象属性的默认值,请在对象创建语法中输入所需的值。gydF4y2Ba

  • 若要更改通道对象的可写属性的值,请在通道对象上发出使用点表示法的赋值语句。更具体地说,点表示法是指由对象名称、点和属性名称组成的表达式。gydF4y2Ba

显示瑞利通道对象属性gydF4y2Ba

创建Rayleigh通道对象并显示属性值。有些属性值是在创建对象时分配的,而其他属性有默认值。检索单个属性的值。有关特定通道属性的详细信息,请参阅gydF4y2Bacomm.RayleighChannelgydF4y2Ba对象。gydF4y2Ba

rayChan = com . rayleighchannel (gydF4y2Ba...gydF4y2BaSampleRate = 1 e5,gydF4y2Ba...gydF4y2BaMaximumDopplerShift = 130)gydF4y2Ba
rayChan = com . rayleighchannel with properties: SampleRate: 100000 pathlatency: 0 averagepathgain: 0 normalizepathgain: true MaximumDopplerShift: 130 DopplerSpectrum: [1x1 struct] ChannelFiltering: true PathGainsOutputPort: false显示所有属性gydF4y2Ba
g = rayChan。AveragePathGainsgydF4y2Ba
G = 0gydF4y2Ba

调整专家通道对象属性gydF4y2Ba

瑞利衰落信道对象没有一个瑞利衰落信道对象的附加属性,即标量gydF4y2BaKFactorgydF4y2Ba财产。类的参考页,以获得有关医师通道属性的更多信息gydF4y2Bacomm.RicianChannelgydF4y2Ba对象。gydF4y2Ba

更改专家通道对象属性gydF4y2Ba

创建一个专业通道对象。的默认设置gydF4y2Ba可视化gydF4y2Ba的财产gydF4y2Ba“关闭”gydF4y2Ba来gydF4y2Ba的脉冲响应gydF4y2Ba在调用对象时,生成输出信号的脉冲响应图。输出显示通道对象的所有属性的子集。选择gydF4y2Ba所有属性gydF4y2Ba以查看完整的属性集gydF4y2BaricChangydF4y2Ba.gydF4y2Ba

ricChan = comm.RicianChannel;ricChan。可视化=gydF4y2Ba的脉冲响应gydF4y2Ba
ricChan = com . ricicianchannel with properties: SampleRate: 1 pathlatency: 0 averagepathgain: 0 normalizepathgain: true KFactor: 3 DirectPathDopplerShift: 0 DirectPathInitialPhase: 0 MaximumDopplerShift: 1.0000 -03 DopplerSpectrum: [1x1 struct] ChannelFiltering: true PathGainsOutputPort: false显示所有属性gydF4y2Ba

通道对象属性之间的关系gydF4y2Ba

通道对象的某些属性是相互关联的,例如当一个属性的值发生变化时,另一个属性的值必须以某种相应的方式发生变化,以保持通道对象的一致性。例如,如果你改变向量的长度gydF4y2BaPathDelaysgydF4y2Ba的值gydF4y2BaAveragePathGainsgydF4y2Ba必须改变,使它的向量长度等于的新值gydF4y2BaPathDelaysgydF4y2Ba.这是因为两个向量的长度等于信道的离散路径的数量。有关链接属性和示例的详细信息,请参见gydF4y2Bacomm.RayleighChannelgydF4y2Ba或gydF4y2Bacomm.RicianChannelgydF4y2Ba.gydF4y2Ba

指定衰落信道的多普勒频谱gydF4y2Ba

信道对象的多普勒频谱是通过它来指定的gydF4y2BaDopplerSpectrumgydF4y2Ba财产。此属性的值必须是:gydF4y2Ba

  • 多普勒频谱结构。在这种情况下,相同的多普勒频谱适用于通道物体的每个路径。gydF4y2Ba

  • 多普勒频谱结构单元阵列的长度与gydF4y2BaPathDelaysgydF4y2Ba矢量属性。在这种情况下,每条路径的多普勒频谱由矢量中相应的多普勒频谱结构给出。gydF4y2Ba

    • 当向量的长度gydF4y2BaPathDelaysgydF4y2Ba属性是增加的,长度gydF4y2BaDopplerSpectrumgydF4y2Ba自动增加以匹配的长度gydF4y2BaPathDelaysgydF4y2Ba,通过附加Jakes多普勒频谱结构。gydF4y2Ba

    • 如果长度gydF4y2BaPathDelaysgydF4y2Ba矢量属性是减小的,长度gydF4y2BaDopplerSpectrumgydF4y2Ba自动减少以匹配的长度gydF4y2BaPathDelaysgydF4y2Ba,通过去除最后的多普勒频谱结构。gydF4y2Ba

多普勒频谱结构包含用于表征多普勒频谱的特性,但最大多普勒频移是信道对象的特性。本节描述如何创建和操作多普勒频谱结构,以及如何将它们分配给gydF4y2BaDopplerSpectrumgydF4y2Ba通道对象的属性。gydF4y2Ba

创建一个多普勒频谱结构gydF4y2Ba

若要创建多普勒频谱结构,请使用gydF4y2Ba多普勒gydF4y2Ba函数。的唯一目的gydF4y2Ba多普勒gydF4y2Ba函数是创建多普勒频谱结构用来指定的值gydF4y2BaDopplerSpectrumgydF4y2Ba通道对象的属性。从以下选项中选择:gydF4y2Ba

  • 多普勒(厕所)gydF4y2Ba

  • 多普勒(“平”)gydF4y2Ba

  • 多普勒(‘圆’,…)gydF4y2Ba

  • 多普勒(“钟”,…)gydF4y2Ba

  • 多普勒(“不对称杰克”,…)gydF4y2Ba

  • 多普勒(“受限杰克”,…)gydF4y2Ba

  • 多普勒(“高斯”,…)gydF4y2Ba

  • 多普勒(BiGaussian,…)gydF4y2Ba

例如,一个归一化(通过信道的最大多普勒频移)标准偏差为0.1的高斯频谱,可以创建为:gydF4y2Ba

dopp1 =多普勒('高斯',0.1);gydF4y2Ba

请注意gydF4y2Ba

在创建多普勒频谱结构时,请考虑以下依赖关系:gydF4y2Ba

  • 如果你分配一个多普勒频谱结构给gydF4y2BaDopplerSpectrumgydF4y2Ba,所有路径具有相同的指定多普勒频谱。gydF4y2Ba

  • 如果gydF4y2BaFadingTechniquegydF4y2Ba属性是gydF4y2Ba正弦函数的和gydF4y2Ba,gydF4y2BaDopplerSpectrumgydF4y2Ba必须gydF4y2Ba多普勒(厕所)gydF4y2Ba;gydF4y2Ba

  • 如果你将不同多普勒频谱结构的行单元阵列分配给gydF4y2BaDopplerSpectrumgydF4y2Ba,每条路径都具有单元阵列中对应结构所指定的多普勒频谱。在这种情况下,的长度gydF4y2BaDopplerSpectrumgydF4y2Ba一定等于的长度gydF4y2BaPathDelaysgydF4y2Ba.gydF4y2Ba

  • 要生成C代码,请指定gydF4y2BaDopplerSpectrumgydF4y2Ba到单一多普勒频谱结构。gydF4y2Ba

查看和更改多普勒频谱结构特性gydF4y2Ba

通过指定多普勒频谱类型为来创建多普勒频谱结构gydF4y2Ba“圆”gydF4y2Ba,然后修改多项式类型的设置。gydF4y2Ba

一个具有默认属性的圆形多普勒频谱结构被创建和显示gydF4y2Ba多项式gydF4y2Ba修改字段。gydF4y2Ba

多普勒(gydF4y2Ba“圆”gydF4y2Ba)gydF4y2Ba
doppRound =gydF4y2Ba带字段的结构:gydF4y2BaSpectrumType: ' round '多项式:[1 -1.7200 0.7850]gydF4y2Ba

调整多项式的第三个系数。gydF4y2Ba

dopproud . polynomial (3) = 0.825gydF4y2Ba
doppRound =gydF4y2Ba带字段的结构:gydF4y2BaSpectrumType: ' round '多项式:[1 -1.7200 0.8250]gydF4y2Ba

请注意,有可能将多普勒频谱结构修改为无效配置。当结构被衰落信道对象使用时,执行多普勒频谱结构设置的验证。的gydF4y2BadoppRoundgydF4y2Ba上述定义的频谱结构是有效的。gydF4y2Ba

ricianCh = com . ricianchannel (gydF4y2Ba“DopplerSpectrum”gydF4y2BadoppRound)gydF4y2Ba
ricianCh = com . ricianchannel with properties: SampleRate: 1 pathlatency: 0 averagepathgain: 0 normalizepathgain: true KFactor: 3 DirectPathDopplerShift: 0 DirectPathInitialPhase: 0 MaximumDopplerShift: 1.0000 -03 DopplerSpectrum: [1x1 struct] ChannelFiltering: true PathGainsOutputPort: false显示所有属性gydF4y2Ba

在信道对象中使用多普勒频谱结构gydF4y2Ba

的gydF4y2BaDopplerSpectrumgydF4y2Ba通过给信道对象分配多普勒频谱结构或多普勒频谱结构矢量,可以改变信道对象的特性。gydF4y2Ba

用平多普勒频谱创建瑞利信道gydF4y2Ba

本示例展示如何将配置的瑞利信道对象的缺省Jakes多普勒频谱更改为平坦多普勒频谱。gydF4y2Ba

创建一个瑞利通道对象gydF4y2Ba

设置采样率为9600hz,最大多普勒频移为100hz。gydF4y2Ba

rayChan = com . rayleighchannel (gydF4y2Ba...gydF4y2Ba“SampleRate”gydF4y2Ba, 9600,gydF4y2Ba“MaximumDopplerShift”gydF4y2Ba, 100)gydF4y2Ba
rayChan = com . rayleighchannel with properties: SampleRate: 9600 pathlatency: 0 averagepathgain: 0 normalizepathgain: true MaximumDopplerShift: 100 DopplerSpectrum: [1x1 struct] ChannelFiltering: true PathGainsOutputPort: false显示所有属性gydF4y2Ba
rayChan。DopplerSpectrumgydF4y2Ba
ans =gydF4y2Ba带字段的结构:gydF4y2BaSpectrumType:“厕所”gydF4y2Ba

修改多普勒频谱gydF4y2Ba

创建一个平坦的多普勒频谱结构,然后将其分配到gydF4y2BarayChangydF4y2Ba对象。gydF4y2Ba

多普勒(gydF4y2Ba“平”gydF4y2Ba)gydF4y2Ba
doppFlat =gydF4y2Ba带字段的结构:gydF4y2BaSpectrumType:‘平’gydF4y2Ba
rayChan。DopplerSpectrum = doppFlatgydF4y2Ba
rayChan = com . rayleighchannel with properties: SampleRate: 9600 pathlatency: 0 averagepathgain: 0 normalizepathgain: true MaximumDopplerShift: 100 DopplerSpectrum: [1x1 struct] ChannelFiltering: true PathGainsOutputPort: false显示所有属性gydF4y2Ba
rayChan。DopplerSpectrumgydF4y2Ba
ans =gydF4y2Ba带字段的结构:gydF4y2BaSpectrumType:‘平’gydF4y2Ba

用高斯多普勒频谱创建专家通道gydF4y2Ba

这个例子展示了如何将配置的rist通道对象的默认Jakes多普勒频谱更改为规范化标准偏差为0.3的高斯多普勒频谱。然后,显示gydF4y2BaDopplerSpectrumgydF4y2Ba将多普勒谱的归一化标准差改为1.1。gydF4y2Ba

创建一个专业通道对象gydF4y2Ba

设置采样率为9600hz,最大多普勒频移为100hz, K因子为2。gydF4y2Ba

ricChan = com . ricianchannel (gydF4y2Ba...gydF4y2Ba“SampleRate”gydF4y2Ba, 9600,gydF4y2Ba“MaximumDopplerShift”gydF4y2Ba, 100,gydF4y2Ba“KFactor”gydF4y2Ba, 2)gydF4y2Ba
ricChan = com . ricianchannel with properties: SampleRate: 9600 pathlatency: 0 averagepathgain: 0 normalizepathgain: true KFactor: 2 DirectPathDopplerShift: 0 DirectPathInitialPhase: 0 MaximumDopplerShift: 100 DopplerSpectrum: [1x1 struct] ChannelFiltering: true PathGainsOutputPort: false显示所有属性gydF4y2Ba
ricChan。DopplerSpectrumgydF4y2Ba
ans =gydF4y2Ba带字段的结构:gydF4y2BaSpectrumType:“厕所”gydF4y2Ba

修改多普勒频谱gydF4y2Ba

创建一个归一化标准差为0.3的高斯多普勒频谱结构,并将其分配到gydF4y2BaricChangydF4y2Ba对象。gydF4y2Ba

多普勒(gydF4y2Ba“高斯”gydF4y2Ba, 0.3)gydF4y2Ba
doppGaus =gydF4y2Ba带字段的结构:gydF4y2BaSpectrumType: '高斯'归一化标准偏差:0.3000gydF4y2Ba
ricChan。多普勒光谱= doppGausgydF4y2Ba
ricChan = com . ricianchannel with properties: SampleRate: 9600 pathlatency: 0 averagepathgain: 0 normalizepathgain: true KFactor: 2 DirectPathDopplerShift: 0 DirectPathInitialPhase: 0 MaximumDopplerShift: 100 DopplerSpectrum: [1x1 struct] ChannelFiltering: true PathGainsOutputPort: false显示所有属性gydF4y2Ba
ricChan。DopplerSpectrumgydF4y2Ba
ans =gydF4y2Ba带字段的结构:gydF4y2BaSpectrumType: '高斯'归一化标准偏差:0.3000gydF4y2Ba
ricchan . dopplerspectrum .归一化标准差= 1.1;ricChan。DopplerSpectrumgydF4y2Ba
ans =gydF4y2Ba带字段的结构:gydF4y2BaSpectrumType: '高斯'归一化标准偏差:1.1000gydF4y2Ba

使用独立多普勒频谱创建瑞利信道gydF4y2Ba

将已配置的三路径瑞利信道对象的默认Jakes多普勒频谱更改为不同多普勒频谱的单元阵列,然后更改第三路径的多普勒频谱的属性。gydF4y2Ba

创建一个瑞利通道对象gydF4y2Ba

设置采样率为9600hz,最大多普勒频移为100hz,路径延迟为gydF4y2Ba0gydF4y2Ba,gydF4y2Ba1的军医gydF4y2Ba,gydF4y2Ba2.1秒的军医gydF4y2Ba.gydF4y2Ba

rayChan = com . rayleighchannel (gydF4y2Ba...gydF4y2BaSampleRate = 9600,gydF4y2Ba...gydF4y2BaMaximumDopplerShift = 100,gydF4y2Ba...gydF4y2Bapathdelayed =[0 1e-4 2.1e-4])gydF4y2Ba
rayChan = com . rayleighchannel with properties: SampleRate: 9600 pathlatency: [0 1.00000 -04 2.1000e-04] averagepathgain: 0 normalizepathgain: true MaximumDopplerShift: 100 DopplerSpectrum: [1x1 struct] ChannelFiltering: true PathGainsOutputPort: false显示所有属性gydF4y2Ba
rayChan。DopplerSpectrumgydF4y2Ba
ans =gydF4y2Ba带字段的结构:gydF4y2BaSpectrumType:“厕所”gydF4y2Ba

修改多普勒频谱gydF4y2Ba

指定gydF4y2BaDopplerSpectrumgydF4y2Ba属性作为每个路径具有独立多普勒频谱的单元阵列。gydF4y2Ba

rayChan。DopplerSpectrum =gydF4y2Ba...gydF4y2Ba{多普勒(gydF4y2Ba“平”gydF4y2Ba)多普勒(gydF4y2Ba“平”gydF4y2Ba)多普勒(gydF4y2Ba“圆”gydF4y2Ba)}gydF4y2Ba
rayChan = com . rayleighchannel with properties: SampleRate: 9600 pathlatency: [0 1.0000 -04 2.1000e-04] averagepathgain: 0 normalizepathgain: true MaximumDopplerShift: 100 DopplerSpectrum: {[1x1 struct] [1x1 struct] [1x1 struct]} ChannelFiltering: true PathGainsOutputPort: false显示所有属性gydF4y2Ba
rayChan。DopplerSpectrum {:}gydF4y2Ba
ans =gydF4y2Ba带字段的结构:gydF4y2BaSpectrumType:‘平’gydF4y2Ba
ans =gydF4y2Ba带字段的结构:gydF4y2BaSpectrumType:‘平’gydF4y2Ba
ans =gydF4y2Ba带字段的结构:gydF4y2BaSpectrumType: ' round '多项式:[1 -1.7200 0.7850]gydF4y2Ba

改变gydF4y2Ba多项式gydF4y2Ba属性。gydF4y2Ba

rayChan.DopplerSpectrum{3}。多项式= [1 -1.21 0.7]gydF4y2Ba
rayChan = com . rayleighchannel with properties: SampleRate: 9600 pathlatency: [0 1.0000 -04 2.1000e-04] averagepathgain: 0 normalizepathgain: true MaximumDopplerShift: 100 DopplerSpectrum: {[1x1 struct] [1x1 struct] [1x1 struct]} ChannelFiltering: true PathGainsOutputPort: false显示所有属性gydF4y2Ba
rayChan。DopplerSpectrum {:}gydF4y2Ba
ans =gydF4y2Ba带字段的结构:gydF4y2BaSpectrumType:‘平’gydF4y2Ba
ans =gydF4y2Ba带字段的结构:gydF4y2BaSpectrumType:‘平’gydF4y2Ba
ans =gydF4y2Ba带字段的结构:gydF4y2BaSpectrumType: ' round '多项式:[1 -1.2100 0.7000]gydF4y2Ba

配置通道对象gydF4y2Ba

在使用通道对象过滤信号之前,请确保通道的属性具有适合您要建模的情况的值。本节提供了一些指导原则,帮助您选择适合您的建模需求的实际值。主题是gydF4y2Ba

中描述了查看和更改通道对象属性值的语法gydF4y2Ba指定衰落信道gydF4y2Ba.gydF4y2Ba

选择现实通道属性值gydF4y2Ba

下面是一些选择描述现实通道的属性值的技巧:gydF4y2Ba

路径延迟gydF4y2Ba

  • 按照惯例,第一个延迟通常设置为零。第一个延迟对应于第一个到达的路径。gydF4y2Ba

  • 对于室内环境,第一次之后的路径延迟通常在1e-9秒和1e-7秒之间。gydF4y2Ba

  • 对于室外环境,第一次之后的路径延迟通常在1e-7秒和1e-5秒之间。例如,在这个范围内的大延迟可能对应于一个被山脉包围的地区。gydF4y2Ba

  • 信号解析离散路径的能力与其带宽有关。如果最大和最小路径延迟之间的差异小于符号周期的约1%,则信号经历通道,就好像它只有一个离散的路径。gydF4y2Ba

平均路径增益gydF4y2Ba

  • 信道对象中的平均路径增益表示每个衰落路径的平均功率增益。在实践中,平均路径增益值是一个很大的负dB值。然而,计算机模型通常使用[- 20,0]dB范围内的平均路径增益。gydF4y2Ba

  • 平均路径增益矢量中的dB值通常作为延迟的函数大致线性衰减,但具体的延迟分布取决于传播环境。gydF4y2Ba

  • 为确保组合路径增益的预期总功率为1,可以通过gydF4y2BaNormalizePathGainsgydF4y2Ba通道对象的属性。gydF4y2Ba

最大多普勒频移gydF4y2Ba

  • 多普勒频移是根据发射机和接收机之间的相对速度来确定的。赫兹的最大多普勒频移,gydF4y2BafgydF4y2BadgydF4y2Ba=gydF4y2BavfgydF4y2Ba∕gydF4y2BacgydF4y2Ba.在公式中,gydF4y2BavgydF4y2Ba是相对速度,单位为m/s,gydF4y2BafgydF4y2Ba是以赫兹为单位的传输载频,和gydF4y2BacgydF4y2Ba光速(3×10gydF4y2Ba8gydF4y2Ba米/秒)。相对速度是一个没有方向信息的幅度。gydF4y2Ba

  • 应用最大多普勒频移公式,假设传输载波频率为900兆赫,一辆汽车以高速公路速度行驶,一个行人。以高速公路速度行驶的汽车向固定接收器传输的信号将经历大约80赫兹的最大多普勒频移。一个信号从一个步行的行人拿着的手机传输到一个固定的接收器将经历大约4赫兹的最大多普勒频移。gydF4y2Ba

  • 最大多普勒频移为0对应于来自瑞利或瑞斯分布的静态信道。gydF4y2Ba

多普勒频谱gydF4y2Ba

  • 用于信道路径的多普勒频谱必须是输出的形式,从gydF4y2Ba多普勒gydF4y2Ba函数。gydF4y2Ba

  • 属性指定频谱类型的选项gydF4y2BaspecTypegydF4y2Ba输入gydF4y2Ba多普勒gydF4y2Ba函数。gydF4y2Ba

罗氏衰落信道的k因子gydF4y2Ba

  • 瑞尔斯k系数指定了直射视线路径的反射功率与漫射功率之比。比率是线性表示的,而不是以dB为单位。gydF4y2Ba

  • 对于罗氏衰落,k因子通常在[1,10]范围内。gydF4y2Ba

  • k因子为0对应瑞利衰落。gydF4y2Ba

罗氏衰落信道的视距路径多普勒频移gydF4y2Ba

  • 洛氏视距路径多普勒频移,也称为直接路径多普勒频移,指定了发射机和接收机之间的视距路径的相对运动。gydF4y2Ba

  • 赫兹的洛斯路多普勒频移,gydF4y2BafgydF4y2Bad_losgydF4y2Ba= (gydF4y2BaugydF4y2Ba⋅gydF4y2BawgydF4y2Ba)×gydF4y2BafgydF4y2Ba∕gydF4y2BacgydF4y2Ba.式中,(gydF4y2BaugydF4y2Ba⋅gydF4y2BawgydF4y2Ba)是向量的点积gydF4y2BaugydF4y2Ba而且gydF4y2BawgydF4y2Ba,gydF4y2BaugydF4y2Ba为发射机到接收机的归一化LOS路径,gydF4y2BawgydF4y2Ba是接收机相对于发射机的速度,gydF4y2BafgydF4y2Ba是以赫兹为单位的传输载频,和gydF4y2BacgydF4y2Ba光速(3×10gydF4y2Ba8gydF4y2Ba米/秒)。gydF4y2Ba

  • 将此公式应用于在指定的相对速度下900 MHz的传输载波频率。对于从坐标原点处的发射机发出的信号到达坐标[100 100 0]处的接收机,其中发射机和接收机之间的相对速度gydF4y2BawgydF4y2Ba=[3 -6 0.1]。LOS路径多普勒频移为4.25 Hz。gydF4y2Ba

多普勒频谱参数gydF4y2Ba

  • 看到gydF4y2Ba多普勒gydF4y2Ba各多普勒频谱结构的参考页,以说明参数及其意义。gydF4y2Ba

根据仿真需求配置通道对象gydF4y2Ba

配置通道对象以自定义过滤过程的技巧:gydF4y2Ba

  • 如果数据被划分为一系列向量(例如,在循环中处理),则可以多次调用通道对象(在循环中的每次迭代中)。通道的状态信息在每次调用之后更新并保存。通道输出与数据如何分区(向量长度)无关。gydF4y2Ba

  • 如果希望通道输出是可重复的,请选择种子选项gydF4y2BaRandomStreamgydF4y2Ba通道对象的属性。要重复输出,请调用gydF4y2Ba重置gydF4y2Ba对象函数来重置内部过滤器和内部随机数生成器。gydF4y2Ba

  • 如果要对不连续传输的数据建模,请设置gydF4y2BaFadingTechniquegydF4y2Ba财产gydF4y2Ba正弦函数的和gydF4y2Ba和gydF4y2BaInitialTimeSourcegydF4y2Ba财产gydF4y2Ba输入端口的gydF4y2Ba用于通道对象。在调用对象时,指定通道通过输入处理的每个数据向量/帧的开始时间。gydF4y2Ba

  • 如果要将衰落过程归一化,使路径增益的总功率的期望值为1(通道不贡献额外的功率增益或损耗),请设置gydF4y2BaNormalizePathGainsgydF4y2Ba属性的通道对象gydF4y2Ba真正的gydF4y2Ba.gydF4y2Ba

使用衰落信道gydF4y2Ba

在创建通道对象之后,如gydF4y2Ba指定衰落信道gydF4y2Ba,您可以调用对象通过通道传递信号。将信号作为输入参数提供给通道对象。在过滤操作结束时,通道对象保留其状态,以便通过调用info对象函数并将该对象作为输入参数,可以找出最终路径增益或通道已处理的样本总数。gydF4y2Ba

有关说明基本语法和状态保留的示例,请参见gydF4y2Ba褪色信号的力量gydF4y2Ba.gydF4y2Ba

要可视化通道的特征,请设置gydF4y2Ba可视化gydF4y2Ba财产gydF4y2Ba的脉冲响应gydF4y2Ba,gydF4y2Ba的频率响应gydF4y2Ba,或gydF4y2Ba的多普勒频谱gydF4y2Ba.有关更多信息,请参见gydF4y2Ba渠道可视化gydF4y2Ba.gydF4y2Ba

可视化三路径瑞利信道gydF4y2Ba

想象一个通道的脉冲响应。gydF4y2Ba

创建通道对象gydF4y2Ba

在创建通道对象时,使用名称-值对设置gydF4y2Ba可视化gydF4y2Ba财产gydF4y2Ba的脉冲响应gydF4y2Ba.gydF4y2Ba

rayChan = com . rayleighchannel (gydF4y2Ba...gydF4y2BaSampleRate = 100000,gydF4y2Ba...gydF4y2BaMaximumDopplerShift = 130,gydF4y2Ba...gydF4y2Bapathdelayed =[0 1.5e-5 3.2e-5],gydF4y2Ba...gydF4y2Baaveragepathgain =[0, - 3,3],gydF4y2Ba...gydF4y2Ba可视化=gydF4y2Ba的脉冲响应gydF4y2Ba);gydF4y2Ba

生成一个位流并创建一个DBPSK调制器对象。通过调用信道对象调制位流并将调制后的DBPSK信号通过信道传递。脉冲响应在对象被调用时被绘制出来。gydF4y2Ba

Tx = randi([0 1],500,1);dbspkMod = com . dbpskmodulator;dpskSig = dbspkMod(tx);y = rayChan(dpskSig);gydF4y2Ba

瑞利衰落信道gydF4y2Ba

下面的例子使用了衰落通道:gydF4y2Ba

衰减信号的功率gydF4y2Ba

绘制褪色信号的功率与样本数的关系图。实例说明了创建和调用对象的语法gydF4y2Bacomm.RayleighChannelgydF4y2Ba衰落信道对象,以及信道对象的状态保留。gydF4y2Ba

rayChan = com . rayleighchannel (gydF4y2Ba...gydF4y2BaSampleRate = 10000,gydF4y2Ba...gydF4y2BaMaximumDopplerShift = 100);Sig = 1i*ones(2000,1);out = rayChan(sig);rayChangydF4y2Ba
rayChan = com . rayleighchannel with properties: SampleRate: 10000 pathlatency: 0 averagepathgain: 0 normalizepathgain: true MaximumDopplerShift: 100 DopplerSpectrum: [1x1 struct] ChannelFiltering: true PathGainsOutputPort: false显示所有属性gydF4y2Ba

褪色信号的图功率与样本数的关系。gydF4y2Ba

情节(20 * log10 (abs ()))gydF4y2Ba

图中包含一个轴对象。axis对象包含一个line类型的对象。gydF4y2Ba

DBPSK在衰落条件下的经验与理论性能gydF4y2Ba

这个示例创建了一个频率平坦的瑞利衰落信道对象,并调用它来处理由单个向量组成的DBPSK信号。比特误码率(BER)计算不同的信噪比(SNR)值。当应用信道损伤时,衰落信道滤波器可以应用在信噪比值的环路之前。由于AWGN必须考虑信噪比(SNR),信号稍后通过AWGN通道滤波器,在循环内通过SNR值。当您将衰落与AWGN结合使用时,建议使用此序列。gydF4y2Ba

创建调制器、解调器、瑞利衰落信道、AWGN信道和用于仿真的错误率计算器系统对象。gydF4y2Ba

mod = com . dbpskmodulator;demod = com . dbpsk解调器;chan = com . rayleighchannel (gydF4y2Ba...gydF4y2BaSampleRate = 1 e4,gydF4y2Ba...gydF4y2BaMaximumDopplerShift = 100);awgnChan = com . awgnchannel (gydF4y2Ba...gydF4y2BaNoiseMethod =gydF4y2Ba信噪比(SNR)gydF4y2Ba);errorCalc = com . errorrate;gydF4y2Ba

生成符号的随机位流,并对这些符号应用DBPSK调制。将DBPSK调制的数据通过衰落信道传递。gydF4y2Ba

M = 2;gydF4y2Ba% DBPSK调制顺序gydF4y2Batx = randi([0 M-1],50000,1);gydF4y2Ba生成一个随机比特流gydF4y2BadpskSig = mod(tx);fadedSig = chan(dpskSig);gydF4y2Ba

为误码率结果预分配一个向量。计算不同信噪比值的错误率。gydF4y2Ba

信噪比= 0:2:20;numSNR =长度(SNR);berVec = 0 (3, numSNR);gydF4y2Ba为gydF4y2Ban = 1:numSNR awgnChan。信噪比=信噪比(n);rxSig = awgnChan(fadedSig);rx = demod(rxSig);reset(errorCalc) berVec(:,n) = errorCalc(tx,rx);gydF4y2Ba结束gydF4y2BaBER = berVec(1,:);gydF4y2Ba

计算理论性能结果,以便比较。gydF4y2Ba

BERtheory = berfade(信噪比,gydF4y2Ba“dpsk”gydF4y2Ba, M, 1);gydF4y2Ba

绘制BER结果。gydF4y2Ba

BERtheory semilogy(信噪比,gydF4y2Ba“b -”gydF4y2Ba、信噪比和误码率,gydF4y2Ba的r *gydF4y2Ba);传奇(gydF4y2Ba“理论误码率”gydF4y2Ba,gydF4y2Ba“经验系统”gydF4y2Ba);包含(gydF4y2Ba“信噪比(dB)”gydF4y2Ba);ylabel (gydF4y2Ba“方方面面”gydF4y2Ba);标题(gydF4y2Ba瑞利衰落信道上的二进制DPSKgydF4y2Ba);gydF4y2Ba

图中包含一个轴对象。标题为Binary DPSK over Rayleigh衰落信道的axis对象包含2个类型为line的对象。这些对象分别代表理论误码率、经验误码率。gydF4y2Ba

使用信道滤波器延迟gydF4y2Ba

要直接比较输入和输出数据集,必须使用适当的截断或填充操作来考虑延迟。衰落通道对象的gydF4y2BaChannelFilterDelaygydF4y2Ba属性值表示通道输出与输入之间延迟的样本数。这个例子说明了一种计算误码率时考虑延迟的方法。gydF4y2Ba

创建用于仿真的DBPSK调制器、DBPSK解调器、衰落信道和错误率计算系统对象。检索gydF4y2BaChannelFilterDelaygydF4y2Ba属性,以使用gydF4y2Ba信息gydF4y2Ba对象的功能。配置错误率计算对象以考虑衰落通道输出延迟。gydF4y2Ba

bitRate = 50000;mod = com . dbpskmodulator;demod = com . dbpsk解调器;rayChan = com . rayleighchannel (gydF4y2Ba...gydF4y2BaSampleRate =比特率,gydF4y2Ba...gydF4y2BaMaximumDopplerShift = 4,gydF4y2Ba...gydF4y2BaPathDelays =[0 0.5 /比特率),gydF4y2Ba...gydF4y2BaAveragePathGains = -10年[0]);chInfo = info(rayChan);延迟= chInfo。ChannelFilterDelaygydF4y2Ba
延迟= 7gydF4y2Ba
errorCalc = com . errorrate (ReceiveDelay=delay);gydF4y2Ba

为DBPSK调制生成随机数据符号。生成DBPSK调制数据,将调制数据通过衰落信道,解调信道受损数据。gydF4y2Ba

M = 2;gydF4y2Ba% DBPSK调制顺序gydF4y2Batx = randi([0 M-1],50000,1);dpskSig = mod(tx);fadedSig = rayChan(dpskSig);rx = demod(fadedSig);gydF4y2Ba

计算和显示误码率统计信息。错误率计算对象配置考虑了预期的衰落通道输出延迟。gydF4y2Ba

berVec = errorCalc(tx,rx);sprintf ([gydF4y2Ba收到'%d位。\n有%d位'gydF4y2Ba...gydF4y2Ba的错误。\n计算的误码率为%1.2f。gydF4y2Ba),gydF4y2Ba...gydF4y2BaberVec(3), berVec(2), berVec(1))gydF4y2Ba
Ans = '49993比特收到。有737位错误。计算出的误码率为0.01。”gydF4y2Ba

通道过滤使用For循环gydF4y2Ba

类中的瑞利衰落信道对输入数据进行过滤gydF4y2Ba为gydF4y2Ba循环。它使用来自连续迭代的小数据集来创建动画效果。瑞利衰落信道有两个离散的主路径。有关多次通过通道过滤数据,同时保持从一个调用到下一个调用的连续性的信息,请参见gydF4y2Ba根据仿真需求配置通道对象gydF4y2Ba.gydF4y2Ba

设置参数。的比特率gydF4y2Ba50 e3gydF4y2Ba的循环迭代计数gydF4y2Ba125gydF4y2Ba.创建QPSK调制器、瑞利衰落信道和星座图系统对象。gydF4y2Ba

bitRate = 50000;gydF4y2Ba数据速率为50kb /sgydF4y2BanumTrials = 125;gydF4y2Ba%循环的迭代次数gydF4y2BaM = 4;gydF4y2Ba% QPSK调制顺序gydF4y2BaPhaseoffset = pi/4gydF4y2Ba
相位偏移= 0.7854gydF4y2Ba
qpskMod = com . qpskmodulator;rayChan = com . rayleighchannel (gydF4y2Ba...gydF4y2BaSampleRate =比特率,gydF4y2Ba...gydF4y2BaMaximumDopplerShift = 4,gydF4y2Ba...gydF4y2BaPathDelays = [0 2 e-5],gydF4y2Ba...gydF4y2BaAveragePathGains = 9 [0]);cd = com .星座图;gydF4y2Ba

函数绘制期望的理想星座gydF4y2BaPlotConstellationgydF4y2Ba的属性gydF4y2BapskmodgydF4y2Ba函数。生成随机符号,对符号应用QPSK调制,并将调制后的信号在环路中通过衰落信道传递,保持连续性。在每次迭代中只绘制当前数据。gydF4y2Ba

pskmod ([0 M - 1], M, phaseoffset PlotConstellation = true);gydF4y2Ba

图中包含一个轴对象。标题为4-PSK,灰色映射的axis对象包含7个类型为line, text的对象。gydF4y2Ba

为gydF4y2Ban = 1:numTrials tx = randi([0 M-1],500,1);pskSig = pskmod(tx,M,相位偏移);fadedSig = rayChan(pskSig);gydF4y2Ba绘制每次for循环迭代的新数据。gydF4y2Ba更新(cd, fadedSig);gydF4y2Ba结束gydF4y2Ba

瑞尔斯衰落信道gydF4y2Ba

准静态信道建模gydF4y2Ba

通常,衰落信道中的路径增益在一段时间内变化不显著gydF4y2Ba1 / (100 fd)gydF4y2Ba秒,gydF4y2BafdgydF4y2Ba为最大多普勒频移。由于在许多现代无线数据应用程序中,这段时间对应着非常多的位,因此在统计上显著的信道衰落范围内评估性能需要模拟大量的数据。这个例子说明了准静态通道建模方法来收集统计上显著的错误数量。准静态通道建模提供了一种更易于控制的方法,您可以使用以下步骤实现:gydF4y2Ba

  1. 使用最大多普勒频移0生成一个随机信道实现。gydF4y2Ba

  2. 处理大量的比特。gydF4y2Ba

  3. 计算错误统计信息。gydF4y2Ba

  4. 重复这些步骤多次以生成性能度量的分布。gydF4y2Ba

设置模拟变量为每次试验的比特数、试验次数(具体为数据包数量)和调制顺序。通常情况下,gydF4y2BanumTrialsgydF4y2Ba将是一个很大的数字,以获得准确的估计中断概率或包错误率。使用gydF4y2Ba20.gydF4y2Ba这里只是为了让这个例子运行得更快。创建调制器、解调器和专家通道系统对象。将最大多普勒频移设置为零。gydF4y2Ba

numBits = 10000;gydF4y2Ba每次试用使用10000位gydF4y2BanumTrials = 20;gydF4y2Ba%误码率计算次数gydF4y2BaM = 4;dpskMod = com . dpskmodulator (ModulationOrder=M);dpskDemod = com . dpskdemodulator (ModulationOrder=M);ricianChan = com . ricianchannel (KFactor=3,MaximumDopplerShift=0);gydF4y2Ba

在一个gydF4y2Ba为gydF4y2Ba循环后,生成随机比特流,DPSK对信号进行调制,对调制后的信号进行滤波,并对衰减后的信号进行解调。对于符号错误率(SER),从样本2开始对每个包进行计算,由于DPSK初始条件,忽略第一个样本。gydF4y2Ba

错误=零(1,numTrials);gydF4y2Ba为gydF4y2Ban = 1:numTrials tx = randi([0 M-1],numBits,1);dpskSig = dpskMod(tx);fadedSig = ricianChan(dpskSig);rxSig = awgn(fadedSig,15,gydF4y2Ba“测量”gydF4y2Ba);rx = dpskDemod(rxSig);nErrors(n) = symerr(tx(2:end),rx(2:end));gydF4y2Ba结束gydF4y2Ba

显示gydF4y2BanErrorsgydF4y2Ba向量,它包含每个包的符号错误数。计算包错误率。由于示例中的随机性,运行结果会有所不同。gydF4y2Ba

nErrors (1:10)gydF4y2Ba
ans =gydF4y2Ba1×10gydF4y2Ba0 0 1 0 0 0 0 0 0 0gydF4y2Ba
nErrors (11)gydF4y2Ba
ans =gydF4y2Ba1×10gydF4y2Ba0 0 0 0 0 0 0 0gydF4y2Ba
per = mean(误差> 0)gydF4y2Ba包错误率gydF4y2Ba
Per = 0.0500gydF4y2Ba

更多关于准静态技术gydF4y2Ba

为了说明准静态信道建模方法如何节省计算,考虑一个无线局域网(LAN),其中载频为2.4 GHz,移动速度为1 m/s,比特率为10 Mb/s。下面的表达式表明通道在12500比特时变化不大:gydF4y2Ba

(gydF4y2Ba 1gydF4y2Ba One hundred.gydF4y2Ba fgydF4y2Ba dgydF4y2Ba 年代gydF4y2Ba )gydF4y2Ba (gydF4y2Ba 10 Mb /秒gydF4y2Ba )gydF4y2Ba =gydF4y2Ba (gydF4y2Ba cgydF4y2Ba One hundred.gydF4y2Ba vgydF4y2Ba fgydF4y2Ba 年代gydF4y2Ba )gydF4y2Ba (gydF4y2Ba 10gydF4y2Ba Mb /秒gydF4y2Ba )gydF4y2Ba =gydF4y2Ba 3.gydF4y2Ba ×gydF4y2Ba 10gydF4y2Ba 8gydF4y2Ba 米/秒gydF4y2Ba One hundred.gydF4y2Ba (gydF4y2Ba 1gydF4y2Ba 米/秒gydF4y2Ba )gydF4y2Ba (gydF4y2Ba 2.4gydF4y2Ba GHzgydF4y2Ba )gydF4y2Ba (gydF4y2Ba 10gydF4y2Ba Mb /秒gydF4y2Ba )gydF4y2Ba =gydF4y2Ba 12gydF4y2Ba ,gydF4y2Ba 500gydF4y2Ba bgydF4y2Ba

传统的蒙特卡罗方法计算该系统的错误率需要模拟数千次,总计数千万位。相比之下,准静态信道建模方法将在大约100个位置的每个位置模拟几个数据包,以得到错误率的空间分布。从这种分布可以确定,例如,在室内空间的一个随机位置,通信链路的可靠性。如果每个模拟包含5000个比特,那么100个模拟总共将处理50万个比特。与传统的蒙特卡罗方法相比,这大大减少了比特数。gydF4y2Ba

使用衰落通道的其他示例gydF4y2Ba