Frequency response of allpass thiran Filter without inbuilt 'thiran' syntax

조회 수: 3 (최근 30일)
Gayani
Gayani 2023년 5월 18일
댓글: Gayani 2023년 5월 24일
Hi team,
I am trying to get the frequency response (H(z)) for the thiran filter using below. But I am stuck after getting the 'ak' value how to proceed to get the frequency response without inbuilt syntax ? Can you please help?
I used below code for calculating ak.
function [b,a] = thiran_1(D,N)
% [b,a] = thiran_1(D,N)
% b and a are numerator and denominator of H, respectively
% returns the order N Thiran allpass interpolation filter
% for delay D (samples).
a = zeros(1,N+1);
for k=0:N
ak = 1;
for n=0:N
if(D == N && k==0 && n==0)
ak=1;
else
ak = ak * (D-N+n)/(D-N+k+n);
end
a(k+1) = (-1)^k * nchoosek(N,k) * ak;
end
b = a(N+1:-1:1);
end
Ref:
[1] T. Laakso, V. Valimaki, “Splitting the Unit Delay”, IEEE Signal Processing Magazine, Vol. 13, No. 1, p.30-60, 1996.

답변 (1개)

Gokul Nath S J
Gokul Nath S J 2023년 5월 22일
Hi Gayani,
It seems that you would like to compute the thiran filter. However note that MATLAB already has an inbuild function which could compute the filter response.
For more information about the function, kindly go through the following links.
with regards,
Gokul Nath S J
  댓글 수: 2
Gayani
Gayani 2023년 5월 24일
But what I need is to implement Thiran filter without default syntax.Then get th z transform. Next to get the inverse z transform in matlab.

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

카테고리

Help CenterFile Exchange에서 Filter Analysis에 대해 자세히 알아보기

제품


릴리스

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by