CN117150310A - 一种基于fpga的快速傅里叶变换频谱提取优化方法 - Google Patents
一种基于fpga的快速傅里叶变换频谱提取优化方法 Download PDFInfo
- 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
Links
- 238000001228 spectrum Methods 0.000 title claims abstract description 90
- 238000000605 extraction Methods 0.000 title claims abstract description 19
- 238000000034 method Methods 0.000 title claims abstract description 19
- 238000005457 optimization Methods 0.000 title claims abstract description 13
- 238000006243 chemical reaction Methods 0.000 claims abstract description 8
- 239000010453 quartz Substances 0.000 claims abstract description 7
- VYPSYNLAJGMNEJ-UHFFFAOYSA-N silicon dioxide Inorganic materials O=[Si]=O VYPSYNLAJGMNEJ-UHFFFAOYSA-N 0.000 claims abstract description 7
- 238000007781 pre-processing Methods 0.000 claims abstract description 4
- 238000005070 sampling Methods 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 claims description 4
- 230000000737 periodic effect Effects 0.000 claims description 3
- 238000010183 spectrum analysis Methods 0.000 claims description 3
- 230000003595 spectral effect Effects 0.000 claims 1
- 230000001737 promoting effect Effects 0.000 abstract 1
- 230000009466 transformation Effects 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/14—Fourier, Walsh or analogous domain transformations, e.g. Laplace, Hilbert, Karhunen-Loeve, transforms
- G06F17/141—Discrete Fourier transforms
- G06F17/142—Fast Fourier transforms, e.g. using a Cooley-Tukey type algorithm
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/10—Pre-processing; Data cleansing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/213—Feature extraction, e.g. by transforming the feature space; Summarisation; Mappings, e.g. subspace methods
- G06F18/2131—Feature 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的快速傅里叶变换频谱提取优化方法。
背景技术
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%。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117526943A (zh) * | 2024-01-08 | 2024-02-06 | 成都能通科技股份有限公司 | 一种基于fpga的高速adc性能测试系统及方法 |
-
2023
- 2023-08-03 CN CN202310967894.0A patent/CN117150310A/zh active Pending
Cited By (2)
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 |