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