文章目录

  • 1.背景
  • 2.数字信号接收等效原理图
  • 3.匹配滤波器的基本概念
  • 4.匹配滤波器的频率响应函数
  • 5.匹配滤波器的脉冲响应函数
  • 6.匹配滤波器的输出信号
  • 7.匹配滤波器的输出噪声
  • 8.线性调频信号的匹配滤波输出推导
    • 8.1 时域分析
    • 8.2 频域分析
    • 8.3 再变换回时域
    • 8.4 匹配滤波脉压输出性能分析
  • 9.线性调频信号脉冲压缩的匹配滤波实现
    • 9.1 时域匹配滤波
    • 9.2 频域匹配滤波
      • 9.2.1 方法一
      • 9.2.2 方法二
      • 9.2.3 方法三
  • 10.MATLAB仿真
    • 10.1 线性调频信号的匹配滤波器输出
    • 10.2 利用匹配滤波器对回波信号进行脉冲压缩来测距

1.背景

  雷达接收机在接收回波信号的同时,不可避免地会遇到噪声,同时还会受到各种干扰,如各种分布物体产生的杂波干扰、敌方施放的噪声调制干扰等。为了选出有用目标,同时抑制各种噪声和干扰,需要滤波器做出频率选择,滤波器是完成这一任务的重要器件。滤波器的频带宽度和频率特性影响滤波效果,直接关系到雷达接收机的灵敏度、波形失真等重要指标。对应于不同的输入信号和噪声干扰,为了使接收机输出端的信号噪声比最大,波形失真最小,要求滤波器有一个最佳的频带宽度和频率特性形状,以实现最佳滤波。

  所谓最佳是在某种准则下系统性能达到最佳。在数字通信中,最常采用的最佳准则是输出信噪比最大准则和差错概率最小准则。

  最佳线性滤波器的设计通常有两种准则:

  • 使滤波器输出的信号波形与发送信号波形之间的均方误差最小——维纳滤波器;
  • 使滤波器输出信噪比在某一特定时刻达到最大——匹配滤波器。

2.数字信号接收等效原理图

解调器中抽样判决以前各部分电路可以用一个线性滤波器来等效,如图所示:

这里,n(t)n(t)n(t)为高斯白噪声,均值为 0,方差为 σ2\sigma^2σ2,双边功率谱密度为 n02\frac{n_0}{2}2n0​​

抽样判决器输出数据正确与否,与滤波器输出信号波形和发送信号波形之间的相似程度无关,也即与滤波器输出信号波形的失真程度无关;只取决于抽样时刻信号的瞬时功率与噪声平均功率之比,即信噪比

3.匹配滤波器的基本概念

匹配滤波器是在白噪声背景中检测信号的最佳线性滤波器,其输出信噪比在抽样判决时刻t=t0t=t_0t=t0​可以达到最大。

4.匹配滤波器的频率响应函数

匹配滤波器的输入信号 r(t)=s(t)+n(t)r(t)=s(t)+n(t)r(t)=s(t)+n(t)

匹配滤波器的输出信号 y(t)=so(t)+no(t)y(t)=s_o(t)+n_o(t)y(t)=so​(t)+no​(t)

其中,根据傅里叶反变换,so(t)=12π∫−∞∞So(ω)ejωtdω=12π∫−∞∞S(ω)H(ω)ejωtdωs_o(t)=\frac{1}{2\pi}\int_{-∞}^{∞} {\color{Maroon}S_o(\omega)}e^{j\omega t}\,d\omega=\frac{1}{2\pi}\int_{-∞}^{∞} {\color{Maroon}S(\omega)H(\omega)}e^{j\omega t}\,d\omegaso​(t)=2π1​∫−∞∞​So​(ω)ejωtdω=2π1​∫−∞∞​S(ω)H(ω)ejωtdω

在t=t0t=t_0t=t0​时刻信号的瞬时功率:
∣so(t0)∣2=∣12π∫−∞∞S(ω)H(ω)ejωt0dω∣2\big|s_o(t_0)\big|^2=\Big|\frac{1}{2\pi}\int_{-∞}^{∞} S(\omega)H(\omega)e^{j\omega t_0}\,d\omega\Big|^2∣∣​so​(t0​)∣∣​2=∣∣∣​2π1​∫−∞∞​S(ω)H(ω)ejωt0​dω∣∣∣​2
噪声的平均功率:
No=12π∫−∞∞Pno(ω)dω=12π∫−∞∞Pni(ω)∣H(ω)∣2dω=12π∫−∞∞n02∣H(ω)∣2dω\begin{aligned} N_o&=\frac{1}{2\pi}\int_{-∞}^{∞} P_{no}(\omega)\,d\omega\\ &=\frac{1}{2\pi}\int_{-∞}^{∞} P_{ni}(\omega)\big|H(\omega)\big|^2\,d\omega\\ &=\frac{1}{2\pi}\int_{-∞}^{∞}\frac{n_0}{2}\big|H(\omega)\big|^2\,d\omega\\ \end{aligned}No​​=2π1​∫−∞∞​Pno​(ω)dω=2π1​∫−∞∞​Pni​(ω)∣∣​H(ω)∣∣​2dω=2π1​∫−∞∞​2n0​​∣∣​H(ω)∣∣​2dω​
抽样时刻的输出信噪比:
(SN)o=∣so(t0)∣2No=∣12π∫−∞∞H(ω)S(ω)ejωt0dω∣2n0212π∫−∞∞∣H(ω)∣2dω(\frac{S}{N})_o=\frac{\big|s_o(t_0)\big|^2}{N_o}=\frac{\Big|\frac{1}{2\pi}\int_{-∞}^{∞} {\color{DarkOrchid}H(\omega)}{\color{Royalblue}S(\omega)e^{j\omega t_0}}\,d\omega\Big|^2}{\frac{n_0}{2}\frac{1}{2\pi}\int_{-∞}^{∞}\big|H(\omega)\big|^2\,d\omega}(NS​)o​=No​∣∣​so​(t0​)∣∣​2​=2n0​​2π1​∫−∞∞​∣∣​H(ω)∣∣​2dω∣∣∣​2π1​∫−∞∞​H(ω)S(ω)ejωt0​dω∣∣∣​2​

根据SchwartzSchwartzSchwartz不等式
∣12π∫−∞∞X(ω)Y(ω)dω∣2≤12π∫−∞∞∣X(ω)∣2dω12π∫−∞∞∣Y(ω)∣2dω\Big|\frac{1}{2\pi}\int_{-∞}^{∞} X(\omega)Y(\omega)\,d\omega\Big|^2\leq \frac{1}{2\pi}\int_{-∞}^{∞} \big|X(\omega)\big|^2\,d\omega\frac{1}{2\pi}\int_{-∞}^{∞} \big|Y(\omega)\big|^2\,d\omega∣∣∣​2π1​∫−∞∞​X(ω)Y(ω)dω∣∣∣​2≤2π1​∫−∞∞​∣∣​X(ω)∣∣​2dω2π1​∫−∞∞​∣∣​Y(ω)∣∣​2dω
其中,等号仅当X(ω)=kY∗(ω)X(\omega)=kY^*(\omega)X(ω)=kY∗(ω)时成立,这里kkk为不等于0的常数

因此有
(SN)o=∣12π∫−∞∞H(ω)S(ω)ejωt0dω∣2n0212π∫−∞∞∣H(ω)∣2dω≤12π∫−∞∞∣H(ω)∣2dω⋅12π∫−∞∞∣S(ω)ejωt0∣2dωn0212π∫−∞∞∣H(ω)∣2dω=12π∫−∞∞∣S(ω)∣2dωn02\begin{aligned} (\frac{S}{N})_o&=\frac{\Big|\frac{1}{2\pi}\int_{-∞}^{∞} {\color{DarkOrchid}H(\omega)}{\color{Royalblue}S(\omega)e^{j\omega t_0}}\,d\omega\Big|^2}{\frac{n_0}{2}\frac{1}{2\pi}\int_{-∞}^{∞}\big|H(\omega)\big|^2\,d\omega}\\ &\leq\frac{\frac{1}{2\pi}\int_{-∞}^{∞} \big|H(\omega)\big|^2\,d\omega\cdot\frac{1}{2\pi}\int_{-∞}^{∞} \big|S(\omega)e^{j\omega t_0}\big|^2\,d\omega}{\frac{n_0}{2}\frac{1}{2\pi}\int_{-∞}^{∞}\big|H(\omega)\big|^2\,d\omega}\\ &=\frac{\frac{1}{2\pi}\int_{-∞}^{∞} \big|S(\omega)\big|^2\,d\omega}{\frac{n_0}{2}} \end{aligned}(NS​)o​​=2n0​​2π1​∫−∞∞​∣∣​H(ω)∣∣​2dω∣∣∣​2π1​∫−∞∞​H(ω)S(ω)ejωt0​dω∣∣∣​2​≤2n0​​2π1​∫−∞∞​∣∣​H(ω)∣∣​2dω2π1​∫−∞∞​∣∣​H(ω)∣∣​2dω⋅2π1​∫−∞∞​∣∣​S(ω)ejωt0​∣∣​2dω​=2n0​​2π1​∫−∞∞​∣∣​S(ω)∣∣​2dω​​

根据帕塞瓦尔定理,信号的能量 EEE 可以用时域能量和频域能量表示为
E=∫−∞∞∣s(t)2dt=12π∫−∞∞∣S(ω)∣2dωE=\int_{-∞}^{∞}|s(t)^2\,dt=\frac{1}{2\pi}\int_{-∞}^{∞}|S(\omega)|^2\,d\omegaE=∫−∞∞​∣s(t)2dt=2π1​∫−∞∞​∣S(ω)∣2dω

由此可得
(SN)o≤2En0(\frac{S}{N})_o \leq \frac{2E}{n_0}(NS​)o​≤n0​2E​

只有当接收机频率响应函数满足:
H(ω)=kS∗(ω)e−jwt0{\color{BROWN} H(\omega)=kS^*(\omega)e^{-jwt_0}} H(ω)=kS∗(ω)e−jwt0​
时,上式的等号才成立,此时输入/输出信号噪声比达到最大值,即
(SN)max=2En0{\color{Brown}(\frac{S}{N})_{max} = \frac{2E}{n_0}}(NS​)max​=n0​2E​

这表明,当一个线性系统的频率响应函数H(ω)H(\omega)H(ω)为输入信号的复共轭时,其输出的信号噪声比达到最大,这个线性系统称作匹配滤波器。

匹配滤波器的重要特性是:不管输入信号的波形、带宽、持续时间如何,最大输出信号噪声比总是两倍于接收信号能量 (2E)(2E)(2E) 除以单位带宽的噪声功率 n0n_0n0​。这里 n0=kT0Fnn_0=kT_0F_nn0​=kT0​Fn​,kkk为玻尔兹曼常数(k=1.38×10−23J/K)(k=1.38×10^{-23} J/K)(k=1.38×10−23J/K),T0T_0T0​为室温17℃对应的热力学温度(T0=290°K)(T_0=290°K)(T0​=290°K),FnF_nFn​为接收机的噪声系数。

5.匹配滤波器的脉冲响应函数

根据傅里叶反变换:
h(t)=12π∫−∞∞H(ω)ejwtdω=12π∫−∞∞kS∗(ω)e−jwt0ejwtdω=k2π∫−∞∞S∗(ω)e−jw(t0−t)dω=k2π∫−∞∞[∫−∞∞s(τ)e−jwτdτ]∗e−jw(t0−t)dω=k∫−∞∞[12π∫−∞∞ejw(τ−t0+t)dτ]s∗(τ)dτ=k∫−∞∞s∗(τ)δ(τ−t0+t)dτ=ks∗(t0−t)\begin{aligned} h(t)&=\frac{1}{2\pi}\int_{-∞}^{∞}H(\omega)e^{jwt}\,d\omega\\ &=\frac{1}{2\pi}\int_{-∞}^{∞}kS^*(\omega)e^{-jwt_0} e^{jwt}\,d\omega\\ &=\frac{k}{2\pi}\int_{-∞}^{∞}S^*(\omega)e^{-jw(t_0-t)}\,d\omega\\ &=\frac{k}{2\pi}\int_{-∞}^{∞}\Big[\int_{-∞}^{∞}s(\tau)e^{-jw\tau}\,d\tau\Big]^*e^{-jw(t_0-t)}\,d\omega\\ &=k\int_{-∞}^{∞}\Big[\frac{1}{2\pi}\int_{-∞}^{∞}e^{jw(\tau-t_0+t)}\,d\tau\Big]s^*(\tau)\,d\tau\\ &=k\int_{-∞}^{∞}s^*(\tau)\delta(\tau-t_0+t)\,d\tau\\ &=ks^*(t_0-t) \end{aligned}h(t)​=2π1​∫−∞∞​H(ω)ejwtdω=2π1​∫−∞∞​kS∗(ω)e−jwt0​ejwtdω=2πk​∫−∞∞​S∗(ω)e−jw(t0​−t)dω=2πk​∫−∞∞​[∫−∞∞​s(τ)e−jwτdτ]∗e−jw(t0​−t)dω=k∫−∞∞​[2π1​∫−∞∞​ejw(τ−t0​+t)dτ]s∗(τ)dτ=k∫−∞∞​s∗(τ)δ(τ−t0​+t)dτ=ks∗(t0​−t)​

这表明,匹配滤波器的脉冲响应函数 h(t) 是输入信号在时间上的反转后,再向右平移t0t_0t0​时间,即s[−(t−t0)]s[-(t-t_0)]s[−(t−t0​)],这等效为频率响应函数 H(ω) 必须有相移e−jωt0e^{-j\omega t_0}e−jωt0​。

注:对于一个因果可实现系统
h(t)=0,t<0h(t)=0,t<0h(t)=0,t<0
也就是说要求−τ+t0≥0-\tau+t_0≥0−τ+t0​≥0,即 t0≥τt_0≥ \taut0​≥τ,而t0t_0t0​是抽样判决时刻,实际上是时延,我们希望时延越小越好,尽早进行判决,因此取t0=τt_0=\taut0​=τ

6.匹配滤波器的输出信号

匹配滤波器的输出y(t)y(t)y(t)为
y(t)=r(t)∗h(t)=∫−∞∞r(τ)h(t−τ)dτy(t)=r(t)*h(t)=\int_{-∞}^{∞}r(\tau)h(t-\tau)d\tauy(t)=r(t)∗h(t)=∫−∞∞​r(τ)h(t−τ)dτ
由于h(t)=ks∗(t0−t)h(t)=ks^*(t_0-t)h(t)=ks∗(t0​−t),因此输出也可表示为
y(t)=k∫−∞∞r(τ)s∗(t0−t+τ)dτ=kRrs(t0−t)y(t)=k\int_{-∞}^{∞}r(\tau)s^*(t_0-t+\tau)d\tau=kR_{rs}(t_0-t)y(t)=k∫−∞∞​r(τ)s∗(t0​−t+τ)dτ=kRrs​(t0​−t)
其中,Rrs(t0−t)R_{rs}(t_0-t)Rrs​(t0​−t)为r(t)r(t)r(t)和s∗(t0−t)s^*(t_0-t)s∗(t0​−t)互相关函数。

可见,匹配滤波的过程可看作接收信号sr与系统冲激响应ht的卷积:
so = conv( sr , ht) = conv( sr , conj(fliplr( si )) );也可看作雷达接收信号sr与发射信号si的延迟的互相关函数:
so = xcorr( sr , si );

7.匹配滤波器的输出噪声

no(t)=n(t)∗h(t)=∫−∞∞n(τ)h(t−τ)dτ=k∫−∞∞n(τ)s(t0−t+τ)dτ=kRns(t0−t)\begin{aligned} n_o(t)&=n(t)*h(t)\\ &=\int_{-∞}^{∞}n(\tau)h(t-\tau)d\tau\\ &=k\int_{-∞}^{∞}n(\tau)s(t_0-t+\tau)d\tau\\ &=kR_{ns}(t_0-t) \end{aligned}no​(t)​=n(t)∗h(t)=∫−∞∞​n(τ)h(t−τ)dτ=k∫−∞∞​n(τ)s(t0​−t+τ)dτ=kRns​(t0​−t)​
其中,Rns(t0−t)R_{ns}(t_0-t)Rns​(t0​−t)为输入噪声与输入信号的互相关函数,由于n(t)n(t)n(t)与s(t)s(t)s(t)不相关,输出的噪声很小。

8.线性调频信号的匹配滤波输出推导

8.1 时域分析

线性调频信号s(t)=rect(tT)ejπKt2s(t)=rect(\frac{t}{T})e^{j\pi K t^2}s(t)=rect(Tt​)ejπKt2
匹配滤波器的脉冲响应函数h(t)=s∗(−t)=rect(tT)e−jπKt2h(t)=s^*(-t)=rect(\frac{t}{T})e^{-j\pi K t^2}h(t)=s∗(−t)=rect(Tt​)e−jπKt2
匹配滤波器的输出sout(t)=s(t)∗h(t)s_{out}(t)=s(t)*h(t)sout​(t)=s(t)∗h(t)

8.2 频域分析

线性调频信号S(f)=1Krect(fKT)e−jπf2Kejπ4S(f)=\frac{1}{\sqrt K}rect(\frac{f}{KT})e^{-j\pi \frac{f^2}{K}}e^{j\frac{\pi}{4}}S(f)=K​1​rect(KTf​)e−jπKf2​ej4π​
匹配滤波器的频率响应函数H(f)=S∗(f)=1Krect(fKT)ejπf2Ke−jπ4H(f)=S^*(f)=\frac{1}{\sqrt K}rect(\frac{f}{KT})e^{j\pi \frac{f^2}{K}}e^{-j\frac{\pi}{4}}H(f)=S∗(f)=K​1​rect(KTf​)ejπKf2​e−j4π​
匹配滤波器的频率输出Sout(f)=S(f)H(f)=1Krect(fKT)S_{out}(f)=S(f)H(f)=\frac{1}{K}rect(\frac{f}{KT})Sout​(f)=S(f)H(f)=K1​rect(KTf​)

8.3 再变换回时域

sout(t)=∫−∞∞Sout(f)ej2πftdf=1K∫−B/2B/2ej2πftdf=1Kej2πftj2πt∣−B/2B/2=1Ksin(πBt)πt=Tsinc(πBt)\begin{aligned} s_{out}(t)&=\int_{-∞}^{∞}S_{out}(f)e^{j2\pi ft}df\\ &=\frac{1}{K}\int_{-B/2}^{B/2}e^{j2\pi ft}df\\ &=\frac{1}{K}\frac{e^{j2\pi ft}}{j2\pi t}\Bigg|_{-B/2}^{B/2}\\ &=\frac{1}{K}\frac{sin(\pi Bt)}{\pi t}\\ &=Tsinc(\pi Bt) \end{aligned}sout​(t)​=∫−∞∞​Sout​(f)ej2πftdf=K1​∫−B/2B/2​ej2πftdf=K1​j2πtej2πft​∣∣∣∣∣​−B/2B/2​=K1​πtsin(πBt)​=Tsinc(πBt)​

由此可见,线性调频信号的匹配滤波器输出为sinc函数,其时宽为τ=1B\tau=\frac{1}{B}τ=B1​(-4dB点);
根据能量守恒,P0Pt=Tpτ=BTp=D\frac{P_0}{P_t}=\frac{T_p}{\tau}=BT_p=DPt​P0​​=τTp​​=BTp​=D,输出脉冲峰值功率比输入脉冲峰值功率增大了D倍,也就是线性调频信号经过压缩处理后的接收信号幅度峰值是原来发射信号峰值的D的1/2次方。(D为时宽带宽积)

8.4 匹配滤波脉压输出性能分析

  • 峰值旁瓣比:
    峰值与最大的第一对旁瓣之比。

  • 高旁瓣影响:
    强目标回波的旁瓣会埋没附近较小目标的主瓣,导致目标丢失。

  • 解决方法:
    为了提高分辨多目标的能力,必须采用旁瓣抑制或加权技术。

9.线性调频信号脉冲压缩的匹配滤波实现

对于线性调频信号

时域为:s(t)=rect(tT)ejπKt2s(t)=rect(\frac{t}{T})e^{j\pi K t^2}s(t)=rect(Tt​)ejπKt2
频谱为(驻定相位原理):S(f)=1Krect(fKT)e−jπf2Kejπ4S(f)=\frac{1}{\sqrt K}rect(\frac{f}{KT})e^{-j\pi \frac{f^2}{K}}e^{j\frac{\pi}{4}}S(f)=K​1​rect(KTf​)e−jπKf2​ej4π​

9.1 时域匹配滤波

根据 h(t)=s∗(−t)h(t)=s^*(-t)h(t)=s∗(−t)可构造时域匹配滤波器为发射信号时间反褶再取共轭,再与发射信号进行线性卷积即可实现脉冲压缩。
s0(t)=s(t)∗s∗(−t)s0(t)=s(t)*s^*(-t)s0(t)=s(t)∗s∗(−t)

ht = conj(fliplr(st));
s = conv(st,ht);

9.2 频域匹配滤波

9.2.1 方法一
  • 原理:

将发射信号时间反褶后取共轭得到h(t),补零后计算FFT,再与信号补零后的FFT在频域相乘,最后IFFT。

ht = conj(fliplr(st));
Hf = fft(ht,Nfft);
Sf = fft(st,Nfft);
s = ifft(Hf.*Sf);

  • 说明:
  • 为什么需要补零?
    因为匹配滤波需要计算线性卷积,但 (DFT) FFT 计算的是循环卷积,所以需要对信号进行补零直到长度超过线性卷积的长度。对于点数分别为N1与N2的两信号,它们线性卷积的长度为 N1+N2-1;若循环卷积长度为N,则有如下关系:
    ① N < N1 + N2 - 1 时,循环卷积是线性卷积长度为 N 的混叠;
    ② N = N1 + N2 - 1 时,循环卷积 = 线性卷积;
    ③ N > N1 + N2 - 1 时,循环卷积 = 线性卷积末尾补 N-(N1+N2-1) 个 0 (弃置区)。
  • 弃置区位置
    由于发射信号时间反褶后再补零,故最终得到IFFT结果后,弃置区位于信号前端。
9.2.2 方法二
  • 原理:

将发射脉冲补零后进行FFT,再取共轭(无需反褶),与信号补零后的FFT在频域相乘,最后IFFT。

Hf = conj(fft(st,Nfft));
Sf = fft(st,Nfft);
s = ifft(Hf.*Sf);

  • 说明:

  • 方法二与方法一的关系?
    根据傅里叶变换的性质,时域反褶+共轭 ↔ 频域共轭(方法一);因此,也可先变换到频域再取共轭(方法二)。但由于它们补零时存在是否反褶的差别,故最终结果的弃置区也存在反褶。

  • 弃置区位置
    由于是直接在发射信号末尾补零,故最终得到IFFT结果后,弃置区位于信号末端。

9.2.3 方法三

直接在频域生成匹配滤波器:
H(f)=1Krect(fKT)ejπf2Ke−jπ4H(f)=\frac{1}{\sqrt K}rect(\frac{f}{KT})e^{j\pi \frac{f^2}{K}}e^{-j\frac{\pi}{4}}H(f)=K​1​rect(KTf​)ejπKf2​e−j4π​
然后与信号的FFT在频域相乘,最后IFFT。

Hf = exp(1i*pi*f_h.^2/K);
Sf = fft(st,Nfft);
s = ifft(Hf.*Sf);

10.MATLAB仿真

10.1 线性调频信号的匹配滤波器输出

  • 代码:
clear all;
close all;
clc;
%%******************* 线性调频与脉冲压缩 ********************%%
set(0,'defaultfigurecolor','w'); %设置MATLAB的图形窗口背景为白色
%% 线性调频信号参数设置
T = 1e-6;      %时宽
B = 200e6;     %带宽
Fs = 4*B;      %采样率K = B/T;                          %调谐频率
N = round(T/(1/Fs) );             %采样点数,四舍五入
%% 产生线性调频信号
t = linspace( -T/2 ,T/2 ,N);
st = ( abs(t) < T/2 ) .* exp( 1j * pi * K * t.^2 );
phase = pi * K * t.^2;          %信号相位
f= K * t;                       %信号频率
%% 频谱
freq = linspace(-Fs/2,Fs/2,N);  %频域采样
Sf = fftshift( fft(st) );
%% 时域匹配滤波
% conj()函数用于计算复数的共轭值;
% fliplr()函数将数组从左到右翻转.
ht = conj( fliplr(st) );    %时域匹配滤波为发射信号时间反褶再取共轭:h(t)=s*(-t)
s1 = conv(st,ht);           %线性调频信号经过匹配滤波器后的输出(时域卷积)
N1 = N+N-1 ;                %线性卷积后信号长度变为 N1+N2-1
t1 = linspace( -T/2 , T/2 , N1);
%% 频域匹配滤波1 (复制发射脉冲进行时间反褶并取共轭,计算补零DFT)
N2 = 2*N;                    %循环卷积长度 (N2应当≥N+N-1,其中弃置区位于长度大于N+N-1的部分)
t2 = linspace( -T/2 , T/2 , N2);
Hf1 = fftshift(fft(ht,N2));  %频域匹配滤波器
Sf2 = fftshift(fft(st,N2));  %频域信号
S2 = Sf2 .* Hf1;             %频域乘积
s2 = ifft(S2);
%% 频域匹配滤波2(复制发射脉冲补零后计算FFT,再取共轭)
Hf2 = fftshift(conj(fft(st,N2)));
S3  = Sf2.* Hf2;
s3  = fftshift(ifft(S3));
%% 频域匹配滤波3(直接生成频域滤波器)
f_h = (-N2/2:N2/2-1)*Fs/N2;
Hf3 = exp(1i*pi*f_h.^2/K);
S4 = Sf2.*Hf3;
s4 = ifft(S4);
%% 绘图
% 时域
figure,plot( t*1e6, real(st) ),xlabel('t /us'),ylabel('幅度'),title('Chirp信号 实部');
figure,plot( t*1e6, imag(st) ),xlabel('t /us'),ylabel('幅度'),title('Chirp信号 虚部');
figure,plot( t*1e6, f*1e-6 ),xlabel('t /us'),ylabel('频率 /MHz'),title('Chirp信号 频率');
figure,plot( t*1e6, phase ),xlabel('t /us'),ylabel('相位 /rad'),title('Chirp信号 相位');
% 频域
figure,plot( freq*1e-6,abs(Sf) ),xlabel('f /MHz'),ylabel('幅度谱'),title('Chirp信号 幅度谱');
figure,plot( freq*1e-6,-pi*freq.^2/K+pi/4 ),xlabel('f /MHz'),ylabel('相位谱'),title('Chirp信号 相位谱');
% 时域匹配滤波
figure,plot( t1*1e6 , abs(s1) ),xlabel('t /us'),ylabel('幅度谱'),title('时域匹配滤波');
% 频域匹配滤波1
figure,plot( t2*1e6 , abs(s2) ),xlabel('t /us'),ylabel('幅度谱'),title('频域匹配滤波1');
% 频域匹配滤波2
figure,plot( t2*1e6 , abs(s3) ),xlabel('t /us'),ylabel('幅度谱'),title('频域匹配滤波2');
% 频域匹配滤波3
figure,plot( t2*1e6 , abs(s4) ),xlabel('t /us'),ylabel('幅度谱'),title('频域匹配滤波3');
  • 结果:



10.2 利用匹配滤波器对回波信号进行脉冲压缩来测距

  • 代码:
%%------------------------------------------------------------------------------------------------------------%%
%%说明:使用匹配滤波器进行脉冲压缩,matched_filter函数的输出包括未压缩和压缩的信号图形,以及在脉冲压缩中使用的线性调频信号%%
%%------------------------------------------------------------------------------------------------------------%%
function [y] =matched_filter(nscat,taup,b,rrec,scat_range,scat_rcs,winid)
%********* y: 归一化的压缩输出 **************%
%***** nscat: 目标个数 *********************%
%****** taup: 信号时宽,单位为s *************%
%********* b: 信号带宽,单位为Hz ************%
%****** rrec: 接收窗的大小,单位为m *********%
% scat_range: 目标的相对距离向量,单位为m ****%
%** scat_rcs: 目标的雷达截面积向量,单位为m^2 %
%***** winid: 决定了选用什么样的滤波器形式 ***%  %%%%% 时宽带宽积--time bandwidth product %%%%%
T_B_product=b*taup;
if(T_B_product<5)fprintf('**********Time Bandwidth product is TOO SMALL**********')fprintf('\nChange b and or taup');return
endc=3e8;           %光速--speed of light
n=fix(5*taup*b); %采样点数--number of samples;函数fix():向零方向取整%根据奈奎斯特采样定理及频率分辨率△f=fs/N的要求可以确定采样点数N的取值%%%%% 初始化输入输出--initialize input,output %%%%%
x(nscat,1:n)=0;
y(1:n)=0;
%%%%% 确定合适的接收窗--determine proper window %%%%%
if(winid==0)              %不加窗win(1:n)=1;win=win';
elseif(winid==1)          %汉明窗win=hamming(n);elseif(winid==2)      %带参数pi的凯泽窗win=kaiser(n,pi);elseif(winid==3)  %旁瓣为-60dB的切比雪夫窗win=chebwin(n,60);endendend
end
%%%%%% 确保目标在接收窗内--check to ensure that scatters are within receive window %%%%%
index=find(scat_range>rrec);
if(index~=0)fprintf('Error.Receive window is too large or scatters fall outside window');return
end
%%%%% 计算采样间隔--calculate sampling interval %%%%%
t=linspace(-taup/2,taup/2,n);
LFM=exp(1i*pi*(b/taup).*t.^2); %载频为0的线性调频信号figure(1);
subplot(2,1,1);
plot(t,real(LFM));
xlabel('时间/s');
ylabel('线性调频信号的实部');
grid on;
subplot(2,1,2);
sampling_interval=taup/n;
freqlimit=1/sampling_interval;            %采样频率Fs=1/Ts
freq=linspace(-freqlimit/2,freqlimit/2,n);
plot(freq,fftshift(abs(fft(LFM))));
xlabel(' 频率/Hz');
ylabel('线性调频信号的幅度谱');
grid on;for j=1:1:nscatrange=scat_range(j);x(j,:)=scat_rcs(j).*exp(1i*pi*(b/taup).*(t+2*range/c).^2); %第j个目标的回波信号y=x(j,:)+y;                                                %实现对nscat个目标回波信号的叠加
endfigure(2);
plot(t,real(y),'m');
xlabel('相对延迟/s');
ylabel('未压缩回波');
grid on;out=xcorr(LFM,y);       %xcorr(x,y):互相关函数
out=out./n;
s=taup*c/2;
Npoints=ceil(rrec*n/s); %ceil():朝正无穷方向取整
dist=linspace(0,rrec,Npoints);figure(3);
plot(dist,abs(out(n:n+Npoints-1)),'k');
xlabel('目标相对距离');
ylabel('压缩回波');
grid on;
end
  • 结果:

  • 2个目标的回波信号的匹配滤波

clear all;
close all;
clc;
%%调用matched_filter函数,观察结果,这两个目标回波是重叠的,不能被分辨,但是脉冲压缩后,这两个脉冲是完全分开的,即可以被分辨出来
nscat=2;             %两个目标
taup=10e-6;          %10us信号时宽
b=50.0e6;            %50MHz脉宽
rrec=50;             %50m的接收窗
scat_range=[15 25];  %目标的相对距离分别为15m、25米
scat_rcs=[1 2];      %目标的雷达截面积分别是1m^2和2m^2
winid=0;             %不加窗
[y]=matched_filter(nscat,taup,b,rrec,scat_range,scat_rcs,winid);



  • 3个目标的回波信号的匹配滤波
clear all;
close all;
clc;
%%%%%%%%%% 调用matched_filter函数观测3个目标相对距离为[10 75 120]m的结果 %%%%%%%%%%
nscat=3;                 %3个目标
taup=5e-6;               %5us非压缩脉冲
b=100e6;                 %100MHz脉宽
rrec=200;                %200m的处理窗
scat_range=[10 75 120];  %目标相对雷达的距离分别为10m、75m及120m
scat_rcs=[1 2 1];        %目标的雷达截面积分别是1m^2、2m^2及1m^2
winid=2;                 %凯泽窗
[y]=matched_filter(nscat,taup,b,rrec,scat_range,scat_rcs,winid);



雷达原理---匹配滤波器原理及MATLAB仿真相关推荐

  1. 步进频雷达的一维距离像matlab仿真

    步进频雷达的一维距离像matlab仿真 发射与回波信号模型 距离高分辨原理 仿真分析 不进行步进频高分辨一维距离像 进行步进频高分辨一维距离像 代码 发射与回波信号模型   步进频率信号发射得的是一串 ...

  2. 雷达PRI变化信号生成Matlab仿真

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 雷达PRI变化信号生成 1.PRI参差信号 2.PRI抖动信号 3.PRI滑变 4.部分代码 雷达PRI变化信号生成 在信号 ...

  3. Kalman滤波在船舶GPS导航定位系统中的应用(含MATLAB仿真)

    Kalman滤波在船舶GPS导航定位系统中的应用(含MATLAB仿真) 1.原理介绍 2.MATLAB仿真代码 Kalman滤波 计算欧氏距离 3.仿真结果 figure1 figure2 1.原理介 ...

  4. 【自适应盲均衡8】基于分数间隔的复数改进常模算法(FSE-MMA)的瑞利衰落信道盲均衡MATLAB仿真

    关注公号[逆向通信猿]更精彩!!! 知识回顾 关于最基本的盲均衡算法,即CMA盲均衡的原理.推导与MATLAB仿真,可以参考 [自适应盲均衡2]多径衰落信道的复数常模算法(CMA)的理论推导与MATL ...

  5. 三相桥式全控整流电路matlab仿真,三相桥式全控整流电路的matlab仿真

    三相桥式全控整流电路的matlab仿真 - 0 -中北大学朔州校区电力电子技术课 程 设 计 说 明 书专 业 : 电 气 工 程 及 其 自 动 化题 目 : 三相桥式全控整流电路的设计与仿真(阻感 ...

  6. matlab 脉冲压缩算法,线性调频脉冲压缩原理及其MATLAB仿真+程序

    摘 要:脉冲压缩技术在现代雷达系统和超带宽通信系统等领域具有越来越重要的应用.本文首先阐述了线性调频脉冲压缩的基本原理,并提出了增大信号等效带宽可以提高雷达距离分辨率,然后分析了匹配滤波器的特性,给出 ...

  7. matlab仿真散射信道,无线信道建模原理及SUI-3信道的MATlab仿真.doc

    无线信道建模原理及SUI-3信道的MATlab仿真 无线衰落信道及仿真 无线衰落信道 在无线移动信道中,信号从发射天线经过复杂的传播环境到达接收天线,接收信号为各反射.衍射和散射分量以及信道噪声的复合 ...

  8. 通信使用matlab三元码实验报告,Matlab仿真DSBSC信号与双极性不归零码通信原理实验报告二实验...

    Matlab仿真DSBSC信号与双极性不归零码通信原理实验报告二实验 Matlab 仿真 DSB-SC 信号与双极性不归零码通信原理实验报告二实验题目:Matlab 仿真 DSB-SC 信号与双极性不 ...

  9. matlab 相机焦距,世界坐标、相机坐标、图像坐标、像素坐标的原理、关系,并用matlab仿真...

    照相机是日常生活中最常见的.它能把三维的空间图片等比例缩小投影在照片上,称为一个二维图像. 以下我们就讲一讲原理,并相应的进行matlab仿真. 在学之前,先要了解几个概念: 什么是世界坐标? 也就是 ...

  10. ukf源程序 matlab,《卡尔曼滤波原理及应用-MATLAB仿真》程序-5.1UKF

    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 无迹Kalman滤波在目标跟踪中的应用 % ...

最新文章

  1. 路漫漫其修远矣 - 关于内容解析 与 存储
  2. ntpdate[27350]: no server suitable for synchronization found
  3. C#+Sql数据库备份
  4. C语言rec文件如何打开,REC 文件扩展名: 它是什么以及如何打开它?
  5. SSH 免密码/免用户名/免IP登录云服务器
  6. C#winform可视化(当主窗体不能拖动时)
  7. PHP5 Session 使用详解(一)
  8. 牛客网月赛24--ABC
  9. SE壳破解 ---- QQ空间最近访客提取,2012-豆豆营销 等软件
  10. qlv视频怎么转换成mp4格式工厂?如何用格式工厂将qlv格式转换成mp4格式?
  11. python爬取b站视频封面_学习笔记(4)[Python爬虫]:爬取B站搜索界面的所有视频的封面...
  12. 用大数据解决“痛点”问题 “云上贵州”再发力
  13. 苹果手机热点总断开怎么办?
  14. ffmpeg 合并转换文件_使用FFmpeg转换媒体文件的快速指南
  15. Micropython——HC-SR04超声波测距模块
  16. Python实现简单的闹钟/倒计时/番茄钟软件并打包成exe
  17. CCPC-Wannafly Winter Camp Day2 E
  18. 神舟 mini pc Android,轻巧小机身 神舟mini PC/PCS明日爆款
  19. 使用开源WordPress和WebStack搭建导航网站
  20. 家庭照片多杂乱,如何有序存储、管理和观看?

热门文章

  1. 数字图像处理(19): 边缘检测算子(Roberts算子、Prewitt算子、Sobel算子 和 Laplacian算子)
  2. 2021年认证杯SPSSPRO杯数学建模D题(第一阶段)停车的策略全过程文档及程序
  3. Intellij idea 插件 | 超越鼓励师 吐槽
  4. python写ppt_python可以写PPT吗
  5. python制作ppt_如何利用Excel与Python制作PPT
  6. 钉钉再放大招!打造公司文化也有智能工具,中国4300万中小企业有福了
  7. 运动控制器RTEX总线使用入门
  8. MathType安装指南
  9. AVR单片机学习笔记
  10. 游戏打不开该怎么设置计算机,驱动人生游戏修复工具,轻松解决DNF打不开的问题。...