MSK调制MATLAB仿真程序
MSK为相位连续的FSK调制,其基本原理如图所示:
方案一:按照上图的流程编写代码:
根据上图a和d两组码元的关系,不难看出这一部分应属于差分编码,在调制系统中,有两类调制需要用到,一个是DPSK,另一个就是MSK,仔细观察两种调制的关系,可以发现,不是同一种差分编码,而且好多资料里也写的是MSK差分编码是a(i)和d(i-1)异或。其实不是这样,正确关系应该是d(1)=a(1);d(i)是a(i)和d(i-1)同或结果。这里可以去书上查看相应a和d组码元,自己计算一下就明白了。
%方法一:计算相位变量
c=zeros(1,length(a));
c(1)=0;
for i=2:length(a)
if a(i)==a(i-1)
c(i)=c(i-1);
else a(i)~=a(i-1);
c(i)=c(i-1)+(a(i-1)-a(i))*((i-1)pi/2);
end
end
I=cos©; %I(k)
Q=a.cos©; %-Q(k)
%扩展码元,每个码元采样点数为number1,一共number个码元