用matlab调制解调2fsk信号

来源:百度知道 编辑:UC知道 时间:2024/05/27 05:56:24
这是我写的前一段

clear all

%二进制随机序列

x=[0 1 1 0 0 1 0 1 0 1];%定义一个二进制10元素数组,作为FSK信号输入数据。
figure(1);
stem(x,'.');
title('二进制随机序列');xlabel('时间');ylabel('幅度');

%FSK信号的调制

f0=1000;f1=2000;fs=8000;ts=1/125;%0对应频率f0,1对应频率f1,采样频率fs,码元速率125波特。
tt=(0:1/fs:ts);
t=[tt;tt+ts;tt+2*ts;tt+3*ts;tt+4*ts;tt+5*ts;tt+6*ts;tt+7*ts;tt+8*ts;tt+9*ts;];
y=zeros(10,length(tt));
i=1;
%开始调制
while i<=10
y(i,:)=x(i)*cos(2*pi*f1*t(i,:))+~x(i)*cos(2*pi*f0*t(i,:));
i=i+1;
end
t=reshape(t',length(tt)*10,1);%阵列重新排列
y=reshape(y',length(tt)*10,1);
figure(2);
plot(t,y);
title('FSK信号时域波形');xlabel('时间');ylabel('幅度');

%下面该怎么做?需要用64点的FFT变换作频谱分析,求具体程序和程序说明。还有关于解调方式,相干和非相干都行。
谢谢大哥大姐!!!!

tt=(0:1/fs:ts);
t=[tt;tt+ts;tt+2*ts;tt+3*ts;tt+4*ts;tt+5*ts;tt+6*ts;tt+7*ts;tt+8*ts;tt+9*ts;];
y=zeros(10,length(tt));
i=1;
%开始调制
while i<=10
y(i,:)=x(i)*cos(2*pi*f1*t(i,:))+~x(i)*cos(2*pi*f0*t(i,:));
i=i+1;
end
t=reshape(t',length(tt)*10,1);%阵列重新排列
y=reshape(y',length(tt)*10,1);
figure(2);
plot(t,y);
title('FSK信号时域波形');xlabel('时间');ylabel('幅度');

x=[0 1 1 0 0 1 0 1 0 1];%定义一个二进制10元素数组,作为FSK信号输入数据。
figure(1);
stem(x,'.');
title('二进制随机序列');xlabel('时间');ylabel('幅度');