新浪博客

Matlab中产生信号滤波器的函数

2013-05-22 10:50阅读:
1 filter
功能:直接II型滤波器。
格式:y = filter(b,a,x)
[y,zf] = filter(b,a,x)
[...] = filter(b,a,x,zi)
[...] = filter(b,a,x,zi,dim)
说明:y = filter(b,a,x)计算输入信号x的滤波输出y,b、a分别为滤波器传递函数的
分子和分母系数向量(按降幂排列)。
[y,zf] = filter(b,a,x)返回最终的状态向量zf。
[...] = filter(b,a,x,zi)指定了滤波器的初始条件zi。
举例:计算低通滤波器的冲激响应
x = [1 zeros(1,100)];
[b,a] = butter(12,400/1000);
y = filter(b,a,x);
stem(y)
2 filtic
功能:为滤波器的直接II型实现选择初始条件。
格式:z = filtic(b,a,y,x)
z = filtic(b,a,y)
说明:z = filtic(b,a,y,x)为直接II型滤
波器(b,a)选择初始条件z,b、a分别为滤波器传
递函数的分子和分母系数向量(按降幂排列)。x和y分别为以前的输入和输
出。
z = filtic(b,a,y)中假定x为0。
3 fftfilt
功能:基于FFT和重叠相加法的FIR滤波。
格式:y = fftfilt(b,x)
y = fftfilt(b,x,n)
说明:y = fftfilt(b,x)返回信号x经滤波器b滤波后的结果y。
b为滤波器的系数向量。
函数所采用的FFT长度为nfft = 2^nextpow2(n),数据块的长度为nfft –
length(b)+1,其中nextpow2(n)函数返回大于n的最小2的幂。
4 filtfilt
功能:零相位数字滤波。
格式:y = filtfilt(b,a,x)
说明:y = filtfilt(b,a,x)对输入信号x做前向和反向处理,实现零相位数字滤波。b、
a分别为滤波器传递函数的分子和分母系数向量(按降幂排列)。

我的更多文章

下载客户端阅读体验更佳

APP专享