implementing direct form 2 without using filter command

6 次查看(过去 30 天)
x = randn(200,1);
for n = 9:length(x)
y(n) = 9*w(n)+w(n-1)+w(n-2)+33*w(n-3)+12*w(n-4)
w(n) = 2*w(n-1)-1.5*w(n-2)+0.9*w(n-3)-0.96*w(n-4)+x(n)
end
The above are the equations for direct form2 realisation of a transfer function.But it is throwing an error for variable w(n).what is the value of w(n) so that the error is removed.
  1 个评论
Jan
Jan 2015-7-1
编辑:Jan 2015-7-1
I've formatted your code to make it readable. Please use the "{} Code" button.
Please post the error message, when you mention, that there is one. Letting us guess the error at first wastes time.

请先登录,再进行评论。

采纳的回答

Jan
Jan 2015-7-1
编辑:Jan 2015-7-1
Have you seen a working version of a direct form II implementation: http://www.mathworks.com/matlabcentral/answers/9900#answer_13623
  3 个评论
Walter Roberson
Walter Roberson 2015-7-1
"myFilter" is an implementation of direct form 2 that Jan has written and does not use the MATLAB "filter" command. You could name "myFilter" anything that is a valid MATLAB identifier, including
function [Y,z] = Supercalifragilisticexpialidocious(b, a, X, z)

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Digital Filter Analysis 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by