下采样 - 信号相位
此示例说明如何使用 downsample
获得信号的相位。以 M 为因子对信号下采样可以产生 M 个唯一相位。例如,如果您有一个离散时间信号 x,它具有 x(0) x(1) x(2) x(3)、...等,则 x 的 M 个相位是 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 个多相分量。
创建角频率为 弧度/采样点的离散时间正弦波。将值为 2 的 DC 偏移量加到正弦波上,以帮助进行多相分量的可视化。对正弦波以 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)求和,将得到原始正弦波。