1、高效Msp430数字滤波器代码 高效的Msp430数字滤波器代码摘要Msp430用其高效的乘法器能够很容易的实现数字滤波。乘法器能够将FIR滤波系数转换成能够被任何应用程序利用的装配代码。何纳计算方式和CSD格式被用于完成高速乘法器操作。在所有频率下,msp430乘法器的滤波性能由其增益来评估。在cpu周期,代码长度,低通,高通,带通,带止的频率响应,凹形滤波条件下msp430乘法器的滤波性能由Appendix A所示。1 简介.22 Fir滤波器代码合成器.23 参考.4Appendix A Fir滤波器举例.5Appendix B 文件列表.10 图形列表A-1低通FIR滤波器响应.5A-
2、2高通FIR滤波器响应.6A-3带通FIR滤波器响应.7A-4带止FIR滤波器响应.8A-5凹形FIR滤波器响应.91 简介FIR滤波器,与其固有的稳固和相位线性的特征而被大家熟知。有时候是数字滤波理想的选择。由于滤波器系数是浮点型数字,需要用整理机械规范成与其最接近的整形。比如msp430的微型控制器。另外,在考虑到CPU周期的情形下,缺少硬件乘法器的滤波会变得很贵。何纳计算法考虑到了上诉两种情形。何纳计算法能够进行整形浮点型的乘法,如此就消除滤波器系数的整形化。只用移位和增命令进行乘法,提高了CPU周期下的效率。工具能够下载到由FIR系数转化成的代码文件。另外,在扫描滤波器校验数据时会产生
3、C的包裹文件和数据文件。2 FIR数字滤波器代码合成器FIR数字滤波器代码合成器 是一个将document. Input和FIR数字滤波系数,滤波长度,位分辨率关联起来的工具。 输入参数当工具运行时,一个互动的命令窗口打开,要求输入预先讨论的输入参数。滤波代码的生成完全由这些参数决定。错误的参数设置会致使生成错误的代码。 滤波器系数FIR滤波器的浮点型系数必需拷贝和黏贴到文件。该文件必需放在工具的同一个目录下。 滤波长度滤波长度必需和滤波器系数相符合,那个数字必需与保留在文件下的滤波器系数相配。任何的不匹配都不会被工具所报告而且会致使滤波错误。 滤波器系数的分辨率位滤波性能由代表滤波器系数的分
4、辨率选择来决定。对于整数部份和余数部份,独立的分辨率位是必需的。余数的分辨率位的选取对于有一个好的分辨率有直接的影响。那个在分辨率位的增量会致使代码长度和CPU周期的成比例增加。那个分辨率(整数和余数)对于系数维持稳固不变。 采样频率采样频率必需和生成FIR滤波器系数的采样频率相匹配。那个参数被用来在有效频率下生成样品数据和在利用输出时刻样品下的频率响应。那个参数的错误设置会致使错误的滤波结果。 输出一旦输入参数进入后,IAR Embedded Workbench工具生成的一组文件必需包括在IAR Embedded Workbench的msp430工程中。 频率扫描数据The file 是一个
5、具有频率从10HZ到【(采样频率/2)-10】HZ44个频率段的正弦数据的文件。对于每种频率,都会产生400个从-2047到2047的整数型采样数据。这种数据格式的选择是为了与有些msp430器件上的12位ADC相一致。这种数据使检测FIR率波器的频率响加倍便利。 FIR滤波器msp430装配代码文件包括了执行FIR滤波的msp430装配代码。在每种频率下每400个采样的样本基础上,函数挪用了那个函数。那个函数返回一个输出样本,然后用于评估在每一个频率增益。 包装C文件文件初始化了所有模拟滤波程序所需的变量。它使函数挪用汇编函数. 输出样本经过积累来执行一个近似频率响应,通过评估每种频率下的4
6、00个样品的增益。这个增益与频率图载于附录A所考虑的例子。这44个积累的增益值也印在IAR Embedded Workbench主菜单下的终端I / O窗口。通过将他们输入Excel文件这些值能够被绘制。 摘要这部份是利用说明的摘要。在利用FIR滤波器合成工具时必需遵循利用说明。Appendix B列举和描述了每一个文件包括伴随生成的紧缩文件。利用FIR滤波器合成工具:1 将文件夹中伴随生成的紧缩文件解压2 采样系数文件会被提供到源目录。来校验每一个滤波器样品的性能,用滤波器的样品系数重写这些样品文件中的系数。来生成任何FIR滤波器的代码。将新的系数设置粘贴到样品文件中,维持相同的数据类型。3
7、 执行和输入规定的参数。在伴随生成的文件中提供了准确的利用说明。4 工具输出一个C-wrapper文件,msp430装配代码和生成一个正弦数据在相同的目录下。5 利用IAR创建一个新的C工程,添加C和装配文件,然后成立,在IAR的视图菜单打开 I/O端口的窗口,运行代码来看每种频率的增益。 注: C-wrapper文件利用文件操作和printf()声明,需要专门大的代码长度。因此,建议在msp430设备测试功能,运行工程时利用仿真模式。C-wrapper文件利用仿真数据只显示FIR滤波器的校验。在真正的应历时,msp430装配代码文件是FIR滤波器操作的唯一需要的文件。工具生成的装配代码能够被
8、所有的msp430家族的设备所兼容,可是若是CPU的结构被选定了,装配文件需要被reta命令所代替。3 参考文献1. Venkat, Kripasagar, Efficient Multiplication and Division Using MSP430, Texas Instruments, SLAA3292. Mitra, S. K., Digital Signal Processing: A Computer-Based Approach, Second Edition, McGraw-Hill,2001.3. Texas Instruments MSP430 family user
9、s guidesAppendix A FIR滤波器实例那个附件显示了大体FIR滤波器的性能。显示了代码长度,CPU周期,每种频率下的频率响应的近似曲线。每一个例子中,滤波器的系数都小于1,因此整数部份的位被设置成0。可是当几个或所有的系数大于1时工具也能生成正确的代码。 低通滤波器滤波器说明: 滤波器长度 = 21 整数位 = 0 分数位 = 15 采样频率 = 4000HZ 截止频率 = 600HZFigure A-1显示了在执行msp430工具生成的代码后的滤波器的近似频率响应。在对数坐标下的标准增益曲线和说明书上设计的频率是相似的。滤波器工作性能: CPU周期 = 662 代码长度 =
10、1076字节 高通滤波器滤波器说明: 滤波器长度 = 31 整数位 = 0 分数位 = 15 采样频率 = 8000HZ 截止频率 = 2000HZFigure A-2显示了在执行msp430工具生成的代码后的滤波器的近似频率响应。在对数坐标下的标准增益曲线和说明书上设计的频率是相似的。滤波器工作性能: CPU周期 = 636 代码长度 = 976字节 带通滤波器滤波器说明: 滤波器长度 = 41 整数位 = 0 分数位 = 15 采样频率 = 6000HZ 最低截止频率 = 500HZ 最高截止频率 = 1500HZFigure A-3显示了在执行msp430工具生成的代码后的滤波器的近似频
11、率响应。在对数坐标下的标准增益曲线和说明书上设计的频率是相似的。滤波器工作性能: CPU周期 = 1187 代码长度 = 1910字节 带止滤波器滤波器说明: 滤波器长度 = 31 整数位 = 0 分数位 = 15 采样频率 = 2000HZ 最低截止频率 = 200HZ 最高截止频率 = 800HZFigure A-4显示了在执行msp430工具生成的代码后的滤波器的近似频率响应。在对数坐标下的标准增益曲线和说明书上设计的频率是相似的。滤波器工作性能: CPU周期 = 531 代码长度 = 1187字节 凹形滤波器滤波器说明: 滤波器长度 = 60 整数位 = 0 分数位 = 15 采样频率
12、 = 400HZ 凹口频率 = 60HZ Figure A-5显示了在执行msp430工具生成的代码后的滤波器的近似频率响应。在对数坐标下的标准增益曲线和说明书上设计的频率是相似的。滤波器工作性能: CPU周期 = 1891 代码长度 = 3060字节 Appendix B 文件列表该附件包括了一些文件列表包括在文件夹中伴随生成的紧缩文件,和它们功能的说明。必需创建独立的目录来包括属于每一个例子的文件。 文件列表FIR滤波器的代码合成器,用来生成能在msp430上运行的代码。那个文件必需和代码合成器放在相同的目录下。FIR滤波器系数为浮点型。一个样本文件包括了紧缩文件。用户能够将新的系数重写到文件中。 当工具执行时会生成C wrapper文件。这是生成的msp430装配代码文件。那个文件包括由生成的扫描正弦数据频率。文件有17600个从-2047到+2047的整形样本数据。400个样本以从10HZ到【(采样频率/2)-10】HZ44个频率段持续存储。为了有效评估频率响应,C wrapper文件和msp430装配文件必需放在同一个目录下。那个文件是用图形来描述FIR滤波器的近似频率响应。用户能够通过I/O端口重写在每种频率下的参数和增益值来观察滤波器的响应。那个文件包括了
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1