本博借鉴了合成孔径雷达-算法和3.4节匹配滤波器的实现。 如果有错误的话,请大家指正

文章目录1、LFM信号2、匹配滤波器的实现2.1基本方式2.2 MATLAB的实现

1、LFM信号的线性调频信号在SAR系统中非常重要,其频率是时间的线性函数。 该信号用于发送,获得均匀的信号带宽。 接收信号中有来自传感器的运动。

时域表达式如下:

s(t )==rect ) exp ) jkt2 ) s ) t )=(操作者名称(rect ) left(frac ) t ) (right ) exp ) left

频谱简化公式为(忽略常数振幅和相位正负pi/4 ) :

g(f )==rect ) fkt ) exp ) jf2k ) g ) f )=(操作者名称(rect ) left(frac ) f ) kt ) ) right ) exp(left ) kt ) riritor

匹配滤波器生成方法一般有以下方法(

以时间反转后的复制脉冲(发送复制脉冲)为复共轭,计算补零DFT; 复制脉冲校正为零后进行DFT,对结果取复共轭(无时间混叠); 根据设置的线性调频特性,在频域中直接生成匹配滤波器。 在前两种方法中,复制信号在进行FFT之前,会将零补充到选定的长度(Nfft )。 丢弃区是复制信号的长度)减去1,因此Nfft的长度必须是信号长度的倍数。 SAR中的匹配滤波器通常相对长,并通常在频域中实现。

弃置区位置

方式1 )在复制信号末端补零时,循环卷积中的丢弃区域位于IDFT输出序列的开头; 方式2 )同样在复制信号的末端补零,但其循环卷积的丢弃区域位于IDFT输出序列的末端; 方式3 )报废划分为IDFT输出序列两种。 2.2 MATLAB实现方式1 :将发送信号在时间上进行折叠,取共轭得到h(t ),将信号归零后的FFT与频域相乘,最后取IFFT。

//方式1ht=conj(fliplr ) ST ); HF=FFT(ht,Nfft ); SF=FFT(ST,Nfft ); s=IFFT(HF.*SF ); 方式2 )将发射脉冲校正为零后进行FFT,取共轭(不需要反褶积),将信号校正为零后的FFT与频域相乘,最后进行IFFT。

//方式2HF=conj(FFT(ST,Nfft ); SF=FFT(ST,Nfft ); s=IFFT(HF.*SF ); 方式3 :在频域直接生成匹配滤波器

//方式三HF=exp(1I*pi*f.^2/k ); SF=FFT(ST,Nfft ); s=IFFT(HF.*SF );注:conv函数计算两个序列的线性卷积,而fft计算序列的循环卷积,如果Nfft满足以下表达式,则可以无差别地使用循环卷积来计算线性卷积:

nfft=n1n 21n FFT=n1n2-1nfft=n1n 21

N1、N2分别表示从两个信号中除去左右零值后的长度。

MATLAB 实现示例

//Match_filterclose all; 清除全部; clc%%线性调频信号T=42e-6; B=17.2e6; Fs=18.5e6; K=B/T; n=运行(t/)1/fs ); t=linspace(-T/2,t/2,n ); ST=(ABS ) T/2 ).*exp ) 1j*pi*k.*t.^2); %%时域匹配过滤器ht=conj(fliplr(ST ); y1=conv(ST,ht ); Nfft=N N-1; t1=linspace(-T/2、t/2、Nfft ); figure(1; subplot(t(311 ),plot,real ) ); subplot(t(312 ),plot,imag ) ) ST ); subplot(313 )、plot (t1 )、ABS (y1 ); %%方式1Nfft2=2*N; freqz=linspace(-Fs/2、fs/2、Nfft2 ); t2=linspace(-T/2、t/2、Nfft2 ); HF1=FFTshift(FFT(ht,Nfft2 ); SF1=FFTshift(FFT(ST,Nfft2 ); y2=IFFT(HF1.*SF1 ); figure(2; subplot(311 )、plot ) freqz、ABS ) HF1 ); subplot(312 )、plot ) freqz、ABS ) SF1 ); subplot(313 )、plot (freqz、ABS ) y2 ); %%方式2HF2=FFTshift(conj(FFT ) ST,Nfft2 ) ); Y3=FFTshift(IFFT(SF1.*HF2 ); figure(3; plot(T2,ABS ) Y3 ); http://www.Sina.com/http://www.Sina.com /

仿真结果