Hanning Window를 수동으로 수행하려고했지만 작동하지 않았습니다. “작동하지 않아, 내가 뭘 잘못하고 있니?
t=[0:.1:10]; x=.5-.5*cos(2*pi*t/102); plot(x);
전체 해닝 기간을 얻을 수없는 이유를 모르겠습니다.
댓글
답변
변경해야합니다. ” 102 “~”10 “.
x=.5-.5*cos(2*pi*t/10);
댓글
- 감사합니다. 🙂 샘플 수
- @ Pulse9 윈도우가 0에서 시작하고 0에서 끝나기를 원하므로 cos는 1-에서 시작하고 끝나야합니다. 즉, 정확히 한주기를 거쳐야합니다.
li>
답변
기상학자가있었습니다 (그리고 Hann window- 제작자 ) 이름이
Julius von Hann , Hanning은 학대입니다 (Hamming과 유사 함). hann.m
또는 window.m
함수를 호출하는 코드를 더 잘 제어 할 수 있습니다.
nSample = 101; t = linspace(0,10,nSample); % w = hann(nSample); w = window(@hann,nSample); % w = .5-.5*cos(2*pi*t/10); plot(t,w)
수동으로 구현할 때 시리즈와 코사인을 계산하지 않기를 바랍니다.
댓글
- 빌드를 호출하는 이유 기능이 더 나아질까요? 내부적으로는 수동 방법과 똑같이 작동하며 더 많은 검사 및 구문 분석 계층이있어 속도가 느려집니다. 내장 함수는 특별히 " w = 0.5-0.5 * cos (2 * pi * x); "
를 사용합니다. li> @Hilmar " 더 나은 코드 제어 "를 작성했습니다. 구현되는 함수 (창)가 호출에서 명시 적이므로 코멘트를하지 않고. 3 개월 후 다른 사람이나 프로그래머는 그것이 무엇을하는지 쉽게 이해하고 추측 할 필요없이 바로 변경하고 개선 할 수 있습니다. 또한 길이 (nSample
) 또는 창 이름을 변수로 지정하면 가독성이 향상됩니다.
w=hann(100);
제대로 작동하지만 수동으로해야합니다.