• 大小: 5KB
    文件类型: .m
    金币: 2
    下载: 1 次
    发布日期: 2021-11-25
  • 语言: Matlab
  • 标签: matlab  

资源简介

产生线性调频连续波,并分析其频谱,运用频域匹配滤波器

资源截图

代码片段和文件信息

%==产生LFM信号-分析其频谱====% 
clc;clear all;close all;warning off;              
snr=0;                           %信噪比
fc=0e10;                         % 载波频率;
c=3e8;                           % 真空光速;
Tr=750e-6;                       % 脉冲重复周期s;
fd=1.6e6;                          % DOPPLOR 频率
td=2e-6;                         % 时间延迟s
Tp=1e-5;                         % LFM调制脉冲宽度s;
B=8e6;                           % LFM调制脉冲带宽hz;
fs=2*B;                          % LFM采样频率;
t=-Tp/2:1/fs:Tp/2;N=length(t);
lfm=10^(snr/10)*exp(j*2*pi*(fc*t+0.5*B/Tp*t.^2));
fft_lfm=fftshift(fft(lfmN));
LFM_Back=10^(snr/10)*exp(j*2*pi*(fc*(t-td)+0.5*B/Tp*(t-td).^2)).*exp(-j*2*pi*fd*t);;
figure(1)
subplot(211)plot(-Tp/2+Tp/N:Tp/N:Tp/2real(lfm));xlabel(‘LFM脉冲宽度(s)‘); ylabel(‘幅度‘);title(‘实LFM信号波形‘);axis([-TpTp-22])
subplot(212)plot(-Tp/2+Tp/N:Tp/N:Tp/2real(LFM_Back));xlabel(‘LFM脉冲宽度(s)‘); ylabel(‘幅度‘);title(‘实LFM信号回波波形‘);axis([-TpTp-22])

figure(2)
     subplot(211)plot(-0.5+1/N:1/N:0.5abs(fft_lfm(1:N)));xlabel(‘归一化频率‘); ylabel(‘幅度‘);title(‘LFM信号频域幅度‘);
     subplot(212)plot(-0.5+1/N:1/N:0.5angle(fft_lfm(1:N)));xlabel(‘归一化频率‘); ylabel(‘相角‘);title(‘LFM信号频域相角‘);
%%%%%%%%%%%%%%%%%%%%%%%%%%% 频域匹配滤波 % 放大可查看半功率宽度=1/B
out_mat=fftshift(ifft(fft((LFM_Back)).*conj(fft((lfm))))) ;
figure(3)
subplot(211)plot(-Tp/2:1/fs:Tp/220*log10(abs(out_mat)/max(abs(out_mat))));title(‘匹配输出LFM‘);axis([-Tp/2Tp/2-2000]);
%%%%%%%%%%%%%%%%%%%%%%%%%%% 频域匹配滤波 % 放大可查看半功率宽度=1/B   加窗
out_mat=fftshift(ifft(fft((LFM_Back)).*conj(fft((lfm.*hamming(N)‘))))) ;
subplot(212)plot(-Tp/2:1/fs:Tp/220*log10(abs(out_mat)/max(abs(out_mat))));title(‘匹配输出LFM‘);axis([-Tp/2Tp/2-2000]);

%%%%%%%%%%%%%%%%%%%%%%%%%%% 时域匹配滤波 
matcher=conj(fliplr(lfm));                % 时域匹配滤波 
weight=conj(fliplr(lfm.*hamming(N)‘));    % 时域匹配滤波 加窗
out_matcher=conv(LFM_Backmatcher);
out_weight=conv(LFM_Backweight);
figure(4)
subplot(211)plot(-Tp:1/fs:Tp20*log10(abs(out_matcher)/max(abs(out_matcher))));title(‘时间匹配输出LFM‘);axis([-Tp/2Tp/2-2000]);
subplot(212)plot(-Tp:1/fs:Tp20*log10(abs(out_weight)/max(abs(out_weight))));title(‘时间加窗匹配输出LFM‘);axis([-Tp/2Tp/2-2000]);



%%%%%%%%%%%%%%%%%%%%%%%%%%% 频率时间联合估计
fdd=(B/Tp)*Tp;
ii=0;
NN=20;% 频域采样数目
out_mat=zeros(12*N-1);
for fdx=-fdd:fdd/NN:fdd;
    ii=ii+1;
    matcher=conj(fliplr(lfm)).*exp(-j*2*pi*fdx*t); 
    out_mat(ii:)=conv(LFM_Backmatcher);
end
figure(5);[FT]=meshgrid(-Tp:1/fs:Tp-fdd:fdd/NN:fdd);mesh(FTabs(out_mat));title(‘频率时间联合估计‘);axis([-TpTp-fddfddmin(min(abs(out_mat)))max(max(abs(out_mat)))]);grid on;
figure(6);contour(FTa

评论

共有 条评论