用于集成电路设计的中值滤波实现方法技术

技术编号:11809476 阅读:57 留言:0更新日期:2015-08-01 03:19
本发明专利技术揭示了一种用于集成电路设计的中值滤波实现方法,基于存储器和控制状态机FSM实现,该方法包括初始化步骤S1和滤波输出步骤S2,其中初始化步骤S1指的是在存储器中按数据结构存入N个按大小排序好的数据建立数据表:在存入数据未达到N个且有新数据到来时,从已存入的数据排序表任一端轮询并与新数据比较,找到新数据在数据排序表中恰当的位置并插入新数据,逐个插入达到N个数据完成初始化;滤波输出步骤S2指的是基于已建立的数据表按时序以删除、插入的方式重建数据表,并根据重建后的数据表输出N个数据的中值。应用本发明专利技术的中值滤波实现方法,能降低硬件成本并提升中值滤波速率达700KHz,中值滤波深度32,视综合约束条件可能会有所变化。

【技术实现步骤摘要】

本专利技术设及中值滤波电路一种实现方法架构,尤其设及一种采用软件中链表数据 结构设计思想利用硬件电路实现中值滤波的技术解决方案,属于集成电路设计领域。
技术介绍
在集成电路设计中,滤波电路一直是作为SOC系统前段很重要的模块,其中中值 滤波能够滤除脉冲干扰噪声,在数字信号处理系统中有特殊的作用。 而一般一维中值滤波采用冒泡排序方法,在速度上和硬件消耗上都不占优势,因 此中值滤波有亟待解决、突破的问题。
技术实现思路
考虑传统中值滤波方案的不足,本专利技术提出了一种用于集成电路设计的中值滤波 实现方法,解决中值滤波相关的硬件、效率问题。 本专利技术上述目的的技术解决方案是;一种用于集成电路设计的中值滤波实现方 法,其特征在于:基于存储器和控制状态机FSM实现,所述存储器具有对应中值滤波器宽度 的N个存储单元,所述中值滤波实现方法包括初始化步骤S1和滤波输出步骤S2,其中初始 化步骤S1指的是在存储器中按数据结构存入N个按大小排序好的数据建立数据表;在存入 数据未达到N个且有新数据到来时,从已存入的数据排序表任一端轮询并与新数据比较, 找到新数据在数据排序表中恰当的位置并插入新数据,逐个插入达到N个数据完成初始 化;滤波输出步骤S2指的是基于已建立的数据表按时序W删除、插入的方式重建数据表, 并根据重建后的数据表输出N个数据的中值,当N为奇数时中值为排序中间的值,当N为偶 数时中值为排序中间两个数的平均值。 进一步地,上述集成电路设计的中值滤波实现方法,其中对应每个存储单元的数 据结构包括数据区、前向指针、后向指针、表头标志位和表尾标志位,其中数据区用于放置 数据,前向指针用于指向前一个数据的地址,后向指针用于指向后一个数据的地址,表头标 志位用于标识当前数据是否为数据表表头,表尾标志位用于标识当前数据是否为数据表表 尾,并且表头标志位和表尾标志位为可选定义的,前向指针和后向指针为对应表头取向设 定。 进一步地,上述集成电路设计的中值滤波实现方法,其中初始化步骤S1中,首先 按数据结构将第一个数据写入存储器的某个地址,控制状态机FSM记录数据表头或数据 表尾的地址;然后存入第K个数据时,按照数据表头或数据表尾所指地址取出最大数据或 最小数据,并从已存入的数据排序表其中一端顺序读出数据,根据与第K个数据的比较结 果确定轮询中止点,并确定第K个数据插入数据表的位置,W仅修改数据结构中的前向指 针和后向指针的方式插入第K个数据并保持已存入的数据排序表中数据位置不变,其中 K《N。[000引进一步地,上述集成电路设计的中值滤波实现方法,其中滤波输出步骤S2中:每 次存入数据的地址线性增加,并WN个地址为周期循环复用,基于已存入N个排序数据而建 立的数据表,当有新数据输入时,首先删除最老的数据并将新数据指向所删除数据的地址 存入,采用初始化步骤S1中轮询比较的方式进行计数,并修改新数据数据结构中的前向指 针和后向指针,重建数据表。 本专利技术中值滤波硬件电路和实现方法的研制与应用,较之于传统中值滤波方案, 通过采用软件中链表数据结构设计思想并利用较低成本的硬件电路实现了中值滤波,并能 够提升中值滤波速率达700KHZ,中值滤波深度32、视综合约束条件可能会有所变化。【附图说明】 图1是本专利技术中值滤波实现方法中控制状态机FSM的流程框图。 图2是本专利技术中值滤波实现方法中的硬件框图。 图3是本专利技术中值滤波实现方法中数据结构示意图。【具体实施方式】 为便于进一步理解本专利技术的创新实质,W下便通过实施例结合附图,详细介绍该 中值滤波实现方法。从图2所示可W看到,本专利技术赖W实现的核屯、硬件为用于存储数据列 表的存储器和控制状态机FSM,该实现方法创新地将传统的软件中链表引入到硬件实现中。 其中控制状态机FSM的控制流程如图1所示,其中状态解释如下: IDLE谊闲状态; SEARCH;查找恰当的插入位置状态; INSERT;插入新的结点状态; DELETE;删除最老的结点状态; OUTPUT;输出中值滤波数据状态。 并且其中箭头A-G表示数据输入、滤波输出各阶段、各条件下的数据处理动作。 在介绍控制状态机FSM具体操作的流程之前,需要了解本专利技术中值滤波实现方法的概括特 征,即包括初始化步骤S1和滤波输出步骤S2。 其中初始化步骤S1指的是在存储器中按数据结构存入N个按大小排序好的数据 建立数据表;在存入数据未达到N个且有新数据到来时,从已存入的数据排序表任一端轮 询并与新数据比较,找到新数据在数据排序表中恰当的位置并插入新数据,逐个插入达到N 个数据完成初始化;滤波输出步骤S2指的是基于已建立的数据表按时序W删除、插入的方 式重建数据表,并根据重建后的数据表输出N个数据的中值,当N为奇数时中值为排序中间 的值,当N为偶数时中值为排序中间两个数的平均值。 需要补充说明的是;上述集成电路设计的中值滤波实现方法,如图3所示其中对 应每个存储单元的数据结构包括数据区、前向指针、后向指针、表头标志位和表尾标志位, 并且该几个区顺序是任意的。其中数据区用于放置数据,前向指针用于指向前一个数据的 地址,后向指针用于指向后一个数据的地址,表头标志位用于标识当前数据是否为数据表 表头,表尾标志位用于标识当前数据是否为数据表表尾,并且表头标志位和表尾标志位为 可选定义的,可W是最小的数据作为表头,也可W是最小的数据作为表尾,前向指针和后向 指针为对应表头取向设定。此外,可W将表头和表尾的地址存储于存储器相对独立的其它 区域。 更详细地来看:初始化步骤SI中,首先按数据结构将第一个数据写入存储器的某 个地址,控制状态机FSM记录数据表头或数据表尾的地址;然后存入第K个数据时,按照数 据表头或数据表尾所指地址取出最大数据或最小数据,并从已存入的数据排序表其中一端 顺序读出数据,根据与第K个数据的比较结果确定轮询中止点,并确定第K个数据插入数据 表的位置,W仅修改数据结构中的前向指针和后向指针的方式插入第K个数据并保持已存 入的数据排序表中数据位置不变,其中K《N。该初始化步骤S1的逻辑伪代码如下所示:【主权项】1. ,其特征在于:基于存储器和控制状态机 FSM实现,所述存储器具有对应中值滤波器宽度的N个存储单元,所述中值滤波实现方法包 括初始化步骤Sl和滤波输出步骤S2,其中初始化步骤Sl指的是在存储器中按数据结构存 入N个按大小排序好的数据建立数据表:在存入数据未达到N个且有新数据到来时,从已存 入的数据排序表任一端轮询并与新数据比较,找到新数据在数据排序表中恰当的位置并插 入新数据,逐个插入达到N个数据完成初始化;滤波输出步骤S2指的是基于已建立的数据 表按时序以删除、插入的方式重建数据表,并根据重建后的数据表输出N个数据的中值,当 N为奇数时中值为排序中间的值,当N为偶数时中值为排序中间两个数的平均值。2. 根据权利要求1所述,其特征在于:对应每 个存储单元的数据结构包括数据区、前向指针、后向指针、表头标志位和表尾标志位,其中 数据区用于放置数据,前向指针用于指向前一个数据的地址,后向指针用于指向后一个数 据的地址,表头标志位用于标识当前数据是否为数据表表头,表尾标志位用于标识当前数 据是否为数据表表尾,并且表头标志位和表尾标志位为本文档来自技高网...

【技术保护点】
用于集成电路设计的中值滤波实现方法,其特征在于:基于存储器和控制状态机FSM实现,所述存储器具有对应中值滤波器宽度的N个存储单元,所述中值滤波实现方法包括初始化步骤S1和滤波输出步骤S2,其中初始化步骤S1指的是在存储器中按数据结构存入N个按大小排序好的数据建立数据表:在存入数据未达到N个且有新数据到来时,从已存入的数据排序表任一端轮询并与新数据比较,找到新数据在数据排序表中恰当的位置并插入新数据,逐个插入达到N个数据完成初始化;滤波输出步骤S2指的是基于已建立的数据表按时序以删除、插入的方式重建数据表,并根据重建后的数据表输出N个数据的中值,当N为奇数时中值为排序中间的值,当N为偶数时中值为排序中间两个数的平均值。

【技术特征摘要】

【专利技术属性】
技术研发人员:张志仓杨岳明
申请(专利权)人:上海磐启微电子有限公司
类型:发明
国别省市:上海;31

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

1