MATLAB Answers

How do you calculate this transfer function?

11 views (last 30 days)
Alexandros Roniotis
Alexandros Roniotis on 12 Sep 2014
Edited: Alexandros Roniotis on 16 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?

  0 Comments

Sign in to comment.

Answers (3)

Honglei Chen
Honglei Chen on 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).

  0 Comments

Sign in to comment.


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

  0 Comments

Sign in to comment.


mohammad
mohammad on 12 Sep 2014
Edited: mohammad on 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 Comment

Alexandros Roniotis
Alexandros Roniotis on 16 Sep 2014
Yes, but I think simplification of N=1 is too erroneous. Why did you choose N? Thank you for help

Sign in to comment.

Sign in to answer this question.