怎样用matlab实现fsk信号输出?

2024-12-27 21:07:30
推荐回答(1个)
回答1:

clear all;
%二进制数字序列
x=[1 0 0 1 0 1 1 0 1 1];
grid=200;%每个码元持续的时间
t=0:1/grid:length(x);
for i=1:length(x)
if(x(i)==1)
for j=1:grid
y((i-1)*grid+j)=1;
end
else
for j=1:grid
y((i-1)*grid+j)=0;
end
end
end
y=[y,x(i)];
w1=2*pi;w2=4*pi;A=1;
c1t=A*sin(w1*t);c2t=A*sin(w2*t);
subplot(2,2,1)
plot(t,c1t,'r'),title('正弦载波波形')
subplot(2,2,3)
plot(t,c2t,'r'),title('余弦载波波形')
subplot(2,2,2)
plot(t,y,'r'),title('数字序列波形')
for i=1:length(y);
if(y(i)==1)
e1t(i)=c1t(i);
else
e1t(i)=c2t(i);
end
end
subplot(2,2,4)
plot(t,e1t,'r'),title('2FSK输出波形')