clear ;
close all;
clc;
% parameter
f0 = 20e+6
fs=8e6;
t0=0.00006;
t2=0:1/fs:(t0-1/fs);
f0=1e7;
f1=2e5;
k=33e8;
N=1024;
T=N/fs;
t=0:1/fs:(T-1/fs);
x1=cos(2*pi*(f0*t2+k*t2.^2));
%单频脉冲时 x1里t2的系数为0,注释掉下面的一段;BPSK时,x1里t2的系数为0,不注释掉下面的一段;LFM时, x1里t2的系数为k,注释掉下面的一段
% Code_Num=6;%码元个数
% n=100;
% f1=@(t)sin(2*pi*Code_Num/t0*n*t);
% f2=@(t)sin(-2*pi*Code_Num/t0*n*t);
% code=rand(1,Code_Num)>0.5;
% for i=1:fs*t0
% m=floor(t2(i)/(t0/Code_Num));
% x1(i)=code(m+1)*f1(t2(i)-m*(t0/Code_Num))+(1-code(m+1))*f2(t2(i)-m*(t0/Code_Num));
% end
x=[x1 zeros(1,N-length(t2))];
figure(1);
plot(t,x);
title('原始信号')
xlabel('时间/s')
ylabel('幅度/v')
%贝塞尔插值
for i=1:length(x)/2
y1(i)=x(2*i-1)*(-1)^(i-1);
y2(i)=x(2*i)*(-1)^(i);
end
for k=3:i-1
z1(k-2)=9*(y1(k-1)+y1(k))/16-(y1(k-2)+y1(k+1))/16;
z2(k-2)=y2(k-1);
end
figure(2)
subplot(2,1,1),plot(1:length(y1),y1,'r-',1:length(y1),y2,'b-');
title('贝塞尔插值前的信号')
subplot(2,1,2),plot(1:length(z1),z1,'r-',1:length(z1),z2,'b-');
title('贝塞尔插值后的信号')
y1_original=zeros(1,length(x));
y2_original=zeros(1,length(x));
y1_original(2:2:length(x))=y1_original(1:2:length(x)-1)+y1(1:length(x)/2);
y2_original(2:2:length(x))=y2_original(2:2:length(x))+y2(1:length(x)/2);
% figure(4)
% plot(t,y1_original,'r-',t,y2_original,'b-');
%设置低通滤波器,并将两个正交的包络信号输入低通滤波器
% wp=400/(fs/2/1e3);
% ws=800/(fs/2/1e3);
wp=400/(fs/2/1e3);
ws=600/(fs/2/1e3);
rp=1;%通带最大衰减
rs=50;%阻带最小衰减
%使用巴特沃斯滤波器实现低通滤波器
[n,Wn]=buttord(wp,ws,rp,rs);
[b,a]=butter(n,Wn);
%两个低通滤波器输出的信号
y1_lowpass=filter(b,a,y1_original);
y2_lowpass=filter(b,a,y2_original);
%画出两个低通滤波器输出信号的时域波形和频域波形
figure(4)
plot(t,y1_lowpass,'r-',t,y2_lowpass,'b-');
title('低通滤波后的信号')
xlabel('时间/s')
ylabel('幅度/v')