2 톤 신호에 대한 코드는 다음과 같습니다. 여기서 정지 대역을 사용하여 더 높은 톤을 제거한 다음 필터 계수로 신호를 변환 한 후 주파수 영역에서 이전 (파란색) 및 이후 (빨간색)를 플로팅했습니다 .
이 코드를 Matlab에 넣으면 더 높은 주파수가 필터에 의해 성공적으로 제거되었음을 알 수 있지만 어떤 이유로 든 더 낮은 주파수의 진폭이 절반으로 줄었고 필터 계수 수가 증가할수록 전체 곡선이 평평해질수록 왜 이런 일이 발생합니까? 그리고 정지 대역이 바깥쪽으로 전파되지 않도록 어떻게 방지 할 수 있습니까? 이미지와 코드는 다음과 같습니다.
f 샘플링 = 8000; t 샘플링 = 1 / f 샘플링; t = 0 : t 샘플링 : 0.005; F0 = 1000; F1 = 3000; xt = sin (2 * pi * F0 * t) + sin (2 * pi * F1 * t); ht = fir1 (40, .25, '정지'); yt = 전환 (xt, ht); 팩스 = -4000 : 125 : 4000-125; xF = fft (xt, 64); MagXF = fftshift (abs (xF)); 플롯 (fAxis, MagXF); 기다려 yF = fft (yt, 64); MagYF = fftshift (abs (yF)); 음모 (fAxis, MagYF, 'r')