由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - FIR IIR 能否降低算法复杂度?
相关主题
嵌入式编程问题C++多线程和硬件的关系
[求助]Metlab做adaptive filter的问题震惊:java 的矩阵操作比 c++ 快?
c++里 weak_ptr用起来是不是耗时间?请大牛们帮忙看一段并行c++代码的效率问题
c++编译太tmd耗时间了,准备换ssd硬盘《Intel® 64 and IA-32体系结构:软件开发人员手册》文字版[PDF]
问个double和long double的问题functional programming?
请教:double比float算起来还快?在图像算法领域,纯java没戏,用java和c++混合编程很恶心
matlab里数字滤波的问题c++这种语言注定了会越做越小
瓶颈在哪儿?java在图像分析领域,就是一个扶不起的阿斗
相关话题的讨论汇总
话题: fir话题: iir话题: 复杂度话题: bn话题: am
进入Programming版参与讨论
1 (共1页)
t******i
发帖数: 2688
1
以一个IIR为例,
y_n = [a0,...,aM]*[x_{n}...x_{n-M}]' + [b1, ...,bN]*[y_[n-1],...,y_{n-N}]'
复杂度应该是 O(n*(N+M))吧。
这样的滤波器如果 weight vector a = [a0,..., aM] 和 b = [b1, ..., bN]很长,计
算起来可能就很耗时间,有没有什么办法降低计算复杂度?
谢谢。
s********k
发帖数: 6180
2
FFT

【在 t******i 的大作中提到】
: 以一个IIR为例,
: y_n = [a0,...,aM]*[x_{n}...x_{n-M}]' + [b1, ...,bN]*[y_[n-1],...,y_{n-N}]'
: 复杂度应该是 O(n*(N+M))吧。
: 这样的滤波器如果 weight vector a = [a0,..., aM] 和 b = [b1, ..., bN]很长,计
: 算起来可能就很耗时间,有没有什么办法降低计算复杂度?
: 谢谢。

t******i
发帖数: 2688
3
这个不行,必须是causal和sequential的计算,就是说在当前时刻n,只有 x(k), k
<= n是知道的。

【在 s********k 的大作中提到】
: FFT
i***c
发帖数: 26
4
分段fft

k

【在 t******i 的大作中提到】
: 这个不行,必须是causal和sequential的计算,就是说在当前时刻n,只有 x(k), k
: <= n是知道的。

t******i
发帖数: 2688
5
也是不行的。必须causal和sequential。

【在 i***c 的大作中提到】
: 分段fft
:
: k

t****t
发帖数: 6806
6
确认一下, 必须进来一个出去一个是吗? 一点延迟都不能有? 那就没办法了. 滤波器的
快速计算都是用延迟换效率的, 没有延迟就没有效率.

【在 t******i 的大作中提到】
: 也是不行的。必须causal和sequential。
t******i
发帖数: 2688
7
可以一次性进来16个,出去16个。
延迟不能超过16,这样的话有没有办法提高一点点呢?在我们simulation中,
filtering是最耗时间的。几个FIR 的order都是上千的。
谢谢

【在 t****t 的大作中提到】
: 确认一下, 必须进来一个出去一个是吗? 一点延迟都不能有? 那就没办法了. 滤波器的
: 快速计算都是用延迟换效率的, 没有延迟就没有效率.

t****t
发帖数: 6806
8
可以的.

【在 t******i 的大作中提到】
: 可以一次性进来16个,出去16个。
: 延迟不能超过16,这样的话有没有办法提高一点点呢?在我们simulation中,
: filtering是最耗时间的。几个FIR 的order都是上千的。
: 谢谢

g*****y
发帖数: 7271
9
如果可以近似计算可能可以省不少,如果要严格计算的话,悬

【在 t******i 的大作中提到】
: 可以一次性进来16个,出去16个。
: 延迟不能超过16,这样的话有没有办法提高一点点呢?在我们simulation中,
: filtering是最耗时间的。几个FIR 的order都是上千的。
: 谢谢

a****l
发帖数: 8211
10
好像滤波器的计算远远比fft的计算简单吧。

【在 s********k 的大作中提到】
: FFT
相关主题
请教:double比float算起来还快?C++多线程和硬件的关系
matlab里数字滤波的问题震惊:java 的矩阵操作比 c++ 快?
瓶颈在哪儿?请大牛们帮忙看一段并行c++代码的效率问题
进入Programming版参与讨论
t****t
发帖数: 6806
11
用FFT快速计算FIR是DSP的基本功了, 各种DSP教科书都会提到. 前提是允许比FIR长的
延迟. 楼主的要求太高, 只能部分展开.

【在 a****l 的大作中提到】
: 好像滤波器的计算远远比fft的计算简单吧。
t****t
发帖数: 6806
12
不需要近似计算也可以省的, 关键是一定要允许有延迟. 这是一对交换.

【在 g*****y 的大作中提到】
: 如果可以近似计算可能可以省不少,如果要严格计算的话,悬
k**********g
发帖数: 989
13

能否亮一下pole zero plot,帮助思考
I can only think of speeding up using SIMD (vector processing) on the DSP or
CPU. This wouldn't change the order of complexity.
Are the filter coefficients constant or adaptive?

【在 t******i 的大作中提到】
: 可以一次性进来16个,出去16个。
: 延迟不能超过16,这样的话有没有办法提高一点点呢?在我们simulation中,
: filtering是最耗时间的。几个FIR 的order都是上千的。
: 谢谢

t****t
发帖数: 6806
14
几千点的滤波器, 零极点的意义不大了.

or

【在 k**********g 的大作中提到】
:
: 能否亮一下pole zero plot,帮助思考
: I can only think of speeding up using SIMD (vector processing) on the DSP or
: CPU. This wouldn't change the order of complexity.
: Are the filter coefficients constant or adaptive?

t******i
发帖数: 2688
15
展开说说?

【在 t****t 的大作中提到】
: 可以的.
t****t
发帖数: 6806
16
给你发了信.

【在 t******i 的大作中提到】
: 展开说说?
g*****y
发帖数: 7271
17
我是说在他的causal无delay的限制条件下。呵呵

【在 t****t 的大作中提到】
: 不需要近似计算也可以省的, 关键是一定要允许有延迟. 这是一对交换.
t******i
发帖数: 2688
18
多谢指教!

【在 t****t 的大作中提到】
: 给你发了信.
g*****y
发帖数: 7271
19
FFT是NlogN的复杂度,FIR滤波器越长,省得越多。

【在 a****l 的大作中提到】
: 好像滤波器的计算远远比fft的计算简单吧。
t****t
发帖数: 6806
20
无delay是不行的, 但他不是允许有少量的delay吗.

【在 g*****y 的大作中提到】
: 我是说在他的causal无delay的限制条件下。呵呵
相关主题
《Intel® 64 and IA-32体系结构:软件开发人员手册》文字版[PDF]c++这种语言注定了会越做越小
functional programming?java在图像分析领域,就是一个扶不起的阿斗
在图像算法领域,纯java没戏,用java和c++混合编程很恶心请教C++class
进入Programming版参与讨论
t****t
发帖数: 6806
21
也不是了...那个logN的因子虽然小, 还是需要考虑的.

【在 g*****y 的大作中提到】
: FFT是NlogN的复杂度,FIR滤波器越长,省得越多。
g*****y
发帖数: 7271
22
16个应该省不出什么来,至少上百个还差不多。肯定不如近似一下省事。
瞎猜的

【在 t****t 的大作中提到】
: 无delay是不行的, 但他不是允许有少量的delay吗.
g*****y
发帖数: 7271
23
就是因为这个因子,所以二维的大概10x10以上可以省点。
瞎猜一下的话,一维我觉得至少百来个才能有节省。

【在 t****t 的大作中提到】
: 也不是了...那个logN的因子虽然小, 还是需要考虑的.
t****t
发帖数: 6806
24
you might be surprised how much can be saved by introduced with even 1 delay
...

【在 g*****y 的大作中提到】
: 16个应该省不出什么来,至少上百个还差不多。肯定不如近似一下省事。
: 瞎猜的

t****t
发帖数: 6806
25
你如果把思路限制在FFT上, 那确实是不容易. 不过我不能说太多...

【在 g*****y 的大作中提到】
: 就是因为这个因子,所以二维的大概10x10以上可以省点。
: 瞎猜一下的话,一维我觉得至少百来个才能有节省。

g*****y
发帖数: 7271
26
问题是不用FFT的话,我觉得别的方法很可能需要近似啊,不能
针对所有的FIR吧?
要么你单独发私信给我透露一点?

【在 t****t 的大作中提到】
: 你如果把思路限制在FFT上, 那确实是不容易. 不过我不能说太多...
t****t
发帖数: 6806
27
不需要近似, 针对所有的FIR. 不是什么新方法, 但是由于某些原因我不便说细节.

【在 g*****y 的大作中提到】
: 问题是不用FFT的话,我觉得别的方法很可能需要近似啊,不能
: 针对所有的FIR吧?
: 要么你单独发私信给我透露一点?

g****t
发帖数: 31659
28
FIR按FFT算卷积的思路,直接能套上.
IIR快速计算的思路是什么?
尤其是,还需要考虑截断误差造成不稳定的情况下?

【在 t****t 的大作中提到】
: 不需要近似, 针对所有的FIR. 不是什么新方法, 但是由于某些原因我不便说细节.
t****t
发帖数: 6806
29
只针对FIR, IIR本身不允许延迟, 所以没有办法. LZ说的几千个tap的肯定是FIR了, 谁
听说过几千tap的IIR啊.
明显LZ跟我做同一个东西的, 所以我知道他要什么.

【在 g****t 的大作中提到】
: FIR按FFT算卷积的思路,直接能套上.
: IIR快速计算的思路是什么?
: 尤其是,还需要考虑截断误差造成不稳定的情况下?

t******i
发帖数: 2688
30
高手兄,我们应该是同行(广义上的),但具体的产品肯定不一样啦。不算竞争关系。
再说仿真也不过是工具而已,不算核心技术嘛

【在 t****t 的大作中提到】
: 只针对FIR, IIR本身不允许延迟, 所以没有办法. LZ说的几千个tap的肯定是FIR了, 谁
: 听说过几千tap的IIR啊.
: 明显LZ跟我做同一个东西的, 所以我知道他要什么.

相关主题
黑c++的人是不是坐井观天?[求助]Metlab做adaptive filter的问题
问个选语言的问题c++里 weak_ptr用起来是不是耗时间?
嵌入式编程问题c++编译太tmd耗时间了,准备换ssd硬盘
进入Programming版参与讨论
g*****y
发帖数: 7271
31
这样啊,那这个节省量是不是和FIR的实际系数有关系呢?难道最后是要做什么矩阵
分解之类的?

【在 t****t 的大作中提到】
: 不需要近似, 针对所有的FIR. 不是什么新方法, 但是由于某些原因我不便说细节.
k**********g
发帖数: 989
t******i
发帖数: 2688
33
这个不是一回事。楼主已经在高手兄的建议下,找到了合适的方法。

【在 k**********g 的大作中提到】
: http://en.wikipedia.org/wiki/Least_mean_squares_filter
: ??

1 (共1页)
进入Programming版参与讨论
相关主题
java在图像分析领域,就是一个扶不起的阿斗问个double和long double的问题
请教C++class请教:double比float算起来还快?
黑c++的人是不是坐井观天?matlab里数字滤波的问题
问个选语言的问题瓶颈在哪儿?
嵌入式编程问题C++多线程和硬件的关系
[求助]Metlab做adaptive filter的问题震惊:java 的矩阵操作比 c++ 快?
c++里 weak_ptr用起来是不是耗时间?请大牛们帮忙看一段并行c++代码的效率问题
c++编译太tmd耗时间了,准备换ssd硬盘《Intel® 64 and IA-32体系结构:软件开发人员手册》文字版[PDF]
相关话题的讨论汇总
话题: fir话题: iir话题: 复杂度话题: bn话题: am