主要内容

comm.RicianChannel

通过多径瑞尔斯衰落信道对输入信号进行滤波

描述

comm.RicianChannel系统对象™通过多径瑞斯特衰落信道对输入信号进行滤波。有关衰落模型处理的更多信息,请参见模拟多径衰落信道的方法部分。

通过多路径瑞尔斯衰落信道对输入信号进行滤波:

  1. 创建comm.RicianChannel对象并设置其属性。

  2. 使用参数调用对象,就像调用函数一样。

有关系统对象如何工作的详细信息,请参见什么是系统对象?

创建

描述

ricianchan= comm.RicianChannel创建一个频率选择或频率平坦多径瑞斯特衰落信道系统对象。该对象通过多径通道对真实或复杂的输入信号进行滤波,以获得信道受损信号。

例子

ricianchan= comm.RicianChannel(名称,值)使用一个或多个名称-值参数设置属性。例如,“SampleRate”,2设置输入信号采样率为2。

属性

全部展开

除非另有说明,属性为nontunable,这意味着在调用对象后不能更改它们的值。对象在调用时锁定,而释放功能解锁它们。

如果属性为可调,您可以随时更改其值。

有关更改属性值的详细信息,请参见使用系统对象的MATLAB系统设计

输入信号采样率(以赫兹为单位),指定为正标量。

数据类型:

以秒为单位的离散路径延迟,指定为标量或行向量。

  • 当你设置PathDelays对于标量,信道是频率平坦的。

  • 当你设置PathDelays对于矢量来说,信道是有频率选择性的。

PathDelays而且AveragePathGains属性的长度必须相同。

数据类型:

以分贝为单位的离散路径的平均增益,指定为标量或行向量。的AveragePathGains而且PathDelays属性的长度必须相同。

数据类型:

归一化平均路径增益,指定为以下逻辑值之一:

  • 1真正的) -衰落过程被归一化,使路径增益的总功率随时间平均为0 dB。

  • 0) -路径增益的总功率没有归一化。

AveragePathGains属性指定路径增益的平均幂。

数据类型:逻辑

瑞斯特衰落信道的k因子,用正标量或1 × -表示NP非负值的向量。NP方法指定的离散路径延迟数是否为PathDelays财产。

  • 当你设置KFactor到标量时,第一个离散路径是一个具有专家级k因子的专家级衰落过程KFactor.剩下的任何离散路径都是独立的瑞利衰落过程。

  • 当你设置KFactor对于向量,离散路径对应于向量的正元素KFactor向量是一个具有由该元素指定的专家级k因子的专家级衰落过程。的任意零值元素对应的离散路径KFactor矢量是瑞利衰落过程。至少有一个元素必须是非零的。

数据类型:

多径普勒斯衰落信道的视距分量的多普勒频移,指定为标量或行向量。单位是赫兹。属性的大小必须与KFactor财产。

  • 当你设置DirectPathDopplerShift为标量时,表示第一个离散路径的视线分量多普勒频移。这条路径显示了一个里斯特衰落过程。

  • 当你设置DirectPathDopplerShift向量的正元素对应的离散路径KFactor向量是一个罗氏衰落过程。的对应元素DirectPathDopplerShift指定该离散路径的多普勒频移的视线分量。

数据类型:

多径瑞斯特衰落信道的视距分量的初始相位,指定为标量或行向量。单位以弧度为单位。属性的大小必须与KFactor财产。

  • 当你设置DirectPathInitialPhase对于标量,该值表示第一个离散路径的视线组件初始阶段。这条路径显示了一个里斯特衰落过程。

  • 当你设置DirectPathInitialPhase向量的正元素对应的离散路径KFactor向量是一个罗氏衰落过程。的对应元素DirectPathInitialPhase指定该离散路径的视线组件初始阶段。

数据类型:

所有信道路径的最大多普勒频移,指定为非负标量。单位是赫兹。

最大多普勒频移限制适用于每个信道路径。当您将此属性设置为0时,整个输入通道保持静态。您可以使用重置对象函数生成新的通道实现。的MaximumDopplerShift属性值必须小于SampleRate/ 10 /fc对于每条路径。fc为路径的截止频率因子。对于大多数多普勒频谱类型,的值fc是1。对于高斯和双高斯多普勒频谱类型,的值fc依赖于多普勒频谱结构场。有关如何操作的详细信息fc是定义的,见截止频率因子部分。

数据类型:

所有信道路径的多普勒频谱形状,指定为多普勒频谱结构或1 × -NP多普勒频谱结构单元阵列。这些多普勒频谱结构必须是输出的形式从返回多普勒函数。NP是否指定了离散延迟路径的数量PathDelays财产。的MaximumDopplerShift属性定义的最大多普勒频移值DopplerSpectrum当你指定多普勒频谱时。

  • 当你设置DopplerSpectrum到单一多普勒频谱结构,所有路径都具有相同的指定多普勒频谱。

  • 当你设置DopplerSpectrum到单元阵列的多普勒频谱结构,每个路径具有单元阵列中相应结构所指定的多普勒频谱。

属性指定频谱类型的选项specType输入多普勒函数。如果你设置FadingTechnique财产正弦函数的和,您必须设置DopplerSpectrum多普勒(厕所)

依赖关系

属性可启用此属性MaximumDopplerShift属性转换为正标量。

数据类型:结构体|细胞

通道过滤,指定为以下逻辑值之一:

  • 1真正的通道接受一个输入信号并产生一个经过过滤的输出信号。

  • 0对象不接受输入信号,不产生滤波输出信号,只输出通道路径增益。属性指定衰落过程的持续时间NumSamples财产。

数据类型:逻辑

输出通道路径增益,指定为逻辑0)或1真正的).将此属性设置为真正的输出底层衰落过程的通道路径增益。

依赖关系

属性可启用此属性ChannelFiltering财产真正的

数据类型:逻辑

用于衰落过程持续时间的样本数目,指定为非负整数。

可调:是的

依赖关系

属性可启用此属性ChannelFiltering财产

数据类型:

路径增益输出数据类型,指定为“双”“单一”

依赖关系

属性可启用此属性ChannelFiltering财产

数据类型:字符|字符串

信道模型衰落技术滤波高斯噪声正弦函数的和

数据类型:字符|字符串

用于模拟衰落过程的正弦波数,指定为正整数。

依赖关系

属性可启用此属性FadingTechnique财产正弦函数的和

数据类型:

源来控制衰落进程的开始时间,指定为“属性”输入端口的

  • 当你设置InitialTimeSource“属性”方法设置初始时间偏移量InitialTime财产。

  • 当你设置InitialTimeSource输入端口的属性指定衰落过程的开始时间inittime输入参数。输入值可以在对对象的连续调用中更改。

依赖关系

属性可启用此属性FadingTechnique财产正弦函数的和

数据类型:字符|字符串

衰落模型的初始时间偏移,以秒为单位,指定为非负标量。

国防部InitialTime/SampleRate为非零时,初始时间偏移量四舍五入到最近的样本位置。

依赖关系

属性可启用此属性FadingTechnique财产正弦函数的和InitialTimeSource财产“属性”

数据类型:

随机数流的源,指定为“全球流”“mt19937ar with seed”

  • 当你指定“全球流”时,对象使用当前全局随机数流生成正态分布随机数。在这种情况下,重置对象函数只重置筛选器。

  • 当你指定“mt19937ar with seed”,对象采用mt19937ar算法生成正态分布随机数。在这种情况下,重置对象函数将重置筛选器并将随机数流重新初始化为种子财产。

数据类型:字符|字符串

mt19937ar随机数流发生器算法的初始种子,指定为非负整数。当你打电话给重置对象函数,它将mt19937ar随机数流重新初始化到种子价值。

依赖关系

属性可启用此属性RandomStream财产“mt19937ar with seed”

数据类型:

通道可视化,指定为“关闭”的脉冲响应的频率响应“脉冲和频率响应”,或的多普勒频谱.有关更多信息,请参见渠道可视化部分。

依赖关系

属性可启用此属性FadingTechnique财产滤波高斯噪声

数据类型:字符|字符串

用于显示多普勒频谱的路径,指定为范围为[1,NP]。NP是否指定了离散延迟路径的数量PathDelays财产。使用此属性可选择用于构建多普勒频谱图的离散路径。

依赖关系

属性可启用此属性可视化财产的多普勒频谱

数据类型:

要显示的样品百分比,指定为“25%”“10%”“50%”,或“100%”.增加百分比以牺牲模拟速度为代价提高了显示精度。

依赖关系

属性可启用此属性可视化财产的脉冲响应的频率响应,或“脉冲和频率响应”

数据类型:字符|字符串

使用

描述

例子

y= ricianchan (x滤波输入信号x通过多路径专家衰落信道,并返回结果y

要启用此语法,请设置ChannelFiltering财产真正的

例子

y= ricianchan (xinittime指定衰落进程的开始时间。

要启用此语法,请设置FadingTechnique财产正弦函数的和InitialTimeSource财产输入端口的

例子

ypathgains= ricianchan(___还返回底层多路径瑞尔斯衰落过程的通道路径增益pathgains使用前面语法中的任何输入参数组合。

要启用此语法,请设置PathGainsOutputPort财产真正的

例子

pathgains= ricianchan ()返回底层衰落过程的通道路径增益。在这种情况下,通道不需要输入信号,作为路径增益的来源。

要启用此语法,请设置ChannelFiltering财产

pathgains= ricianchan (inittime返回从指定初始时间开始的底层衰落进程的通道路径增益。在这种情况下,通道不需要输入信号,作为路径增益的来源。

要启用此语法,请设置FadingTechnique财产正弦函数的和,InitialTimeSource财产输入端口的,以及ChannelFiltering财产

输入参数

全部展开

输入信号,指定为N年代-by-1向量,其中N年代是样本的数量。

数据类型:|
复数支持:万博1manbetx是的

初始时间偏移量(以秒为单位),指定为非负标量。

国防部inittime/SampleRate为非零时,初始时间偏移量四舍五入到最近的样本位置。

数据类型:|

输出参数

全部展开

输出信号,返回为N年代-by-1的复值向量,数据精度与输入信号相同xN年代是样本的数量。

输出路径增益,返回为N年代——- - - - - -NP矩阵。N年代是样本的数量。NP是否指定了离散延迟路径的数量PathDelays财产。pathgains包含复杂值。

当你设置ChannelFiltering财产,此输出的数据类型与输入信号具有相同的精度x.当你设置ChannelFiltering财产真正的时,此输出的数据类型由OutputDataType财产。

对象的功能

要使用对象函数,请将System对象指定为第一个输入参数。例如,释放system对象的系统资源obj,使用这种语法:

发行版(obj)

全部展开

信息 衰落信道对象的特征信息
一步 运行系统对象算法
释放 释放资源并允许更改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

使用两种不同的随机数生成方法产生相同的多径瑞斯特衰落信道响应。多路径专家衰落通道系统对象包括两种生成随机数的方法。您可以使用当前全局流或带有指定种子的mt19937ar算法。通过与全局流交互,System对象可以从两个方法产生相同的输出。

创建一个PSK调制器系统对象来调制随机生成的数据。

pskModulator = com . pskModulator;insing = randi([0,pskModulator.ModulationOrder-1],1024,1);channelInput = pskModulator(insg);

创建一个多路径专家衰落通道系统对象,指定随机数生成方法为my19937ar算法,随机数种子为73。

ricianchan = com . ricianchannel (...“SampleRate”1 e6,...“PathDelays”,[0.0 0.5 1.2]*1e-6,...“AveragePathGains”,[0.1 0.5 0.2],...“KFactor”, 2.8,...“DirectPathDopplerShift”, 5.0,...“DirectPathInitialPhase”, 0.5,...“MaximumDopplerShift”, 50岁,...“DopplerSpectrum”多普勒(“钟”8),...“RandomStream”“mt19937ar with seed”...“种子”, 73,...“PathGainsOutputPort”,真正的);

通过使用多路径专家衰落信道系统对象对调制数据进行过滤。

[RicianChanOut1,RicianPathGains1] = ricianchanan (channelInput);

将System对象设置为使用全局流生成随机数。

释放(ricianchan);ricianchan。RandomStream =“全球流”

将全局流设置为具有与创建多路径专业衰落通道系统对象时指定的相同的种子。

rng (73)

再次使用多路径专家衰落信道系统对象对调制数据进行过滤。

[RicianChanOut2,RicianPathGains2] = ricianchanan (channelInput);

验证这两个方法的通道和路径增益输出是否相同。

isequal (RicianChanOut1 RicianChanOut2)
ans =逻辑1
isequal (RicianPathGains1 RicianPathGains2)
ans =逻辑1

显示配置为禁用信道滤波的频率选择多径瑞斯特衰落信道的脉冲和频率响应。

定义模拟变量。使用ITU行人B信道配置指定路径延迟和增益。

Fs = 3.84e6;%采样率(Hz)pathdelayed = [0 200 800 1200 2300 3700]*1e-9;%(秒)avgpathgain = [0 -0.9 -4.9 -8 -7.8 -23.9];% dBKfact = 10;%专家k因子fD = 50;%最大多普勒频移,单位为Hz

创建一个多路径专家衰落通道系统对象,以可视化脉冲响应和频率响应图。

ricianChan = com . ricianchannel (“SampleRate”fs,...“PathDelays”pathDelays,...“AveragePathGains”avgPathGains,...“KFactor”kfact,...“MaximumDopplerShift”fD,...“ChannelFiltering”假的,...“可视化”“脉冲和频率响应”);

通过在没有输入信号的情况下运行多路径专家衰落信道系统对象来可视化信道响应。脉冲响应图使您能够识别各个路径及其对应的滤波器系数。频率响应图显示了国际电联行人B信道的频率选择特性。

ricianChan ();

图频率响应包含一个axis对象和其他类型为uiflowcontainer、uimenu、uitoolbar的对象。axis对象包含两个text、line类型的对象。该对象表示通道1。

图脉冲响应包含一个axis对象和其他类型为uiflowcontainer、uimenu、uitoolbar的对象。axis对象包含stem、text类型的3个对象。这些对象表示路径增益,信道滤波器系数。

通过使用配置为使用正弦和衰落技术的多径瑞斯特衰落信道系统对象,显示信道状态对于不连续传输是保持的。观察不连续的信道响应段叠加在连续的信道响应上。

设置通道属性。

Fs = 1000;%采样率(Hz)pathdelayed = [0 2.5e-3];%秒pathPower = [0 -6];% In dBfD = 5;最大多普勒频移(以Hz为单位)Ns = 1000;样本数量%Nsdel = 100;%延迟路径的样本数

定义一个连续的时间跨度和三个不连续的时间段,在此范围内绘制和查看信道响应。查看从时间0开始的1000个样本连续通道响应,以及分别从0.1秒、0.4秒和0.7秒开始的三个100个样本通道响应。

To0 = 0.0;To1 = 0.1;To2 = 0.5;To3 = 0.8;T0 = (to0:ns-1)/fs;%传输0T1 = to1+(0:nsdel-1)/fs;%传输1T2 = to2+(0:nsdel-1)/fs;%传输2T3 = to3+(0:nsdel-1)/fs;%传输3

创建一个频率平坦的多路径专家衰落系统对象,指定1000hz采样率、正弦和衰落技术、禁用的通道滤波和要查看的样本数量。指定种子值,以便结果可以重复。使用默认值InitialTime属性设置,以便从时间0开始模拟衰落信道。

ricianchan1 = com . ricianchannel (“SampleRate”fs,...“MaximumDopplerShift”fD,...“RandomStream”“mt19937ar with seed”...“种子”, 17岁,...“FadingTechnique”正弦函数的和...“ChannelFiltering”假的,...“NumSamples”、ns);

创建多路径专家衰落通道系统对象的克隆。设置延迟路径的采样数。设置初始时间的源,以便在使用System对象时将衰落通道偏移时间指定为输入参数。

Ricianchan2 =克隆(ricianchan1);ricianchan2。InitialTime年代ource =输入端口的;ricianchan2。NumSamples= nsdel;

方法将路径增益输出保存为连续信道响应ricianchan1对象和用于不连续延迟信道响应的ricianchan2对象的初始时间偏移量作为输入参数提供。

Pg0 = ricianchan1();Pg1 = ricianchan2(to1);Pg2 = ricianchan2(to2);Pg3 = ricianchan2(to3);

比较两个通道处理的样本数量信息对象的功能。的ricianchan1对象处理了1000个样本,而ricianhan2Object只处理了300个样本。

G = info(ricianchan1);H = info(ricianchan2);(G。NumSamplesProcessed H.NumSamplesProcessed]
ans =1×21000 300

将路径增益转换为分贝。

pathGain0 = 20*log10(abs(pg0));pathGain1 = 20*log10(abs(pg1));pathGain2 = 20*log10(abs(pg2));pathGain3 = 20*log10(abs(pg3));

绘制连续和不连续情况下的路径增益。三个分段的增益与连续情况下的增益相匹配。由于即使在数据不传输时,信道特性也保持不变,两个图的对齐表明正弦和技术适合于分组数据的模拟。

情节(t0、pathGain0“r——”)举行情节(t1, pathGain1,“b”)情节(t2, pathGain2“b”)情节(t3、pathGain3“b”grid xlabel(“时间(s)”) ylabel (路径增益(dB))传说(“连续”“不连续”“位置”“西北”)标题(“连续和间断传输路径增益”

图中包含一个轴对象。标题为连续和间断传输路径增益的axis对象包含4个类型为line的对象。这些对象表示连续的,不连续的。

方法重新生成多路径瑞斯瑞衰落通道输出ChannelFilterCoefficients返回的属性。信息的对象函数。comm.RicianChannel系统对象。

创建一个多路径专家衰落通道系统对象,定义两条路径。生成要通过通道的数据。

ricianchan = com . ricianchannel (...“SampleRate”, 1000,...“PathDelays”(0 1 e - 3),...“AveragePathGains”(0 - 2),...“PathGainsOutputPort”,真正的)
ricianchan = com . ricianchannel with properties: SampleRate: 1000 pathlatency: [0 1.0000 -03] averagepathgain: [0 -2] normalizepathgain: true KFactor: 3 DirectPathDopplerShift: 0 DirectPathInitialPhase: 0 MaximumDopplerShift: 1.0000 -03 DopplerSpectrum: [1x1 struct] ChannelFiltering: true PathGainsOutputPort: true显示所有属性
数据= randi([0 1],600,1);

通过通道传递数据。分配ChannelFilterCoefficients属性值赋给变量多项式系数

[chanout1,pg] = ricianchan(data);Chaninfo = info(richanchan)
chaninfo =带字段的结构:ChannelFilterDelay: 0 ChannelFilterCoefficients: [2x2 double] NumSamplesProcessed: 600
coeff = chaninfo. channelfilter系数;

计算存储在路径延迟位置上的延迟输入信号的分数多项式系数

Np = length(ricianchan. pathdelayed);fracdelaydata = 0 (size(data,1),Np);ii = 1:Np fracdelaydata(:,ii) = filter(coeff(ii,:),1,data);结束

应用路径增益并对所有路径的结果求和。

Chanout2 = sum(pg .* fracdelaydata,2);

将多路径瑞斯特衰落信道系统对象的输出与使用路径增益和ChannelFilterCoefficients多路径专家衰落通道系统对象的属性。

isequal (chanout1 chanout2)
ans =逻辑1

计算和绘制经验和理论概率密度函数(PDF)为一个医师通道与一条路径。

初始化参数并创建一个不应用通道过滤的rist通道系统对象。

Ns = 1.92e6;Rs = 1.92e6;dopplerShift = 2000;KFactor = -3;% In dBKFactorLin = 10.^(KFactor/10);线性单位chan = com . ricianchannel (...“SampleRate”Rs,...“PathDelays”0,...“KFactor”KFactorLin,...“AveragePathGains”0,...“MaximumDopplerShift”dopplerShift,...“ChannelFiltering”假的,...“NumSamples”Ns,...“FadingTechnique”正弦函数的和);

计算并绘制专家通道的经验和理论PDF。

图;持有经验PDF图Gain = chan();Pd = fitdist(abs(增益),“内核”“带宽”. 01);R = 0:.1:3;Y = pdf(pd,r);情节(r, y)%理论PDF图s =√(KFactorLin)/√(KFactorLin+1);sigma =根号(1/2)/根号(KFactorLin+1);Exp_pdf_amplitude = pdf(“Rician”r sσ);情节(r,传奇exp_pdf_amplitude”)(“经验”“理论”)标题(“经验和理论PDF曲线”

图中包含一个轴对象。标题为Empirical和Theoretical PDF Curves的坐标轴对象包含2个类型为line的对象。这些对象代表经验的、理论的。

计算和绘制经验和理论累积分布函数(CDF)为一个单一路径的专家级通道。

初始化参数并创建一个不执行通道过滤的rist通道系统对象。

Ns = 1.92e6;Rs = 1.92e6;dopplerShift = 2000;KFactor = -3;% In dBKFactorLin = 10.^(KFactor/10);线性单位chan = com . ricianchannel (...“SampleRate”Rs,...“PathDelays”0,...“KFactor”KFactorLin,...“AveragePathGains”0,...“MaximumDopplerShift”dopplerShift,...“ChannelFiltering”假的,...“NumSamples”Ns,...“FadingTechnique”正弦函数的和);

计算并绘制专家通道的经验和理论CDF。利用路径增益计算经验CDF。

经验CDF图G = chan();ecdf (abs (g));持有%理论CDF图R = 0:.1:3;s =√(KFactorLin)/√(KFactorLin+1);sigma =根号(1/2)/根号(KFactorLin+1);Exp_cdf_amplitude = cdf(“Rician”r sσ);情节(r,传奇exp_cdf_amplitude”)(电磁脉冲的“定理”)标题(“经验和理论CDF曲线”

图中包含一个轴对象。标题为Empirical and Theoretical CDF Curves的坐标轴对象包含楼梯、直线两种类型的对象。这些物体代表Emp, Theor。

更多关于

全部展开

参考文献

[1]Oestges, Claude和Bruno Clerckx。MIMO无线通信:从真实世界传播到空时码设计.马萨诸塞州波士顿:爱思唯尔,2007年。

[2]Correia, Luis M.,《科学和技术研究领域的欧洲合作(组织)》主编。移动宽带多媒体网络:4G技术、模型和工具.阿姆斯特丹第1版 ;波士顿:爱思唯尔/学术出版社,2006。

[3]克莫尔,j.p.,舒马赫,K.I.佩德森,P.E.莫根森和F.弗雷德里克森。随机MIMO无线电信道模型与实验验证。IEEE通讯选定领域杂志20日,没有。6(2002年8月):1211-26。https://doi.org/10.1109/JSAC.2002.801223。

[4]杰鲁基姆,米歇尔·C,菲利普·巴拉班和k·萨姆·山穆根。通信系统仿真.第二版。波士顿,马萨诸塞州:施普林格美国,2000年。

[5]帕佐德,M.,王成祥,B.霍格斯塔德。“基于正弦和的两种新方法,用于有效生成多个不相关瑞利衰落波形。”IEEE无线通信汇刊8,不。6(2009年6月):3122-31。https://doi.org/10.1109/TWC.2009.080769。

扩展功能

在R2013b中引入