一种实现CZT变换的FPGA架构制造技术

技术编号:27808457 阅读:10 留言:0更新日期:2021-03-30 09:31
本发明专利技术公开了一种实现CZT变换的FPGA架构,采用布鲁斯坦等式,将CZT变换转变为三个系数c(n)、h(n)、u(k)的计算,分别设置c(n)、h(n)、u(k)的相角,采用两个加法器形成递推结构,由于相角的初值仅与常数θ0、和N有关,计算相角的初值存于FPGA中,由递推算法计算c(n)、h(n)、u(k)的相角,由CORDIC运算器产生c(n)、h(n)、u(k)的线性调频信号,并行处理c(n)、h(n)、u(k)的计算,基于递推结构计算c(n)、h(n)、u(k),提供了CZT变换的并行流水架构,计算精简,耗费资源少,处理速度快,实现了CZT变换的高效率快速计算。率快速计算。率快速计算。

【技术实现步骤摘要】
一种实现CZT变换的FPGA架构


[0001]本专利技术属于信号处理
,具体涉及一种FPGA架构设计技术。

技术介绍

[0002]在信号处理领域,常用DFT变换或FFT变换,分析离散采样信号的频谱,针对的是信号的整个频域。在需要对信号的局部频域细化分析的场合,一般使用CZT变换。
[0003]设有限长序列x(n),0≤n≤N

1,其Z变换定义为
[0004][0005]z为任意复数。
[0006]如果在Z域中,沿单位圆取等间隔抽样点依次对x(n)进行Z变换,即令
z
为0≤k≤N

1对x(n)进行DFT变换,频谱分析的单位角频率差为即
[0007][0008]如果在Z平面上,取任意一段螺线做等分角抽样,即令z为 z
k
=AW

k
,0≤k≤M

1对x(n)进行CZT变换,A、W为任意复数,即
[0009][0010]A、W表示为A0为起始取样点z0的矢量半径长度,θ0为起始取样点z0的相角,即选取频率范围的起点,W0为螺线伸展率,为两相邻z
k
点之间的角频率差,即频谱分析的单位角频率差。
[0011]为了对信号进行频谱分析,CZT变换在单位圆上取一段圆弧,即A0=1、W0=1,选择θ0、和M以指定的频域和分辨率,对信号进行细化分析,即
[0012][0013]CZT变换的工程实现并不像DFT那样,通过FFT变换快速计算,而直接计算CZT变换的计算量较大,因此需要研究实现CZT变换的快速计算工程架构。
[0014]工程中常用布鲁斯坦等式代入公式3变成卷积形式为
[0015][0016]令得到
[0017][0018]选取最小的正整数L是2的整数次幂且L≥N+M

1,对g(n)和h(n)序列作长度为L的扩展,g(n)补零加长为L点的序列为
[0019][0020]h(n)作周期延拓为L点的序列为
[0021][0022]用FFT和IFFT快速计算
[0023][0024]令则CZT变换的FPGA实现流程如图1所示。
[0025]c(n)产生模块的产生系数c(n)表达式为h(n)产生模块的产生系数h(n)表达式为公式8,u(k)产生模块的产生系数u(k)表达式为
[0026]系数c(n)和需要做CZT变换的序列x(n)一起输入复数相乘模块相乘,得到输入补零模块,对N≤n≤L

1段补零,得到公式7的g(n),输入 FFT模块进行FFT变换,得到G(r)=FFT(g(n))。
[0027]系数h(n)输入FFT模块进行FFT变换,得到H(r)=FFT(h(n))和G(r)一起输入复数相乘模块相乘,得到J(r)=G(r)
·
H(r)=FFT(g(n))
·
FFT(h(n))输入IFFT模块进行IFFT变
换,得到J(k)=IFFT(J(r))=IFFT(FFT(g(n))
·
FFT(h(n)))和u(k)一起输入复数相乘模块相乘,得到X(k)表达式为
[0028]X(k)输入截短模块,截除M≤k≤L

1部分,得到序列x(n)的CZT变换结果X(z
k
)表达式为
[0029]FFT模块和IFFT模块一般采用FPGA厂商提供的IP核,补零和截短处理容易实现,因此关键在于c(n)、h(n)、u(k)三个系数的产生模块,这是三个线性调频信号,在以往的工程实现中,如果采用线性频率产生器与FPGA厂商提供的DDS产生器相结合的方式,耗费较多的存储资源,如果直接计算相角,再输入FPGA厂商提供的CORDIC运算器产生线性调频信号,计算复杂,耗费较多的计算资源。

技术实现思路

[0030]本专利技术为了解决现有技术存在的问题,提出了一种实现CZT变换的FPGA架构,为了实现上述目的,本专利技术采用了以下技术方案。
[0031]采用布鲁斯坦等式,将CZT变换转变为三个系数c(n)、h(n)、u(k)的计算,分别设置 c(n)、h(n)、u(k)的相角,采用两个加法器形成递推结构,由于相角的初值仅与常数θ0、和N有关,计算相角的初值存于FPGA中,由递推算法计算c(n)、h(n)、u(k)的相角,由CORDIC运算器产生c(n)、h(n)、u(k)的线性调频信号,并行处理c(n)、h(n)、 u(k)的计算。
[0032]设定c(n)的相角为φ
c
(n)、h(n)的相角为φ
h
(n),u(k)相角为φ
u
(k)得到
[0033][0034][0035][0036]设定序列初值φ
c
(0)=0采用递推结构φ
c
(n)=φ
c
(n

1)+ψ
c
(n

1)计算φ
c
(n)。
[0037]设定序列对于0≤n≤M,初值φ
h
(0)=0对于 L

N+1≤n≤L,初值采用递推结构φ
h
(n)=φ
h
(n

1)+ψ
h
(n

1)计算φ
h
(n)。
[0038]设定序列初值φ
u
(0)=0,采用递推结构φ
u
(k)=φ
u
(k

1)+ψ
u
(k

1)计算φ
u
(k)。
[0039]本专利技术采用递推结构计算CZT变换系数,计算精简,耗费资源少,既避免了传统FPGA 实现模式使用占大量内存的DDS产生器,又避免了直接计算相角所需要的求平方等复杂计算,整个FPGA处理架构采用并行资源流水处理,实现了CZT变换的高效率快速计算。
附图说明
[0040]图1是CZT变换的FPGA实现流程图,图2是c(n)的FPGA实现流程图,图3是h(n) 的FPGA实现流程图,图4是u(k)的FPGA实现流程图。
具体实施方式
[0041]以下结合附图对本专利技术的技术方案做具体的说明。
[0042]设定c(n)的相角为φ
c
(n)、h(n)的相角为φ
h
(n),u(k)相角为φ
u
(k)得到
[0043][0044][0045][0046]设定序列初值φ
c
(0)=0采用递推结构φ
c
(n)=φ
c
(n

1)+ψ
c
(n

1)计算φ
c
(n),则c(n)的FPGA实现流本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种实现CZT变换的FPGA架构,采用布鲁斯坦等式,将CZT变换转变为三个系数c(n)、h(n)、u(k)的计算,其特征在于,包括:分别设定c(n)、h(n)、u(k)的相角,采用两个加法器形成递推结构,计算相角的初值存于FPGA中,由递推算法计算c(n)、h(n)、u(k)的相角,由CORDIC运算器产生c(n)、h(n)、u(k)的线性调频信号,并行处理c(n)、h(n)、u(k)的计算。2.根据权利要求1所述的实现CZT变换的FPGA架构,其特征在于,所述分别设定c(n)、h(n)、u(k)的相角,包括:设定c(n)的相角为φ
c
(n)、h(n)的相角为φ
h
(n),u(k)相角为φ
u
(k)得到得到3.根据权利要求2所述的实现CZT变换的FPGA架构,其特征在于,所述由递推算法计算c(n)的相角,包括:设定序列初值φ
c
(0)=0采用递推结构φ
c
(n)=φ
c
(n

1)+ψ
c...

【专利技术属性】
技术研发人员:吴沁文
申请(专利权)人:中国电子科技集团公司第十四研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1