Forrest Sheng Bao http://fsbao.net
昨天在画一个图的时候突然想到matlab绘制函数图像的时候要先生成一个一维数组(假如是一元函数),这个一维数组实际上就是采样点,假如这个数组的步进值不能小于信号周期的一半,就会出现混叠了,所以在画图的时候要注意这一点。绝对不能写出如下的代码:
x=1:pi:20;
plot(x,sin(x),'.')
后来又想到Oppenheim的书上还提到过一个东西,就是说离散的复指数信号是未必有周期的,唯有当其角频率和2 pi 之比为有理数的时候才是周期的,所以说当我们在用如下的代码
画图时:
x=1:20;
plot(x,sin(x),'.')
我们得到的不是一个周期函数,只是看上去是个周期函数罢了
所以你会发现当步进值较大,比如取到2的时候,虽然依旧满足Nyquist采样定理,但是你已经很难感觉那是一个sin函数了
但是我又有疑问了,信号处理很多时候考虑的只是一元的函数,但在数学上,很多时候考虑的是多元的函数,这种时候绘图的步进值要满足什么要求呢?有没有二元信号的采样定理呢?
我准备尝试按照Nyquist定理推导的方法推导一下。
PS:我觉得MathWork公司应该告诉我们这些内容,否则很多人会在绘图的时候出错,Nyquist定理是Matlab能够绘制出图像的基础结论。
昨天在画一个图的时候突然想到matlab绘制函数图像的时候要先生成一个一维数组(假如是一元函数),这个一维数组实际上就是采样点,假如这个数组的步进值不能小于信号周期的一半,就会出现混叠了,所以在画图的时候要注意这一点。绝对不能写出如下的代码:
x=1:pi:20;
plot(x,sin(x),'.')
后来又想到Oppenheim的书上还提到过一个东西,就是说离散的复指数信号是未必有周期的,唯有当其角频率和2 pi 之比为有理数的时候才是周期的,所以说当我们在用如下的代码
画图时:
x=1:20;
plot(x,sin(x),'.')
我们得到的不是一个周期函数,只是看上去是个周期函数罢了
所以你会发现当步进值较大,比如取到2的时候,虽然依旧满足Nyquist采样定理,但是你已经很难感觉那是一个sin函数了
但是我又有疑问了,信号处理很多时候考虑的只是一元的函数,但在数学上,很多时候考虑的是多元的函数,这种时候绘图的步进值要满足什么要求呢?有没有二元信号的采样定理呢?
我准备尝试按照Nyquist定理推导的方法推导一下。
PS:我觉得MathWork公司应该告诉我们这些内容,否则很多人会在绘图的时候出错,Nyquist定理是Matlab能够绘制出图像的基础结论。