既然讲到了2bit差分解调,那就展示一下仿真程序吧!本课题的内容非常多,希望大家能够在学习程序的同时结合相关资料,这样有助于理解!后面文章也会上传资料到网盘,现在还在整理中,整理完成后就在文章中给出下载链接!这个系列的文章已经写了三篇,本人明显感觉精力不济,需要休息一下,后续再写涉及到仿真程序的文章!
不断修订程序!
力求深入浅出!
当然也在不断的增加注释!
%%****************** 程序主体 ***********************%%
format long;
%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% %%%%%%
%%%%%%%%%% 仿真参数部分 %%%%%%%%%
%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%
%******************** preparation part *******************
sr = 16000; % symbol rate
frame_len = 3; % subframe number,实际只测试第2帧
br = sr; % bit rate
frame_sumbitlen = 384 ; % 每时隙总bit数
slot_fb_bkn2_bitlen = 156; % 时隙fb编码后的载荷bit数
ipoint = 4;
% number of oversamples after agc
lp_bp = 0.25; % 低通滤波器带宽
lp1_bp = 0.5;
% 仿真结果表明在有频偏的情况下:0.25时效果最好 !
% 这比8倍采样时设置的0.06稍大,从解调的误码性能来说差异不大,但译码性能存在差异。
ebnolise = 9:16;
%******************** start calculation ***************************
nloop = 1000; % number of simulation loops
freoffset = 0; % fixed frequency offset
frephase_idx = 0;
phaoffset = frephase_idx*pi;
fresample = ipoint*sr;
%************************* filter initialization **************************
tra_coef = 0.3;
%************************* data generation *****************************
%%% 信号源
% 发送数据
data_cpu = randi([0 1],frame_len,slot_fb_bkn2_bitlen*2); % 来自cpu的数据
%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% %%%%%%%%%%%%%
%%%%%%%%%%%%%%%% 调制器部分 %%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% %%%%%%%%%%%%%%
%%%%%% 调制器dsp部分 %%%%%%%%%
%************************* signal frame generate *********************
% bit reverse
data_code = 2*data_cpu - 1;
%%% 同步序列
qa_nb = 2*[ 1,0,1,0,1,1,0,1,1,1 ] - 1; % 10 bit for nb
%%% 训练序列
pd_nb = 2*[ 1,1,1,0,1,1,0,1,0,1,1,0,0,1,1,0,0,0,0,0] - 1; % 20 bit for nb
len_pd_nb = 20;
%%% 同步序列
qb_nb = 2*[ 0,0,0,0,0,1,1,0,0,1 ] - 1; % 10 bit for nb
%%% 数据组bbk
bbk_nb = 2*randi([0 1],1,32) - 1;
% 组帧规则
for i = 1:frame_len
infloop((i-1)*frame_sumbitlen+1:i*frame_sumbitlen) = [qa_nb data_code(i,1:slot_fb_bkn2_bitlen) bbk_nb(1:16) pd_nb bbk_nb(17:32) data_code(i,slot_fb_bkn2_bitlen+1:end) qb_nb];
infor_loop(i,:) = infloop((i-1)*frame_sumbitlen+1:i*frame_sumbitlen);
end
%%% 信号组帧
information = infloop;
%%% 差分编码
% 和1bit差分解调的差异之处!!!
提升智慧矿山运输效率的皮带跑偏视频分析AI算法
热敏晶振的温度特性及选型
人工智能如何让科幻和现实交融
机器学习如何满足DNN推理的要求
储能逆变器和光伏逆变器的区别
基于GMSK差分解调仿真(3)
一文看懂7nm的应用领域
拒绝监视!旧金山立法禁止警察使用人脸识别
霍尔振动传感器
20个放大器配置常用设计公式
Vol.1 C0G特性及高耐压MLCC的特点与替换解决方案
专注钻研AMOLED显示技术20年 维信诺让中国屏扬眉吐气
米家互联网洗烘一体机评测 非常符合年轻消费群体的口味
疫情再度恶化,芯片供应如何
光缆的衰减、EBFA和喇曼放大器
基于单机存储系统故障恢复
经纬恒润又获奖啦!
跨区域远程沟通协作,大家保险选择华为云会议
同轴电缆和光纤哪个好
揭露美逛合伙人如何升级美逛店长的套路告诉你,那些你不知道的内幕模式