[发明专利]一种基于HXDSP1042处理器的浮点复数FIR优化方法有效
申请号: | 202010043946.1 | 申请日: | 2020-01-15 |
公开(公告)号: | CN111273889B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 苏涛;朱晨曦;张丽 | 申请(专利权)人: | 西安电子科技大学 |
主分类号: | G06F7/483 | 分类号: | G06F7/483;G06F18/10 |
代理公司: | 西安嘉思特知识产权代理事务所(普通合伙) 61230 | 代理人: | 李园园 |
地址: | 710000 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 hxdsp1042 处理器 浮点 复数 fir 优化 方法 | ||
1.一种基于HXDSP1042处理器的浮点复数FIR优化方法,其特征在于,包括:
设定浮点复数FIR的函数接口,根据所述HXDSP1042处理器的寄存器传参规则确定所述函数接口中每个函数参数对应的传参寄存器;
根据所述每个函数参数对应的传参寄存器分别得到输入序列、滤波器序列、输出序列的首地址及所述输入序列、滤波器序列、输出序列对应的长度;
对所述HXDSP1042处理器进行压栈保护得到压栈保护后的HXDSP1042处理器;
根据所述输入序列、滤波器序列、输出序列对应的长度得到循环控制变量;
具体的,计算公式如下:
x*y=(a+bi)*(c+di)=(ac-bd)+(ad+bc)i,
其中,单精度浮点复数x和y的乘法可以拆分为4次单精度浮点实数的乘法和2次单精度浮点实数的加法,其中x、y均为复数,分别表示为a+bi,c+di;
乘加次数、循环次数、余数分别放在零开销循环寄存器lc0、lc1和lc2中。
首先,对零开销循环寄存器lc0赋值:lc0=xr3;
其次,按照以下代码片段计算循环次数,r4存放滤波器系数的长度,先使用HXDSP1042的移位运算指令将r4左移3位,将结果赋值给通用寄存器xr7,再将通用寄存器xr7的值赋值给零开销循环寄存器lc1:
xr7=r4 ashift-3,
lc1=xr7,
最后,按照以下代码片段计算余数,通用寄存器r4存放滤波器系数的长度,先使用HXDSP1042的数据存放指令取r4的低3位,将结果赋值给通用寄存器xr5,再将通用寄存器xr5的值赋值给零开销循环寄存器lc2;
xr5=r4 fext(0:3,0)(z),
lc2=xr5,
根据所述循环控制变量对所述输入序列和所述滤波器序列进行卷积操作得到输出序列,并将所述输出序列存入所述输出序列的首地址;
对所述压栈保护后的HXDSP1042处理器进行复位操作。
2.根据权利要求1所述的基于HXDSP1042处理器的浮点复数FIR优化方法,其特征在于,对所述HXDSP1042处理器进行压栈保护得到压栈保护后的HXDSP1042处理器,包括:
对所述HXDSP1042处理器中的对帧指针(U9)、程序调用返回地址寄存器(SER)和被调用程序保存寄存器(Callee-Save Registers)分别进行压栈保护操作得到压栈保护后的HXDSP1042处理器。
3.根据权利要求1所述的基于HXDSP1042处理器的浮点复数FIR优化方法,其特征在于,所述输入序列包括若干组数据,每8个复数数据为一组。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安电子科技大学,未经西安电子科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010043946.1/1.html,转载请声明来源钻瓜专利网。