完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
本帖最后由 一只耳朵怪 于 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个回答
|
|
不知道是不是我问的不是很清楚,怎么没有人解答?其实我是在实时数据处理出现的这样的问题,因为数据是不断产生的,我假设第一次滤波256个点,下一次又有256个点,但如果这样使用TI提供的这个算法的话,两端波形连接不上,所以才有这些疑问。
另外我还想问一下信号的长度一定是滤波器长度的4倍吗? C:ticontrolSUITElibsdspFPUv131examples2833x_FIR这个滤波程序如果是256个信号数据,64个滤波参数,都是浮点型数据一次滤波大概用时多久? |
|
|
|
在5500的DSPLIB库中FIR也是这样,滤波后信号发生右移,具体我也没找到是怎么回事。可能要看他的汇编程序才能查处问题所在。
|
|
|
|
我这里有一个文件是关于C28系列的library的一个说明,里面可以看到滤波的过程,滤波实际上就是卷积,所以会有右移的现象, 还有我也在其他地方看到了汇编程序,但我没仔细了解过汇编,http://www.cnblogs.com/TrueElement/archive/2012/11/22/2782283.html, 麻烦您看一下,可以交流下! |
|
|
|
再次请问一下,如果信号长度是确定的,TI提供的FIR滤波还行,但如果信号是采样得到的,可以采256个点滤波一次,再采256点滤波一次,但问题是这两次滤波完之后的波形不能很好地接在一起怎么办?
|
|
|
|
naiztycheng 发表于 2018-6-13 03:32 这个可以采用取巧的办法,你把滤波输出的数组长度定义为N+NH/2,N是你的数据长度,NH/2是阶数的一半,他滤波移位的长度是NH/2,你去数据的时候从NH/2取到N+NH/2就行了。我在55里面是这样的 |
|
|
|
站着幻想 发表于 2018-6-13 03:51 好方法,有用信号取N个点,后面补NH/2个0,那么卷积的时候后面的0是不影响卷积结果,然后取最后N个值,是这个意思吗? 还想请问一下滤波数据的长度最大是不是只能为256? 在55里面滤波256个浮点数据耗时多少?谢谢啦! |
|
|
|
naiztycheng 发表于 2018-6-13 03:57 55里面函数原型:ushort oflag = fir (DATA *x, DATA *h, DATA *r, DATA *dbuffer, ushort nx, ushort nh)。我是将输出数组r的长度设为NX+NH/2,取数据的时候从NH/2开始取到NX+NH/2,这样能保证数据不丢失,移位多少,数组长度就补多少位。我也就做到了256阶,做一般滤波256阶应该能满足要求了。我用的5509是定点的DSP,5509处理浮点类型运算时间太大了,我以前做fft自己写的程序,跑2048点浮点运算要150多ms,后面将数据类型转换为整形后,调用DSPLIB中的fft整个处理下来就只要20几个ms了。55里面FIR的原型函数本来也是针对定点数据类型的。2000系列的不熟悉 |
|
|
|
站着幻想 发表于 2018-6-13 04:12 我看了下2000里面的fir里面定义的数据类型都是整形的啊 |
|
|
|
我使用的是F28335,它是浮点型处理芯片,我在C:ticontrolSUITElibsdspFPUv131examples2833x_FIR里面看到应该是可以处理浮点数据的,只是不知道处理速度怎么样,它的程序在下面的文件里。我一直以为是滤波的数据不能超过256,经过您的提醒,我又仔细看了一下说明才发现原来是滤波器的阶数不能超过256,真是非常您的回答。 |
|
|
|
只有小组成员才能发言,加入小组>>
NA555DR VCC最低电压需要在5V供电,为什么用3.3V供电搭了个单稳态触发器也使用正常?
684 浏览 3 评论
MSP430F249TPMR出现高温存储后失效了的情况,怎么解决?
600 浏览 1 评论
对于多级放大电路板,在PCB布局中,电源摆放的位置应该注意什么?
1055 浏览 1 评论
741 浏览 0 评论
普中科技F28335开发板每次上电复位后数码管都会显示,如何熄灭它?
525 浏览 1 评论
请问下tpa3220实际测试引脚功能和官方资料不符,哪位大佬可以帮忙解答下
165浏览 20评论
请教下关于TAS5825PEVM评估模块原理图中不太明白的地方,寻求答疑
128浏览 14评论
在使用3254进行录音的时候出现一个奇怪的现象,右声道有吱吱声,请教一下,是否是什么寄存器设置存在问题?
127浏览 13评论
TLV320芯片内部自带数字滤波功能,请问linein进来的模拟信号是否是先经过ADC的超采样?
123浏览 12评论
GD32F303RCT6配置PA4 ADC引脚,将PA2代替key功能,PA2连接时无法实现预期功能,为什么?
43浏览 10评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 19:13 , Processed in 1.050089 second(s), Total 96, Slave 79 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号