Effacer les filtres
Effacer les filtres

Convert a digital filter to transfer function

7 vues (au cours des 30 derniers jours)
Sandi J
Sandi J le 6 Sep 2018
Modifié(e) : Stephan le 6 Sep 2018
I have a coefficients of FIR filter ,found it by 'fir1' function, in general, i want to convert a digital filter to transfer function with apply this formula :
The method :
Design a 48th-order FIR filter passband , with a cutoff frequency w=[0.35 0.65]. Compute the coefficients of the equivalent transfer function.
% Coefficients of fir filter
c = fir1(48,[0.35 0.65]);
%Filter Transfer Function
[b,a] = tf(c);
The error found:
Error using tf
Too many output arguments.
How can i solve this problem? how can i find a transfer function of fir filter with this specifications?

Réponse acceptée

Stephan
Stephan le 6 Sep 2018
Hi,
tf has only one output - use:
% Coefficients of fir filter
c = fir1(48,[0.35 0.65]);
%Filter Transfer Function
trans_fun = tf(c);
Best regards
Stephan
  2 commentaires
Sandi J
Sandi J le 6 Sep 2018
Thank you for your reply ,but what is the difference between this case and the case in this page https://www.mathworks.com/help/signal/ref/tf.html
Stephan
Stephan le 6 Sep 2018
Modifié(e) : Stephan le 6 Sep 2018
I think it is the type of input. The result of fir1 is a row vector which is input for tf.
The input of the link you provided is a digital filter object.
I think the tf function make a case distinction and changes behavior depending on the input type.

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by