MATLAB: Suggestions for highpass filter design in Matlab

filterMATLABsignal processing

Hello,
I want to implement a digital highpass filter in Matlab which should do the same job as simple analog filter(a RC filter) having a cutoff frequency of 0.5Hz ans sampling frequency needed is 500Hz. I got the similar in this thread
d = fdesign.highpass('Fst,Fp,Ast,Ap',0.5,0.6,40,1,500);
Hd = design(d,'butter');
Is this the correct of way of implementation or does it need any changes I mean if the need is to implement a digital filter that can act similar to the analog filter.
Thanks.

Best Answer

Yes, that looks fine as long as you realize that you have essentially an allpass filter since you are such a low stopband frequency
d = fdesign.highpass('Fst,Fp,Ast,Ap',0.5,0.6,40,1,500);
Hd = design(d,'butter');
fvtool(Hd)
You can also use butter() to design the filter in the analog domain directly in radians/second.
N = 30;
[B,A] = butter(N,pi,'high','s');
Related Question