원하는 제로 크로싱을 얻는 한 가지 방법은 하이브리드 디자인을 수행하는 것입니다.
통과 대역과 저지 대역에 동일한 가중치를 부여한 Parks-McLellan / Remez 반대 역 필터로 시작하십시오. 이 필터 는 반대 역 필터 이므로 대체 샘플에서 0을 갖습니다. 그런 다음 주파수 도메인에서 스터핑을하여 sin (x) / x로 시간 도메인을 보간 할 수 있습니다.
예 : 6 개의 샘플마다 교차점이없는 fs / 12 저역 통과 필터 생성
% prototype Remez filter
taps=18;
b = remez(taps,[0 .4 .6 1],[1 1 0 0])';
% force halfband condition of zeros at every other sample
b(2:2:end)=0; b(taps/2+1)=.5;
% zero pad the time domain to give the Gibbs ripple some deadspace
B=fft(b,4*(taps+1) );
% split the frequency domain into two halves, split the Nyquist bin
Blo = [ B(1:length(B)/2) 0.5*B(length(B)/2+1) ];
Bhi = [ 0.5*B(length(B)/2+1) B(length(B)/2+2:length(B)) ];
% insert padding at pi to increase size 3x
Bpad = [ Blo zeros(1,3*length(B)-length(Blo)-length(Bhi) ) Bhi];
bint = real( ifft(Bpad) ); % this has zeros every 6 samples
결과 필터는 정지 대역 / 통과 대역 리플 측면에서 프로토 타입에 가깝지만 그다지 좋지는 않습니다. sin (x) / x 보간은 약간 낮은 레벨의 링잉을 유발합니다. 보간 된 필터에서 필요한 감쇠 레벨을 얻기 위해 프로토 타입 필터를 약간 과도하게 설계해야 할 수도 있습니다.
N=2
내 대답을 참조하십시오 .