基于MATLAB的二二进制数字系统的调制(包括2ask-2fsk-2psk-2dpsk)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

二、MATLAB编程实现仿真

用randint函数生成10个随机数,形成基带数字信号a

n

。由于一个FSK信号可以看成是两个不同载波的2ASK信号的叠加,故可利用:

生成已调信号,再通过傅里叶变换得到频谱,分析数据。

N=10;

x=[];

%调制信号生成

a=(randint(1,10,2));

for i=1:N

if a(i)==1

x(i*80-79:i*80)=ones(1,80); else

x(i*80-79:i*80)=zeros(1,80); end

end

figure(1)

subplot(4,1,1)

plot(x);

title('调制信号');

axis([0 800 -2 2]);

%载波信号

t=0.0125:0.0125:N;

ca1=sin(2*pi*2*t);

ca2=sin(2*pi*4*t);

subplot(4,1,2)

plot(ca1);

title('载波1');

axis([0 800 -2 2]);

subplot(4,1,3)

plot(ca2);

title('载波2');

axis([0 800 -2 2]);

%调制生成2ASK信号x1=~x;

fsk=x.*ca1+x1.*ca2;

subplot(4,1,4)

plot(fsk);

title('2FSK信号');

axis([0 800 -1.5 1.5]);

%频谱分析

m=length(fsk);

T=t(end);

df=1/T;

f=(-m/2:m/2-1)*df;

xf=fftshift(abs(fft(x))); figure(2);

subplot(4,1,1);

plot(f,xf);

title('调制信号频谱');

cf1=abs(fft(ca1));

subplot(4,1,2);

plot(f,cf1);

title('载波1信号频谱');

cf2=abs(fft(ca2));

subplot(4,1,3);

plot(f,cf2);

title('载波2信号频谱');

st1=fftshift(abs(fft(fsk))); sf=fftshift(st1);

subplot(4,1,4);

plot(f,sf);

title('2FSK信号频谱');

相关文档
最新文档