资源简介
线性调频信号脉冲压缩以后加窗,可以加不同的窗函数,使用时请把其他窗函数注释掉
代码片段和文件信息
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)
- 上一篇:CLEAN算法matlab代码
- 下一篇:g_p算法求解关联维数
评论
共有 条评论