CN117150310A - 一种基于fpga的快速傅里叶变换频谱提取优化方法 - Google Patents

一种基于fpga的快速傅里叶变换频谱提取优化方法 Download PDF

Info

Publication number
CN117150310A
CN117150310A CN202310967894.0A CN202310967894A CN117150310A CN 117150310 A CN117150310 A CN 117150310A CN 202310967894 A CN202310967894 A CN 202310967894A CN 117150310 A CN117150310 A CN 117150310A
Authority
CN
China
Prior art keywords
spectrum
fourier transform
frequency
fast fourier
fft
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310967894.0A
Other languages
English (en)
Inventor
李念强
刘英杰
孔祥灿
岳炳臣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Jinan
Original Assignee
University of Jinan
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Jinan filed Critical University of Jinan
Priority to CN202310967894.0A priority Critical patent/CN117150310A/zh
Publication of CN117150310A publication Critical patent/CN117150310A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/14Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
    • G06F17/141Discrete Fourier transforms
    • G06F17/142Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/10Pre-processing; Data cleansing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/213Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
    • G06F18/2131Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods based on a transform domain processing, e.g. wavelet transform

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Complex Calculations (AREA)

Abstract

本发明提供了一种基于FPGA的快速傅里叶变换频谱提取优化方法,借助于FPGA并发执行的优点,该方法运算速度快、精度高且占用资源更少,代码模块包含AD模数转换模块、FFT顶层控制模块、数据处理模块、串口发送模块等。具体实现步骤包括:使用AD芯片将模拟信号转化为数字信号用于进行FFT变换;将数字信号进行预处理,截取其中1024个点进行FFT变换;借助于Quartus内部FFT IP核将数字信号从时域转化为频域;将产生的512个频域复数点进行取模运算;将模值与旋转因子相乘得到幅度谱,进而转化为幅值谱;将幅值谱进行比较分析,输出频谱各点数值及信号频率;将频谱信息通过串口发送模块输出至PC端;在PC端用QT编写的上位机系统进行频谱绘制及其信息显示。这种基于FPGA的快速傅里叶变换频谱提取优化方法可以快速、精准的进行信号处理,提取信号中的频谱信息,推动数字信号处理领域发展。

Description

一种基于FPGA的快速傅里叶变换频谱提取优化方法
技术领域
本发明涉及数字信号处理及嵌入式领域,具体设计是一种基于FPGA的快速傅里叶变换频谱提取优化方法。
背景技术
FFT是DFT的高效算法,被称为快速傅立叶变换。傅里叶变换是时域一频域变换分析中最基本的方法之一,是许多数字信号处理方法的基础。
FFT的存在推动数字信号处理领域不断前进,快速傅里叶变化广泛运用在了快速相关、快速卷积、经典谱估计、现代谱估计、正交系统等方面,FFT的意义远不止这些,而且也有许多的变种,比如二维FFT、DCT等,在图像领域发挥着图像模糊(清晰),轮廓化,压缩等贡献。
由于计算机技术的快速发展,在70年代中期,美国和日本的一些电子设备企业开始设计和生产数字式傅里叶分析仪,但是由于离散傅里叶变换的计算量较大,直到DFT的快速算法(FFT)发现之后,有限离散傅里叶变换(DFT)才真正获得了广泛的应用,随着大规模集成器件的问世以及计算机技术的迅速发展,FFT技术已应用于现代科学技术的各个领域。
FPGA相对于其他主控更适合于进行高速数字信号处理,利用硬件并行的优势,FPGA打破了顺序执行的模式,在每个时钟周期内完成更多的处理任务,FPGA的并发可以在不同逻辑功能之间进行,而不局限于同时执行相同的功能,超越了数字信号处理器(DSP)的运算能力。
发明内容
针对现有大多数主控芯片存在的处理速度慢、精度低等问题,本发明提供了一种基于FPGA的快速傅里叶变换频谱提取优化方法,借助于FPGA并发执行的优点,该方法运算速度快、精度高且占用资源更少。所述方法如下:
S1.使用AD芯片将模拟信号转化为数字信号用于进行FFT变换。
S2.将数字信号进行预处理,截取其中1024个点进行FFT变换。
S3.借助于Quartus内部FFT IP核将数字信号从时域转化为频域。
S4.将产生的512个频域复数点进行取模运算。
S5.将模值与旋转因子相乘得到幅度谱,进而转化为幅值谱。
S6.将幅值谱进行比较分析,输出频谱各点数值及信号频率。
S7.将频谱信息通过串口发送模块输出至PC端。
S8.在PC端用QT编写的上位机系统进行频谱绘制及其信息显示。
进一步的,S1中所述的采集数据的AD芯片使用的是AD7705模数转换芯片,该芯片具有两个16位全差分输出通道,具有高分辨率、宽动态范围、自校准、低功耗及优良的抗噪声性能。
进一步的,S2中所截取的点数要根据信号频率、采样频率来确定,采样频率要遵循奈奎斯特采样定理,大于信号频率的两倍,以保留原始信号的频谱信息,FFT点数要包含完整的周期信号以保证频谱分析的准确性。
进一步的,S3进行FFT变换直接调用Quartus内部集成的IP核,IP核具有性能好、速度快、功耗低、开发周期短等优点,IP核参数可在设置中修改、可移植性强,本算法采取1024点的快速傅里叶变换,位宽选择10,抽样频率选择20MHz,频谱分辨率为19531.25Hz,快速傅里叶变换借助旋转因子的周期性、对称性等极大降低了傅里叶变换的复杂度,快速傅里叶变换公式如下:
进一步的,S4中取模运算分为两步,第一步计算实部与虚部的平方和,第二步调用sqrt模块进行开方运算,公式如下:
其中Source_data为模值,Data_real为傅里叶变换后复数点的实部,Data_imag为傅里叶变换后复数点的虚部。
进一步的,S5中将模值与旋转因子相乘得到幅度谱,进而转化为幅值谱,需要将取模后的数值与缩放因子相乘得到幅度谱(Magnitude),公式如下:
其中Magnitude为幅度谱,Source_data为模值,Source_exp为缩放因子。
幅度谱再除以FFT长度得到幅值谱(Amplitude),公式如下:
第一点(直流分量点):
其他点:
其中Amplitude为幅值谱,N为快速傅里叶变换点数,Magnitude为幅度谱。
进一步的:S6中将幅值谱进行比较分析,输出频谱各点数值及信号频率。
进一步的:S7将频谱信息通过串口发送模块输出至PC端,该步骤先将FFT顶层模块所输出的512个幅值点写入RAM IP核,再通过与串口波特率相匹配的读地址提取时钟将数据提取,为了兼顾传输速率及乱码率,时序电路分频设定为54分频,采取57600波特率,此时提取频率为57870,此时误差最低,仅0.469%。
进一步的:S8在PC端用QT编写的上位机系统进行频谱绘制及其信息显示,该步骤将通过CH340芯片将串口接收到的数据传输至上位机系统中,上位机系统在接收到数据结束位时会实时更新频谱数据。
附图说明
图1是本发明实施例提供的一种基于FPGA的快速傅里叶变换频谱提取优化方法流程图。
图2是输入的混频信号波形图。
图3是经过AD7705后将连续信号抽样为离散化的数据点图。
图4是使用该方法实现的频谱提取分析图,可以看出精确提取出了输入信号频率。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
本发明涉及数字信号处理及嵌入式领域,具体设计是一种基于FPGA的快速傅里叶变换频谱提取优化方法。所述方法如下:
S1.使用AD芯片将模拟信号转化为数字信号用于进行FFT变换。
S2.将数字信号进行预处理,截取其中1024个点进行FFT变换。
S3.借助于Quartus内部FFT IP核将数字信号从时域转化为频域。
S4.将产生的512个频域复数点进行取模运算。
S5.将模值与旋转因子相乘得到幅度谱,进而转化为幅值谱。
S6.将幅值谱进行比较分析,输出频谱各点数值及信号频率。
S7.将频谱信息通过串口发送模块输出至PC端。
S8.在PC端用QT编写的上位机系统进行频谱绘制及其信息显示。
进一步的,S1中所述的采集数据的AD芯片使用的是AD7705模数转换芯片,该芯片具有两个16位全差分输出通道,具有高分辨率、宽动态范围、自校准、低功耗及优良的抗噪声性能。
进一步的,S2中所截取的点数要根据信号频率、采样频率来确定,采样频率要遵循奈奎斯特采样定理,大于信号频率的两倍,以保留原始信号的频谱信息,FFT点数要包含完整的周期信号以保证频谱分析的准确性。
进一步的,S3进行FFT变换直接调用Quartus内部集成的IP核,IP核具有性能好、速度快、功耗低、开发周期短等优点,IP核参数可在设置中修改、可移植性强,本算法采取1024点的快速傅里叶变换,位宽选择10,抽样频率选择20MHz,频谱分辨率为19531.25Hz,快速傅里叶变换借助旋转因子的周期性、对称性等极大降低了傅里叶变换的复杂度,快速傅里叶变换公式如下:
进一步的,S4中取模运算分为两步,第一步计算实部与虚部的平方和,第二步调用sqrt模块进行开方运算,公式如下:
其中Source_data为模值,Data_real为傅里叶变换后复数点的实部,Data_imag为傅里叶变换后复数点的虚部。
进一步的,S5中将模值与旋转因子相乘得到幅度谱,进而转化为幅值谱,需要将取模后的数值与缩放因子相乘得到幅度谱(Magnitude),公式如下:
其中Magnitude为幅度谱,Source_data为模值,Source_exp为缩放因子。
幅度谱再除以FFT长度得到幅值谱(Amplitude),公式如下:
第一点(直流分量点):
其他点:
其中Amplitude为幅值谱,N为快速傅里叶变换点数,Magnitude为幅度谱。
进一步的:S6中将幅值谱进行比较分析,输出频谱各点数值及信号频率。
进一步的:S7将频谱信息通过串口发送模块输出至PC端,该步骤先将FFT顶层模块所输出的512个幅值点写入RAM IP核,再通过与串口波特率相匹配的读地址提取时钟将数据提取,为了兼顾传输速率及乱码率,时序电路分频设定为54分频,采取57600波特率,此时提取频率为57870,此时误差最低,仅0.469%。
进一步的:S8在PC端用QT编写的上位机系统进行频谱绘制及其信息显示,该步骤将通过CH340芯片将串口接收到的数据传输至上位机系统中,上位机系统在接收到数据结束位时会实时更新频谱数据。

Claims (5)

1.一种基于FPGA的快速傅里叶变换频谱提取优化方法,借助于FPGA并发执行的优点,该方法运算速度快、精度高且占用资源更少。所述方法如下:
S1.使用AD芯片将模拟信号转化为数字信号用于进行FFT变换,采集数据的AD芯片使用的是AD7705模数转换芯片,该芯片具有两个16位全差分输出通道,具有高分辨率、宽动态范围、自校准、低功耗及优良的抗噪声性能;
S2.将数字信号进行预处理,截取其中1024个点进行FFT变换,所截取的点数要根据信号频率、采样频率来确定,采样频率要遵循奈奎斯特采样定理,大于信号频率的两倍,以保留原始信号的频谱信息,FFT点数要包含完整的周期信号以保证频谱分析的准确性;
S3.借助于Quartus内部FFTip核将数字信号从时域转化为频域,进行FFT变换直接调用Quartus内部集成的IP核,IP核具有性能好、速度快、功耗低、开发周期短等优点,IP核参数可在设置中修改、可移植性强,本算法采取1024点的快速傅里叶变换,位宽选择10,抽样频率选择20MHz,频谱分辨率为19531.25Hz;
S4.将产生的512个频域复数点进行取模运算,取模运算分为两步,第一步计算实部与虚部的平方和,第二步调用sqrt模块进行开方运算,;
S5.将模值与旋转因子相乘得到幅度谱,进而转化为幅值谱,将取模后的数值与缩放因子相乘得到幅度谱,幅度谱再除以FFT长度得到幅值谱;
S6.将幅值谱进行比较分析,输出频谱各点数值及信号频率;
S7.将频谱信息通过串口发送模块输出至PC端,先将FFT顶层模块所输出的512个幅值点写入RAM IP核,再通过与串口波特率相匹配的读地址提取时钟将数据提取,为了兼顾传输速率及乱码率,时序电路分频设定为54分频,采取57600波特率,此时提取频率为57870,此时误差最低,仅0.469%;
S8.在PC端用QT编写的上位机系统进行频谱绘制及其信息显示,该步骤将通过CH340芯片将串口接收到的数据传输至上位机系统中,上位机系统在接收到数据结束位时会实时更新频谱数据。
2.根据权利要求1所述的一种基于FPGA的快速傅里叶变换频谱提取优化方法,其特征在于:S3中所述的傅里叶变换采取快速傅里叶变换,具体步骤如下:(1)先借助于AD芯片将连续信号离散化;(2)对离散化的16位数据进行截取;(3)将截取后的数据在DFT的基础上借助旋转因子的周期性、对称性等实现快速傅里叶变换,公式如下:
3.根据权利要求1所述的一种基于FPGA的快速傅里叶变换频谱提取优化方法,其特征在于:S4中取模运算分为两步,第一步计算实部与虚部的平方和,第二步调用sqrt模块进行开方运算,公式如下:
其中Source_data为模值,Data_real为傅里叶变换后复数点的实部,Data_imag为傅里叶变换后复数点的虚部。
4.根据权利要求1所述的一种基于FPGA的快速傅里叶变换频谱提取优化方法,其特征在于:S5中将模值与旋转因子相乘得到幅度谱,进而转化为幅值谱,需要将取模后的数值与缩放因子相乘得到幅度谱(Magnitude),公式如下:
其中Magnitude为幅度谱,Source_data为模值,Source_exp为缩放因子;
幅度谱再除以FFT长度得到幅值谱(Amplitude),公式如下:
第一点(直流分量点):
其他点:
其中Amplitude为幅值谱,N为快速傅里叶变换点数,Magnitude为幅度谱。
5.根据权利要求1所述的一种基于FPGA的快速傅里叶变换频谱提取优化方法,其特征在于:S7将频谱信息通过串口发送模块输出至PC端,该步骤先将FFT顶层模块所输出的512个幅值点写入RAM IP核,再通过与串口波特率相匹配的读地址提取时钟将数据提取,为了兼顾传输速率及乱码率,时序电路分频设定为54分频,采取57600波特率,此时提取频率为57870,此时误差最低,仅0.469%。
CN202310967894.0A 2023-08-03 2023-08-03 一种基于fpga的快速傅里叶变换频谱提取优化方法 Pending CN117150310A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310967894.0A CN117150310A (zh) 2023-08-03 2023-08-03 一种基于fpga的快速傅里叶变换频谱提取优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310967894.0A CN117150310A (zh) 2023-08-03 2023-08-03 一种基于fpga的快速傅里叶变换频谱提取优化方法

Publications (1)

Publication Number Publication Date
CN117150310A true CN117150310A (zh) 2023-12-01

Family

ID=88908984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310967894.0A Pending CN117150310A (zh) 2023-08-03 2023-08-03 一种基于fpga的快速傅里叶变换频谱提取优化方法

Country Status (1)

Country Link
CN (1) CN117150310A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117526943A (zh) * 2024-01-08 2024-02-06 成都能通科技股份有限公司 一种基于fpga的高速adc性能测试系统及方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117526943A (zh) * 2024-01-08 2024-02-06 成都能通科技股份有限公司 一种基于fpga的高速adc性能测试系统及方法
CN117526943B (zh) * 2024-01-08 2024-03-29 成都能通科技股份有限公司 一种基于fpga的高速adc性能测试系统及方法

Similar Documents

Publication Publication Date Title
CN117150310A (zh) 一种基于fpga的快速傅里叶变换频谱提取优化方法
CN101154216B (zh) 用于ofdm载波的调制解调的快速傅立叶变换电路及变换方法
CN112231626B (zh) 一种fft处理器
CN109359267A (zh) 一种基于动态截位的低复杂度无乘法器定点fft优化方法
CN109799051B (zh) 一种多轴振动相干函数谱的处理方法及系统
CN103901405B (zh) 实时块浮点频域四路脉冲压缩器及其脉冲压缩方法
CN114186183B (zh) 一种轻量化的fft运算方法及其实现装置
Zhou et al. Design and implementation of a 1024-point high-speed FFT processor based on the FPGA
CN114970644A (zh) 一种基于MonoFFT切换的单比特信号处理方法
CN102841880A (zh) 一种基于数字信号处理器快速频谱细化的方法
Sankaran et al. Design and Implementation of 1024 Point Pipelined Radix 4 FFT Processor on FPGA for Biomedical Signal Processing Applications
CN111753249A (zh) 一种基于fpga芯片计算信号频谱的方法及系统
Zhong et al. 1024-point pipeline FFT processor with pointer FIFOs based on FPGA
Cui-xiang et al. Some new parallel fast Fourier transform algorithms
CN109829132A (zh) 一种嵌入式环境下长数据序列快速谱分析方法
Yang et al. A efficient design of a real-time FFT architecture based on FPGA
Mohan et al. Implementation of N-Point FFT/IFFT processor based on Radix-2 Using FPGA
Jin et al. Design of spaceborne SAR imaging processing and fast Verification Based on FPGA
CN112597432A (zh) 基于fft算法的复序列互相关在fpga上的加速实现方法及系统
CN103926567B (zh) 高速实时脉冲压缩算法
Li et al. A wideband reconnaissance receiver design based on real-time spectrum analysis technology
Li et al. The implementation of high-speed FFT processor based on FPGA
Yan et al. The Method of Real-Time Data Weighting Operations of CPLD/FPGA in Measurement Systems.
Mohd Hassan et al. Implementation of pipelined fft processor on fpga microchip proposed for mechanical applications
Kumar et al. Hardware Implementation of 64-Bits Data by Radix-8 FFT/IFFT for High Speed Applications

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination