主要内容

设计滤波器

在实时编辑器中设计一个数字滤波器

描述

设计滤波器帮助您交互式地设计数字滤波器。该任务自动生成并运行MATLAB®类来设计过滤器的代码digitalFilter对象。

首先,选择一个筛选器响应类型。该任务提供了指定过滤器参数的控件,这些参数依赖于过滤器响应的类型,包括:

  • 过滤器订单

  • 频率约束

  • 大小限制

  • 设计方法

从显示选项列表中进行选择,以可视化生成的筛选器响应和附加筛选器信息。有关过滤器约束、设计方法和设计方法参数的详细描述,请参见designfilt文档。

有关实时编辑器任务的更多信息,请参见向实时脚本添加交互式任务

打开任务

添加设计滤波器任务到MATLAB编辑器中的实时脚本:

  • 住编辑器选项卡上,选择设计滤波器

  • 在脚本中的代码块中,键入相关的关键字,例如designfilt过滤器,或低通滤波器.选择设计滤波器从建议的命令补全。

例子

全部展开

的用法设计滤波器任务,为数字滤波器生成代码。该任务帮助您交互式地设计数字滤波器、显示滤波器响应并生成代码。

创建或加载信号

在Live编辑器中,将一个有噪声的心电图(ECG)信号加载到MATLAB®工作区中。图数据。

负载noisyecg情节(noisyECG_withTrend)

图中包含一个axes对象。axis对象包含一个类型为line的对象。

心电信号有噪声。有几种噪声源会影响信号,包括运动伪影、高频噪声和电源干扰。交互式设计一个滤波器来去除信号中的噪声。在住编辑器选项卡中,扩大任务列表并选择设计滤波器打开任务。

利用Kaiser窗设计低通FIR滤波器

要去除高频噪声,首先选择一种低通滤波器冷杉筛选并指定订单作为10.频率、幅度和算法参数的可用选项取决于所选滤波器响应类型和滤波器顺序。

DesignFilter_filtresp_lowpass.png

低通滤波器从输入信号中去除超出指定阈值的不需要的频率内容。在指定频率参数部分中,选择截止频率(6 db)频率约束列表。当知道抽样率时,可以进行选择赫兹频率的单位列表。一个采样率选项出现,您可以从工作空间中的变量中选择一个抽样速率。在本例中,采样速率未知,因此指定的归一化截止频率0.3rad /样品。

DesignFilter_freqparams_lowpass.png

对于FIR低通滤波器,在指定级参数部分,您可以指定约束来控制通带波纹和阻带衰减的量。选择通带波纹和阻带衰减大小限制列表。幅值约束和滤波器顺序也会影响滤波器的过渡宽度。

DesignFilter_magparams_lowpass.png

任务选择一个冷杉contrained最小二乘默认根据指定的频率和震级参数设计算法。保留设计选项的默认设置。

DesignFilter_algoparams_lowpass.png

显示过滤器响应部分中,选择级&阶段而且群时延使设计的滤波器响应可视化。在幅值图中,可以看到阻带的衰减水平为60 dB。群延迟图显示延迟为5个样本,且滤波器为线性相位。

DesignFilter_magphaseplot_lowpass.png

DesignFilter_delayplot_lowpass.png

的下面的箭头显示过滤器响应部分,以显示为设计的过滤器生成的代码。您可以在命令行上复制并粘贴代码,以手动编辑筛选器设计规范。

DesignFilter_designedFilter_lowpass.png

将所设计的滤波器应用于有噪声的心电信号。考虑滤波器引入的延迟,并绘制结果。

负载designedFilterfilteredECG =过滤器(designedFilter noisyECG_withTrend);延迟= grpdelay (designedFilter);mdelay =意味着(延迟);filteredECG (1: mdelay) = [];情节(noisyECG_withTrend (1: end-mdelay))情节(filteredECG)传说([“原始”“过滤”)举行

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象代表原始,过滤。

设计等纹波带阻FIR滤波器

像心电图监护仪这样的医疗设备会受到电磁干扰的影响。电源的工作频率一般为50hz或60hz。在这个例子中,一个60赫兹的正弦信号被添加到一个从MIT-BIH心律失常数据库中提取的心电信号中作为噪声[1].采样速率为360赫兹。要去除噪音,打开设计滤波器设计了一种最小阶带阻FIR滤波器。将默认筛选器名称更改为bandstop60Hz

DesignFilter_filtresp.png

指定频率的单位作为赫兹.要指定抽样速率,请输入一个值或从列表中选择一个抽样速率变量。要出现在列表中,必须在工作空间中保存一个样本速率变量。创建一个变量,fs,令它等于360赫兹,然后选择fs采样率列表。指定通带和阻带频率值,以衰减55 - 65hz之间的频率为一个10hz的陷波滤波器的中心为60hz。

fs = 360;

DesignFilter_freqparams.png

设置通带波纹2 (dB)0.5,增加阻带衰减(dB)80

DesignFilter_magparams.png

任务默认采用等纹波设计方法。显示滤波器的幅度和相位响应。

DesignFilter_magphaseplot.png

您也可以选择过滤信息显示过滤器响应节以查看有关所设计过滤器的其他详细信息。

DesignFilter_filtinfo.png

负载ecg60Hz进入工作区。mat文件包含原始心电信号加上附加噪声(ecg60)和滤波后的信号(ecgFilt).将这两个信号画出来以可视化滤波结果。

负载ecg60Hzt = 0:1 / fs:(长度(ecg60) 1) / fs;情节(t) [ecg60 ecgFilt])传说([“原始”“过滤”])

图中包含一个axes对象。坐标轴对象包含两个line类型的对象。这些对象代表原始,过滤。

参数

选择过滤器响应类型为以下之一:

  • 低通滤波器冷杉

  • 低通滤波器信息检索

  • 高通的冷杉

  • 高通的信息检索

  • 带通冷杉

  • 带通信息检索

  • Bandstop冷杉

  • Bandstop信息检索

  • 希尔伯特变换器冷杉

  • 微分器冷杉

设计最小序滤波器或指定一个滤波器顺序。有些响应可能没有可用的最小顺序设计,需要您指定筛选器顺序值。

指定所设计滤波器显示所需行为的频率。可用选项取决于过滤器响应类型和过滤器顺序。

请注意

您可以指定频率的单位作为规范化(0到1)(默认)或赫兹.如果指定频率单位为赫兹,则必须指定采样速率。

选择滤波器幅度响应行为在指定的频率范围。可用选项取决于过滤器响应类型、过滤器顺序和频率约束。

指定用于设计过滤器的算法。可用的选项取决于滤波器响应类型、滤波器顺序以及频率和幅度限制。控件中有一些设计方法的附加选项设计选项部分。

请注意

在某些设计案例中,存在模型顺序限制。如果所选设计方法存在偶或奇数限制,且指定的顺序无效,则任务将顺序减少1。

提示

  • 您可以通过单击任务窗口右上角的圆圈来切换自动运行选项。如果启用了autorun,则在进行更改时,包括任务在内的当前部分将自动运行。

参考文献

穆迪,g.b.和R.G.马克。“MIT-BIH心律失常数据库的影响”。医学与生物工程20(3):45-50(2001年5- 6月):45-50。

版本历史

介绍了R2021b

Baidu
map