函数 > 信号处理 > 数字滤波 > 示例:插值和采样
  
示例:插值和采样
使用 multirateresampleupsample 函数以不同的方法和不同的假设更改信号的样本率。
使用默认 FIR 滤波器的函数 multirate
multirate 函数使用线性相位 FIR 滤波器的组延迟来估计初始输出瞬态结束及截断的位置。
1. 定义信号参数。
单击复制此表达式
单击复制此表达式
单击复制此表达式
2. 使用 sin 函数来定义正弦之和的信号。
单击复制此表达式
3. 将函数 multirate 应用于该信号。
单击复制此表达式
单击复制此表达式
4. 绘制重新采样信号的图像。
单击复制此表达式
通过该绘图可以看出,重新采样信号稍微进行了偏移,且包含的数据点为原始数据点数量的 n/m 倍。偏移是通过 FIR 滤波器进行的,且等于其组延迟。
使用可选低通 FIR 滤波器的函数 multirate
1. 定义截断频率、系数数量以及尖顶窗的类型。
单击复制此表达式
单击复制此表达式
单击复制此表达式
单击复制此表达式
单击复制此表达式
2. 使用 lowpass 函数来计算低通 FIR 滤波器的系数。
单击复制此表达式
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. 绘制返回信号的图像。
单击复制此表达式
信号为周期性信号时,插值更接近原始信号的近似值。