原创 频域脉冲压缩

2015-12-31 16:57 1979 26 26 分类: FPGA/CPLD
1频域脉冲压缩的理论基础 1.1脉冲压缩的目的

脉冲压缩处理是指对宽脉冲信号通过压缩网络处理得到窄脉冲信号的过程。理想的脉冲压缩示意图如下:

  1.gif

 

图1:理想脉压过程示意图

 

压缩网络的作用即匹配滤波器,实际上是输入信号Ui(W),与匹配滤波系统H(W)的卷积过程。在时域上的表示为:

    Y(n) = x(n)*h(n); (公式1)

    *代表卷积。

时域上两个函数的卷积过程,对应到频域上就是它们的傅立叶变换相乘。所以,脉冲压缩在频域上的公式表示为:

   Y(n)=IFFT{FFT{x(n)} ×{FFT{h(n)}} (公式2)

FFT{.}代表傅立叶变换,IFFT{.}代表傅立叶反变换。

 

1.2点数的选取

在实际项目中,压缩信号的点数与匹配滤波器的点数肯定是不同的,设压缩信号x(n)的点数为L,匹配滤波器的响应的点数为M。输出信号y(n)的点数为N。根据线性卷积的性质,它们之间的关系为

N = M + L-1;

 

在频域上两信号相乘,相当于时域上做圆卷积。(线性卷积与圆卷积的相关知识见附录1)。要想圆卷积得到与线性卷积一样的结果,需要将x(n),h(n)序列点数补零扩展为L+M-1。另外卷积和输出的部分分为有效脉压部分、未有效脉压部分。通常将y(n)在M-1<=n<=L-1时对应的点为有效输出点。所以在频域处理时,只需对滤波器系数补零至长度L即可,不必延伸至L+M-1点。

 

2.gif

图2:冗余补零示意图

 

3.gif

图3:经典补零示意图

 

如上图二冗余补零方式,做FFT变换后y(n)的无效部分对脉压计算无意义,可截断。所以无需补零至M+L-1,可以减少计算量。正确的补零方式如图3所示。

 

 

2频域脉压的流程图

了解了脉压的概念与原理,接下来要搞清楚它的工作流程。流程图可以帮助我们理清思路,对问题有整体的把握。下面为频域脉压的流程图。

 

 

4.gif

 

图4:频域脉压流程图

 

 

 

流程图描述:

1.将信号数据做N点FFT变换。

2.将滤波系数补零至L点做FFT变换(一般M)。<>

3.两路数据在频域相乘,相当于时域的卷积。(补零至L,圆卷积结果等于线性卷积)

4.相乘结果做IFFT反变换,得到脉压输出信号。

 

 

 

 

 

3自顶向下的模块化设计

模块的设计一般采用自顶向下的设计方法,将一个大问题划分成一个个小问题,将脉压模块划分成一个个简单的小模块,结构简单,可以理清思路,同时方便代码的调试与维护。自顶向下的模块图如下:

 

 

5.gif

图5:top_down设计

 

附录1 频域与时域的相关知识点

离散线性卷积定义:长度为N1的序列x(n),与长度为N2的序列h(n)相乘,可得到长度N=N1+N2-1的序列y(n)。(这一点可由多项式相乘得出)。

y(n) = x(n)*h(n)=7.gif

离散圆周卷积定义:圆周卷积定义在有限序列之间。有限序列x(n)与h(n)的长度分别为N1和N2,取N>=max(N1,N2),N点的圆周卷积定义为:

y(n) = x(n)*h(n)=8.gif;

圆周卷积与线性卷积的关系:两组序列x(n),h(n)的长度分别为N1,N2。取N>=max{N1,N2},如果N>=N1+N2-1,则线性卷积与圆周卷积等价。

线性卷积的计算比较麻烦,为方便计算,一般将其转换为圆周卷积来计算。而圆周卷积只需用DFT来计算,DFT又可以用FFT来实现。从而可以通过FFT和IFFT来实现线性卷积。

 

6.gif

图9 FFT实现线性卷积示意图

作者: 洋仔, 来源:面包板社区

链接: https://mbb.eet-china.com/blog/uid-me-1854387.html

版权声明:本文为博主原创,未经本人允许,禁止转载!

文章评论0条评论)

登录后参与讨论
我要评论
0
26
关闭 站长推荐上一条 /2 下一条