标题:关于FSK和MSK的调制器设计,看看程序错哪了???
取消只看楼主
laoxu626
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2006-5-25
 问题点数:0 回复次数:0 
关于FSK和MSK的调制器设计,看看程序错哪了???

>> x=0:0.01:8;
>> y = fsk(x,0.001,64,1,2000,5000);
>> plot(y)

>> y = msk(x,0.001,64,1,1000);
>> plot(y)
>> y = msk(x,0.001,64,1,2000);
>> plot(y)
>> y = msk(x,0.001,64,1,1000);
>> plot(y)
>> help fsk
digital为输入码流,T为码元周期,n为每个码元内正弦波抽样点数,
A为载波幅度,f1,f2为两个载波的角频率,f1对应0,f2对应1>> help msk
digital为输入码流,T为码元周期,n为每个码元内正弦波抽样点数(须为偶数),
A为载波幅度,f为载波的中心频率


关于FSK的
ction y = fsk(digital,T,t,n,A,f1,f2)
%digital为输入码流,T为码元周期,n为每个码元内正弦波抽样点数,
%A为载波幅度,f1,f2为两个载波的角频率,f1对应0,f2对应1
t = (0 : (n*length(digital)-1))*(T/n);
analog = kron(digital,ones(1,n));
y = A*(cos(2*pi*f1*t).*~analog + cos(2*pi*f2*t).*analog);


关于MSK的
ction y = msk(digital,T,n,A,f)
%digital为输入码流,T为码元周期,n为每个码元内正弦波抽样点数(须为偶数),
%A为载波幅度,f为载波的中心频率
di = digital(1:2:end)*2-1;
dq = digital(2:2:end)*2-1;
ai_tmp = kron(di,ones(1,2*n));
aq_tmp = kron(dq,ones(1,2*n));
if mod(length(digital),2) == 0
ai = ai_tmp((n+1):end);
aq = aq_tmp(1:(n*length(digital)-n));
t = (0 : (n*length(digital)-n-1))*(T/n);
else
ai = ai_tmp((n+1):(n*length(digital)));
aq = aq_tmp;
t = (0 : (n*length(digital)-n-1))*(T/n);
end
yi = ai.*cos(pi*t/2/T).*cos(2*pi*f*t);
yq = aq.*sin(pi*t/2/T).*sin(2*pi*f*t);
y = A*(yi + yq);


比较长,请懂的帮我看看,非常感谢

搜索更多相关主题的帖子: FSK 调制器 MSK 设计 
2006-05-28 19:21



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-68054-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.180766 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved