📄 msk_mod.m
字号:
% 调制信号码元数
N=50;
temp=rand(1,N);
for i=1:N
if temp(i)>0.5
tiaozhi_xinhao(i)=1;
else
tiaozhi_xinhao(i)=0;
end
end
% MSK调制 每个符号内载波样值点数1155
yangzhi_dianshu=1155; %66/8*140=70/8*132
yitiao_xinhao=zeros(1,N*yangzhi_dianshu);
phase_ini=0;
phase_leijiaqi=phase_ini;
for c1=1:N
if tiaozhi_xinhao(c1)==1
yitiao_xinhao(((c1-1)*yangzhi_dianshu+1):c1*yangzhi_dianshu)= sin(2*pi*(1:132*70/8)/140+phase_leijiaqi);
phase_leijiaqi=mod(phase_leijiaqi+pi/2,2*pi);
elseif tiaozhi_xinhao(c1)==0
yitiao_xinhao(((c1-1)*yangzhi_dianshu+1):c1*yangzhi_dianshu)= sin(2*pi*(1:132*70/8)/132+phase_leijiaqi);
phase_leijiaqi=mod(phase_leijiaqi+pi/2*3,2*pi);
end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%% MSK 解调
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% bendizaibo_chuanhao=zeros(1,yangzhi_dianshu);
% bendizaibo_konghao=zeros(1,yangzhi_dianshu);
% % 生成本地传号频率生成 频率66Hz 每个符号内载波样值点数1155 每个符号内有8.25哥周期载波 每个周期载波有140个样值
% bendizaibo_chuanhao=zeros(1,132*70/8); %1155样值
% for bb=1:132*70/8
% bendizaibo_chuanhao(1,bb)=sin(2*pi*bb/140);
% end
% % 生成本地空号频率生成 频率70Hz 每个符号内载波样值点数1155 每个符号内有8.75哥周期载波 每个周期载波有132个样值
% bendizaibo_konghaohao=zeros(1,140*66/8); %1155样值
% for bbb=1:140*66/8
% konghao_zaibo(1,bbb)=sin(2*pi*bbb/132);
% end
% 设置收端本地载波相位累加器phase_ini_bendi和初始相位寄存器phase_ini_bendi
phase_ini_bendi=0;
phase_leijiaqi_bendi=phase_ini;
%%MSK解调
jieshou_xulie=zeros(1,N);
for cc1=1:N
xiangganjietiao_konghao=zeros(1,1);
xiangganjietiao_chuanhao=zeros(1,1);
xiangganjietiao_konghao=yitiao_xinhao(((cc1-1)*yangzhi_dianshu+1):cc1*yangzhi_dianshu)*(sin(2*pi*(1:140*66/8)/132+phase_leijiaqi_bendi))';
xiangganjietiao_chuanhao=yitiao_xinhao(((cc1-1)*yangzhi_dianshu+1):cc1*yangzhi_dianshu)*(sin(2*pi*(1:132*70/8)/140+phase_leijiaqi_bendi))';
if xiangganjietiao_konghao>xiangganjietiao_chuanhao
jieshou_xulie(cc1)=0;
phase_leijiaqi_bendi=(phase_leijiaqi_bendi+pi*3/2);
elseif xiangganjietiao_konghao<=xiangganjietiao_chuanhao
jieshou_xulie(cc1)=1;
phase_leijiaqi_bendi=(phase_leijiaqi_bendi+pi/2);
end
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -