Frequency response of allpass thiran Filter without inbuilt 'thiran' syntax
    10 views (last 30 days)
  
       Show older comments
    
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.
0 Comments
Answers (1)
  Gokul Nath S J
    
 on 22 May 2023
        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
See Also
Categories
				Find more on Frequency Transformations in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
