我如何改变向量的信噪比?

4视图(30天)
Faheem Ur Rehman
Faheem Ur Rehman 2021年8月31日
我有代码,我想改变信噪比= (20:10:30)。我如何用代码。
classdefhelperModClassTestChannel < matlab.System
属性
信噪比= 20;
CenterFrequency = 2.4 e9
结束
属性(Nontunable)
SampleRate = 1
PathDelays = 0
AveragePathGains = 0
KFactor = 3
MaximumDopplerShift = 0
MaximumClockOffset = 0
结束
属性(访问=私人)
MultipathChannel
FrequencyShifter
TimingShifter
C% 1 + 1 (ppm / e6)
结束
方法
函数obj = helperModClassTestChannel(变长度输入宗量)
%支金宝app持名称-值对参数构造对象的时候
找(obj,输入参数个数,变长度输入宗量{:})
结束
结束
方法(访问=保护)
函数setupImpl (obj)
obj。MultipathChannel = comm.RicianChannel (
“SampleRate”obj.SampleRate,
“PathDelays”obj.PathDelays,
“AveragePathGains”obj.AveragePathGains,
“KFactor”obj.KFactor,
“MaximumDopplerShift”,obj.MaximumDopplerShift);
obj。FrequencyShifter = comm.PhaseFrequencyOffset (
“SampleRate”,obj.SampleRate);
结束
函数y = stepImpl (obj, x)
%添加通道障碍
yInt1 = addMultipathFading (obj, x);
yInt2 = addClockOffset (obj, yInt1);
y = addNoise (obj, yInt2);
结束
函数= addMultipathFading (obj,)
%获得收益的新路径
重置(obj.MultipathChannel)
%通过输入通过新渠道
= obj.MultipathChannel(的);
结束
函数= addClockOffset (obj,)
%确定时钟偏移的因素
maxOffset = obj.MaximumClockOffset;
clockOffset = (rand () * 2 * maxOffset) - maxOffset;
obj。C= 1 + clockOffset / 1e6;
%添加频率偏移
outInt1 = applyFrequencyOffset (obj);
%添加采样时间漂移
= applyTimingDrift (obj, outInt1);
结束
函数= applyFrequencyOffset (obj,)
obj.FrequencyShifter。FrequencyOffset =
——(obj.C-1) * obj.CenterFrequency;
= obj.FrequencyShifter(的);
结束
函数= applyTimingDrift (obj,)
originalFs = obj.SampleRate;
x =(0:长度()1)/ originalFs;
newFs = originalFs * obj.C;
xp =(0:长度()1)/ newFs;
= interp1 (x,在xp);
结束
函数= addNoise (obj,)
= awgn (, obj.SNR);
结束
函数resetImpl (obj)
重置(obj.MultipathChannel);
重置(obj.FrequencyShifter);
结束
函数s = infoImpl (obj)
如果isempty (obj.MultipathChannel)
setupImpl (obj);
结束
%获得衰落信道的信道延迟对象的延迟
mpInfo = info (obj.MultipathChannel);
%计算最大频率偏移量
maxClockOffset = obj.MaximumClockOffset;
maxFreqOffset = (maxClockOffset / 1 e6) * obj.CenterFrequency;
%计算最大时间偏移量
maxClockOffset = obj.MaximumClockOffset;
maxSampleRateOffset = (maxClockOffset / 1 e6) * obj.SampleRate;
s =结构(“ChannelDelay”,
mpInfo.ChannelFilterDelay,
“MaximumFrequencyOffset”maxFreqOffset,
“MaximumSampleRateOffset”,maxSampleRateOffset);
结束
结束
结束

答案(1)

Wan霁
Wan霁 2021年8月31日
信噪比= 20:10:30;
(元素个数(信噪比)= helperModClassTestChannel ();
我= 1:1:信噪比
(我)。信噪比=信噪比(i);
结束
2的评论
沃尔特·罗伯森
沃尔特·罗伯森 2021年9月1日
信噪比= 20:10:30;
我= 1:1:信噪比
{我}= helperModClassTestChannel ();
{}。信噪比=信噪比(i);
结束

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!