TI论坛
直播中

李开心

7年用户 219经验值
私信 关注

请问如何解决C:\ti\controlSUITE\libs\dsp\FPU\v131\examples\2833x_FIR这个里面的FIR算法问题?

本帖最后由 一只耳朵怪 于 2018-6-13 15:56 编辑

仔细看了一下C:ticontrolSUITElibsdspFPUv131examples2833x_FIR这个里面的FIR算法,发现有点问题,滤波的原理是卷积,但如果输入x(n)有xn个点,h(n)有hn个点,这两个信号卷积理论上输出y(n)应有xn+hn-1个点,而在这个算法中只取了前xn个点做输出,这表现为有一定的延时。从下面matlab仿真结果可以看出:

图中红色的理想滤波后信号,绿色为实际滤波信号。
但是不直接取前xn个,而是取最中间的xn个,即前后各去一部分,这样得到的结果更接近理想滤波结果。下面是我做的matlab的结果:

但是我不是很清楚如何在ti官网给的FIR的基础上做这样的变化,请各位指点一下,谢谢啦!

回帖(9)

李开心

2018-6-13 02:53:16
不知道是不是我问的不是很清楚,怎么没有人解答?其实我是在实时数据处理出现的这样的问题,因为数据是不断产生的,我假设第一次滤波256个点,下一次又有256个点,但如果这样使用TI提供的这个算法的话,两端波形连接不上,所以才有这些疑问。
另外我还想问一下信号的长度一定是滤波器长度的4倍吗?  C:ticontrolSUITElibsdspFPUv131examples2833x_FIR这个滤波程序如果是256个信号数据,64个滤波参数,都是浮点型数据一次滤波大概用时多久?
举报

王秀珍

2018-6-13 03:06:22
在5500的DSPLIB库中FIR也是这样,滤波后信号发生右移,具体我也没找到是怎么回事。可能要看他的汇编程序才能查处问题所在。
举报

李开心

2018-6-13 03:17:52
引用: 站着幻想 发表于 2018-6-13 03:06
在5500的DSPLIB库中FIR也是这样,滤波后信号发生右移,具体我也没找到是怎么回事。可能要看他的汇编程序才能查处问题所在。

我这里有一个文件是关于C28系列的library的一个说明,里面可以看到滤波的过程,滤波实际上就是卷积,所以会有右移的现象,

还有我也在其他地方看到了汇编程序,但我没仔细了解过汇编,http://www.cnblogs.com/TrueElement/archive/2012/11/22/2782283.html,
麻烦您看一下,可以交流下!
举报

李开心

2018-6-13 03:32:45
再次请问一下,如果信号长度是确定的,TI提供的FIR滤波还行,但如果信号是采样得到的,可以采256个点滤波一次,再采256点滤波一次,但问题是这两次滤波完之后的波形不能很好地接在一起怎么办?
举报

更多回帖

发帖
×
20
完善资料,
赚取积分