看完了发射部分的代码,来看看信道和解调器的代码吧!为了仿真误码率,必须采用蒙特卡洛仿真,多次循环不可避免!如果减小循环数,加大数据长度,会导致仿真时间过长。有时候一天也“跑”不出误码结果!本文内容依旧超级长,需要耐心看完!同时本系列文章涉及的知识点难度较大,非专业人士切莫购买!!!
注意:误码性能仿真必须遵循蒙特卡洛仿真的原则,设定信噪比后,仿真出的误码数不应该少于100,不然就体现不出随机性。
%----经过加性高斯白噪声信道-----
spow = sum(tra_IFsignal.^2)/len; % sum: built in function
attn = 0.5*spow*sr/br*10.^(-ebn0/10);
attn = sqrt(attn); % sqrt: built in function
inoise = randn(1,length(tra_IFsignal)).*attn;
qnoise = randn(1,length(tra_IFsignal)).*attn;
realIFsignal = tra_IFsignal + inoise.*cos(2*pi*(fcarrier+foffset).*time) ...
- qnoise.*sin(2*pi*(fcarrier+foffset).*time);
注意中频信号加噪的方式!
还要给噪声加载波?有这个必要吗?大家有了仿真程序可以自行测试误码性能,然后再来评估是否有这个必要!那么直接采用awgn函数加噪的效果有会如何呢?提醒:awgn函数需要使用measured参数哦!因为后续还会涉及到信噪比的等效,所以要做归一化处理!不然你无法和理论误码率进行比对!
原文标题:通信原理与matlab仿真v2 第十六章 相干解调之联合环路仿真(2)接收机
文章出处:【微信公众号:通信工程师专辑】欢迎添加关注!文章转载请注明出处。
全部0条评论
快来发表一下你的评论吧 !