在硬件平台上实现有限脉冲响应(FIR)滤波器算法的过程

摘要:到目前为止,我们已经描述了DSP处理器的物理架构,解释了DSP如何比传统电路提供一些优势,并检查了数字滤波,展示了DSP的可编程特性如何使其适合这种算法。现在我们看一下在硬件平台ADSP-2181EZ-Kitlitetm上实现有限脉冲响应(FIR)滤波器算法的过程(在第2部分中简要介绍,用ADSP-2100系列汇编代码实现)。该实现被扩展为处理数据I/O问题。

到目前为止,我们已经描述了DSP处理器的物理架构,解释了DSP如何比传统电路提供一些优势,并检查了数字滤波,展示了DSP的可编程特性如何使其适合这种算法。现在我们看一下在硬件平台ADSP-2181EZ-Kitlitetm上实现有限脉冲响应(FIR)滤波器算法的过程(在第2部分中简要介绍,用ADSP-2100系列汇编代码实现)。该实现被扩展为处理数据I/O问题。

DSP的许多架构特性,例如执行零开销循环的能力,以及在单个处理器周期中获取两个数据值的能力,将有助于实现该滤波器。简要回顾一下,FIR滤波器是一种全零滤波器,它是通过将输入数据点序列与滤波器系数进行卷积来计算的。其控制方程和直接形式表示如图1所示。

在这个结构中,每个“z(-1)”方框表示输入数据在z变换表示法中的单个增量。将每个连续延迟的样本乘以相应的系数值h(m),将结果加在一起,生成一个单独的值,表示第n个输入样本对应的输出。延迟元件或滤波器抽头的数量及其系数值决定了滤波器的性能。

滤波器结构给出了在DSP上计算实现该算法所需的物理元素。对于计算本身,每个输出样本需要若干次相乘累加操作,这些操作等于过滤器的长度。

输入数据的延迟线和系数值列表需要在DSP中预留内存区域来存储数据值和系数。DSP的增强型哈佛架构允许程序员将数据存储在程序内存和数据内存中,从而在DSP的内部SRAM的每个周期中执行两次同步内存访问。数据存储器保存传入的样本,程序存储器存储系数值,数据值和系数值都可以在一个计算周期内获取。

这种DSP体系结构有利于使用循环缓冲的程序(在第2部分和本文后面的部分中进行了简要讨论)。这意味着地址指针只需要在程序开始时初始化,而循环缓冲机制确保指针不会离开其分配的内存缓冲区的边界——这一功能在FIR滤波器代码中广泛用于输入延迟线和系数。一旦确定了程序的要素,下一步就是开发DSP源代码来实现算法。

ADSP-2100系列的软件开发流程包括以下几个步骤:体系结构描述、源代码生成、软件验证(调试)和硬件实现。图2显示了一个典型的开发周期。

体系结构描述:首先,用户创建运行算法的硬件系统的软件描述。系统描述文件包括系统中的所有可用内存和任何内存映射的外部外设。下面是使用ADSP-2181EZ-KitLite的此过程示例。

源代码生成:从理论到实践,这一步——将算法思想转化为在dsp上运行的代码——通常是整个过程中最耗时的一步。有几种方法可以生成源代码。有些程序员更喜欢用C等高级语言编写算法;其他人更喜欢使用处理器的本机汇编语言。对于程序员来说,用C语言实现可能更快,但是编译后的DSP代码由于没有充分利用处理器的架构而缺乏效率。

软件验证(“调试”):此阶段使用称为模拟器的软件工具测试代码生成的结果,以检查程序的逻辑流程并验证算法是否按预期执行。模拟器是DSP处理器的一个模型,它a)提供对所有存储器位置和处理器寄存器的可见性,b)允许用户连续运行DSP代码或一次运行一条指令,c)可以模拟向处理器提供数据的外部设备。

硬件实现:这里的代码是在真正的DSP上运行的,通常分为几个阶段:a)在评估平台(如EZ-KitLite)上试用;b)电路仿真,c)生产ROM生成。试用提供了程序运行的快速进行/不进行的决定;该技术是本文中使用的实现方法。电路仿真监控系统中的软件调试,其中EZ-ICE等工具控制目标平台上的处理器操作。在所有调试完成后,可以生成包含最终代码的引导ROM;它作为最终的生产实现。

我们的开发周期示例通过该过程,使用ADSP-2181EZ-KitLite(开发包ads-21xx-EZLITE)作为滤波器算法的目标硬件。EZ-KitLite是一个低成本的演示和开发平台,由一个33mhz的ADSP-2181处理器、一个AD1847立体声音频编解码器和一个插入式EPROM组成,其中包含用于通过RS-232连接将长新算法下载到DSP的监控代码(图3)。

可用的系统资源信息记录在系统描述文件中,供ADSP-2100系列开发工具使用。系统描述文件的扩展名为.sys。下面的列表显示了一个系统描述文件[EZKIT_LT]。系统:

系统的EZ_LITE;/*给这个系统一个名字*/

.adsp2181;/*指定处理器*/

.mmap0;/*指定系统启动,*/;

/*PM位置0在内存中*/

.seg/PM/RAM/ABS=0/代码/数据int_pm[16384];

.seg/DM/RAM/ABS=0int_dm[16352];

.endsys;/*结束描述*/

本系列的第2部分[对话31-2,第14页,图6]介绍了FIR滤波器的小汇编代码清单。这里,该代码被增强为包含一些EZ-Kitlite特定的功能,特别是编解码器初始化和数据I/O。过滤器算法的核心元素(乘法累加、对数据和系数使用循环缓冲区进行数据寻址以及依赖于零开销循环的效率)没有改变。

输入数据将使用板载AD1847编解码器进行采样,该编解码器具有可编程采样率、输入增益、输出衰减、输入选择和输入混音。它的可编程特性使系统具有灵活性,但也增加了对DSP系统进行初始化编程的任务。

对于本例,编解码器的一系列控制字(在清单第一部分的程序开始处定义)将初始化它为8khz采样率,每个输入通道具有中等增益值。由于AD1847是可编程的,用户通常会重用接口和初始化代码段,仅为不同的应用程序更改特定的寄存器值。这个例子将特定的过滤器段添加到EZ-KitLite软件中现有的代码段中。

使用EZ-KitLite软件中的I/Oshell程序,我们只需要涉及标记为“input_samples”的代码部分。当从编解码器接收到准备处理的新数据时,访问这部分代码。如果只需要正确的通道数据,我们需要读取位于位置rx_buf+2的数据内存中的数据,并将其放入数据寄存器中,以便输入到过滤器程序中。

来自编解码器的数据需要使用ADSP-2181的循环缓冲能力,通过输入延迟线馈送到滤波器算法中。输入延迟线的长度由滤波器所用系数的数目决定。因为数据缓冲区是循环的,所以缓冲区中最老的数据值将是指针在最后一次过滤器访问后所指向的位置(图4)。同样地,每次通过过滤器总是以相同的顺序访问的系数被放置在程序内存中的一个循环缓冲区中。

ADSP-2181的MAC将结果存储在一个40位寄存器中(32位用于2个16位字的乘积,8位用于允许总和扩展而不会溢出)。这允许中间过滤器值根据需要增长和缩小,而不会损坏数据。所使用的代码段是通用的(即,可以用于任何长度过滤器);所以MAC的额外输出位允许运行带有未知数据的任意过滤器,而不用担心丢失数据。

为了实现FIR滤波器,对每个数据点的滤波器的所有轻击重复乘法/累加操作。为了做到这一点(并为下一个数据点做好准备),MAC指令以循环的形式编写。ADSP-21xx的零开销循环能力允许MAC指令重复指定数量的计数,而无需编程干预。计数器设置为轻击数减一,循环机制自动减少每个循环操作的计数器。将循环计数器设置为“taps-1”确保数据指针在执行完成后在正确的位置结束,并允许最后的MAC操作包括舍入。由于AD1847是一个16位编解码器,带舍入的MAC提供了一个统计无偏的结果,舍入到最接近的16位值。这个最终结果被写入编解码器。

当对每个输入数据样本执行过滤器代码时,MAC循环的输出将被写入输出数据缓冲区tx_buf。虽然这个程序只处理单通道输入数据,但是通过写入内存缓冲区地址tx_buf+1和tx_buf+2,结果将被写入两个通道。

EZ-KitLite提供的基于windows的监控软件可以将可执行文件加载到EZ-KitLite板上的ADSP-2181中。这是通过选择“下载用户程序并运行”(图5)下拉“Lolong”菜单完成的。这将下载滤波器程序到ADSP-2181并开始程序执行。

本文的目标是概述从算法描述到可以在硬件开发平台上运行的DSP可执行程序的步骤。介绍的问题包括软件开发流程、体系结构描述、源代码生成、数据I/O和EZ-KitLite硬件平台。

THE END
1.优脉家族办公室联盟家族资产管理家族信托风险管理一年“损失”好几十万,没有人可以忽略短期资产配置这节课了! 2022年如何做好短期资产管理?市场的趋势和变化对投资策略有什么样的影响?如何筛选符合需求的短期投资工具? Read More >> 2021 6 12月 如何打造成功的家族办公室?——只需这三步 如何让家族办公室不再是“雾里看花、水中捞月”的“空中楼阁”? 家族...https://www.youmywealth.com/training/training.html
2.国家级大学生创新训练计划平台国家级大学生创新训练计划平台 当前位置 : 首页 立项项目 学生查询 带有脉冲的概率布尔网络的动力学分析与控制项目编号: 202110359074 项目名称: 带有脉冲的概率布尔网络的动力学分析与控制 项目类型: 创新训练项目 项目类别: 一般项目 重点支持领域: 所属学校: 合肥工业大学 项目实施时间: 至 所属学科...http://gjcxcy.bjtu.edu.cn/NewLXItemListForStudentDetail.aspx?IsLXItem=1&ItemNo=724145
3.利伐沙班对动脉栓塞有用吗心血管内科医生回答(1) 武恩翠 主任技师 临汾市人民医院 指导意见:利伐沙班它主要是一种抗凝的药物,所以对于动脉栓塞等一些问题,还是有一定的作用的,但是最主要是要看具体动脉栓塞的严重程度去判断,然后,如果并无炎症的情况下,是可以考虑采取相应的药物处理的。 2022-07-11 08:34 动脉 栓塞 相关推荐 ...https://m.bohe.cn/iask/mip/4lfnu6vokr5tll7.html
4.《庆余年》第二季87:范闲感受到庆帝是宗师,霸道真气真有人练成手便握上了太后的脉关, 然后沉思了片刻。 眼睛中便闪过了一丝的无奈, 他已经知道了, 即便是自己大宗师的实力, 也无法拖住母后的离世。 但很快庆帝便一指; 点在了太后的额头处, 就这一瞬间, 整个含光殿中的空气都进行了改变。 一股堂堂正正的气息传入了每个人心中, ...https://cul.sohu.com/a/708545570_120265049
1.探索奇富科技人脉圈:1049位脉友背后的机遇与价值奇富科技人脉圈由1049位脉友组成,他们来自各行各业,涵盖了创业者、投资人、技术专家、市场营销从业者以及行业领袖等。这样的多样性使得人脉圈不仅仅是一个联系的平台,更是创新与合作的温床。每一位脉友背后,都有着不同的经历和专业知识,他们的汇聚为整个圈层注入了活力,推动了各项合作与项目的产生。 http://gflfoodservices.com/guanwang/51472.shtml
2.脉潮数字科技(深圳)有限公司人脉圈怎么样发现1+脉友个人简介:IT互联网产品,任职富途网络科技(深圳)有限公司高级产品经理职位,常驻广东;近期有261位访问者,在脉脉形成影响力275;在2020-2至今,任富途网络科技(深圳)有限公司公司高级产品经理职位。 个人简介 IT互联网产品,任职富途网络科技(深圳)有限公司高级产品经理职位,常驻广东;近期有261位访问者,在脉脉形成影响力27...https://maimai.cn/mai/l_Kbe-IxUqsId72DtBDPLHmDgiTuyKeNTu_mXtiHYLE
3.走进友脉友脉控股集团有限公司(简称:友脉集团)是经国家工商总局核准,全国无地域限制无城市名称、合法注册的多元化集团企业。“友脉”品牌创建于2014年,是一家集人力资源服务、教育培训、安保服务、档案数字化、互联网业务外包、呼叫中心外包、云服务平台等互联网+人力资源全产业链服务为一体的多元化综合服务企业集团。友脉控股集团业...https://www.youmaigroup.cn/col.jsp?id=101
4.颈动脉堵塞的话有什么症状?危险吗?亲,看懂了吗?血管大小有别,但并不意味着小血管就不需要处理。关注我们,每天都有更新的科普推送给您!我是有思想有态度的李医生,关注我们,每天都有不一样的科普推荐给您!关注我们,关注心脏健康,关注心理健康,关注身体健康,关注不一样的科普平台! 颈椎病来临,还会有哪些症状? https://www.jd.com/pccontent/311393
5.侗医药是什么侗医药有用吗→MAIGOO百科如为外伤,摸其有无伤筋、断骨、错位、错缝。 4.切脉 侗医诊脉有八脉、两候。八脉为平和脉、粗脉、细脉、长脉、短脉、快脉、慢脉、空脉;两候为冷病、热病。5.脉象主病 平和脉:不大不小,脉来平和。平和脉是健康人的脉。 粗脉:脉来粗大有力,脉管大易于摸到。粗脉多为热病。 细脉:脉来细弱无力,不...https://www.maigoo.com/citiao/155588.html
6.xxadminapi.yhryj.com/kpf54612638.htm双乳被两个男人吸住小说 临海有借款的平台有黄片没有 国产一级大片AV免费观看 丛林激战1小时34分3L秒 男人的伸到男人里软 晚上你懂网址2019 日日搞天天日夜夜操 天运主管 雀7IIII2扣长久 鸡鸡巴wap gps pp视频 九九九天香视频 黄色网站ww黄免费看下载 美国大片在线观看 国产毛片高朝好看站 fuqe...http://xxadminapi.yhryj.com/kpf54612638.htm
7.对于植入式静脉“输液港”你知道多少?澎湃号·政务澎湃新闻输液港植入路径有哪些? 1.腋静脉 2.颈内静脉 3.锁骨下静脉 4.上肢贵要静脉 上海市第七人民医院目前采用的是经超声引导下腋静脉植入输液港,已开展数百例,是目前对患者最优选的一种植入方式。 05 如何做好日常维护,才能打造静脉输液“放心港”呢? https://www.thepaper.cn/newsDetail_forward_11401796
8.动脉粥样硬化症状病因治疗方法鉴别动脉粥样硬化是动脉硬化中最常见的一种类型,最常见的发生部位有冠状动脉、主动脉、颅脑动脉、肾动脉、肠系膜动脉、下肢动脉、视网膜动脉等,最终引起脑卒中,冠心病,下肢动脉狭窄或闭塞导致肢体缺血坏死,肾血管病变引起肾脏器官的功能障碍等[1]。 动脉粥样硬化的治疗原则是控制危险因素,如高血压、高血脂等,并结合药物及手...https://m.dxy.com/disease/8992/detail