How do you calculate this transfer function?

5 vues (au cours des 30 derniers jours)
Alexandros Roniotis
Alexandros Roniotis le 12 Sep 2014
Dear friends I'm trying to make a filter for sound processing in matlab The transfer function is
H(e^(jω))=αjω.*exp(-βjω);
I have written this in matlab but seems not to work properly
w=0:pi/(2*Fs):pi; H=sqrt(-1)*w*a.*exp(-sqrt(-1)*w*b);
Do you think it's right?

Réponses (3)

Honglei Chen
Honglei Chen le 12 Sep 2014
You can use 1i for sqrt(-1) but mainly you need to set your w correctly, right now your step size is pi/(2*Fs). It could work but I don't know if that's what you want. Normally people decides the number of samples between 0 and pi as N and then the step size is pi/N, or pi/(N-1).

Alexandros Roniotis
Alexandros Roniotis le 12 Sep 2014
Is there any way to write it as H(z)?

mohammad
mohammad le 12 Sep 2014
Modifié(e) : mohammad le 12 Sep 2014
first use approximation function instead of exponential: e^x = (1+(x/N))^N second instead of 'jω' use 's' and use 'tf' command. so you have (for N=1): H=αjω.*exp(-βjω)=αjω/(1+(βjω)) now you have: H=(α*s)/(1+β*s)
num=[α,0];
den=[β,1];
H=tf(num,den);
for plotting bode diagram use 'bodeplot'.
  1 commentaire
Alexandros Roniotis
Alexandros Roniotis le 16 Sep 2014
Modifié(e) : Alexandros Roniotis le 16 Sep 2014
Yes, but I think simplification of N=1 is too erroneous. Why did you choose N? Thank you for help

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by