Matlab中的滤波器

在matlab中我们需要生成滤波器时,可以使用matlab中自带的工具。

在matlab命令窗口中输入filterDesigner,出现下列窗口。 

Matlab中的滤波器_第1张图片

Matlab中的滤波器_第2张图片

 在这里根据需要设计自己所需要的滤波器即可。

设计完滤波器之后如果我们想要以函数的方式使用我们的滤波器,那么我们可以将设计的滤波器保存成一个函数。

Matlab中的滤波器_第3张图片

将其保存到我们需要使用滤波器的目录下,就可以像使用函数一样使用滤波器。 

 Matlab中的滤波器_第4张图片

在使用滤波器时:

h=lowpass_filter;
yy=filter(h,y);

 就可以得到滤波后的信号。

如果我们想要将滤波器的参数保存:

Matlab中的滤波器_第5张图片

 Matlab中的滤波器_第6张图片

 可以根据需要保存成想要的格式

Matlab中的滤波器_第7张图片

例如,我们将滤波器的参数保存成mat文件, 如果我们在程序中需要使用到滤波器,那么首先将mat文件导入,然后进行赋值。

load coef_lpf.mat;
h=Num;%这里的Num就是上述中调用参数的名字,建议与滤波器名称一样

介绍几种matlab经常使用的函数

filter一维滤波器。

形式为:y=filter(b,a,x)

 此 MATLAB 函数 使用由分子和分母系数 b 和 a 定义的有理传递函数 对输入数据 x 进行滤波。

firls:最小二乘线性相位 FIR 滤波器设计。firls 设计了一个线性相位 FIR 滤波器,该滤波器可以最大限度地减少理想分段线性函数与滤波器在一组所需频带上的幅度响应之间的加权积分平方误差。

b=firls(n,f,a)

例如:

h=firls(N,[0,0.2,0.25,1],[1,1,0,0]);%设计滤波器
fvtool(h)%显示滤波器

Matlab中的滤波器_第8张图片

 过渡带位于0.2\pi0.25\pi之间。

你可能感兴趣的:(matlab,开发语言)