滤波函数是如何工作的?

7视图(30天)
树精
树精 2012年8月26日
编辑: 塞吉奥Cuadros2020年6月18日
我理解过滤器(b, a, X)的作品。让我迷惑的是函数的初始条件。函数滤波器(b, a, X,子)。
例如:y (n) = -0.5 y (n - 1) + x (n) x (n) = u (n) y (1) = 1
滤波函数将如何解决这个问题?我试着做手工,但我得到不同的输出。

接受的答案

宏磊陈
宏磊陈 2012年8月26日
编辑:宏磊陈 2012年8月26日
MATLAB的过滤器()函数的实现方向形成II,可以找到详细的算法
对于你的情况,你需要首先找出初始条件是什么。您可以使用 filtic 函数。
例如,
b = 1;
一个= 0.5 [1];
y =过滤器(b, a, (10, 1), filtic (b, a, 1));
3评论
塞吉奥Cuadros
塞吉奥Cuadros 2020年6月18日
编辑:塞吉奥Cuadros 2020年6月18日
宏磊先生你好,你能检查我的问题。我有一个问题。
致以最亲切的问候。

登录置评。

答案(1)

1月
1月 2012年8月27日
编辑:1月 2012年8月27日
你找到的Matlab实现过滤器命令 答案:hard-code-filter 。这应该显示初始和最终的意义的条件。
把一个信号分解为部件也可能会有帮助:
信号=兰德(1000);
[b] =黄油(0.5);%任意滤波器参数
inital_cond1 = 0(1、长度(a) - 1);
[filtered1, final_cond1] =过滤器(b, a,信号(1:50 0),initial_cond1);
[filtered2, final_cond2] =过滤器(b, a信号(501:1000)final_cond1);
加入= [filtered1, filtered2];
%现在过滤器在一个步骤:
整体的=过滤器(b, a,信号,initial_cond1);
%比较结果,应该小:
disp(平均(abs(加入-整体的)));
这表明,初条件过滤的内部状态的值。当信号分成碎片,最后的条件前部分的初条件当前部分。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!