rectangular window & hamming window
전공/MATLAB① w_rect.m 코드
Zero-padding과 fft, nomalization을 마친 Wk를 일반주파수 f에 대해 plot하기 위하여 plot의 x축을 linspace(0,1,N)이라 하였습니다. 이때 만일 각주파수 w에 관하여 나타내려면 linspace(-pi,pi,N)으로 나타내면 됩니다.
Log scale로 나타낼 때에는 이미 M값으로 normalize 되어 있기 때문에 20*log10(abs(Wk))라 표기하였습니다.
M이 61일 때에도 동일하게 코드를 작성하였습니다.
M이 늘어났을 때 Main lobe의 폭이 좁아지고, Main lobe에 대한 Side lobe의 상대적인 크기가 작아졌으며 높이는 높아진 것을 확인할 수 있었다.
② win.m 코드
hdn은 식 10.2.27과 10.2.29를 참고하여 작성하였습니다. n이 0부터 N-1까지의 벡터이기 때문에 .* 연산을 해주었습니다. 또한 M이 홀수여서 31번째 값을 지정해주었습니다. w_rect_n은 hn에서 w_rect_n과 hdn을 곱할 때 행렬의 차원이 맞지 않다고 계속 오류가 나서 이를 맞춰 주기 위하여 zero-padding을 해주었습니다.
Plot은 w_rect.m과 동일하게 작성하였습니다.
Hamming window 식은 강의자료에 주어진 식을 참고하였으며, 위와 마찬가지로 행렬의 차원을 맞춰 주기 위하여 zero-padding 해주었습니다.
Rectangular window와 hamming window를 비교해 보았을 때 세 가지 그래프 모두 변화가 있었다. 두번째 그래프로 비교해 보았을 때 Rectangular window는 Hamming window에 비해 Main lobe의 폭이 좁은 것을 확인할 수 있었다. 즉, Transition band가 더 sharp했다. 세번째 LPF를 비교해 보았을 땐, Hamming window는 Rectangular window에 비해 Stopband와 Passband의 ripple이 눈에 띄게 더 작은 것을 확인할 수 있었다.
'전공 > MATLAB' 카테고리의 다른 글
inverse kinematics 원 그리기 (5) | 2017.07.04 |
---|---|
inverse kinematics robot arm (2) | 2017.05.27 |
2-DOF inverse kinematics를 이용한 MATLAB 도형그리기 (2) | 2017.05.27 |