%%%%%%% 通信原理OOK信号仿真、功率谱和相干解调分析演示
clc
close all
clear all
codn=60; % 仿真的码元个数
fc=6e+3; % 载波频率
fs=fc*6; % 数据采样率
bode=1000; % 信号波特率
code=round(rand(1,codn)); % 产生随机信码 (round:最近整数四舍五入)
code_len=round(1/bode/(1/fs)); % 得到一个码元周期的数据长度
for i=1:codn % 产生数字基带信号
x((i-1)*code_len+1:code_len*i)=code(i);
end
car=cos(2*pi*fc/fs*(0:length(x)-1)); % 产生载波
y=x.*car; % ook信号等于单极性数字基带信号乘以载波
figure
subplot(211)
plot(x)
axis([0 length(x) -0.5 1.5])
grid on
zoom on
title('原始基带信号')
subplot(212)
plot(y)
zoom on
grid on
title('OOK信号')
ay=abs(fft(y)); % 进行幅频特性分析
f=0:fs/length(y):fs/2;
ay=ay(1:length(f));
figure
plot(f,ay)
zoom on
grid on
title('OOK的频谱')
z=y.*car; % 相干解调
fl=fir1(,fc/fs*2); % 低通滤波
z=2*filter(fl,1,z);
figure
subplot(211)
plot(x)
axis([0 length(x) -0.5 1.5])
grid on
title('原始基带信号')
subplot(212)
plot(z)
axis([0 length(x) -0.5 1.5])
grid on
title('解调得到的基带信号')
zoom on