Hr_type3 function in matlab
6 views (last 30 days)
Show older comments
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);
0 Comments
Answers (1)
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.
0 Comments
See Also
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!