본문 바로가기
programming language/MATLAB

MATLAB Upsample 과 FFT

by __observer__ 2010. 1. 10.
반응형

FFT 되는 신호의 중간에 upsampling을 하고 그 결과가 어떻게 되는지를 확인해 보자

다음과 같은 sin() 그래프가 있고 이에 대한 FFT 를 수행해보자
pha = linspace(0,2*pi,32)';
x=sin(pha);
y=fft(x);
figure(1), plot(pha,x,'b:.'), grid on

다음과 같이 x 의 값에 3 sample 씩 upsample 을 하고 그에 대해 FFT 를 해보자. 
xZero = upsample(x,3);
yy=fft(xZero); 
x 대한 fft 결과인 y 값과 upsample 신호에 대한 fft 결과인 yy 같이 그리기 위하여 다음과 같이 x 축을 설정하고 FFT 결과에 대한 절대값 그래프 위상값을 확인해 보자
x_axis=0:length(x)-1;
x2_axis= length(x)/length(xZero)*(0:length(xZero)-1); 
h2= figure('units', 'normalized', 'pos',[0.5 0.5 0.4 0.4]);, plot(x_axis,abs(y),'r:*' , x2_axis, abs(yy),'b-->'), grid on, title('| FFT reselt |'),legend('Original','Zero padded')

h3= figure(
'units', 'normalized', 'pos',[0.5 0 0.4 0.4]);, plot(x_axis,unwrap(angle(y)),'r:*' , x2_axis, unwrap(angle(yy)),'b-->'), grid on, title('angle(FFT reselt )'),legend('Original','Zero padded')

 
위의 결과에서 확인할 있는 것과 같이 upsample 만큼 반복 특성이 발생한다는 것을 확인 있다.

반응형

댓글