mal">3.2 软件设计

3.2.1 数据组织方式

若输入信号x(n)和滤波器的单位冲激响应h(n)在频域分别为

,则其输出信号的频率响应为

。根据离散傅氏变换的性质,可以得到滤波系统的差分方程:

从上文Matlab的仿真过程可得到滤波器的级数N和滤波器系数h(n)。从上述可知数字滤波器实现时,主要是进行乘和加运算以及数据存取操作。

在定点DSP上实现FIR滤波有两种方式:一种是用线性缓冲区实现z-1,该方式能保证新老数据在存储器中的存放位置直接明了,新的数据存放在缓冲区的固定位置;另一种方式是循环缓冲区实现z-1,该方式新老数据在缓冲区的位置不直接明了,新的数据没有固定位置,但可以方便地完成滤波器窗口的自动更新。考虑到本方案中使用的是汇编语言编程,还有N的阶数较大,为提高速率,因此在选择FIR滤波器的方式时选择循环缓冲区实现z-1的方式。

对于N级的FIR滤波器,在数据存储器中开辟一个称之为滑窗的N个单元的缓冲区,滑窗中存放最新的N个输入样本。每次输入新的样本时,一新样本改滑窗中的最老数据,而滑窗中的其他数据不需要移动。利用片内BK(循环缓冲区长度)寄存器对滑窗进行间接寻址,环缓冲区地址首位相邻。

3.2.2 程序设计思路

程序设计的总体思路是:启动ADS7864对输入的模拟信号进行A/D转换,每采集到一个数据就送入DSP进行滤波运算,运算结果送DAC76 25转换为模拟量。不断地重复上述过程,在DAC7625的输出端就得到滤波后的模拟信号。

为了精确地控制ADS7864的采样率,使用TMS320C5402内部的定时器控制采样时间间隔T。设置定时器的定时时间等于采样时间间隔T,并让它工作在中断方式,则定时器每过T时间间隔就向CPU发出中断请求,CPU响应中断请求,转去执行中断服务程序。在中断服务程序中读取A/D转换结果,对转换结果进行滤波运算,并将运算结果送D/A转换器转换为模拟量。因此,程序分为主程序和定时器中断服务程序两部分,流程图如图4,图5所示。

3.2.3 FIR滤波源程序

FIR滤波器指令,使用MAC指令执行FIR滤波,将滤波输出放在累加器A中:

3.2.4 结果分析

利用已做好的TMS320C5402开发平台,下载在CCS中已经通过编译的数字带通滤波器的程序,该程序的实验结果波形由CCS提供的显示时频图来显示。由于实际需求只涉及数字滤波器的幅频特性,所以结果分析没有对数字滤波器的相频特性进

matlab fir带通滤波,基于Matlab的FIR带通滤波器设计与实现相关推荐

  1. matlab 理想带通,matlab理想带通滤波

    理想带通使用如下函数,dim是维度,如果input是一维,则dim=1 % FILTERED = ideal_bandpassing(INPUT,DIM,WL,WH,SAMPLINGRATE) % % ...

  2. matlab实现频域率滤波,基于Matlab的图像的频域滤波实现及研究.doc

    摘要:图像的频域滤波是图像增强的一种方法.图像增强是图像处理的方法之一,有频率域法和空间域法.频率域法把图像看成一种二维信号,对其进行二维傅里叶变换的信号增强,采用低通滤波法可以去掉图像的噪声:采用高 ...

  3. 汉宁窗带通滤波应用matlab,可不可以帮我用MATLAB设计一个基于汉宁窗的FIR数字带通滤波器...

    满意答案 很常见的设计题目 给你一个例程,只需要改一改参数就行了 clear all; f=[0 0.19 0.2 0.3 0.31 0.59 0.6 0.8 0.81 1]; % 给定频率轴分点: ...

  4. stm32 带通滤波器_带通滤波 - 基于STM32芯片和TFT-LCD的便携式心电图仪设计

    相关推荐 3月10日,纽约州州长安德鲁-库默(Andrew Cuomo)曾在上月宣布,纽约大都市圈的公共交通系... 发表于 2018-04-16 08:50 • 88次阅读 LCD驱动我们只需要写硬 ...

  5. python带通滤波_python中的fft带通滤波器

    值得注意的是,bp单位的大小不一定是以Hz为单位,而是取决于信号的采样频率,你应该使用 scipy.fftpack.fftfreq进行转换.此外,如果您的信号是真实的,您应该使用 scipy.fftp ...

  6. matlab仿真的窄带带通滤波算法移植单片机没有达到仿真效果-总结

    问题描述: 设计6阶0.1-0.6Hz的带通滤波器,并得到滤波系数 const int NL = 7; const real64_T NUM[7] = {2.282056841956e-07, 0,- ...

  7. 【matlab】butter高通/低通/带通滤波

    butter step1:设计滤波器 即计算滤波器系数[B,A] [B,A] = BUTTER(N,Wn,'high') %高通滤波 [B,A] = BUTTER(N,Wn,'low') %低通滤波 ...

  8. (更新源码)数字信号处理音频FIR去噪滤波器(基于MATLAB GUI的开发)

    数字信号处理音频FIR去噪滤波器(基于MATLAB GUI的开发) 1.内容简介 2.函数使用 3.实现功能 4.操作实例 5.窗函数对比 6.源代码 1.内容简介 利用MATLAB GUI设计平台, ...

  9. matlab产生带通白噪声,理想白噪声和带限白噪声的产生与分析

    <理想白噪声和带限白噪声的产生与分析>由会员分享,可在线阅读,更多相关<理想白噪声和带限白噪声的产生与分析(21页珍藏版)>请在人人文库网上搜索. 1.理想白噪声和带限白噪声的 ...

  10. matlab噪音的消除办法,基于MATLAB的噪声消除方法.ppt

    基于MATLAB的噪声消除方法 基于MATLAB的噪声消除方法 答 辩 人 :徐 苏 美 指导教师:杨卫平教授 论文的指导思想 21世纪的社会是信息化社会,我们生活中的每一天都离不开数字信号.随着信息 ...

最新文章

  1. 两个列向量相乘怎么计算_矩阵:行主序、列主序、行向量、列向量
  2. 可控制转速CSS3旋转风车特效
  3. 使用diskpart命令进行扩充硬盘空间操作说明
  4. 实战SSM_O2O商铺_22【商铺列表】Service层开发
  5. 关于fd和fp(fd:file descirptor fp:file pointor)
  6. BGP——同步功能【Synchronization】【路由黑洞】
  7. .NET Core 3.0中的新功能和增强功能
  8. 理论应用实例水杯_PLC应用,3个PID控制实例讲解,想不会都难!
  9. 纠错编码--海明码(动一发而牵全身)
  10. (C/C++) Link List - C 語言版本
  11. C++简单的写文本文件代码
  12. 前端开发:颜色代码速查表【英文颜色、HEX格式、RGB格式】
  13. 2020 年,从架构谈起,到 Mesh 结束
  14. 三维空间两直线/线段最短距离、线段计算算法
  15. 电子招标采购系统源码之什么是电子招投标系统?
  16. 常用的RTMP、RTSP、HTTP协议流直播流地址
  17. ## 错误:ora-01922 解决方案
  18. python创建数字列表_Python 生成一个从0到n个数字的列表4种方法小结
  19. 1875. 贝茜的报复
  20. 学报格式和论文格式一样吗_学报和论文格式一样吗

热门文章

  1. 黑名单电话和短信拦截
  2. Python语言程序设计基础_期末作品设计——程序员计算器(2020-2 A)_答案_通识教育必修课程_上海师范大学
  3. DBeaverEE-优秀的数据库连接工具
  4. 使用OpenCV进行图片模糊处理(中值滤波)
  5. 《信号与系统》解读 第1章 信号与系统概述-6:系统对时域信号的基本运算与基本变换---幅度、加法、乘法、积分、微分、时延、反转、混合
  6. 小米3g刷高格固件_不走弯路:小米路由器3G 刷Padavan固件简单教程
  7. 字符打印流(PrintWriter)
  8. Java class反编译工具
  9. CMMI认证要求有哪些
  10. VS2017适配版的 VA 安装教程