CN110378220B - Fpga的信号极值点提取方法 - Google Patents
Fpga的信号极值点提取方法 Download PDFInfo
- Publication number
- CN110378220B CN110378220B CN201910512309.1A CN201910512309A CN110378220B CN 110378220 B CN110378220 B CN 110378220B CN 201910512309 A CN201910512309 A CN 201910512309A CN 110378220 B CN110378220 B CN 110378220B
- Authority
- CN
- China
- Prior art keywords
- point
- state
- adjacent
- bit
- state machine
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2218/00—Aspects of pattern recognition specially adapted for signal processing
- G06F2218/08—Feature extraction
- G06F2218/10—Feature extraction by analysing the shape of a waveform, e.g. extracting parameters relating to peaks
Landscapes
- Numerical Control (AREA)
- Complex Calculations (AREA)
Abstract
本发明公开了一种FPGA的信号极值点提取方法,针对要快速提取离散信号序列中的极值点,设计了一种基于FPGA的提取信号极值点的状态机算法,通过所设计的状态机,对信号当前点与前后点的大小标志位判断运算,能够有效地筛选出极值点,使用本发明的方法,提取速度更快并能够准确的提取出信号的极值点信息。
Description
技术领域
本发明属于信号极值点的快速提取控制领域,特别是一种FPGA的信号极值点提取方法。
背景技术
现有查找极值点的方法是对当前点对左相邻点B的斜率是否相反来判断该点是否为极值点,而此方法计算量大,过多消耗软件资源。并且现有技术通常采用DSP等串行指令式的运算方法来提取信号的极值点,查找速度相比于FPGA较慢。
发明内容
本发明的目的在于提供一种FPGA的信号极值点提取方法。
实现本发明目的的技术解决方案为:一种FPGA的信号极值点提取方法,包括以下步骤:
FPGA获取到一序列长度为N的信号序列x[n]后,通过状态机从该序列的第二个点开始:
(1)与该点的相邻点A进行大小比较,记录与相邻点A大小关系;
(2)与该点的相邻点B进行大小比较,记录与相邻点B大小关系;
(3)判断两个大小关系,同为大则是一极大值点,同为小则是一极小值点;若与相邻点A相等则移至下一点并转到步骤(1);若与相邻点B相等则移至下一点并转步骤(2);其他情况,则移至下一点并转步骤(1);
(4)当前的检测点为第N-1个点时,状态机完成极值点的提取。
本发明与现有技术相比,其显著优点:该方法通过比较相邻两点的大小关系判断该点是否为极值点,避免了复杂的斜率计算,节约了软件资源;当同一个波峰出现多个相等点时,通过记录最左端点的相邻点的大小关系,与最右端大小关系,依然可以检测出此情况下的极值点;设计的状态机算法基于FPGA,利用FPGA并行运算以及时钟频率快的特点,查找极值点速度相较于DSP等串行控制器会更快。
附图说明
图1为本发明的整体示意图。
图2为本发明的状态机的00状态示意图。
图3为本发明的状态机的01状态示意图。
图4为本发明的状态机的10状态示意图。
图5为本发明的状态机的11状态示意图。
具体实施方式
相较于DSP等串行指令微控制器,FPGA拥有时钟频率快、并行运算的特点,因此针对FPGA的特点设计了一种状态机算法,该算法相比现有提取方法无需求解斜率,减少了计算量,节约了软件资源,而且方法简便,提取速度更快并能够准确的提取出信号的极值点信息。
本发明一种FPGA的信号极值点提取方法,FPGA获取到一序列长度为N的信号序列x[n]后,通过所设计的状态机,从该序列的第二个点开始:
(1)与该点相邻点A进行大小比较,记录与相邻点A大小关系;
(2)与该点相邻点B进行大小比较,记录与相邻点B大小关系;
(3)判断两个大小关系,同为大则是一极大值点,同为小则是一极小值点;若与相邻点A相等则移至下一点并转到步骤(1);若与相邻点B相等则移至下一点并转步骤(2);其他情况如一大一小,则移至下一点并转步骤(1);
(4)当前点为序列最后一点,状态机完成极值点的提取。
下面结合附图对本发明作进一步详细描述。
当FPGA获取到电压波形信号X[n],经过图1中所示的状态机运算,最终输出该波形信号的极大值与极小值的位置点信息,Big_p[i]与Small_p[k]。
下面结合图2至图5,详细说明该极值点提取的状态机算法流程。
请参照图2,图2为状态机的00状态,主要对算法所用的参数进行初始化,其中,n为遍历离散信号序列的计数器并初始化为1,Bigger1与Bigger2为当前点与前一点和后一点的大于标志位;Smaller1与Smaller2为当前点与前一点和后一点的小于标志位;初始化完成后进入状态机的01状态
请参照图3,图3为状态机的01状态,若x[n]>x[n-1],则命Bigger1=1并进入状态机10状态;若x[n]<x[n-1],则Smaller1=1并进入状态机10状态;若x[n]=x[n-1],则进入状态机11状态;
请参照图4,图4为状态机的10状态,若x[n]>x[n+1],则Bigger2=1;若x[n]<x[n+1],则Smaller2=1;完成以上判断都进入11状态;
请参照图5,图5为状态机的11状态,首先判断n<N,若不满足,则极值点提取完毕,状态机结束,得到极值点位置;若满足,则进行下述步骤,
若Bigger1=0且Smaller1=0,则n=n+1并进入状态机01状态;若Bigger2=0且Smaller2=0,则n=n+1并进入状态机10状态;
若Bigger1=1且Bigger2=1,则可提取极大值点Big_p[i]=n,i=i+1,n=n+1,并使Bigger1=Bigger2=0,回到状态机01状态;
若Smaller1=1且Smaller2=1,则可提取极小值点Small_p[k]=n,k=k+1,n=n+1,并使Smaller1=Smaller2=0,回到状态机01状态;;
若不满足以上任一条件,则n=n+1并回到状态机01状态;
以上为状态机四种状态具体运行过程,当状态机结束后,所得到信号的极值点位置信息便存放于Big_p[i]与Small_p[k]之中,完成了对信号x的极值点提取。
综上,本发明通过所设计的状态机,对信号当前点与前后点的大小标志位判断运算,能够有效地筛选出极值点,并且,利用FPGA的并行运算以及时钟频率快的特性,提取极值点的速度相较于现有DSP等串行指令控制器更快。
Claims (1)
1.一种FPGA的信号极值点提取方法,其特征在于,包括以下步骤:
FPGA获取到一序列长度为N的信号序列x[n]后,通过状态机从该序列的第二个点开始:
(1)与该点的相邻点A进行大小比较,记录与相邻点A大小关系;
(2)与该点的相邻点B进行大小比较,记录与相邻点B大小关系;
(3)判断两个大小关系,同为大则是一极大值点,同为小则是一极小值点;若与相邻点A相等则移至下一点并转到步骤(1);若与相邻点B相等则移至下一点并转步骤(2);其他情况,则移至下一点并转步骤(1);
(4)当前的检测点为第N-1个点时,状态机完成极值点的提取;
所述状态机为:
该状态机有四种状态,分别标记为00、01、10、11;
状态机00状态:进行一系列参数的初始化,初始化完成直接进入01状态;
状态机01状态:判断当前遍历点与相邻点A的大小关系,若大于,则将相邻点A的大于标志位置1并进入10状态,若小于,则将相邻点A的小于标志位置1并进入10状态,若相等则将相邻点A的大于标志位及小于标志位都置0且进入11状态;
状态机10状态:判断当前遍历点与相邻点B的大小关系,若大于,将相邻点B的大于标志位置1,若小于,则将相邻点B小于标志位置1;若相等则将相邻点A的大于标志位及小于标志位都置0,完成后,以上情况都只进入11状态;
状态机11状态:根据上述的大于标志位和小于标志位,判断是否为极值点,包括以下情况:
(1)判断当前点是否为信号序列的最后一点,若是,则极值点提取完成;若不是则继续以下步骤;
(2)若两个大于标志位同为1,则为极大值点;将相邻两个点的大于标志位清零后移至下一点并转01状态;
(3)若两个小于标志位同为1,则为极小值点;将相邻两个点的小于标志位清零后移至下一点并转01状态;
(4)若与相邻点A的大于标志位及小于标志位同为0,则移至下一点并转到01状态;
(5)若与相邻点B的大于标志位及小于标志位同为0,则移至下一点并转到10状态;
(6)不为上述任意一种情况,直接移至下一点并转到01状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910512309.1A CN110378220B (zh) | 2019-06-13 | 2019-06-13 | Fpga的信号极值点提取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910512309.1A CN110378220B (zh) | 2019-06-13 | 2019-06-13 | Fpga的信号极值点提取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110378220A CN110378220A (zh) | 2019-10-25 |
CN110378220B true CN110378220B (zh) | 2023-05-09 |
Family
ID=68250338
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910512309.1A Active CN110378220B (zh) | 2019-06-13 | 2019-06-13 | Fpga的信号极值点提取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110378220B (zh) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064973A (zh) * | 2013-01-09 | 2013-04-24 | 华为技术有限公司 | 极值搜索方法及装置 |
CN118468126A (zh) * | 2016-07-17 | 2024-08-09 | Gsi 科技公司 | 在恒定的处理时间内查找k个极值 |
-
2019
- 2019-06-13 CN CN201910512309.1A patent/CN110378220B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110378220A (zh) | 2019-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105044420B (zh) | 一种数字示波器的波形搜索方法 | |
CN113570727B (zh) | 场景文件的生成方法、装置、电子设备及存储介质 | |
CN111858801B (zh) | 道路信息的挖掘方法、装置、电子设备及存储介质 | |
US11443621B2 (en) | Method and apparatus for adjusting channelization of traffic intersection | |
CN107480258A (zh) | 一种基于多种支撑点的度量空间离群检测方法 | |
CN113504523B (zh) | 基于目标特性的自适应恒虚警方法、设备及其存储介质 | |
CN110378220B (zh) | Fpga的信号极值点提取方法 | |
CN102799411B (zh) | 浮点数累加电路及其实现方法 | |
US20230214449A1 (en) | Highspeed/low power symbol compare | |
CN106156245B (zh) | 一种电子地图中的线要素合并方法及装置 | |
CN109446673B (zh) | 一种通过部分映射时钟使能信号来改善布局完成率的方法 | |
CN105426107A (zh) | 基于触控板的手势识别方法 | |
CN204597934U (zh) | 一种正交光电编码器的任意整数分频电路 | |
GB2515867A (en) | Searching apparatus utilizing sub-word finite state machines | |
CN104320094B (zh) | 脉冲信号驻波保护电路 | |
CN110489077B (zh) | 一种神经网络加速器的浮点乘法运算电路和方法 | |
CN110018774B (zh) | 一种基于滑行轨迹识别的输入法及处理终端 | |
CN107340992A (zh) | 一种定点数据筛选电路 | |
CN104199742A (zh) | 一种叶片截面特征点云的精确划分方法 | |
CN204154895U (zh) | 用于雷达检测系统的数据录取装置 | |
CN103064973A (zh) | 极值搜索方法及装置 | |
CN103149397B (zh) | 一种电能计量潜动算法及控制电路 | |
CN203101466U (zh) | 一种电能计量潜动控制电路 | |
CN103699791A (zh) | 一种基于非快速变化的模拟量测量数据的处理方法 | |
CN112035400B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |