Bandpass fundamental and harmonics in Matlab I have a signal in time domain whose sample frequency is Fs=25600. I would like to remove from the fundamental F=285Hz and all its harmonics (2*F,3*F,etc). I tried to use the comb filter in Matlab using this code :

Fs=25600;
N=43;
BW=285;
Apass=200;
[b, a] = iircomb(N, BW/(Fs/2), Apass);
Hd= dfilt.df2(b, a);
x1 = filter(b, a, signal); 


Here is the spectrum of the original signal over the frequency interval up to around 400Hz


Here is the result after applying the filter cited above:

I don't get the awaited result. Is there a way to accomplish this in Matlab?
You have a problem with the comb filter design. According to Matlab documentation the following line creates the filter you want:
[b,a] = iircomb(round(25600/285), 2*285/25600/35,'peak');

Looking at the frequency response of the designed filter: 
Seems to be able to solve your problem...