본문 바로가기
programming language/MATLAB

[디지털 통신] Raised Cosine Filter

by 남성 2011. 3. 2.

Raised cosine filter 는 펄스 쉐이핑 뿐만이 아니라 대역 제한을 위한 필터로서 통신의 가장 기본적인 필터라 할 수 있다. 송 수신단에 각각 square root raised cosine 필터를 적용함으로써 Matched filter 로서 이용하는 게 일반적이다.

오늘은 MATLAB 을 이용하여 raised cosine filter 를 설계하는 방법에 대해 알아 본다.

매트랩의 Communications Toolbox 가 있는 경우 rcosine() 이라는 raised cosine filter 설계 함수를 제공해 준다.

함수의 기본형은 다음과 같다.

[num,den] = rcosine(Fd,Fs,type_flag,r,delay,tol)


위 기본형에서 각 인자에 대해 설명해 본다.

  • num 은 필터의 numerator 값이다. FIR 형태로 필터 설계시에는 num 값만 나오게 된다.
  • den 은 필터의 denomerator 값이다. IIR 형태의 필터 설계시에 값이 나오게 된다.
  • Fd 는 입력 샘플의 샘플링 주파수 이다.
  • Fs 는 필터의 샘플링 주파수 이며, Fs/Fd 값은 반드시 양의 정수가 되어야 한다.
  • type_flag 로는 다음과 같이 4개의 옵션이 있다.
  1. 'default' or 'fir/normal' : 기본적으로 적지 않게 되면 FIR 필터이며 Raised cosine filter 를 설계하게 된다.
  2. 'iir' or 'iir/normal' : IIR 형태의 Raised cosine filter 를 설계하게 된다.
  3. 'sqrt' or 'fir/sqrt' : FIR 형태의 square root raised cosine filter 를 설계한다.
  4. 'iir/sqrt' : IIR 형태의 square root raised cosine filter 를 설계한다.
  • r 은 필터의 roll off 값이다.
  • delay 는 필터 지연 값을 설정 할 수 있다. 이 값은 입력 신호를 기준으로 한다.
  • tol : IIR 필터 설계시의 tolrance 값이며 FIR 형태의 필터 설계시에는 사용하지 않는다.

 

그럼 예제로서 입력 신호의 샘플 주파수가 1 MHz 이고 필터의 샘플링 주파수가 8 MHz, roll off 값이 0.5, 필터의 delay 가 3 심볼인 FIR 형태의 square root raised filter 를 설계 해 보자.

간단하게 다음 과 같이 된다.

num = rcosine(1e6, 8e6, 'sqrt', 0.5, 3);

 

위 필터 계수에 대해 impulse response 를 그려 보면 다음과 같다.

 

주파수 응답은 MATLAB 커멘드 창에 freqz(num,1) 라고 타이핑 하면 다음과 같이 볼 수 있다.




댓글2