Hr_type3 function in matlab

6 views (last 30 days)
Arihant Barjatya
Arihant Barjatya on 6 Dec 2020
Answered: Sukrut Tamhankar on 9 Dec 2020
I am trying to design a type 3 FIR filter and generate its amplitude response from the function Hr_type3 (mentioned in Digital processing in matlab by Proakis), but getting an error of unknown function or variable.
Can any one help me on this?
I am trying to run this code.
M = 21;
alpha = (M-1)/2;
n = 0:M-1;
hd = (cos(pi*(n-alpha)))./(n-alpha);
hd(alpha+1) = 0;
w_ham = (hamming(M))';
h = hd .* w_ham;
[Hr,w,P,L] = Hr_Type3(h);

Answers (1)

Sukrut Tamhankar
Sukrut Tamhankar on 9 Dec 2020
Hr_Type3() is not an in-built function in MATLAB for FIR Filter design. Hence, before directly calling this function, you need to define this function in one separate M-file and save that file with the function name (i.e. Hr_Type3.m in this case) in the same folder in which the above MATLAB script is present.
Hence, the function definition (Hr_Type3.m file) looks like below (Reference: Digital Signal Processing Using MATLAB V.4 by John G. Proakis):
function [Hr,w,c,L] = Hr_Type3(h)
M=length(h);
L=(M-1)/2;
c=[2*h(L+1:-1:1)];
n=[0:1:L];
w=[0:1:500]'*pi/500;
Hr=sin(w*n)*c';
end
Then, when you call this function in your script using following line of code, you will not face any error message:
[Hr,w,P,L] = Hr_Type3(h);
I hope this information helps in resolving the issue.

Categories

Find more on Get Started with DSP System Toolbox 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!