Main Content

다운샘플링 - 신호 위상

이 예제에서는 downsample을 사용하여 신호의 위상을 얻는 방법을 보여줍니다. 신호를 인자 M으로 다운샘플링하면 M개의 고유 위상을 생성할 수 있습니다. 예를 들어 x(0) x(1) x(2) x(3) 등으로 구성된 이산시간 신호 x가 있는 경우 xM개 위상은 x(nM + k)이며, 이때 k = 0,1, ..., M-1입니다.

M개의 신호를 x다상 성분이라고 합니다.

백색 잡음 벡터를 생성하고, 인자 3으로 다운샘플링하여 3개의 다상 성분을 얻습니다.

재현 가능한 결과를 생성하기 위해 난수 생성기를 디폴트 설정으로 재설정합니다. 백색 잡음 확률 벡터를 생성하고, 인자 3으로 다운샘플링하여 3개의 다상 성분을 얻습니다.

rng default
x = randn(36,1);
x0 = downsample(x,3,0);
x1 = downsample(x,3,1);
x2 = downsample(x,3,2);

다상 성분의 길이는 원래 신호의 1/3입니다.

upsample을 사용하여 다상 성분을 인자 3으로 업샘플링합니다.

y0 = upsample(x0,3,0);
y1 = upsample(x1,3,1);
y2 = upsample(x2,3,2);

결과를 플로팅합니다.

subplot(4,1,1)
stem(x,'Marker','none')
title('Original Signal')
ylim([-4 4])

subplot(4,1,2)
stem(y0,'Marker','none')
ylabel('Phase 0')
ylim([-4 4])

subplot(4,1,3)
stem(y1,'Marker','none')
ylabel('Phase 1')
ylim([-4 4])

subplot(4,1,4)
stem(y2,'Marker','none')
ylabel('Phase 2')
ylim([-4 4])

업샘플링된 다상 성분을 합하면 원래 신호를 얻을 수 있습니다.

이산시간 정현파를 생성하고, 인자 2로 다운샘플링하여 2개의 다상 성분을 얻습니다.

각주파수 $\pi/4$ rad/sample을 갖는 이산시간 사인파를 생성합니다. 다상 성분을 효과적으로 시각화하기 위해 사인파에 DC 오프셋 2를 추가합니다. 사인파를 인자 2로 다운샘플링하여 짝수와 홀수의 다상 성분을 얻습니다.

n = 0:127;
x = 2+cos(pi/4*n);
x0 = downsample(x,2,0);
x1 = downsample(x,2,1);

2개의 다상 성분을 업샘플링합니다.

y0 = upsample(x0,2,0);
y1 = upsample(x1,2,1);

비교를 위해, 업샘플링된 다상 성분과 원래 신호를 플로팅합니다.

subplot(3,1,1)
stem(x,'Marker','none')
ylim([0.5 3.5])
title('Original Signal')

subplot(3,1,2)
stem(y0,'Marker','none')
ylim([0.5 3.5])
ylabel('Phase 0')

subplot(3,1,3)
stem(y1,'Marker','none')
ylim([0.5 3.5])
ylabel('Phase 1')

업샘플링된 다상 성분 2개(Phase 0과 Phase 1)를 합하면 원래 사인파를 얻을 수 있습니다.

참고 항목

|