新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于Matlab和Visual C++的数字滤波器设计方法

基于Matlab和Visual C++的数字滤波器设计方法

作者:时间:2014-05-13来源:网络收藏

 

本文引用地址:http://www.eepw.com.cn/article/246736.htm

4 时域传递函数

一般只用于功能仿真,而实际项目应用,通常采用软件编程进行信号控制和硬件实现,所以需要将仿真时使用的滤波器函数Filter转化为C代码实现。

软件编程有时域和频域两种思路。由于输入信号较为复杂不易进行时-频转换,只能采用时域滤波。所以需将传递函数反变换到时域,对信号进行滤波处理。

 

 

 

 

5 时域卷积滤波

卷积在通信技术和信号处理中起着重要的作用。在线性时域系统中,根据时间的连续性,可以分为卷积积分和卷积和。在LTI连续时间系统中,把激励信号分解为一系列冲激函数,求出各种冲激函数单独作用于系统时的冲激响应,然后将这些响应相加就得到系统对于该激励信号的零状态响应。这个相加的过程表现为求卷积积分。在LTI离散系统中,可用上述方法进行分析。由于离散信号本身是一个序列,因此,激励信号分解为单位序列的工作就较容易完成。如果系统的单位序列响应为已知,那么,也不难求得每个单位序列单独作用于系统的响应。把这些序列相加就得到系统对于该激励信号的零状态响应,这个相加的过程表现为求卷积和。

由于本系统中的信号是离散时间序列,常用的卷积和的求解方法有图解法、对位相乘求和法、解析法和列表法等4种。一般,待处理的信号的数据量比较大,列表法不适用,所以采用解析法。

卷积与傅里叶变换有着密切的关系。利用两个函数的傅里叶变换的乘积等于它们卷积后的傅里叶变换的性质,能使傅里叶分析中许多问题的处理得到简化。本文正是采用这一点,将频域的滤波转化为时域滤波。

频域相乘等效于时域卷积。编写C程序求输入信号和传递函数的卷积和。当两个信号为因果信号时,可以根据式(5)求卷积和。当f1(k)的数据长度为m;f2(k)的数据长度为n(n

6 结果及分析

信号分别经卷积和滤波和Filter函数滤波,将滤波后的数据导入比较,结果如图3所示。由图可见,前者在初始状态出现尖峰,这是因为卷积和是在特定窗口内时域累加的过程,会造成头部数据和尾部数据不准确。虽然编写的C卷积和滤波程序有一定的缺陷,但是整体波形一致,说明实验获得初步成功。

 

 

7 结束语

提出了一种将硬件滤波电路数字化的方法,并在Matlab和平台上得以实现。与模拟滤波电路和传统的数字滤波相比,不仅比传统的数字滤波算法简单快捷,而且有效防止了模拟电路中器件的寄生参数、精度、温度等的影响,使滤波更加稳定。

模拟信号相关文章:什么是模拟信号


滤波器相关文章:滤波器原理


滤波器相关文章:滤波器原理


c++相关文章:c++教程


低通滤波器相关文章:低通滤波器原理


电源滤波器相关文章:电源滤波器原理


数字滤波器相关文章:数字滤波器原理

上一页 1 2 下一页

关键词: Matlab Visual C++

评论


相关推荐

技术专区

关闭