How do you calculate this transfer function?

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?

답변 (3개)

Honglei Chen
Honglei Chen 2014년 9월 12일

0 개 추천

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 2014년 9월 12일

0 개 추천

Is there any way to write it as H(z)?
mohammad
mohammad 2014년 9월 12일
편집: mohammad 2014년 9월 12일

0 개 추천

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

Alexandros Roniotis
Alexandros Roniotis 2014년 9월 16일
편집: Alexandros Roniotis 2014년 9월 16일
Yes, but I think simplification of N=1 is too erroneous. Why did you choose N? Thank you for help

댓글을 달려면 로그인하십시오.

카테고리

질문:

2014년 9월 12일

편집:

2014년 9월 16일

Community Treasure Hunt

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

Start Hunting!

Translated by