Azzera filtri
Azzera filtri

Create a transfer function that looks like a polynomial

7 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

Ameer Hamza
Ameer Hamza il 5 Nov 2020
Modificato: Ameer Hamza il 5 Nov 2020
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 Commenti
Heraldo Tello
Heraldo Tello il 5 Nov 2020
Modificato: Heraldo Tello il 5 Nov 2020
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
Ameer Hamza
Ameer Hamza il 5 Nov 2020
Modificato: Ameer Hamza il 5 Nov 2020
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')

Accedi per commentare.

Più risposte (1)

Star Strider
Star Strider il 5 Nov 2020
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.

Categorie

Scopri di più su MATLAB in Help Center e File Exchange

Prodotti


Release

R2015b

Community Treasure Hunt

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

Start Hunting!

Translated by