2011-12-06 5 views
-1

나는 움직이는 윈도우 통합 필터를 MATLAB의 신호에 적용해야한다. 분명히 아래의 코드를 발견했지만, 어떻게 작동하는지 이해할 수 없다. 누군가 설명 할 수 있을까?움직이는 윈도우 통합 필터 matlab

% Make impulse response 
h = ones (1 ,31)/31; 
Delay = 15; % Delay in samples 

% Apply filter 
x6 = conv (x5 ,h); 
x6 = x6 (15+[1: N]); 
x6 = x6/ max(abs(x6)); 

답변

1

시도해 보셨습니까? 이동 평균 필터 일뿐입니다. 새 신호의 각 값이 원래 값의 31 인접 값 (원래 값 자체, 오른쪽에서 15와 왼쪽에서 15)의 평균이되도록 사각형 윈도우 (semiwidth = 15)를 만듭니다. 회선은 평균을 수행하고 다음 줄은 "지연"을 수정합니다. 마지막 줄은 정규화 일 뿐이며 평균 필터 자체와는 아무런 관련이 없습니다.

1

나는 나는 당신이 정말로 언급 코드가 이동 창 통합 필터를 수행하지만 무엇을하면 확실 :

x6 = conv (x5 ,h);  //this applies the filter 
x6 = x6 (15+[1: N]);  //this applies the delay, it should be x6 (Delay+[1:length(x5)]) 
x6 = x6/ max(abs(x6)); // this normalizes the response 
:

다음 임펄스 응답을 정의