本发明属于卫星导航技术领域,尤其涉及一种抗辐照高阶高速可参数重构fir滤波器设计方法及系统。
背景技术
fir滤波器因其架构简单、线性相位的特点,广泛应用于各种导航、通信卫星有效载荷的设计。目前,fpga中的fir滤波器的实现多采用fpga内的乘法器硬核和slice相组合的方式实现,该方法采用乘法器硬核实现乘法功能,slice实现加法功能。该方法实现直观简单,但具有运行速度低、资源消耗大、阶数低、易受空间辐照的影响和fir滤波器参数无法重构的缺陷。详细来说,卫星上使用的fir滤波器存在如下问题:
(1)易受到单粒子翻转(seu)的影响
sram型fpga易受到seu的影响,可靠性较低。
(2)资源消耗大
fir滤波器中使用了大量的多比特加法器,资源消耗量大。
(3)时序非常紧张
fir滤波器中使用了大量的多比特加法器,这些多比特加法器需要利用多级slice级联组合而成,每一级slice均具有固定的时延(时延大小和fpga设计工艺相关,当fpga器件型号选定后,该值为固定值)。如果多比特加法器采用了过多级的slice搭建而成,则必将导致运算时延巨大。两级触发器之间的组合逻辑时延过大,将导致时序逻辑无法满足时钟速率运行的要求。
(4)阶数低
由于采用slice实现难以兼顾高运行速率和高阶数,从而限制了星上的使用条件和使用环境。
(5)fir滤波器参数无法重构
xilinx公司提供的fir滤波器ip核,无法灵活重构fir滤波器的参数,导致设计不够灵活,无法满足设计的需要。
为此,亟需设计一种抗辐照、高阶数、高速度、可重构的fir滤波器,来满足各类卫星有效载荷的设计要求。
技术实现要素:
本发明解决的技术问题是:克服现有技术的不足,提供了一种抗辐照高阶高速可参数重构fir滤波器设计方法及系统,具有抗辐照、高阶数、高速度、和可重构的效果。
本发明目的通过以下技术方案予以实现:根据本发明的一方面,一种抗辐照高阶高速可参数重构fir滤波器设计方法,所述方法包括如下步骤:(1)根据任务需求,确定fir滤波器的阶数n;(2)根据fpga型号,确定一列乘加器所包含的乘加器的个数l;(3)如果n≤l,则采用基于乘加器硬核的低阶fir滤波器设计方法完成滤波器设计;(4)如果n>l,则采用基于乘加器硬核的高阶fir滤波器设计方法完成滤波器设计。
上述抗辐照高阶高速可参数重构fir滤波器设计方法中,在步骤(3)中,采用基于乘加器硬核的低阶fir滤波器设计方法完成滤波器设计包括如下步骤:
(2.1)将乘加器硬核配置为乘累加的工作模式;
(2.2)将滤波器参数发送至各个乘加器的a输入端口;
(2.3)将等待进行fir滤波的信号接入第1个乘加器的b输入端口;
(2.4)将第n个乘加器的b进位输出端口联接至第n+1个乘加器的b输入端口,n≥n≥1;
(2.5)将第n个乘加器的p结果输出端口联接至第n+1个乘加器的p进位输入端口,n≥n≥1;
(2.6)将第1个乘加器的b输入端口配置为独立输入模式;
(2.7)将第n个乘加器的p结果输出端口配置为独立输出模式。
上述抗辐照高阶高速可参数重构fir滤波器设计方法中,在步骤(2.1)中,该工作模式的运算法则为:p结果输出端口=a输入端口×b输入端口+p进位输入端口。
上述抗辐照高阶高速可参数重构fir滤波器设计方法中,在步骤(4)中,采用基于乘加器硬核的高阶fir滤波器设计方法完成滤波器设计包括如下步骤:
(3.1)将乘加器硬核配置为乘累加的工作模式;
(3.2)将滤波器参数发送至各个乘加器的a输入端口;
(3.3)将等待进行fir滤波的信号接入第1个乘加器的b输入端口;
(3.4)将第n个乘加器的b进位输出端口联接至第n+1个乘加器的b输入端口,l≥n≥1;
(3.5)将第n个乘加器的p结果输出端口联接至第n+1个乘加器的p进位输入端口,l≥n≥1;
(3.6)将第1个乘加器的b输入端口配置为独立输入模式;
(3.7)将第l个乘加器的p结果输出端口配置为独立输出模式;
(3.8)将第l个乘加器的p结果输出信号发送至m级触发器;
(3.9)m级触发器输出信号发送至乘加器的a输入端口;
(3.10)将第n个乘加器的b进位输出端口联接至第n+1个乘加器的b输入端口,n≥n≥l+1;
(3.11)将第n个乘加器的p结果输出端口联接至第n+1个乘加器的p进位输入端口,n≥n≥l+1;
(3.11)将第l个乘加器的b输入口配置为独立输入模式(有两种模式可以选择:独立输入模式、进位输入模式);
(3.12)将第n个乘加器的p结果输出端口配置为独立输出模式(有两种模式可以选择:独立输出模式、进位输出模式)。
上述抗辐照高阶高速可参数重构fir滤波器设计方法中,在步骤(3.1)中,该工作模式的运算法则为:p结果输出端口=a输入端口×b输入端口+p进位输入端口。
根据本发明的另一方面,还提供了一种抗辐照高阶高速可参数重构fir滤波器设计系统,包括:第一模块,用于根据任务需求确定fir滤波器的阶数n;第二模块,用于根据fpga型号确定一列乘加器所包含的乘加器的个数l;第三模块,如果n≤l,用于采用基于乘加器硬核的低阶fir滤波器设计方法完成滤波器设计;第四模块,如果n>l,用于采用基于乘加器硬核的高阶fir滤波器设计方法完成滤波器设计。
上述抗辐照高阶高速可参数重构fir滤波器设计系统中,采用基于乘加器硬核的低阶fir滤波器设计方法完成滤波器设计包括如下步骤:(2.1)将乘加器硬核配置为乘累加的工作模式;(2.2)将滤波器参数发送至各个乘加器的a输入端口;(2.3)将等待进行fir滤波的信号接入第1个乘加器的b输入端口;(2.4)将第n个乘加器的b进位输出端口联接至第n+1个乘加器的b输入端口,n≥n≥1;(2.5)将第n个乘加器的p结果输出端口联接至第n+1个乘加器的p进位输入端口,n≥n≥1;(2.6)将第1个乘加器的b输入端口配置为独立输入模式;(2.7)将第n个乘加器的p结果输出端口配置为独立输出模式。
上述抗辐照高阶高速可参数重构fir滤波器设计系统中,在步骤(2.1)中,该工作模式的运算法则为:p结果输出端口=a输入端口×b输入端口+p进位输入端口。
上述抗辐照高阶高速可参数重构fir滤波器设计系统中,采用基于乘加器硬核的高阶fir滤波器设计方法完成滤波器设计包括如下步骤:(3.1)将乘加器硬核配置为乘累加的工作模式;(3.2)将滤波器参数发送至各个乘加器的a输入端口;(3.3)将等待进行fir滤波的信号接入第1个乘加器的b输入端口;(3.4)将第n个乘加器的b进位输出端口联接至第n+1个乘加器的b输入端口,l≥n≥1;(3.5)将第n个乘加器的p结果输出端口联接至第n+1个乘加器的p进位输入端口,l≥n≥1;(3.6)将第1个乘加器的b输入端口配置为独立输入模式;(3.7)将第l个乘加器的p结果输出端口配置为独立输出模式;(3.8)将第l个乘加器的p结果输出信号发送至m级触发器;(3.9)m级触发器输出信号发送至乘加器的a输入端口;(3.10)将第n个乘加器的b进位输出端口联接至第n+1个乘加器的b输入端口,n≥n≥l+1;(3.11)将第n个乘加器的p结果输出端口联接至第n+1个乘加器的p进位输入端口,n≥n≥l+1;(3.11)将第l个乘加器的b输入口配置为独立输入模式;(3.12)将第n个乘加器的p结果输出端口配置为独立输出模式。
根据本发明的又一个方面,提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得设备执行本发明的一个方面的一个或多个的方法。
本发明与现有技术相比具有如下有益效果:
(1)运行速度快:本发明由于尽可能多的适应fpga的乘加器硬核进行电路设计,因此该方法设计的fir滤波器,运行速度高;
(2)占用资源少:本发明大部分功能均通过乘加器硬核实现,不会占用可配置的共享slice资源和bram资源;
(3)高阶数:一般情况下,高阶数和高性能是一对矛盾,本发明公开的方法,解决了这一矛盾,从而可无视时钟频率的约束,提高滤波器的阶数。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明实施例提供的乘加器电路外部接口图;
图2是本发明实施例提供的基于乘加器硬核的低阶fir滤波器设计结构图;
图3是本发明实施例提供的基于乘加器硬核的高阶fir滤波器设计结构图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
本实施例提供了一种抗辐照高阶高速可参数重构fir滤波器设计方法,该方法包括如下步骤:
(1)根据任务需求,确定fir滤波器的阶数n;
(2)根据fpga型号,确定一列(coloum)乘加器所包含的乘加器的个数l(例如,xilinx公司的v4平台fpga为64个乘加器/列);
(3)如果n≤l,则采用基于乘加器硬核的低阶fir滤波器设计方法完成滤波器设计;
(4)如果n>l,则采用基于乘加器硬核的高阶fir滤波器设计方法完成滤波器设计;
(5)利用fpga内提供的bram资源,采用可重构的滤波器参数抗辐照加固设计方法完成fir滤波器可重构参数的设计;
(6)利用fpga内提供的slice资源,采用滤波器配置寄存器加固设计方法完成fir滤波器电路的抗辐照加固。
参考图1所述的基于乘加器硬核的低阶fir滤波器设计方法,其特征在于包括如下步骤:
(2.1)将乘加器硬核配置为乘累加的工作模式,该工作模式的运算法则为:p结果输出端口=a输入端口×b输入端口+p进位输入端口,参考图2;
如图2所示,a端口输入信号1,通过触发器后,进入乘法器的输入口1;b端口输入信号2,通过触发器后,进入乘法器的输入口2;乘法器的输出结果通过一级触发器后,进入加法器的输入口1;p进位口进入加法器的输入口2;加法器的输入结果通过一级触发器后输出。
(2.2)将滤波器参数发送至各个乘加器的a输入端口;
(2.3)将等待进行fir滤波的信号接入第1个乘加器的b输入端口;
(2.4)将第n个乘加器的b进位输出端口联接至第n+1个乘加器的b输入端口,n≥n≥1;
(2.5)将第n个乘加器的p结果输出端口联接至第n+1个乘加器的p进位输入端口,n≥n≥1;
(2.6)将第1个乘加器的b输入口配置为独立输入模式(有两种模式可以选择:独立输入模式、进位输入模式);
(2.7)将第n个乘加器的p结果输出端口配置为独立输出模式(有两种模式可以选择:独立输出模式、进位输出模式)。
参考图3,所述的基于乘加器硬核的高阶fir滤波器设计方法,其特征在于包括如下步骤:
(3.1)将乘加器硬核配置为乘累加的工作模式,该工作模式的运算法则为:p结果输出端口=a输入端口×b输入端口+p进位输入端口;
(3.2)将滤波器参数发送至各个乘加器的a输入端口;
(3.3)将等待进行fir滤波的信号接入第1个乘加器的b输入端口;
(3.4)将第n个乘加器的b进位输出端口联接至第n+1个乘加器的b输入端口,l≥n≥1;
(3.5)将第n个乘加器的p结果输出端口联接至第n+1个乘加器的p进位输入端口,l≥n≥1;
(3.6)将第1个乘加器的b输入口配置为独立输入模式(有两种模式可以选择:独立输入模式、进位输入模式);
(3.7)将第l个乘加器的p结果输出端口配置为独立输出模式(有两种模式可以选择:独立输出模式、进位输出模式);
(3.8)将第l个乘加器的p结果输出信号发送至m级触发器;
(3.9)m级触发器输出信号发送至乘加器的a输入端口;
(3.10)将第n个乘加器的b进位输出端口联接至第n+1个乘加器的b输入端口,n≥n≥l+1;
(3.11)将第n个乘加器的p结果输出端口联接至第n+1个乘加器的p进位输入端口,n≥n≥l+1;
(3.11)将第l个乘加器的b输入口配置为独立输入模式(有两种模式可以选择:独立输入模式、进位输入模式);
(3.12)将第n个乘加器的p结果输出端口配置为独立输出模式(有两种模式可以选择:独立输出模式、进位输出模式)。
本实施例还提供了一种辐照高阶高速可参数重构fir滤波器设计系统,该系统包括:第一模块,用于根据任务需求确定fir滤波器的阶数n;第二模块,用于根据fpga型号确定一列乘加器所包含的乘加器的个数l;第三模块,如果n≤l,用于采用基于乘加器硬核的低阶fir滤波器设计方法完成滤波器设计;第四模块,如果n>l,用于采用基于乘加器硬核的高阶fir滤波器设计方法完成滤波器设计。
本实施例由于尽可能多的适应fpga的乘加器硬核进行电路设计,因此该方法设计的fir滤波器,运行速度高;本实施例大部分功能均通过乘加器硬核实现,不会占用可配置的共享slice资源和bram资源;一般情况下,高阶数和高性能是一对矛盾,本实施例公开的方法,解决了这一矛盾,从而可无视时钟频率的约束,提高滤波器的阶数。
以上所述的实施例只是本发明较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。