В этом примере показано, как использовать downsample
получить фазы сигнала. Субдискретизация сигнала M может произвести уникальные фазы M. Например, если у вас есть сигнал дискретного времени, x, с x (0) x (1) x (2) x (3)..., фазы M x являются 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 исходный сигнал.
Сверхдискретизируйте многофазные компоненты 3 использованиями upsample
.
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.
Создайте синусоиду дискретного времени с угловой частотой рад/отсчета. Добавьте смещение DC 2 к синусоиде, чтобы помочь с визуализацией многофазных компонентов. Downsample синусоида 2, чтобы получить четные и нечетные многофазные компоненты.
n = 0:127; x = 2+cos(pi/4*n); x0 = downsample(x,2,0); x1 = downsample(x,2,1);
Сверхдискретизируйте два многофазных компонента.
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')
Если вы суммируете два сверхдискретизированных многофазных компонента (Фаза 0 и Фаза 1), вы получаете исходную синусоиду.