加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

用C / Java生成DSP滤波器系数用于时域卷积

发布时间:2020-12-16 06:57:53 所属栏目:百科 来源:网络整理
导读:我正在写一个智能手机( Android,iPhone)应用程序,它做一些DSP.我是一位经验丰富的程序员.我还参加了DSP的一个本科EE课程,并且知道如何使用Matlab. 我想将低通和带通滤波器应用于我的时域信号.根据我的理解,我需要对时域样本和滤波器系数进行卷积.在Matlab中,
我正在写一个智能手机( Android,iPhone)应用程序,它做一些DSP.我是一位经验丰富的程序员.我还参加了DSP的一个本科EE课程,并且知道如何使用Matlab.

我想将低通和带通滤波器应用于我的时域信号.根据我的理解,我需要对时域样本和滤波器系数进行卷积.在Matlab中,我将使用fir1()函数来获取滤波器系数,并使用conv()/ filter()函数来应用卷积.

我知道如何在Java / C中编写卷积函数,但我不知道如何生成滤波器系数.我知道对于低通滤波器,系数来自sinc函数,带通滤波器基本上是移位的低通滤波器.如何以编程方式生成这些系数?

解决方法

存在使用windowed-sinc方法 on the nicholson.com dsp web page为低通和带通滤波器生成FIR系数的代码.该代码大约是10行老式Basic,但应该可以简单地转换为C或Java.如果要重新派生代码,可以在该页面上进行说明.

当使用窗口sinc时,艺术是选择最佳窗口.更现代的方法,需要更少的猜测工作,是使用Remez交换算法从规范生成过滤器.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读