Create a transfer function that looks like a polynomial

Hello everyone I have a function called C
C=inv(Psi'*Psi)*Psi'*E1;
The challege I am having is creating a transfer function from C called filterC that looks like the picture that is attached.
Note the picture attached is an example. My values will be different.
whenever I do prefilter=tf(C) I get values like in row form
Prefilter=tf(C)
Prefilter =
From input to output...
1: -0.8673
2: 0.3917
3: 0.2832
4: -0.6459
5: -0.08966
Static gain.
How can I get my transfer function to look similar to this?
Am I doing something wrong?
Any help is greatly appreciated.

 采纳的回答

If you have filter cofficient, then you need to pass following options to tf()
C = [1 -1.047 0.558 0.2608 -0.7408 0.09526];
sys = tf(C, 1, .01, 'variable', 'z^-1')
Result
>> sys
sys =
1 - 1.047 z^-1 + 0.558 z^-2 + 0.2608 z^-3 - 0.7408 z^-4 + 0.09526 z^-5
Sample time: 0.01 seconds
Discrete-time transfer function.
Note that, in this case, C must be a row vector.
In your question, you are using C as a column vector; therefore, you are getting five transfer functions with static gains.

3 个评论

I believe you are on the right track. I converted the column vector into a row vector.
C'
ans =
-0.8673 0.3917 0.2832 -0.6459 -0.0897
However when I do the transfer function, I only get up to z^-4 which is the wrong order. I know I should get up to z^-5 (five back samples) with the first one being one.
filterC=tf(C', 1, .01, 'variable', 'z^-1')
filterC =
-0.8673 + 0.3917 z^-1 + 0.2832 z^-2 - 0.6459 z^-3 - 0.08966 z^-4
I believe it should look like like
I believe it should look like this
filterC = 1 - 0.8673 z^-1 + 0.3917 z^-2 + 0.2832 z^-3 + 0.6459 z^-4 + 0.08966 z^-5
You can make it like this by adding a 1 at the beginning of cofficients vector
filterC=tf([1 C'], 1, .01, 'variable', 'z^-1')

请先登录,再进行评论。

更多回答(1 个)

Since it is a ‘static gain’ object, it acts just like a simple amplifier. It has no frequency-dependent characteristics, so it has no variable associated with it.

类别

帮助中心File Exchange 中查找有关 MATLAB 的更多信息

产品

版本

R2015b

Community Treasure Hunt

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

Start Hunting!

Translated by