MATLAB采样函数
(2014-09-21 17:47:25)
标签:
股票 |
()书上看到几个有关采样的函数,收藏了以备不时之需。
dyaddown
功能:对时间序列进行二元采样,每隔一个元素提取一个元素,得到一个降采样时间序列。
格式:
1.y = dyaddown(x, EVENODD)
当EVENODD=0时,从x中第二个元素开始采样(偶采样);当EVENODD=1时,从x中第一个元素开始采样(奇采样)。
2.y = dyaddown(x)
EVENODD缺省,按EVENODD=0
dyadup
功能:对时间序列进行二元插值,每隔一个元素插入一个0元素,得到一个时间序列。
格式:
1.y = dyadup(x, EVENODD)
当EVENODD=0时,从x中第二个元素开始采样(偶采样);当EVENODD=1时,从x中第一个元素开始采样(奇采样)。
2.y = dyadup(x)
EVENODD缺省,按EVENODD=0
interp
功能:对时间序列进行整数倍插值,使得时间序列曲线更光滑。
格式:
1.y = interp(x, r)
在x中插入一些数据,使得插值后的序列y的长度为x的r倍。
2.y = interp(x, r, l, alpha)
插值后得到的序列y的长度为x的r倍。
3.[y, b] = interp(x, r, l, alpha)
插值后同时得到一个低通插值滤波器的系数,长度为2rl+1.
说明:
x--时间序列
r--插入点的倍数
l--插值滤波器长度
alpha--滤波器的截止频率,0
y--插值后得到的时间学列
b--低通插值滤波器的系数,长度为2rl+1
downsample
功能:对时间序列重采样,在原时间序列中等间隔地取出一些项,得到新序列。
格式:
1.y = downsample(x, n)
从第一项开始,等间隔n对x采样,得到的序列为y。
2.y = downsample(x, n, phase)
从第phase+1项开始,等间隔n对x采样,得到的序列为y,而0<=phase
decimate
功能:对时间序列进行整数倍采样处理,使得时间序列的长度降低。
格式:
1.y = decimate(x, r)
将时间序列x的采样频率降低为原来的1/r,即length(y)=length(x)/r。在抽取之前,默认地采用了8阶chebyshevI型低通滤波器压缩频带。
2.y = decimate(x, r, n)
采用n阶chebyshevI型低通滤波器。
3.y = decimate(x, r, ‘fir’)
采用30阶的FIR型低通滤波器来压缩频带,对时间序列进行整数倍抽取。
4.y = decimate(x, r, n, ‘fir’)
指定当对时间序列进行整数倍抽取的时候,采用n点FIR型低通滤波器来压缩频带,对时间序列进行整数倍抽取。
说明:
x--时间序列
r--采样要降低的倍数
n--指定所采用的chebyshevI型低通滤波器的阶数
‘fir’--FIR滤波器
resample
功能:对时间序列进行重采样。
格式:
1.y = resample(x, p, q)
采用多相滤波器对时间序列进行重采样,得到的序列y的长度为原来的序列x的长度的p/q倍,p和q都为正整数。此时,默认地采用使用FIR方法设计的抗混叠的低通滤波器。
2.y = resample(x, p, q, n)
采用chebyshevIIR型低通滤波器对时间序列进行重采样,滤波器的长度与n成比例,n缺省值为10.
3.y = resample(x, p, q, n, beta)
beta为设置低通滤波器时使用Kaiser窗的参数,缺省值为5.
4.y = resample(x, p, q, b)
b为重采样过程中滤波器的系数向量。
5.[y, b] = resample(x, p, q)
输出参数b为所使用的滤波器的系数向量。
说明:
x--时间序列
p、q--正整数,指定重采样的长度的倍数。
n--指定所采用的chebyshevIIR型低通滤波器的阶数,滤波器的长度与n成比列。
beta--设计低通滤波器时使用Kaiser窗的参数,缺省值为5.
imresize
函数功能
该函数用于对图像做缩放处理。在matlab的命令窗口中输入doc imresize或者help
imresize即可获得该函数的帮助信息。
调用格式
B = imresize(A, m)
返回的图像B的长宽是图像A的长宽的m倍,即缩放图像。 m大于1, 则放大图像; m小于1, 缩小图像。
B = imresize(A, [numrows numcols])
numrows和numcols分别指定目标图像的高度和宽度。 显而易见,
由于这种格式允许图像缩放后长宽比例和源图像长宽比例不相同,因此所产生的图像有可能发生畸变。
[Y newmap] = imresize(X, map, scale)
[...] = imresize(..., method)
method参数用于指定在改变图像尺寸时所使用的算法, 可以为以下几种:
'nearest': 这个参数也是默认的, 即改变图像尺寸时采用最近邻插值算法;
'bilinear':采用双线性插值算法;
'bicubic':
采用双三次插值算法,在R2013a版本里,默认为这种算法,所以不同版本可能有不同的默认参数,使用之前建议使用命令help
imresize获得帮助信息,以帮助信息为准;
[...] = imresize(..., parameter, value,...)