示例:插值和采样
使用
multirate、resample 和
upsample 函数以不同的方法和不同的假设更改信号的样本率。
使用默认 FIR 滤波器的函数 multirate
multirate 函数使用线性相位 FIR 滤波器的组延迟来估计初始输出瞬态结束及截断的位置。
1. 定义信号参数。
3. 将函数 multirate 应用于该信号。
4. 绘制重新采样信号的图像。
通过该绘图可以看出,重新采样信号稍微进行了偏移,且包含的数据点为原始数据点数量的 n/m 倍。偏移是通过 FIR 滤波器进行的,且等于其组延迟。
使用可选低通 FIR 滤波器的函数 multirate
1. 定义截断频率、系数数量以及尖顶窗的类型。
3. 使用 multirate 函数以不同因子对信号 x 重新采样。
4. 绘制重新采样信号的图像。
由于 FIR 滤波器的增益并不等于增采样率 n,因此重新采样导致信号发生了衰减。
5. 按正确的增益调整 FIR 滤波器系数,并重新绘制重新采样信号的图像。
调整 FIR 滤波器系数移除了缩放效果。
信号增采样
可以使用 multirate 函数对信号进行增采样或减采样。
1. 使用 multirate 函数通过增加 n/m 比率对信号 x 进行增采样。
2. 绘制增采样信号的图像。
增大 n/m 比率会导致总样本数增加 (如长度值中所示),并会导致原始信号的两个连续样本之间的新样本数增加。
3. 使用 multirate 函数通过减小 n/m 比率对信号 x 进行减采样。
4. 绘制减采样信号的图像。
减小 n/m 比率会导致总样本数减小 (如长度值中所示),并会导致原始信号的两个连续样本之间的新样本数减小。
数据增采样
upsample 函数对原始数据执行 FFT,在系数范围中添加零点以创建具有所需插值长度的变换,然后对延伸谱进行逆变换。插入数据的方法并不唯一。也可以使用经过特殊设计的 FIR 滤波器。对于定期作用的数据,此函数将返回合理的插值。
1. 设置插值因子 n,并将 upsample 函数应用于信号 x。
2. 绘制返回信号的图像。
返回的信号是信号 x 的插值形式,其数据点数为后者的 n 倍。
信号重新采样
resample 函数通过插值进行作用 (如上所述),以产生 n 倍点数,然后将所有第 mth 个点用于生成输出。
1. 设置抽取因子 m 和插值因子 n。
2. 绘制返回信号的图像。
返回信号的点数为原来的 3/5,因此,采样间隔为原始间隔的 5/3。
使用具有非周期性输入和周期性输入的增采样
函数 upsample 假定输入为周期性输入。检查两种情况下返回的信号。
非周期性输入
1. 设置插值因子。
2. 定义非周期性输入信号。
3. 应用 upsample 函数。
4. 绘制返回信号的图像。
插值程序假定 X 是周期性的。因此,将尝试在图表的末端 (将返回到初始高度 1) 附近插入点。不过,如果输入序列“环绕”给出的平滑函数合理,则此函数即会得出切合实际的结果。
周期性输入
1. 设置插值因子。
2. 定义周期性输入信号。
3. 应用 upsample 函数。
4. 绘制返回信号的图像。
信号为周期性信号时,插值更接近原始信号的近似值。