主要内容

comm.ricianchannel.

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

描述

comm.ricianchannel.系统对象™通过多径Rician衰落信道过滤输入信号。有关衰落模型处理的更多信息,请参见多径衰落信道仿真方法

使用多径Rician衰落信道对输入信号进行滤波:

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

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

要了解更多关于System对象如何工作的信息,请参见什么是系统对象?

创建

描述

ricianlchan= comm.ricianchannel.创建一个频率选择或频率平坦的多径Rician衰落信道System对象。该对象通过多路径通道过滤真实或复杂的输入信号,以获得通道受损信号。

例子

ricianlchan= comm.RicianChannel(名称,值)使用一个或多个名称-值对参数设置属性。将每个属性名用引号括起来。例如,comm.RicianChannel ('SampleRate',2)设置输入信号采样率为2。

属性

全部展开

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

如果一个属性是可调,您可以随时更改它的值。

有关更改属性值的更多信息,请参见在MATLAB中使用系统对象进行系统设计

输入信号采样率(Hz),指定为一个正标量。

数据类型:

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

  • pathdelays.是标量,信道是频率平坦的。

  • pathdelays.是矢量,信道是频率选择性的。

数据类型:

离散路径的平均增益,单位为分贝,指定为标量或行向量。AveragePathGains必须与pathdelays.财产。

数据类型:

将平均路径增益归一化为0db,作为逻辑指定1真的) 或者0).

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

  • NormalizePathGains,路径增益的总功率未标准化。

数据类型:逻辑

RicianK-factor,指定为非负值的正标量或行向量。向量的长度必须与向量的长度相同pathdelays.属性值。

  • KFactor是一个标量,第一个离散路径是一个Rician衰落过程K- FactorKFactor.任何剩余的离散路径都是独立的瑞利衰落过程。

  • KFactor是行向量,离散路径对应于KFactor传染媒介是瑞典的瑞典褪色过程K-由该元素指定的因子。的任意零值元素对应的离散路径KFactor向量为瑞利衰落过程。必须至少有一个元素值是非零的。

数据类型:

多径Rician衰落信道的视线分量的多普勒频移,指定为标量或行向量。单位是赫兹。的DirectPathDopplerShift财产必须具有相同的大小KFactor财产。

  • DirectPathDopplerShift是标量,该值表示第一离散路径的视线组件多普勒偏移。这条道路呈现出一个衰落的过程。

  • DirectPathDopplerShift是行向量,离散路径对应于KFactor向量是一个Rician衰落过程。对应的元素DirectPathDopplerShift指定该离散路径的视线分量多普勒频移。

数据类型:

多径Rician衰落信道的视线分量的初始相位,指定为标量或行向量。单位是弧度。的DirectPathInitialPhase财产必须具有相同的大小KFactor财产。

  • DirectPathInitialPhase为标量,该值表示第一个离散路径的视线分量初始相位。这条道路呈现出一个衰落的过程。

  • DirectPathInitialPhase是行向量,离散路径对应于KFactor向量是一个Rician衰落过程。对应的元素DirectPathInitialPhase指定该离散路径的视线组件初始阶段。

数据类型:

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

最大多普勒频移限制适用于每个通道路径。将此属性设置为0,该频道仍然是整个输入的静态。你可以使用重置对象函数生成新的通道实现。的MaximumDopplerShift属性值必须小于SampleRate/ 10 /fc对于每条路径。fc表示路径的截止频率因子。对于大多数多普勒频谱类型,值fc是1。对于高斯和双高斯多普勒频谱类型,fc取决于多普勒谱结构场。了解更多细节fc定义,请参阅截止频率的因素

数据类型:

所有通道路径的多普勒频谱形状,指定为多普勒频谱结构或1-by-NP多普勒频谱结构单元阵列。这些多普勒频谱结构必须是从多普勒函数。NP是离散延迟路径的个数,也就是pathdelays.财产。

  • DopplerSpectrum是由单个多普勒频谱结构定义的,所有路径具有相同的指定多普勒频谱。

  • DopplerSpectrum是由单元阵列所定义的多普勒频谱结构,每条路径都具有由单元阵列中相应结构所指定的多普勒频谱。

频谱类型的选项由此指定Spectype.的输入多普勒函数。如果你设置FadingTechnique财产正弦信号的总和,你必须设置DopplerSpectrum多普勒(厕所)

依赖关系

要启用此属性,请设置MaximumDopplerShift属性设置为正值。的MaximumDopplerShift属性定义在指定多普勒频谱时允许的最大多普勒换档值。

数据类型:结构体|细胞

信道模型衰落技术,具体为“过滤高斯噪声”正弦信号的总和

数据类型:字符|字符串

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

依赖关系

要启用此属性,请设置FadingTechnique财产正弦信号的总和

数据类型:

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

  • InitialTimeSource被设置为“属性”,可以使用InitialTime属性设置初始时间偏移量。

  • InitialTimeSource被设置为输入端口的,指定渐退过程的开始时间itime输入到System对象。输入值可以在对System对象的连续调用中更改。

依赖关系

该属性在FadingTechnique财产正弦信号的总和

数据类型:字符串|字符

衰落模型的初始时间偏移,以秒为单位,指定为非负标量。InitialTime必须大于最后一帧的结束时间。InitialTime当它不是1/的倍数时,是否四舍五入到最近的样本位置SampleRate

依赖关系

要启用此属性,请设置FadingTechnique财产正弦信号的总和InitialTimeSource财产“属性”

数据类型:

随机数流的源,指定为“全球流”“与种子mt19937ar”

  • “全球流”—当前全局随机数流用于生成正态分布随机数。在这种情况下重置对象函数仅重置通道筛选器。

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

数据类型:字符串|字符

mt19937ar随机数流生成器算法的初始种子,指定为非负整数。当重置对象函数时,将mt19937ar随机数流重新初始化为种子属性值。

依赖关系

属性设置时将应用此属性RandomStream财产“与种子mt19937ar”

数据类型:

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

数据类型:逻辑

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

数据类型:字符串|字符

显示的样本百分比,指定为“25%”'10%'“50%”,或“100%”.显示较少的样本以降低可视化精度为代价提高(降低)显示更新率。

依赖关系

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

数据类型:字符串|字符

多普勒显示路径,指定为正整数。使用这个属性来选择用于构造多普勒频谱图的离散路径。指定的路径必须是{1,2,…,NP.在这个集合中,NP是离散延迟路径的个数,也就是pathdelays.属性值。

依赖关系

要启用此属性,请设置可视化财产的多普勒频谱

数据类型:

用法

描述

y=瑞利奇坎(x过滤输入信号x通过多径Rician衰落信道返回输出信号y

ypathgains) = rayleighchan (x返回底层多径瑞典衰落过程的通道路径增益pathgains.要启用此语法,请将PathGainsOutputPort属性设置为1真的).

___=瑞利奇坎(xitime从指定的初始时间开始,将数据通过多径Rician衰落信道itime.要启用此语法,请设置FadingTechnique财产正弦信号的总和InitialTimeSource财产输入端口的

输入参数

全部展开

输入信号,指定为N年代-by-1矢量,在哪里N年代为样本数。

数据类型:|
复数的支持:金宝app是的

初始时间(以秒为单位),指定为非负标量。的itime输入必须大于最后一帧的结束时间。当itime不是1/的倍数吗SampleRate时,四舍五入到最近的样品位置。

数据类型:|

输出参数

全部展开

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

路径收益,作为一个返回N年代——- - - - - -NP数组中。N年代为样本数。NP是离散延迟路径的个数,也就是pathdelays.属性值。pathgains包含与输入信号精度相同的复数值x

对象的功能

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

释放(obj)

全部展开

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

例子

全部收缩

此示例显示如何通过使用两种不同的随机数生成方法生成相同的多路径瑞典衰减信道响应。MultiPath Rician衰减通道系统对象™包括两种随机数生成的方法。您可以使用具有指定种子的当前全局流或MT19937AR算法。通过与全局流交互,系统对象可以从这两种方法产生相同的输出。

创建PSK调制器System对象来调制随机生成的数据。

pskModulator = comm.PSKModulator;channelInput = pskModulator(randi([0 pskModulator. modulationorder -1],1024,1));

创建一个多径Rician衰落信道System对象,指定随机数生成方法为my19937ar算法,随机数种子为73。

ricianchan = comm.RicianChannel (...“SampleRate”1 e6,...'pathdelays'(0.0 0.5 1.2) * 1 e-6,...“AveragePathGains”(0.1 0.5 0.2),...“KFactor”, 2.8,...“DirectPathDopplerShift”, 5.0,...“DirectPathInitialPhase”,0.5,...“MaximumDopplerShift”,50,...“DopplerSpectrum”多普勒('钟'8),...“RandomStream”“与种子mt19937ar”...“种子”,73,...“PathGainsOutputPort”,真正的);

使用MultiPath Rician衰落通道系统对象过滤调制数据。

[RicianChanOut1, RicianPathGains1] = ricianchan(channelInput);

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

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

将全局流设置为具有在创建多路径Rician衰落信道System对象时指定的相同种子。

rng (73)

再次使用多径Rician衰落信道系统对象对调制数据进行滤波。

[RicianChanOut2, RicianPathGains2] = ricianchan (channelInput);

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

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

这个例子展示了如何创建一个频率选择的多径Rician衰落信道,并显示它的脉冲和频率响应。

将采样率设置为3.84 MHz。使用ITU步行B通道配置指定路径延迟和增益。将RICian K系数设置为10,最大多普勒移至50 Hz。

fs = 3.84 e6;%赫兹路径延迟= [0 200 800 1200 2300 3700]*1e-9;%交会avgpathgain = [0 -0.9 -4.9 -8 -7.8 -23.9];% dBfD = 50;%赫兹

使用前面定义的属性创建一个多径Rician衰落信道系统对象,并可视化脉冲响应和频率响应图。

ricianchan = comm.ricianchannel(“SampleRate”,fs,...'pathdelays'pathDelays,...“AveragePathGains”avgPathGains,...“KFactor”10...“MaximumDopplerShift”fD,...“可视化”“脉冲和频率响应”);

生成随机二进制数据并通过多径Rician衰落信道。脉冲响应图使您能够识别单个路径及其相应的滤波系数。频率响应图显示了国际电联行人B通道的频率选择特性。

X = randi([0 1],1000,1);y = ricianChan (x);

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

图脉冲响应包含一个轴和其他类型的uiflowcontainer, uimenu, uitoolbar对象。轴包含三个类型为stem, text的对象。这些对象代表路径增益,通道滤波系数。

该示例显示了在数据不连续传输的情况下如何维护信道状态。创建一个Rician通道对象,并使用正弦求和技术通过它传递数据。

设置通道属性。

FS = 1000;采样率(Hz)路径延迟= [0 2.5e-3];%路径延迟(s)pathpower = [0 -6];路径功率(dB)fD = 5;%最大多普勒频移(Hz)ns = 1000;%样本数量nsdel = 100;%延迟路径采样数

定义整个仿真时间和传输数据的三个时间段。在这种情况下,信道以1000hz采样率模拟1s。在时间0时传输一个1000样本连续数据序列。3个100个样本数据包的传输时间分别为0.1 s、0.5 s和0.8 s。

0 = 0.0;奖金= 0.1;拽着= 0.5;版本= 0.8;t0 = (0: ns-1) / fs;% 0传播t1 = to1 +(0:nsdel-1)/ fs;%传输1t2 =拽着+ (0:nsdel-1) / fs;%传输2t3 =版本+ (0:nsdel-1) / fs;%传输3

生成与之前定义的时间间隔相对应的随机二进制数据。

D0 = randi([0 1],ns,1);D1 = randi([0 1],nsdel,1);D2 = randi([0 1],nsdel,1);D3 = randi([0 1],nsdel,1);

创建频率平面多路径瑞典衰落系统对象,指定正弦曲线褪色技术。因此可以重复结果,指定种子值。使用默认值InitialTime属性设置,以便从时间0开始模拟衰落信道。使能路径增益输出。

ricianchan1 = comm.RicianChannel (“SampleRate”,fs,...“MaximumDopplerShift”5,...“RandomStream”“与种子mt19937ar”...“种子”, 17岁,...“FadingTechnique”正弦信号的总和...“PathGainsOutputPort”,真正的);

创建多径衰落信道系统对象的克隆。为初始时间设置源,以便在使用System对象时可以将衰落信道偏移时间指定为输入参数。

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

将随机二进制数据通过第一多径Rician衰落信道系统对象,riicianchan1..通过所有1000个时间样本传输数据。对于此示例,只需要复杂的路径增益。

[~, pg0] = ricianchan1 (d0);

通过第二个多径Rician衰落信道传递随机数据riicianchan2.,其中初始时间偏移量作为输入参数提供。

[~, pg1] = ricianchan2 (d1,奖金);[~, pg2] = ricianchan2 (d2,拽着);[~, pg3] = ricianchan2 (d3,版本);

通过使用通过使用两个通道处理的样本数量信息对象的功能。的riicianchan1.对象处理1000个样本,而ricianhan2对象只处理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”)网格包含('时间(秒)')ylabel(“路径增益(dB)”)传说(“连续”'不连续''地点'“西北”)标题('连续和不连续的传输路径增长'

图中包含一个坐标轴。标题为连续和不连续传输路径增益的轴包含4个线型对象。这些对象代表连续的,不连续的。

这个例子展示了如何使用ChannelFilterCoefficients财产返回信息的目标函数comm.ricianchannel.系统目标是再现多径Rician衰落信道输出。

创建多路径Rician衰落信道System对象,定义两条路径并指定要通过该信道的数据。

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

通过通道传递数据。分配ChannelFilterCoefficients属性的值多项式系数

[chanout1,pg] = riicchan(数据);chaninfo =信息(riicianchan)
chaninfo =结构与字段:ChannelFilterdelay:0 ChannelFilterCoeffients:[2x2 Double] NumSamplesProcessed:600
coeff = chaninfo.cannelfiltercoeffients;

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

Np =长度(ricianchan.PathDelays);fracdelaydata = 0(大小(数据,1),Np);ii = 1:Np fracdelaydata(:,ii) = filter(coeff(ii,:),1,data);结束

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

chout2 = sum(pg .* fracdelaydata,2); / /输出

将多径Rician衰落通道系统对象的输出进行比较,以使用路径增益再现的输出ChannelFilterCoefficients多径Rician衰落信道系统对象的性质。

isequal (chanout1 chanout2)
ans =逻辑1

计算和绘制经验的和理论的CDF的一条路径的Rician信道。

初始化参数并为Rician通道创建System对象。

Ns = 1.92 e6;Rs = 1.92 e6;dopplerShift = 2000;KFactor = 3;% dBKFactorLin = 10 ^ (KFactor / 10);%线性chan = comm.ricianchannel(...“SampleRate”Rs,...“PathDelays”,0,...“KFactor”KFactorLin,...“平均水平”,0,...“MaximumDopplerShift”dopplerShift,...“FadingTechnique”“正弦曲线的总和”...“PathGainsOutputPort”,真正的);

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

%经验CDF图[~, g] = chan(ones(Ns,1));ecdf (abs (g));持有%理论CDF图r = 0: .1:3;s =√KFactorLin /√(KFactorLin + 1);σ= sqrt(1/2) /√(KFactorLin + 1);exp_cdf_amplitude = cdf (“Rician”r sσ);情节(r,传奇exp_cdf_amplitude”)(电磁脉冲的“定理”

图中包含一个坐标轴。轴线包含楼梯型、直线型2个物体。这些物体代表电磁脉冲,希奥。

计算和绘图的经验和理论PDF与一条路径的Rician通道。

初始化参数并为Rician通道创建System对象。

Ns = 1.92 e6;Rs = 1.92 e6;dopplerShift = 2000;KFactor = 3;% dBKFactorLin = 10 ^ (KFactor / 10);%线性sig =复杂(randn (Ns, 1), randn (Ns, 1));chan = comm.ricianchannel(...“SampleRate”Rs,...“PathDelays”,0,...“KFactor”KFactorLin,...“平均水平”,0,...“MaximumDopplerShift”dopplerShift,...“FadingTechnique”正弦信号的总和...“PathGainsOutputPort”,真正的);

计算和绘图的经验和理论PDF为Rician通道。

图;持有%经验PDF图[〜,增益] =陈(sig);pd = fitdist(abs(gain),“内核”“带宽”. 01);r = 0: .1:3;y = pdf (pd, r);情节(r, y)%理论PDF图s =√KFactorLin /√(KFactorLin + 1);σ= sqrt(1/2) /√(KFactorLin + 1);exp_pdf_amplitude = pdf(“Rician”r sσ);plot(r,exp_pdf_amplitude')图例(“经验”“理论”

图中包含一个坐标轴。轴线包含2个线型对象。这些对象代表经验的,理论的。

更多关于

全部展开

参考文献

[1]厄斯吉斯,克劳德和布鲁诺·克勒克斯。MIMO无线通信:从真实世界的传播到空时编码设计.1 ed。波士顿,马:elsevier,2007年。

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

[3]kkermoal, j.p., L. Schumacher, k.i Pedersen, P.E. Mogensen和F. Frederiksen。随机MIMO无线信道模型与实验验证IEEE通信选定领域期刊20日,没有。6(2002年8月):1211-26。https://doi.org/10.1109/JSAC.2002.801223。

[4]Jeruchim, Michel C., Philip Balaban,和K. Sam Shanmugan。通信系统仿真.第二版。波士顿,马:斯普林克美国,2000年。

[5]Patzold,M.,Cheng-Xiang Wang和B. Hogstad。“用于高效生成多个不相关的瑞利衰落波形的两种基于新的正弦曲线的方法。”IEEE无线通信汇刊8,不。6(2009年6月):3122-31。https://doi.org/10.1109/TWC.2009.080769。

扩展功能

介绍在R2013B.