• 大小: 4KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-05-09
  • 语言: Matlab
  • 标签:

资源简介

线性调频信号脉冲压缩以后加窗,可以加不同的窗函数,使用时请把其他窗函数注释掉

资源截图

代码片段和文件信息

2017.3.31
%%%%%%%  利用频域处理方法进行脉冲压缩  %%%%%%%
clear all
clc
clf
eps = 1e-10;
B=100e-6;       %信号带宽
Fm=1e6;           %调频
k=Fm/B;          %调频斜率
Ts=1/(5*Fm);        %采样周期
Ns=fix(B/Ts);        %采样点数
Nf=1024;               % fft点数
t=0:Ts:B-Ts; 
y=exp(j*pi*k*t.^2);   %脉冲压缩前的线形调频信号
yfft = fft(yNf) ;
h=zeros(1Ns);
%% %%%%%%%%%%%%%%%%%%%%%%%%%Hamming窗%%%%%%%%%%%%%%%%%%%%%%%%%%% 
for i=1:Ns
    h(i)=conj(y(Ns-i+1));
end
hfft= fft(hNf);     % 匹配滤波器的频域响应
lfm =abs(ifft(yfft .*hfft)); %脉冲压缩    
maxval = max (lfm);
lfm = eps + lfm ./ maxval;    % 利用最大值归一化
lfm_db=20*log10(lfm);   %取对数
%%%%%%%%%%%%%% 加窗处理 %%%%%%%
win = hamming(Ns)‘;
h_w=h.*win;       % 加窗
hfft_w=fft(h_wNf);     % 加窗的匹配滤波器的频域响应
lfm_w = abs(ifft(yfft .*hfft_w)); %脉冲压缩 
maxval1 = max(lfm_w);
val=lfm_w ;
lfm_w = eps + lfm_w ./ maxval;    % 利用lfm的最大值归一化
lfm_w1 = eps + val./ maxval1;    % 利用lfm_w的最大值归一化
lfm_w_db=20*log10(lfm_w);   %取对数
lfm_w1_db=20*log10(lfm_w1);   %取对数
%%%%%%%%%%%%%%%%
tt =0:Ts:2*B-Ts;
figure(1)
plot (ttlfm_db(1:2*Ns)‘b‘)
axis([.2*B 1.8*B -60 0] )
xlabel (‘t - seconds ‘);
ylabel(‘ db‘)
title(‘没有加Hamming窗的脉冲压缩输出‘)
grid on
figure(2)
plot (ttlfm_w1_db(1:2*Ns)‘r‘)
axis([.2*B 1.8*B -60 0] )
xlabel (‘t - seconds ‘);
ylabel(‘ db‘)
title(‘加Hamming窗的脉冲压缩输出‘)
grid on
figure(3)
plot (ttlfm_db(1:2*Ns)‘b‘ttlfm_w_db(1:2*Ns)‘r‘)
axis([.7*B  1.3*B -60 0] )
xlabel (‘t - seconds ‘);
ylabel(‘ db‘)
legend(‘未加Hamming窗‘‘加Hamming窗‘);
title(‘脉冲压缩输出对比‘)
grid on

%% %%%%%%%%%%%%%%%%%%%%%%%%%Hanning窗%%%%%%%%%%%%%%%%%%%%%%%%%%% 
for i=1:Ns
    h(i)=conj(y(Ns-i+1));
end
hfft= fft(hNf);     % 匹配滤波器的频域响应
lfm =abs(ifft(yfft .*hfft)); %脉冲压缩    
maxval = max (lfm);
lfm = eps + lfm ./ maxval;    % 利用最大值归一化
lfm_db=20*log10(lfm);   %取对数
%%%%%%%%%%%%%% 加窗处理 %%%%%%%
win = hanning(Ns)‘;
h_w=h.*win;       % 加窗
hfft_w=fft(h_wNf);     % 加窗的匹配滤波器的频域响应
lfm_w = abs(ifft(yfft .*hfft_w)

评论

共有 条评论

相关资源