I have assumed your sampling rate as 1KHz & designed the code. The minimum sampling frequency is the nyquist frequency ofcourse. That depends on your design input.
fs=1000; % sampling freq
fc=99/2; % cutoff freq for filter
fc1=101/2; % cutoff freq for filter
LpfLength=96; % Number of Filter coefficients
NFFT=8192;
% Low Pass Filter
lpf=fir2(LpfLength-1,[0 fc fc1 fs/2]/(fs/2),[1 1 0 0]);
for n=1:LpfLength,
lpf(1,n)=lpf(1,n)*complex(cos(2*pi*n*50/fs),sin(2*pi*n*50/fs));
end
for q=2:(fs/100)+1,
for n=1:LpfLength,
lpf(q,n)=lpf(q-1,n)*complex(cos(2*pi*n*100/fs),sin(2*pi*n*100/fs));
end
end
FFThn=fft(lpf(1,:),NFFT); %enter any value between 1 & fs/100 in place of 1 for different bpf
magfhn=20*log10(abs(FFThn)); % Magnitude in dB
figure;
plot((0:NFFT-1)*fs/NFFT,magfhn); %Freq. plot of LPF
xlabel('Frequency (Hz)');
ylabel('Magnitude (dB)');
title('Low Pass Prototype Filter')
axis([0 fs -100 5]);
The variable lpf will hold different band pass filters in different rows. You can use those.