您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> 求助DSP库中fir参数的意思
本帖共有3833个阅读者
发表帖子 发表投票 回复主题
求助DSP库中fir参数的意思
songsongyu(论坛新手)
songsongyu
头衔:社区公民
帮派:无帮无派
帖数:23
金钱:294
积分:30
注册时间:2011/7/27
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
求助DSP库中fir参数的意思

#include <filter.h>

void fir_fr16(const fract16    input[],

              fract16          output[],

             int              length,

              fir_state_fr16  *filter_state);

The function uses the following structure to maintain the state of the filter.

请问上式中int length 参数的意思?

如果是在实时处理音频数据的时候该怎么配置这个参数呢?



「该帖子被 songsongyu 在 2011-08-10 12:54:27 编辑过」

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2011/8/9 20:32:17
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

这个 length 指的是滤波器处理数据的长度,源代码中设置的为256,意思是只处理256个数据,在使用plot工具查看时,也只是查看256个数据,相应配置如图:


上传的图片
  201181010491058.jpg [ 34.53 KB 419×424 ] (缩略时请点击查看原图)

 


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2011/8/10 10:49:12
ucblackfin(论坛新手)
ucblackfin
头衔:社区公民
帮派:无帮无派
帖数:3
金钱:121
积分:3
注册时间:2011/6/17
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

明白了


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2011/8/10 11:43:20
songsongyu(论坛新手)
songsongyu
头衔:社区公民
帮派:无帮无派
帖数:23
金钱:294
积分:30
注册时间:2011/7/27
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
如果实时处理数据怎样配置这个参数呢?

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2011/8/10 12:55:10
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
4信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

实时处理每次产生的数据也是有限的,可以建立两个BUFFER,buffer1和Buffer2.当往buffer2中写入数据时,将buffer1的数据送入FIR处理,当buffer1处理完成后,再将buffer2的数据送入FIR处理,将buffer1重新写入数据。以此循环实现连续实时处理。



这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2011/8/10 20:09:34
songsongyu(论坛新手)
songsongyu
头衔:社区公民
帮派:无帮无派
帖数:23
金钱:294
积分:30
注册时间:2011/7/27
5信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

  在open-adi中有个audio的工程,这是个直接接收音频的程序,中间有个process( )函数,如果我要对数据铝箔是在这个函数中加滤波器么?其中有四个channel0L,channenoR,channnel1L,channel1R,这四个是通道么?如果进行滤波,每个通道都要进行处理么?


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2011/9/5 17:14:08
毛毛(论坛新手)
毛毛
头衔:社区公民
帮派:无帮无派
帖数:5
金钱:125
积分:5
注册时间:2011/9/6
6信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
是在process( )函数中做滤波的,四个channel0L,channenoR,channnel1L,channel1R并不是代表四个通道,而是代表左右声道各采集了2个数据,如果需要进行滤波,建议最好采集更多的数据量。

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2011/9/6 9:38:24
songsongyu(论坛新手)
songsongyu
头衔:社区公民
帮派:无帮无派
帖数:23
金钱:294
积分:30
注册时间:2011/7/27
7信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

是否左右声道各采集了2个数据都要进行滤波呢?那么这个滤波的长度是不是1,就是说length s设置为1啊?

再问下视频教程中哪一集能讲解下LDF文件?


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2011/9/6 10:10:28
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5187
金钱:34761
积分:6369
注册时间:2011/6/7
8信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
先看一下文档吧,文档里有一章专门讲LDF的应用的,视频可能要比较靠后

我是OP...
等级:管理员 参考IP地址:*.*.*.*
2011/9/6 10:57:22
毛毛(论坛新手)
毛毛
头衔:社区公民
帮派:无帮无派
帖数:5
金钱:125
积分:5
注册时间:2011/9/6
9信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
根据你的需要,左右声道都可以单独做滤波,但是前提必须采集一组的数据,滤波器会根据当前一组数据的情况进行滤波,一个数据无法完成滤波,所以滤波的长度一定不能为1

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2011/9/6 11:58:09
15
1
1/2
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154393 Call, 1 Queries, Processed in 0.031250 second(s),