概述
目录
upsample 和 downsample
程序验证
上采样 upsample
下采样 downsample
其他参数设定
总结
upsample 和 downsample
upsample 和 downsample 顾名思义就是上采样和下采样,但是在 MATLAB 中代表的含义是什么,用 MATLAB 做个而简单的测验。
以下是 MATLAB 官方对两个函数的解释。
程序验证
上采样 upsample
首先定义一个 1×6 的矩阵 martix_A,并对其 4 倍上采样结果命名为 martix_B。
martix_A = [1 2 3 4 5 6]; martix_B = upsample(martix_A,4);
这是 martix_A 的数据格式

martix_A 数据格式
这是 martix_B 的数据格式,这里由于数据太长就没有截全
在工作区可以看出,矩阵 A 为 1×6 的矩阵,而矩阵 B 为 1×24 的矩阵,从上面的表格可以看出,upsample 的功能就是将矩阵中每个数据扩展 4 倍,剩余的 3 个数用 0 填充。

martix_A 和 martix_B 格式
在从具体的图像去分析
下图是原始的 matrix A 的图像,可以看到是一条直线。

matrix A 图像
下图是由 matrix A 上采样形成的 matrix B 的图像,可以看到现在的图像不再是连续的,而是断断续续的,但是在每个峰的顶点依次对应的值为 1、2、3、4、5、6,而其余的点值均为 0,和之前矩阵的数值就能对应上了。

matrix B 图像
理解了上采样 upsample 的含义,对于下采样 downsample 就很好理解了,下采样其实就是上采样的逆操作,上采样将一个点扩展到 4 个点,下采样就是将 4 个点缩小至 1 个点,这里依然用实际的程序解释。
下采样 downsample
对 martix_B 进行 4 倍的下采样操作
martix_C = downsample(martix_B,4);
可以看到,此时的 martix_C 和 martix_A 是一致的。

数据格式
在数据格式上也是一样。

数据格式
在图像是也是和之前原始的图像一致。

matrix C 图像
其他参数设定
除此之外,这两个函数还可以添加另一个参数,phase:相位,这个参数可以更改样本数据的相位。
举个栗子
定义一个矩阵 matrix_D,参数 phase 设定为 2
martix_D = upsample(martix_A,4,2);
此时每个数都向右移了 2 位

matrix D 数据格式
从图像中也可以看出向右偏移了部分距离

matrix D 图像
总结
上采样操作将每个输出数据间插入了 3 个 0,这就相当于将采样时间缩短为原来的 1/4,从频率上看,频率变为原来的 1/4。同时数据长度也变为原来的 4 倍。需要注意的是,4 倍升采样后,功率也变为原来的1/4,可以增加增益等方法处理。上采样的意义通俗的讲就在于增加数据与数据直接的间隙,在调制的时候就可以有效的避免产生混叠,下采样的是上采样的逆操作,理解了上采样,下采样自然就懂了。
最后
以上就是友好时光为你收集整理的MATLAB 学习笔记(6)MATLAB 的 upsample 函数和 downsample 函数upsample 和 downsample程序验证其他参数设定总结的全部内容,希望文章能够帮你解决MATLAB 学习笔记(6)MATLAB 的 upsample 函数和 downsample 函数upsample 和 downsample程序验证其他参数设定总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复