implementing direct form 2 without using filter command

6 views (last 30 days)
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 Comment
Jan
Jan on 1 Jul 2015
Edited: Jan on 1 Jul 2015
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.

Sign in to comment.

Accepted Answer

Jan
Jan on 1 Jul 2015
Edited: Jan on 1 Jul 2015
Have you seen a working version of a direct form II implementation: http://www.mathworks.com/matlabcentral/answers/9900#answer_13623
  3 Comments
Walter Roberson
Walter Roberson on 1 Jul 2015
"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)

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!