Design Linear Filters in the Frequency Domain (MATLAB帮助文档)

ops/2024/11/28 21:21:37/

Design Linear Filters in the Frequency Domain

这个帮助文档写得很好,简单明了,一句废话没有。

This topic describes functions that perform filtering in the frequency domain.

2-D Finite Impulse Response (FIR) Filters

The Image Processing Toolbox™ software supports one class of linear filter: the two-dimensional finite impulse response (FIR) filter. FIR filters have a finite extent to a single point, or impulse. All of the Image Processing Toolbox filter design functions return FIR filters.

FIR filters have several characteristics that make them ideal for image processing in the MATLAB® environment:

  • FIR filters are easy to represent as matrices of coefficients.

  • Two-dimensional FIR filters are natural extensions of one-dimensional FIR filters.

  • There are several well-known, reliable methods for FIR filter design.

  • FIR filters are easy to implement.

  • FIR filters can be designed to have linear phase, which helps prevent distortion.

Another class of filter, the infinite impulse response (IIR) filter, is not as suitable for image processing applications. It lacks the inherent stability and ease of design and implementation of the FIR filter. Therefore, this toolbox does not provide IIR filter support.

FIR 滤波器的主要缺点是,要达到同样的性能水平,其所需阶数远高于 IIR 滤波器。相应地,这些滤波器的延迟通常比同等性能的 IIR 滤波器大得多。

其实冈萨雷斯想的也是FIR滤波器,因为IIR滤波器就不能通过卷积实现。只是他的概念太不清楚了,就把模拟、IIR、FIR各种滤波器混在了一起。

Create Filter Using Frequency Sampling Method

This example shows how to create a 2-D filter based on a desired frequency response using the frequency sampling method.

Given a matrix of points that define the shape of the frequency response, the frequency sampling method creates a filter whose frequency response passes through those points. Frequency sampling places no constraints on the behavior of the frequency response between the given points. Usually, the response ripples in these areas. Ripples are oscillations around a constant value. The frequency response of a practical filter often has ripples where the frequency response of an ideal filter is flat.

Create the filter based on the target frequency response using the fsamp2 function. fsamp2 returns the filter h with a frequency response that passes through the points in the input matrix Hd.

在这里插入图片描述

Notice the ripples in the actual frequency response compared to the desired frequency response. These ripples are a fundamental problem with the frequency sampling design method. They occur wherever there are sharp transitions in the desired response.

You can reduce the spatial extent of the ripples by using a larger filter. However, a larger filter does not reduce the height of the ripples, and requires more computation time for filtering. To achieve a smoother approximation to the desired frequency response, consider using the frequency transformation method or the windowing method.

Create Filter Using Windowing Method

The windowing method involves multiplying the ideal impulse response with a window function to generate a corresponding filter, which tapers the ideal impulse response. Like the frequency sampling method, the windowing method produces a filter whose frequency response approximates a desired frequency response. The windowing method, however, tends to produce better results than the frequency sampling method.

The toolbox provides two functions that design two-dimensionsal filters using a window-based filter design.

fwind1 converts one or two one-dimensional windows that you specify into a two-dimensional window.

fwind2 uses a two-dimensional window that you specify.

fwind1 supports two different methods for making the two-dimensional windows:

When you specify a single one-dimensional window, fwind1 transforms the one-dimensional window using a process similar to rotation. The two-dimensional window is nearly circularly symmetric.

When you specify two one-dimensional windows, fwind1 computes their outer product. The two-dimensional window is rectangular and separable.

Create 2-D Filter Using Frequency Transformation of 1-D Filter

This example shows how to transform a one-dimensional FIR filter into a two-dimensional FIR filter using the ftrans2 function. This function can be useful because it is easier to design a one-dimensional filter with particular characteristics than a corresponding two-dimensional filter. The frequency transformation method preserves most of the characteristics of the one-dimensional filter, particularly the transition bandwidth and ripple characteristics. The shape of the one-dimensional frequency response is clearly evident in the two-dimensional response.

This function uses a transformation matrix, a set of elements that defines the frequency transformation. This function’s default transformation matrix produces filters with nearly circular symmetry. By defining your own transformation matrix, you can obtain different symmetries. (See Jae S. Lim, Two-Dimensional Signal and Image Processing, 1990, for details.)


http://www.ppmy.cn/ops/137475.html

相关文章

HTML 元素类型介绍

目录 1. 块级元素(Block-level Elements) 2. 行级元素(Inline Elements) 3. 行内块级元素(Inline-block Elements) 4. 表格相关元素 5. 列表相关元素 6. 表单相关元素 示例代码 示例效果 ​编辑 …

医疗数据质量安全,数据安全解决方案,医院关心的数据安全问题,信息安全方案(Word原件)

一、 数据安全背景 二、 风险分析 三、 解决方案 3.1方案设计 3.2敏感数据分类分级 3.4数据安全防御体系 3.4.1访问控制防护 3.4.2网络可信接入 3.4.3应用身份识别 3.4.4抵御SQL注入 3.4.5虚拟补丁防护 3.4.6阻断漏洞攻击 3.4.7权限细粒度管理 3.5规范数据运维管理…

华为昇腾 acl_pytorch

目录 sam部署教程: segment-anyghing地址: sam onnx地址: 报错: encode继续报错: sam部署教程: Ascend/ModelZoo-PyTorch - Gitee.com segment-anyghing地址: https://github.com/visher…

如何在 Ubuntu 22 04 上安装和配置 Ansible 自动化平台

如何在 Ubuntu 22.04 上安装和配置 Ansible 自动化平台 简介 Ansible 是一个开源项目,并在 Github 上收获了 63k 的 star 。它是一个极其简单的 IT 自动化平台,使您的应用程序和系统更易于部署和维护。使用 SSH,以接近简单英语的语言实现从…

C#中面试的常见问题003

1.委托的定义 定义委托 委托可以被视为一个指向方法的引用。你可以定义一个委托类型&#xff0c;该类型指定了方法的签名&#xff08;即方法的参数列表和返回类型&#xff09;。以下是定义委托的基本语法&#xff1a; public delegate int Comparison<T>(T x, T y); …

【数据结构】二叉树(2)

目录 1. 二叉树的遍历 前序遍历 中序遍历 后序遍历 2. 计算二叉树中的节点个数 3. 计算二叉树中叶子节点个数 4. 计算二叉树的深度 5. 计算二叉树第k层节点个数 6. 二叉树基础练习 7. 二叉树的创建 8. 二叉树的销毁 9. 层序遍历 10. 判断二叉树是否为完全二叉树 1…

Linux 命令之 `man` 命令详解

在Linux系统中&#xff0c;man&#xff08;manual的缩写&#xff09;命令是一个非常重要的工具&#xff0c;用于查看命令的手册页&#xff08;manual pages&#xff09;。这些手册页包含了关于命令的详细描述、选项、用法示例和相关信息。本文将详细介绍man命令的使用方法和一些…

ts解决vite unplugin-auto-import/vite

vite-env.d.ts加入即可 /* eslint-disable */ /* prettier-ignore */ // ts-nocheck // noinspection JSUnusedGlobalSymbols // Generated by unplugin-auto-import export { } declare global {const EffectScope: typeof import(vue)[EffectScope]const acceptHMRUpdate: t…