使用下采样获取信号相位
此示例说明如何使用 downsample 获得信号的相位。以 M 为因子对信号下采样可以产生 M 个唯一相位。例如,如果您有一个离散时间信号 ,它具有 ,则 x 的 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);
绘制结果。
tiledlayout("vertical") nexttile stem(x,Marker="none") title("Original Signal") ylim([-4 4]) nexttile stem(y0,Marker="none") ylabel("Phase 0") ylim([-4 4]) nexttile stem(y1,Marker="none") ylabel("Phase 1") ylim([-4 4]) nexttile 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);
绘制上采样后的多相分量和原始信号以进行比较。
tiledlayout("vertical") nexttile stem(x,Marker="none") ylim([0.5 3.5]) title("Original Signal") nexttile stem(y0,Marker="none") ylim([0.5 3.5]) ylabel("Phase 0") nexttile stem(y1,Marker="none") ylim([0.5 3.5]) ylabel("Phase 1")

如果您对两个上采样后的多相分量(相位 0 和相位 1)求和,将得到原始正弦波。