MSK 信号调制推导2

MSK信号的表达式:

 由于

可以得到:

由于

设定

 

参考前一篇文章可以得出

由于当k-1为偶数时即k为奇数时,附加相位不变,可以得出变化周期为2Ts;且当k为偶数时,附加相位与输入数据的差分相关。

                                                                                                  (1)

                                                                                        (2)

当k为偶数时,附加相位与输入数据的差分相关。若输入数据不相同,也不同,造成不变, 可以得出变化周期为2Ts;当k为奇数时由于附加相位不变,相关,会出现变化。

 由此可以看出有如下变化规律:

(1)变化周期为2Ts;

(2)变化起点不同为偶数、为奇数。相差为Ts。

例如:

  如下是MSK的调制框图

这里要说的是串并变换需要按照公式(1)、(2)计算得出,由一路信号变成两路信号,没有Ts的周期延迟。两路信号是同步的,由上面的分析可以看出,变化值时刻相差Ts是一种相位连续造成的现象。

这里面还有可以思考一个问题,a  b   p  q  都是正负1;如果按照上述分析的p和q的规律,利用其它数据,特别的利用输入数据直接进行替换,那样生成的信号必定也是相位连续的MSK信号。

这样两路数据每符号持续两个周期Ts,q路延时Ts。当然替换后的信号也发生了变化。解调方式也需要发生变化。

这是修改的网上下载的一个代码:

需要的可以参考

n=100000;
count=100;
N=n/count;    %N=100
r=rand(1,N-1);
for i=1:N-1
if (r(i)>=0.5)
    r(i)=1;
else
    r(i)=-1;
end;
end;

for i=1:n-count    % ?9900??
    R(i)=r(((i-1)-mod((i-1),count))/count+1);
end;    %
a(1)=1; 
for i=2:N
if r(i-1)==1 a(i)=-a(i-1);
else a(i)=a(i-1);
end;
end;

for i=1:n
A(i)=a(((i-1)-mod((i-1),count))/count+1); 
end;


for i=1:N
if(mod(i,2))
l(i)=a(i);
l(i+1)=a(i);
else q(i)=a(i);
q(i-1)=a(i); 
end;
end;
for i=1:N-1%输入数据为差分前数据
if(mod(i,2))
l(i)=r(i);
l(i+1)=r(i);
else q(i)=r(i);
q(i-1)=r(i); 
end;
end;
for i=1:n
I(i)=l(((i-1)-mod((i-1),count))/count+1); 
end;
for i=1:n
Q(i)=q(((i-1)-mod((i-1),count))/count+1);
end;
ts=0.0001;
Ts=ts*count; 
fs=1/ts; 
fc=5/(2*Ts); 
t0=Ts*N-ts;
f=1/(4*Ts);
df=0.3;
tI=[-Ts:ts:t0-Ts];
tQ=[0:ts:t0];
tQ_R=[0:ts:t0-Ts];
c=2*pi*f;
u=I.*cos(c*tI);
v=Q.*sin(c*tQ);
U=u.*cos(2*pi*fc*tI);
V=v.*sin(2*pi*fc*tQ); 
for i=count+1:n
W(i)=U(i)+V(i-count); 
end;
figure 
subplot(4,1,1);
plot(tQ_R,R,'k');
axis([-Ts,0.1,-2,2]);
grid on 
subplot(4,1,2);
plot(tI,A,'k');axis([-Ts,0.1,-2,2]);
grid on
subplot(4,1,3);
plot(tI,I,'k');
axis([-Ts,0.1,-2,2]);
title('I');
grid on
subplot(4,1,4); plot(tQ,Q,'k');axis([-Ts,0.1,-2,2]);
title('Q');
grid on 
figure
subplot(3,1,1); 
plot(tI,U,'k');
axis([-Ts,0.1,-2,2]); 
title('I路信号');
grid on 
subplot(3,1,2); 
plot(tQ,V,'k');
axis([-Ts,0.1,-2,2]); 
title('Q路信号');
grid on

subplot(3,1,3); 
plot(tI,W,'k');
axis([-Ts,0.1,-2,2]);
title('MSK');
grid on
 

关于MSK信号如何解调呢?

请关注下一篇。

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值