본문 바로가기

Software/MATLAB

sptool을 이용한 간단한 필터적용법 (filter)

MATLAB에서 Filter를 간단히 적용할 수 있는 툴박스가 있습니다. 바로 sptool이죠. 필터적용을 간단히 할 거라면 꽤 유용한 툴입니다. 간단히

 sptool


라고 command창에서 입력하면 되죠. 그러면

이와같은 창이 뜹니다. 별도의 신호를 등록해서 filtering할 테니, file 메뉴를 선택하고 import를 선택하면

와 같은 창이 뜨구요... 거기서 신호를 선택하고 그 신호의 샘플주파수를 설정해주면 됩니다. 지금은 그냥 툴박스가 제공하는 예제신호를 가지고 하죠 첫번째 그림의 첫번째 신호를 선택하면

view를 통해보면 신호가 보입니다. 이를 필터에 적용시키기 위해

표시된 edit를 누립니다. 물론 원하는 필터를 선택해야겠지만. 지금은 lowpass필터를 적용해보죠

edit를 누르면 나오는 그림입니다. 좌측하단에서 lowpass필터를 선택하고 하단 중앙쯤에서 샘플주파수와 패스벤드 스탑벤드를 설정하고 Design Filter를 누르면 끝입니다.

그리고 apply를 누르는 거죠

그러면 필터가 적용된 신호이름을 설정하는 곳이나옵니다. sig2라고 되어있네요. 실제로는 sig2.data에 저장됩니다. 이를 춰크스페이스에 저장해야겠지요.

첫번째 창에서 file의 export를 선택하면 뜨는 창입니다. sig1은 필터링된 신호고 LSlp라고 되어있는것이 설계된 필터입니다. 이를 워크스페이스에 올려놓고 사용하면 되겠지요. 필터만 따로 사용하고 싶다면,

워크스페이스의 LSlp를 보면

LSlp.tf 안에

num이 보이시죠? 그걸 적용하고자 하는 신호와 (시간영역의 신호일테니) 컨벌루션시키면됩니다. 방법은

Result_Sig = conv(LSlp.tf.num, SampleData);

라고만 해주면 되겠죠.... 앞뒤 데이터가 좀더 붙어 있으니 짜르시면 됩니다.

이 글은 제 이전 홈페이지에 2008년 11월 7일 올렸던 내용입니다.
티스토리로 이전하면서 몇몇 글들을 이렇게 옮기고 있습니다.


반응형