% 线性调频信号分析:
% (1)Chirp复信号的建模及采样
% (2)Chirp复信号的时频特性研究
% (3)匹配滤波器实现Chirp复信号的脉冲压缩
% (4)窗函数对Chirp脉压的影响
% (5)匹配滤波器失配分析
%--------------------------------------------------
% 1、雷达仿真参数及初始化:
Tao=1.e-6; %s 雷达发射脉冲宽度
B=9.e+7; %Hz 雷达发射带宽
f0=1.e+10; %Hz 雷达工作频率,即信号载频
fs=2.e+8; %Hz A/D采样率
N=fs*Tao; % 采样点数
n=-N/2:N/2-1; % 采样点分配区间
t=n/fs; % 采样时间序列
%----------------------------------------------------------
figure(1);
%2、Chirp复信号的建模:
x=exp(j*pi*B*(t.^2)/Tao); % 线性调频信号建摸
subplot(2,3,1);
plot(t,x); % 时域信号图
title('一维Chirp信号');
xlabel('time[s]');
ylabel('scope');
%---------------------------------------------------------
% 3、信号FFT变换后分析频域特性:
X=fft(x); % 傅立叶变换
X1=fftshift(X); % 移动零点到频谱中心
magX=abs(X1/max(X1)); % 幅频特性
angX=angle(X); % 相频特性
k=(-length(X)/2:(length(X)-1)/2)/length(X); % 单位长度点数
f=fs*k; % 频率
subplot(2,3,2);
plot(f,magX); % 幅频图
axis([-B B 0 1.2]);
title('幅频谱');
xlabel('frequency[Hz]');
ylabel('scope');
subplot(2,3,3);
plot(f,unwrap(angX)); % 相频图
grid;
title('相频谱');
xlabel('frequency[Hz]');
ylabel('angle[drgree]');
%---------------------------------------------------------
% 4、匹配滤波器的建立及时频特性:
h=exp(-j*pi*B*(t.^2)/Tao); % 匹配滤波器建模
subplot(2,3,4);
plot(t,h); % 匹配滤波器时域图
title('匹配滤波器');
xlabel('time[s]');
ylabel('scope');
H=fft(h);
H1=fftshift(H);
magH=abs(H1/max(H1)); % 匹配滤波器幅频特性
angH=angle(H); % 匹配滤波器相频特性
subplot(2,3,5);
plot(f,magH); % 幅频图
axis([-B B 0 1.2]);
title('幅频谱');
xlabel('frequency[Hz]');
ylabel('scope');
subplot(2,3,6);
plot(f,unwrap(angH)); % 相频图
grid;
title('相频谱');
xlabel('frequency[Hz]');
ylabel('angle[drgree]');
%------------------------------------------------------------
figure(2)
% 5、Chirp信号通过匹配滤波器,实现脉冲压缩
Y=X1.*H1; % 通过滤波器的信号
magY=abs(Y/max(Y)); % 幅频特性
angY=angle(Y); % 相频特性
y=ifft(Y); % 变换到时域
y1=ifftshift(y);
y11=abs(y1)/max(abs(y1)); % 归一化
y111=20*log10(y11); % 用对数表示
subplot(2,3,1);
plot(t,y11);
grid;
axis([-Tao/10 Tao/10 0 1]);
title('信号通过滤波器');
xlabel('time[s]');
ylabel('scope');
subplot(2,3,2);
plot(f,magY);
axis([-B B 0 1.2]);
title('幅频谱');
xlabel('frequency[Hz]');
ylabel('scope');
subplot(2,3,3);
plot(f,angY);
title('相频谱');
xlabel('frequency[Hz]');
ylabel('angle[drgree]');
subplot(2,3,4);
plot(t,y111);
grid;
axis([-Tao/10 Tao/10 -30 0]);
title('信号通过滤波器对数图');
xlabel('time[s]');
ylabel('scope[dB]');
% 用对数形式表示,并插值
% 原理:频域补零相当于时域插值
Z=X1.*H1;
t_add0=interp(t,16); % 时间插值
%加插值函数
[intp_sig,intp_logsig]=intp(Z); % 插值
z11=intp_sig;
z111=intp_logsig;
subplot(2,3,5);
plot(t_add0,z11);
grid;
axis([-Tao/10 Tao/10 0 1]);
title('信号通过滤波器/插值后');
xlabel('time[s]');
ylabel('scope');
subplot(2,3,6)
plot(t_add0,z111);
grid;
axis([-Tao/10 Tao/10 -30 0]);
title('信号通过滤波器对数图/插值后');
xlabel('time[s]');
ylabel('scope[dB]');
% 加评估函数
[O,width3dB,ratio,peak1,peak_1,peak2,peak_2,peak3,peak_3]=para(z11,t_add0); % 评估参数
O
width3dB
ratio
peak1
peak_1
peak2
peak_2
peak3
peak_3
%-------------------------------------------------------------
% 6、窗函数对Chirp脉压的影响(在频域中实现)
%---------------------------------------------------------------------
figure(3);
% 6.1 生成矩形窗函数
lengthY1=length(Y);
c1=zeros(1,lengthY1);
c1(71:130)=boxcar(60); % 矩形窗
subplot(2,2,1);
plot(f,c1);
axis([-B B 0 1.2]);
title('矩形窗');
xlabel('frequency[Hz]');
ylabel('scope');
% 矩形窗对Chirp脉压的影响
M1=abs(Y).*c1; % 对信号加矩形窗
subplot(2,2,2);
plot(f,M1/max(M1));
axis([-B B 0 1.2]);
title('矩形窗所截频域信号');
xlabel('frequency[Hz]');
ylabel('scope');
[intp_sig,intp_logsig]=intp(M1);
magD=intp_sig;
d11=intp_logsig;
subplot(2,2,3);
plot(t_add0,magD);
axis([-Tao/10 Tao/10 0 1]);
title('通过矩形窗信号');
xlabel('time[s]');
ylabel('scope');
subplot(2,2,4);
plot(t_add0,d11);
axis([-Tao/10 Tao/10 -30 0]);
grid;
title('通过矩形窗信号对数图');
xlabel('time[s]');
ylabel('scope[dB]');
% 加评估函数
[O,width3dB,ratio,peak1,peak_1,peak2,peak_2,peak3,peak_3]=para(magD,t_add0); % 评估参数
O
width3dB
ratio
peak1
peak_1
peak2
peak_2
peak3
peak_3
%----------------------------------------------------------------------------------
figure(4);
% 6.2 生成海明窗函数
c2=zeros(1,lengthY1);
c2(51:150)=hamming(100); % 海明窗
subplot(2,2,1);
plot(f,c2);
axis([-B B 0 1.2]);
title('海明窗');
xlabel('frequency[Hz]');
ylabel('scope');
% 海明窗对Chirp脉压的影响
M2=abs(Y).*c2; % 对信号加海明窗
subplot(2,2,2);
plot(f,M2/max(M2));
axis([-B B 0 1.2]);
title('海明窗所截频域信号');
xlabel('frequency[Hz]');
ylabel('scope');
[intp_sig,intp_logsig]=intp(M2);
magDm2=intp_sig;
dm211=intp_logsig;
subplot(2,2,3);
plot(t_add0,magDm2);
axis([-Tao/10 Tao/10 0 1]);
title('通过海明窗信号');
xlabel('time[s]');
ylabel('scope');
subplot(2,2,4);
plot(t_add0,dm211);
axis([-Tao/10 Tao/10 -40 0]);
grid;
title('通过海明窗信号对数图');
xlabel('time[s]');
ylabel('scope[dB]');
% 加评估函数
[O,width3dB,ratio,peak1,peak_1,peak2,peak_2,peak3,peak_3]=para(magDm2,t_add0); % 评估参数
O
width3dB
ratio
peak1
peak_1
peak2
peak_2
peak3
peak_3
%------------------------------------------------------------------------
figure(5);
% 6.3 生成三角窗函数
c3=zeros(1,lengthY1);
c3(61:140)=triang(80); % 三角窗
subplot(2,2,1);
plot(f,c3);
axis([-B B 0 1.2]);
title('三角窗');
xlabel('frequency[Hz]');
ylabel('scope');
% 三角窗对Chirp脉压的影响
M3=abs(Y).*c3; % 对信号加三角窗
subplot(2,2,2);
plot(f,M3/max(M3));
axis([-B B 0 1.2]);
title('三角窗所截频域信号');
xlabel('frequency[Hz]');
ylabel('scope');
[intp_sig,intp_logsig]=intp(M3);
magDm3=intp_sig;
dm311=intp_logsig;
subplot(2,2,3);
plot(t_add0,magDm3);
axis([-Tao/10 Tao/10 0 1]);
title('通过三角窗信号');
xlabel('time[s]');
ylabel('scope');
subplot(2,2,4);
plot(t_add0,dm311);
axis([-Tao/10 Tao/10 -45 0]);
grid;
title('通过三角窗信号对数图');
xlabel('time[s]');
ylabel('scope[dB]');
% 加评估函数
[O,width3dB,ratio,peak1,peak_1,peak2,peak_2,peak3,peak_3]=para(magDm3,t_add0); % 评估参数
O
width3dB
ratio
peak1
peak_1
peak2
peak_2
peak3
peak_3
%-------------------------------------------------------------------------
% 7、滤波起失配情况讨论:分四(或七)种情况
% 在s(t)=exp(j*2*pi(f0*t+u*t.^2+r(t)))中,令
% (1)f0不相等,u与r(t)相等
% (2)u不相等,其余相等
% (3)r(t)不相等,其余相等
% (4)f0,u,r(t)都不相等
% (5)加高频干扰
figure(6);
% 7.1
% f0?=0时Chirp复信号的建模:
s1=exp(j*pi*B*(t.^2)/Tao+j*2*pi*B/10*t); % 线性调频信号建摸
subplot(2,3,1);
plot(t,s1);