Субдискретизация — фазы сигнала

Этот пример показывает, как использовать 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 к синусоиде, чтобы помочь с визуализацией многофазных компонентов. Субдискретизируйте синусоиду 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), вы получаете исходную синусоиду.

Смотрите также

|