공학왕이될거야

'FFT'에 해당되는 글 1건

  1. rectangular window & hamming window

rectangular window & hamming window

전공/MATLAB

① w_rect.m 코드

Zero-paddingfft, 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.2710.2.29를 참고하여 작성하였습니다. n0부터 N-1까지의 벡터이기 때문에 .* 연산을 해주었습니다. 또한 M이 홀수여서 31번째 값을 지정해주었습니다. w_rect_n hn에서 w_rect_n hdn을 곱할 때 행렬의 차원이 맞지 않다고 계속 오류가 나서 이를 맞춰 주기 위하여 zero-padding을 해주었습니다.

Plot w_rect.m과 동일하게 작성하였습니다.


Hamming window 식은 강의자료에 주어진 식을 참고하였으며, 위와 마찬가지로 행렬의 차원을 맞춰 주기 위하여 zero-padding 해주었습니다.

Rectangular windowhamming window를 비교해 보았을 때 세 가지 그래프 모두 변화가 있었다. 두번째 그래프로 비교해 보았을 때 Rectangular windowHamming window에 비해 Main lobe의 폭이 좁은 것을 확인할 수 있었다. , Transition band가 더 sharp했다. 세번째 LPF를 비교해 보았을 땐, Hamming windowRectangular window에 비해 StopbandPassband 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