详解matlab函数comm.RayleighChannel()

机械科学与技术
详解matlab函数comm.RayleighChannel()
comm.RayleighChannel()在R2016b开始使⽤,⽤来替换了之前的rayleighchan()⽅法;
⼀、构造⽅法:
H = comm.RayleighChannel创建频率选择性或频率平坦的多径瑞利衰落信道系统对象H.该对象通过多径信道过滤实数或复数输⼊信号以获得信道受损信号。
H = comm.RayleighChannel(Name,Value)创建⼀个多路径瑞利衰落信道对象H,其指定属性Name设置为指定的Value。 您可以按任何顺序指定其他名称 - 值对参数(Name1,Value1,...,NameN,ValueN)。
⼆、属性:
1. SampleRate:输⼊信号采样速率(Hz)。(以赫兹为单位指定输⼊信号的采样率,作为双精度,实数,正标量。 此属性的默认值为1 Hz。)
2. PathDelays:多径各路径的时延⽮量(秒)。(以秒为单位指定离散路径的延迟,作为双精度,实数,标量或⾏向量。 此属性的默认值为0。
将PathDelays设置为标量时,通道频率为平坦。
将PathDelays设置为⽮量时,通道是频率选择的)
3. AveragePathGains:多径各路径的平均信道增益⽮量(dB)。(以分贝为单位指定离散路径的平均增益,作为双精度,实数,标量或⾏向量。 此属性的默认值为0。
AveragePathGains必须与PathDelays具有相同的⼤⼩。)
4. NormalizePathGains:将平均路径增益归⼀化为0 dB。(将此属性设置为true可规范化衰落过程,使得路径增益的总功率(随时间平均)为0 dB。 此属性的默认值为true。)
5. MaximumDopplerShift: 最⼤多普勒频移(Hz)。(以赫兹为单位指定所有通道路径的最⼤多普勒频移,作为双精度,实数,⾮负标量。 此属性的默认值为0.001 Hz。
多普勒频移适⽤于信道的所有路径。 将MaximumDopplerShift设置为0时,通道对整个输⼊保持静态。 您可以使⽤reset⽅法⽣成新的通道实现。
对于每条路径,MaximumDopplerShift必须⼩于SampleRate / 10 / fc,其中fc表⽰路径的截⽌频率因⼦。 对于⼤多数多普勒频谱类型,fc的值为1.对于⾼斯和BiGaussian多普勒频谱类型,fc取决于多普勒频谱结构字段。 有关如何定义fc的更多详细信息,请参阅截⽌频率因⼦。)
6. DopplerSpectrum:多普勒频谱对象(s)(为通道的路径指定多普勒频谱形状。该属性接受从多普勒函数返回的单个多普勒频谱结构或这种结构的⾏单元阵列。指定多普勒频谱/频谱所需的最⼤多普勒频移值由MaximumDopplerShift属性给出。当MaximumDopplerShift属性值⼤于0时,此属性适⽤。此属性的默认值为doppler('Jakes')。
如果为DopplerSpectrum分配单个多普勒频谱结构,则所有路径都具有相同的指定多普勒频谱。如果FadingTechnique属性是正弦曲线的和,DopplerSpectrum必须是doppler('Jakes');否则,请从以下选择:
doppler('Jakes')
doppler('Flat')
doppler('Rounded', ...)
doppler('Bell', ...)
doppler('Asymmetric Jakes', ...)
doppler('Restricted Jakes', ...)
doppler('Gaussian', ...)
doppler('BiGaussian', ...)
如果将不同多普勒频谱结构的⾏单元阵列(可以从前⾯列表中的任何⼀个中选择)分配给DopplerSpectrum,则每个路径都具有由单元阵列中的相应结构指定的多普勒频谱。在这种情况下,DopplerSpectrum的长度必须等于PathDelays的长度。
要⽣成C代码,请将此属性指定为单个多普勒频谱结构。此属性的默认值为doppler('Jakes')。
7. FadingTechnique:⽤于对信道建模的衰落技术。(在滤波⾼斯噪声和正弦曲线之和之间进⾏选择,以指定通道建模的⽅式。 默认值为Filtered Gaussian noise。)
8. NumSinusoids:⽤于模拟衰落过程的正弦曲线的数量。(NumSinuoids属性是⼀个正整数标量,它指定了在建模通道时使⽤的正弦曲线的数量,仅当FadingTechnique属性设置为正弦曲线的总和时才可⽤。 默认值为48。)
9. InitialTimeSource:⽤于衰落过程开始时间的源。(将初始时间源指定为Property或Input端⼝。 当丙烷
无线modemFadingTechnique属性设置为正弦曲线之和时,此属性可⽤。 当InitialTimeSource设置为Input端⼝时,使⽤INITIALTIME输⼊到step函数指定衰落过程的开始时间。 输⼊值可以在对步进功能的连续调⽤中改变。 默认值为Property。)
10. InitialTime:衰落过程的初始时间(s)(将衰落过程的时间偏移指定为以秒为单位的实际⾮负标量。 当FadingTechnique属性设置为正弦曲线的Sum并且InitialTimeSource属性设置为Property时,此属性适⽤。 默认值为0。
InitialTime必须⼤于最后⼀帧结束时间。 当InitialTime不是1 / SampleRate的倍数时,它会向上舍⼊到最近的样本位置。)
11. RandomStream:随机数流作为源。(将随机数流的来源指定为Global stream |之⼀ mt19937ar与种⼦。 此属性的默认值为Global stream。
如果将RandomStream设置为Global stream,则当前的全局随机数流⽤于正态分布的随机数⽣成。 在这种情况下,重置⽅法仅重置过滤器。
如果使⽤种⼦将RandomStream设置为mt19937ar,则mt19937ar算法将⽤于正态分布的随机数⽣成。 在这种情况下,重置⽅法不仅重置过滤器,还将随机数流重新初始化为Seed属性的值。)
杨淑荣
12. Seed:mt19937ar随机数流的初始种⼦。(将mt19937ar随机数⽣成器算法的初始种⼦指定为双精度,实数,⾮负整数标量。 此属性的默认值为73.当您将RandomStream属性设置为带种⼦的mt19937ar时,此属性适⽤。 Seed在重置⽅法中重新初始化mt19937ar 随机数流。)
13. PathGainsOutputPort:是否启⽤信道可视化。(指定要显⽰为Off |之⼀的通道可视化类型 冲动响应| 频率响应| 脉冲和频率响应| 多普勒频谱。 此属性的默认值为Off。)
14. SamplesToDisplay:指定要显⽰的样本百分⽐(您可以指定要显⽰的样本百分⽐,因为显⽰较少的样本将导致更好的性能,但代价是精度较低。 将属性指定为10%|之⼀ 25%| 50%|100%。 当可视化设置为脉冲响应,频率响应或脉冲和频率响应时,这适⽤。 默认值为25%。)
15. PathsForDopplerDisplay:指定多普勒显⽰的路径。(您可以指定⼀个整数标量,⽤于选择构建多普勒频谱图时使⽤的离散路径。 指定的路径必须是{1,2,...,Np}的元素,其中Np是对象中指定的每个链接的离散路径的数量。 当可视化设置为多普勒频谱时,此属性适⽤。默认值为1。)
三、⽅法:
1. info:显⽰有关RayleighChannel对象的信息
2. reset:重置RayleighChannel对象的状态。
3. step:通过多径瑞利衰落信道滤波输⼊信号。
4. release:允许对系统属性的值修改。
(源码)⽰例1 - 使⽤两种不同的随机数⽣成⽅法⽣成相同的输出
pskModulator = comm.PSKModulator;
channelInput = pskModulator(randi([0 pskModulator.ModulationOrder-1],1024,1)); rayChan = comm.RayleighChannel(...
'SampleRate',10e3, ...
'PathDelays',[0 1.5e-4], ...
'AveragePathGains',[2 3], ...
'NormalizePathGains',true, ...
'MaximumDopplerShift',30, ...
'DopplerSpectrum',{doppler('Gaussian',0.6),doppler('Flat')}, ...
'RandomStream','mt19937ar with seed', ...
'Seed',22, ...
'PathGainsOutputPort',true);
[chanOut1,pathGains1] = rayChan(channelInput);
release(rayChan);
rayChan.RandomStream = 'Global stream';
rng(22)
[chanOut2,pathGains2] = rayChan(channelInput);
isequal(chanOut1,chanOut2) %logical 1
isequal(pathGains1,pathGains2) %logical 1
结果为;
(源码)⽰例2-显⽰瑞利信道的脉冲和频率响应:
fs = 3.84e6;                                    % Hz
pathDelays = [0 200 800 1200 2300 3700]*1e-9;    % sec
avgPathGains = [0 -0.9 -4.9 -8 -7.8 -23.9];      % dB
fD = 50;
琦君作者简介
rchan = comm.RayleighChannel('SampleRate',fs, ...
'PathDelays',pathDelays, ...
'AveragePathGains',avgPathGains, ...
'MaximumDopplerShift',fD, ...
'Visualization','Impulse and frequency responses');
x = randi([0 1],1000,1);
y = rchan(x);
陈宜国
结果:
源码⽰例三、使⽤正弦波总和技术⽣成瑞利信道:
fs = 1000;                % Sample rate (Hz)
pathDelays = [0 2.5e-3];  % Path delays (s)
pathPower = [0 -6];      % Path power (dB)
fD = 5;                  % Maximum Doppler shift (Hz) numSamples = 1000;        % Number of samples
rchan = comm.RayleighChannel('SampleRate',fs, ...
'PathDelays',pathDelays,'AveragePathGains',pathPower, ...
'MaximumDopplerShift',fD,'FadingTechnique','Sum of sinusoids') y = rchan(ones(numSamples,1));
t = (0:numSamples-1)'/fs;
plot(t,20*log10(abs(y)))
xlabel('Time (s)')
ylabel('Amplitude')
结果:

本文发布于:2024-09-21 19:54:44,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/149789.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:指定   属性   频谱
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议