早年想创业的初衷已经变成了一种坚持。经历过严重的病痛(严重到生活无法自理)之后,更加珍惜这个网络传播知识这个平台。于是每天一篇文章的发布成为一种习惯,大部分是专业知识类的,也偶尔发一些散文或者游记,权当给自己和大家做个调剂。之前讲了相干解调涉及的算法、调试过程、信噪比等效等内容。后续还会再讲解工程化的内容。比如从捕获到跟踪!这个话题也涉及到大量的工程知识,内容非常多,尽量用两到三篇文章让大家入门。回到之前没有解决的问题!怎么减小仿真结果和理论值的差距?仿真结果和理论值的差距高达2dB啊!到底哪里出错了呢?慢慢查找程序中的问题吧。花了两个小时,改动了相关参数,终于减小了差距。仿真程序没有问题,但是参数没有设置为最优,自然差距就大了。那怎么改动呢?看下面的程序吧!
程序一直处于版本升级过程!
这里面涉及了所有的相干解调程序!
这些程序都已经在文章中展示了!
目前已经到4_3了。
在文章的末尾给出了!欢迎下载!
具体代码来啦!
程序中也提出了一些问题,
看看大家是否能解答?
cnr_number = 1; % 仿真循环次数
%--------- 帧头 20 位 --------
Iframe_head = [ 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1 1 -1];
%帧头的作用?后续系列讲同步的时候会详细讲解!
% 首先增加捕获内容!!!
%如何由这样的信号源增加捕获的内容呢?
% 值得大家期待!
%相干解调中如果早期知道已知信号,会不会加快环路的锁定过程呢?
%知识很多,这个系列也会很长!我们一起慢慢深入下去!
%------- 信息内容 150000 位 ----
indisplay1 = randi([0 1],1,150000);
% indisplay1 = ones(1,150000);
information1 = 2*indisplay1-1;
%--------起始内容是BTR位 -------
Ibit_flow = [Iframe_head information1];
% information Iframe_head information Iframe_head information];
%---------- 调制 ----------
len = length(Ibit_flow);
inf_phase = zeros(1,len);
inf_phase(1) = -pi/4;
%------- BPSK --------
Tra_baseI = Ibit_flow;
%----- 加入采样频偏 -----
sr = 2.4e3;
offset = 0; % 不加采样频偏
ins_value = 8;
ideal_samplefre = ins_value*sr;
samplefre= ideal_samplefre+offset;
time1= ceil(sr/ideal_samplefre.*(1:length(Tra_baseI)*8));
%----- 生成以8*2.4e3采样频率采样的数据 -------
Isignalsample = Tra_baseI(time1);
%------- 生成有载波调制的数据-----------
fcarrier = 3*sr;
foffset = 30; % Hz 频偏值
ophase = pi/3;
time = (0:length(Isignalsample)-1)/samplefre;
tra_IFsignal = Isignalsample.*cos(2*pi*(fcarrier+foffset).*time+ophase);
power_tra_IFsignal = sum(tra_IFsignal.^2)/len*2;
% 如果这里不乘2,那么EbNo = snr_10log10 + 6
% 那么后续得到的snr_10log10和awgn中设置的snr值是一样的!!!
%%%%%%%%%%%%%%%% %%%%%%%%%
%%%%%%%% 信道部分 %%%%%%%%%
%%%%%%%%%%%%%%%%%%%% %%%%%
for snr = 24 % 为什么设置这个范围?
审核编辑 :李倩
-
仿真
+关注
关注
50文章
4070浏览量
133552 -
程序
+关注
关注
117文章
3785浏览量
81004 -
解调
+关注
关注
0文章
67浏览量
26649
原文标题:大学毕业设计一席谈之二十 BPSK相干解调仿真(14)信噪比等效!
文章出处:【微信号:gh_30373fc74387,微信公众号:通信工程师专辑】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论