CN109829132A - 一种嵌入式环境下长数据序列快速谱分析方法 - Google Patents
一种嵌入式环境下长数据序列快速谱分析方法 Download PDFInfo
- Publication number
- CN109829132A CN109829132A CN201910051456.3A CN201910051456A CN109829132A CN 109829132 A CN109829132 A CN 109829132A CN 201910051456 A CN201910051456 A CN 201910051456A CN 109829132 A CN109829132 A CN 109829132A
- Authority
- CN
- China
- Prior art keywords
- data
- point
- piecemeal
- spectrum
- 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
- 238000010183 spectrum analysis Methods 0.000 title claims abstract description 34
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000001228 spectrum Methods 0.000 claims abstract description 14
- 238000009795 derivation Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 5
- 238000004364 calculation method Methods 0.000 claims description 5
- 235000013399 edible fruits Nutrition 0.000 claims description 2
- 238000004422 calculation algorithm Methods 0.000 abstract description 16
- 230000008569 process Effects 0.000 abstract description 3
- 241001269238 Data Species 0.000 abstract 1
- 230000001186 cumulative effect Effects 0.000 abstract 1
- 238000005516 engineering process Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
Landscapes
- Complex Calculations (AREA)
Abstract
一种嵌入式环境下长数据序列快速谱分析方法,用于嵌入式设备数据采集处理过程中,将必须得到所有数据点才能计算的传统FFT算法转变为分块计算的方式。首先确定频谱分析的数据点数和相应的分块数,嵌入式数据采集设备每采集到一个完整的分块数据,即通过其内置的现场可编程逻辑阵列(FPGA)器件对该数据块进行并行FFT计算,在FPGA计算的同时数据采集设备继续采集下一分块数据,形成流水线采集和数据处理。所有分块数据计算完成后,将计算得到各分块数据对应的频谱分量累加即可得到整段长数据序列的频谱。该方法和整段长数据序列直接进行FFT计算相比,可以实现边采集边计算,有效提高了数据处理的效率,大大减少了从采集到得到频谱结果的时间,实时性更好。
Description
技术领域
本发明涉及一种嵌入式环境下长数据序列快速谱分析方法,属于信号处理技术领域。
背景技术
随着数字处理技术和计算机技术的发展,数字信号处理技术(Digital SignalProcessing)已经深入到各个学科的研究领域,在实际的应用也越来越广泛。简单地说,数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、变换、综合与识别等加工处理,以达到提取信息和便于应用的目的[1]。数字信号处理基本上从两个方面来解决信号的问题:一个是时域的方法,即数字滤波;另一个是频域的方法,即频谱的分析。信号的处理任务大致分为三类:卷积:用于各种滤波器,对给定频率范围的原始信号进行加工来提高信噪比;相关:用于信号比较,分析信号中隐含的周期,也可分析随机信号的功率谱密度;变换:主要运用傅立叶变换实现时域到频域的变换,用于分析信号的频域组成,对信号进行识别[2]。其中,离散傅立叶变换(Discrete-time Fourier Transform,DFT)和卷积是信号处理中两个最基本也是最常用的的运算,它们涉及到信号与系统的分析与综合这一广泛的信号处理领域。
快速傅里叶变换(fast Fourier transform),即利用计算机计算离散傅里叶变换(DFT)的高效、快速计算方法的统称,简称FFT。有限长序列可以通过离散傅里叶变换(DFT)将其频域也离散化成有限长序列。但其计算量太大,很难实时地处理问题,因此引出了快速傅里叶变换(FFT)。1965年,Cooley和Tukey提出了计算离散傅里叶变换(DFT)的快速算法,将DFT的运算量减少了几个数量级。从此,对快速傅里叶变换(FFT)算法的研究便不断深入,数字信号处理这门新兴学科也随FFT的出现和发展而迅速发展。根据对序列分解与选取方法的不同而产生了FFT的多种算法,基本算法是基2DIT和基2DIF。FFT在离散傅里叶反变换、线性卷积和线性相关等方面也有重要应用。
从Cooly和Tukey提出快速傅立叶算法以来,算法一直在不断的优化改善。从基2算法到基4算法再到分裂基算法等等,这些算法都是围绕着优化蝶形计算的过程来提高计算的效率。比如说在蝶形计算的过程中复用更多的旋转因子减少复数乘法数量。但是这些算法都是需要所有的数据才可以进行计算,不能在只有一部分点时先行进行计算,在计算长序列谱值时,整个FFT的计算会需要很大的硬件消耗和时间消耗。在嵌入式设备里进行长序列谱分析时,比如32K点或者更多的点数,这时采集传输这些数据点会花费很多时间,在这段时间中计算芯片处于等待状态。为充分利用芯片的计算性能,提高计算的实时性,提出针对长序列谱分析问题进行分块计算。
发明内容
为了解决以上问题,本发明提供一种嵌入式环境下长数据序列快速谱分析方法,针对传统FFT算法在解决嵌入式设备中的长数据序列FFT问题时,需要得到所有的数据点才可以进行计算,数据采集设备采集这些信号需要较长时间,计算设备处于等待空闲状态。在嵌入式设备计算长序列硬件消耗较大,部分芯片不能直接进行长数据序列FFT计算。为解决上述问题,本发明利用分块的方法解决长数据序列谱分析问题,提高计算的实时性和计算效率。
本发明一种嵌入式环境下长数据序列快速谱分析方法,其计算处理步骤如下:
第一步,根据实际信号和所需要的频谱信息,确定每次频谱分析的总点数N点和分段数K,每分块为M点,M为2的幂次方;
第二步,嵌入式数据采集设备采集分析频谱的信号,当采集的信号的点数达到数量M时,将这一分块的数据进行信号的处理,数据采集设备继续采集下一分块的数据;
第三步,数据处理部分,将采集到的这一分块数据点乘旋转因子W,旋转因子的确定和数据点的位置有关;
第四步,数据处理部分,将上面第三步得到的预处理的数据,进行K个M点FFT并行处理,得到计算结果;
第五步,数据采集设备在第三和第四步数据处理的过程中,采集得到下一分块的数据点,将采集得到的数据进行第三步和第四步的数据处理;
第六步,将这K分块的所有计算结果输出,将得到的计算结果按照一定的顺序重新排列,再将结果进行叠加,得到这N点的频谱结果。
作为本发明进一步改进,所述步骤3中,旋转因子的具体推导形式如下:
设频谱分析的总点数N点和分块数K,每分块为M点,
作为本发明进一步改进,所述步骤4中,K个FFT模块并行处理推导如下:
设频谱分析的总点数N点和分块数K,每分块为M点,
作为本发明进一步改进,所述步骤6中,输出结果按照一定的顺序重新排列推导如下:
设频谱分析的总点数N点和分块数K,每分块为M点,
(1)将并行K个FFT模块的第一个输出按照推导的公式循序排列;
(2)将并行K个FFT模块的第二个输出也按照这个顺序排列,并接在(1)之后;
(3)将剩下的输出结果也按照上面两个步骤排序,这样将K个并行FFT模块的M点输出结果组成N点的输出结果。
本发明一种嵌入式环境下长数据序列快速谱分析方法,有益效果:
(1)本发明将传统FFT计算转化为分块计算,实现采集一部分点时就进行并行数据处理,将复数乘数量从降为提高设备的计算效率,提高计算的实时性。
(2)本发明在采样频率不高的情况下,不采用并行实现时,每次只需要M点FFT变换的硬件消耗,相对于N点的FFT计算可以大大减小所需要的硬件资源,对于低内存嵌入式设备实施具有可行性;
(3)本发明对解决超大点数的谱分析问题具有可行性。
附图说明
图1为本发明传统FFT与分块计算的时间对比图;
图2为本发明嵌入式设备长数据序列快速谱分析方法流程图;
图3为本发明算法在嵌入式设备FPGA实现时各模块划分图。
具体实施方式
本发明提供一种嵌入式环境下长数据序列快速谱分析方法,针对传统FFT算法在解决嵌入式设备中的长数据序列FFT问题时,需要得到所有的数据点才可以进行计算,数据采集设备采集这些信号需要较长时间,计算设备处于等待空闲状态。在嵌入式设备计算长序列硬件消耗较大,部分芯片不能直接进行长数据序列FFT计算。为解决上述问题,本发明利用分块的方法解决长数据序列谱分析问题,提高计算的实时性和计算效率。
实施例1:
一种嵌入式环境下长数据序列快速谱分析方法,其计算处理步骤如下:
第一步,根据实际信号和所需要的频谱信息,确定每次频谱分析的总点数N点和分块数K,每分块为M点,M为2的幂次方。
第二步,嵌入式数据采集设备采集分析频谱的信号,当采集的信号的点数达到数量M时,将这一分块的数据进行信号的处理,数据采集设备继续采集下一分块的数据。
第三步,数据处理部分,将采集到的这一分块数据点乘旋转因子W,旋转因子的确定和数据点的位置有关。
设频谱分析的总点数N点和分块数K,每分块为M点,
第四步,数据处理部分,将上面第三步得到的预处理的数据,进行K个M点FFT并行处理,得到计算结果。
设频谱分析的总点数N点和分块数K,每分块为M点,
第五步,数据采集设备在第三和第四步数据处理的过程中,采集得到下一分块的数据点,将采集得到的数据进行第三步和第四步的数据处理。
第六步,将这K分块的所有计算结果输出,将得到的计算结果按照一定的顺序重新排列,再将结果进行叠加,得到这N点的频谱结果。
设频谱分析的总点数N点和分块数K,每分块为M点,
将并行K个FFT模块的第一个输出按照推导的公式循序排列;
将并行K个FFT模块的第二个输出也按照这个顺序排列,并接在(1)之后;
将剩下的输出结果也按照上面两个步骤排序,这样将K个并行FFT模块的M点输出结果组成N点的输出结果。
下面就算法具体应用在FPGA设备中进行说明。
(1)一种嵌入式环境下长数据序列快速谱分析方法主要运用在嵌入式数据采集计算设备中,解决长数据序列信号FFT计算实时性问题。一种方式通过verilog将算法转化为硬件逻辑在FPGA设备上实现,针对32768点的快速傅立叶变换进行8分块的分块傅立叶变换计算,结构图如图3。包括输入缓冲单元、控制模块、旋转因子存储模块、乘法模块、分块FFT计算模块。
(2)输入缓冲单元:主要用于存储外界传输过来的原始信号数据。
(3)控制模块:主要产生控制时序和旋转因子地址的模块,保证各模块同步运行,这部分模块关系到整个算法流程的正确计算。
(4)旋转因子存储模块:存储需要的旋转因子。
(5)乘法模块:主要实现旋转因子和原始数据的乘法。
(6)分块FFT计算模块:用于FFT计算得到计算结果。
原始信号数据在各个模块的处理下,得到计算的初步结果。在得到各分块数据的计算结果之后,按照推导的规则进行重新排序。依次计算各分块数据后,将各分块数据的结果相加得到最终结果。应用本方法在长序列谱分析的情况下,可以比经典的快速傅立叶算法提高计算效率,节省计算时间,提高计算的实时性。
本申请中应用了具体个例对本发明的原理及实施方式进行阐述,以上实施例子的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的的思想,在具体实施方式及应用范围上会有改变之处。综上,本说明书内容不应理解为对本发明的限制。
Claims (4)
1.一种嵌入式环境下长数据序列快速谱分析方法,其计算处理步骤如下:
第一步,根据实际信号和所需要的频谱信息,确定每次频谱分析的总点数N点和分段数K,每分块为M点,M为2的幂次方;
第二步,嵌入式数据采集设备采集分析频谱的信号,当采集的信号的点数达到数量M时,将这一分块的数据进行信号的处理,数据采集设备继续采集下一分块的数据;
第三步,数据处理部分,将采集到的这一分块数据点乘旋转因子W,旋转因子的确定和数据点的位置有关;
第四步,数据处理部分,将上面第三步得到的预处理的数据,进行K个M点FFT并行处理,得到计算结果;
第五步,数据采集设备在第三和第四步数据处理的过程中,采集得到下一分块的数据点,将采集得到的数据进行第三步和第四步的数据处理;
第六步,将这K分块的所有计算结果输出,将得到的计算结果按照一定的顺序重新排列,再将结果进行叠加,得到这N点的频谱结果。
2.根据权利要求1所述的嵌入式环境下长数据序列快速谱分析方法,其特征在于:所述步骤3中,旋转因子的具体推导形式如下:
设频谱分析的总点数N点和分块数K,每分块为M点,
3.根据权利要求1所述的嵌入式环境下长数据序列快速谱分析方法,其特征在于:所述步骤4中,K个FFT模块并行处理推导如下:
设频谱分析的总点数N点和分块数K,每分块为M点,
4.根据权利要求1所述的嵌入式环境下长数据序列快速谱分析方法,其特征在于:所述步骤6中,输出结果按照一定的顺序重新排列推导如下:
设频谱分析的总点数N点和分块数K,每分块为M点,
(1)将并行K个FFT模块的第一个输出按照推导的公式循序排列;
(2)将并行K个FFT模块的第二个输出也按照这个顺序排列,并接在(1)之后;
(3)将剩下的输出结果也按照上面两个步骤排序,这样将K个并行FFT模块的M点输出结果组成N点的输出结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910051456.3A CN109829132A (zh) | 2019-01-21 | 2019-01-21 | 一种嵌入式环境下长数据序列快速谱分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910051456.3A CN109829132A (zh) | 2019-01-21 | 2019-01-21 | 一种嵌入式环境下长数据序列快速谱分析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109829132A true CN109829132A (zh) | 2019-05-31 |
Family
ID=66860423
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910051456.3A Pending CN109829132A (zh) | 2019-01-21 | 2019-01-21 | 一种嵌入式环境下长数据序列快速谱分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109829132A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113608023A (zh) * | 2021-08-18 | 2021-11-05 | 国网湖南省电力有限公司 | 采样频率自适应的谐波检测方法及系统 |
CN113673091A (zh) * | 2021-07-26 | 2021-11-19 | 哈尔滨工业大学 | 一种机载嵌入式实时大点数时序信号处理方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650706A (zh) * | 2009-06-30 | 2010-02-17 | 重庆重邮信科通信技术有限公司 | Fft分支计算方法及装置 |
CN103678255A (zh) * | 2013-12-16 | 2014-03-26 | 合肥优软信息技术有限公司 | 一种基于龙芯3号处理器的fft高效并行实现优化方法 |
CN107153206A (zh) * | 2016-10-13 | 2017-09-12 | 南京航空航天大学 | 一种基于fft的北斗卫星信号快速捕获方法 |
-
2019
- 2019-01-21 CN CN201910051456.3A patent/CN109829132A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101650706A (zh) * | 2009-06-30 | 2010-02-17 | 重庆重邮信科通信技术有限公司 | Fft分支计算方法及装置 |
CN103678255A (zh) * | 2013-12-16 | 2014-03-26 | 合肥优软信息技术有限公司 | 一种基于龙芯3号处理器的fft高效并行实现优化方法 |
CN107153206A (zh) * | 2016-10-13 | 2017-09-12 | 南京航空航天大学 | 一种基于fft的北斗卫星信号快速捕获方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113673091A (zh) * | 2021-07-26 | 2021-11-19 | 哈尔滨工业大学 | 一种机载嵌入式实时大点数时序信号处理方法 |
CN113608023A (zh) * | 2021-08-18 | 2021-11-05 | 国网湖南省电力有限公司 | 采样频率自适应的谐波检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109829132A (zh) | 一种嵌入式环境下长数据序列快速谱分析方法 | |
CN100592285C (zh) | 一种信号处理方法、装置和系统 | |
CN101937424A (zh) | 基于fpga实现高速fft处理的方法 | |
CN101154216B (zh) | 用于ofdm载波的调制解调的快速傅立叶变换电路及变换方法 | |
CN108852348A (zh) | 头皮脑电的采集位点排序方法及系统 | |
CN114298237A (zh) | 一种基于cnn的变压器故障诊断方法、装置、设备及存储介质 | |
CN112231626A (zh) | 一种fft处理器 | |
CN113673768A (zh) | 基于vmd和cnn-lstm的风功率概率预测模型 | |
CN102841880B (zh) | 一种基于数字信号处理器快速频谱细化的方法 | |
CN117290679A (zh) | 电流互感器的运行状态检测方法、装置及电子设备 | |
CN117150310A (zh) | 一种基于fpga的快速傅里叶变换频谱提取优化方法 | |
CN116578819A (zh) | 一种稀疏分数傅里叶变换fpga实现方法及系统 | |
CN103412942A (zh) | 一种基于云计算技术的电压暂降数据分析方法 | |
CN105137176B (zh) | 一种利用快速三角形式傅里叶变换的信号谐波分析方法 | |
CN116525103A (zh) | 一种基于XGBoost机器学习的血糖采集预测方法 | |
CN115825602A (zh) | 一种综合多元信息相似性分析的负荷辨识方法及系统 | |
CN114779010A (zh) | 基于对称差分能量算子和神经网络的故障行波检测方法 | |
CN111616686B (zh) | 基于Heaviside核函数的生理信号非平衡性分析方法 | |
CN103323063A (zh) | 超声波流量计及其时间差测量方法 | |
CN101833540B (zh) | 信号处理方法和装置 | |
Serasinghe et al. | A novel low-complexity VLSI architecture for an EEG feature extraction platform | |
CN105842536A (zh) | 一种改进ZoomFFT和ApFFT算法结合分析密集谐波和间谐波的方法 | |
Lo et al. | Real-time implementation of the moving FFT algorithm | |
Li et al. | A wideband reconnaissance receiver design based on real-time spectrum analysis technology | |
CN110022201A (zh) | 基于fpga的旁路攻击功耗曲线采集同步时钟系统 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190531 |