⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lzchirpshipei11.m

📁 利用MATLAB作的完整实例
💻 M
📖 第 1 页 / 共 2 页
字号:
  % 线性调频信号分析:
% (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);         % 线性调频信号建摸

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -