您好,我看了您回答过的问题,相比您是一个matlab高手,也是一个热心的人,有个小问题想向您请教!

我用matlab仿真fsk信号的调制,现在想把调制出来的fsk信号波形存为.dat文件(老师要求的)并保存,用来下一步的解调使用,代码如下functionfsktext4... 我用matlab仿真fsk信号的调制,现在想把调制出来的fsk信号波形存为.dat文件(老师要求的)并保存,用来下一步的解调使用,代码如下

function fsktext4(s,fs,f0,f1)%信号s;抽样频率fs;载波f0、f1
%实现二进制信号的FSK调制
cp=[];mod=[];bit=[] %初始定义
dt=1/fs; %抽样周期
g1=s; %信号
g2=~s; %信号反向
g11=(ones(1,2000))'*g1; %产生1的方波信号
g1a=g11(:)'; %堆叠转置
g21=(ones(1,2000))'*g2; %产生0的方波信号
g2a=g21(:)'; %堆叠转置
t=0:dt:length(s)-dt; %时间长度

tuf1=cos(2*pi*f0.*t) %f0余弦波tuf2=cos(2*pi*f1.*t) %f1余弦波
for n=1:length(s); if s(n)==0;
cp1=ones(1,100);
c=sin(f0.*t);
bit1=zeros(1,100);
else s(n)==1;
cp1=ones(1,100);
c=sin(f1.*t);
bit1=ones(1,100);
end
cp=[cp cp1];
mod=[mod c];
bit=[bit bit1];
end

subplot(411);plot(bit,'LineWidth',1.5);
title('基带信号')
ylabel('幅度'); %画出基带信号
axis([0 100*length(s) -0.5 1.5]);

subplot(412);plot(t,tuf1);
title('频率为f1的余弦波')
ylabel('幅度')

subplot(413);plot(t,tuf2);
title('频率为f2的余弦波')
ylabel('幅度')

subplot(414);fsk1=g1a.*tuf1;
fsk2=g2a.*tuf2;
fsk=fsk1+fsk2;
plot(t,fsk);
title('2fsk波形')
ylabel('幅度')

语句可能有点罗嗦
请告诉我保存dat文件的方法,如果方便,请帮我指正代码中不合适的地方。
肥肠粉感谢!
展开
 我来答
接娟瑰07
2013-04-13 · TA获得超过187个赞
知道答主
回答量:86
采纳率:0%
帮助的人:82.5万
展开全部
保存的方法是save *.dat 变量名 -ascii
然后你的tuf2被注释掉了,应该把这个分行写
tuf1=cos(2*pi*f0.*t) %f0余弦波
tuf2=cos(2*pi*f1.*t) %f1余弦波
那个if也应该转行
for n=1:length(s); if s(n)==0;

写成
for n=1:length(s);
if s(n)==0
追问
谢谢!
我这样存储的dat里面是数据还是波形呢?
下一步对这个dat文件还能调用,并解调成原始基带信号吗?

非常感谢!
追答
呃 是数据 读的话用textread这个函数可以读 用load也行
读出来后用plot可以画成图 就是你要还原的原始基带信号了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式