当前位置: 首页 > article >正文

图像滤波中常用滤波器的相位响应——不是只有零相位滤波器

实偶函数滤波器

当滤波器是实偶函数时,其滤波结果的相位在通带内为 0 或 π \pi π,正频率和负频率成分的相位相同。这种相位特性使得实偶函数滤波器在低通滤波、平滑处理等需要保持信号相位不失真的应用中非常有用。

  • 实偶函数特性
    • 滤波器的冲激响应 h ( t ) h(t) h(t) 是实数且偶对称,即 h ( t ) = h ( − t ) h(t) = h(-t) h(t)=h(t)
  • 傅里叶变换
    • 实偶函数的傅里叶变换 H ( ω ) H(\omega) H(ω) 也是实数且偶对称。
    • 这意味着 H ( ω ) H(\omega) H(ω) 的虚部为零,只有实部存在。
  • 相位响应
    • 由于 H ( ω ) H(\omega) H(ω) 是实数,其相位响应 ϕ ( ω ) \phi(\omega) ϕ(ω) 为:
      ϕ ( ω ) = { 0 if  H ( ω ) > 0 π if  H ( ω ) < 0 \phi(\omega) = \begin{cases} 0 & \text{if } H(\omega) > 0 \\ \pi & \text{if } H(\omega) < 0 \end{cases} ϕ(ω)={0πif H(ω)>0if H(ω)<0
    • H ( ω ) = 0 H(\omega) = 0 H(ω)=0 的点处,相位响应可能不连续,出现 π \pi π 的跳变。
结果解释
  • 相位变化
    • 对于正频率成分和负频率成分,相位相同,均为 0 或 π \pi π
    • 在滤波器通带内,如果 H ( ω ) H(\omega) H(ω) 为正,则相位为 0;如果 H ( ω ) H(\omega) H(ω) 为负,则相位为 π \pi π
  • 群延迟
    • 实偶函数的群延迟在通带内通常为常数或近似常数。
    • 这意味着信号通过滤波器后,不同频率成分的时延基本一致,避免了信号的失真。
应用
  • 低通滤波
    • 实偶函数滤波器常用于设计低通滤波器,其相位响应在通带内保持为 0,确保信号的相位不失真。
  • 平滑处理
    • 在图像处理中,实偶函数滤波器可用于平滑图像,去除噪声,同时保持图像的边缘和细节。

实奇函数滤波器

当滤波器是实奇函数时,其滤波结果的相位在通带内为 ± 9 0 ∘ \pm 90^\circ ±90,正频率和负频率成分的相位相反。这种相位特性使得实奇函数滤波器在高通滤波、边缘检测等需要强调信号高频成分的应用中非常有用。

  • 实奇函数特性
    • 滤波器的冲激响应 h ( t ) h(t) h(t) 是实数且奇对称,即 h ( t ) = − h ( − t ) h(t) = -h(-t) h(t)=h(t)
  • 傅里叶变换
    • 实奇函数的傅里叶变换 H ( ω ) H(\omega) H(ω) 是纯虚数且奇对称。
    • 这意味着 H ( ω ) H(\omega) H(ω) 的实部为零,只有虚部存在。
  • 相位响应
    • 由于 H ( ω ) H(\omega) H(ω) 是纯虚数,其相位响应 ϕ ( ω ) \phi(\omega) ϕ(ω) 为:
      ϕ ( ω ) = { − π 2 if  H ( ω ) > 0 π 2 if  H ( ω ) < 0 \phi(\omega) = \begin{cases} -\frac{\pi}{2} & \text{if } H(\omega) > 0 \\ \frac{\pi}{2} & \text{if } H(\omega) < 0 \end{cases} ϕ(ω)={2π2πif H(ω)>0if H(ω)<0
    • H ( ω ) = 0 H(\omega) = 0 H(ω)=0 的点处,相位响应可能不连续,出现 π \pi π 的跳变。
结果解释
  • 相位变化
    • 对于正频率成分和负频率成分,相位相反。
    • 在滤波器通带内,如果 H ( ω ) H(\omega) H(ω) 为正,则相位为 − π 2 -\frac{\pi}{2} 2π;如果 H ( ω ) H(\omega) H(ω) 为负,则相位为 π 2 \frac{\pi}{2} 2π
  • 群延迟
    • 实奇函数的群延迟在通带内可能不是常数,这可能导致信号通过滤波器后产生不同程度的时延。
应用
  • 高通滤波
    • 实奇函数滤波器常用于设计高通滤波器,其相位响应在通带内产生 ± 9 0 ∘ \pm 90^\circ ±90 的相移,有助于突出高频成分。通过 90° 相移增强高频成分。
  • 边缘检测
    • 在图像处理中,实奇函数滤波器对信号的高频变化敏感,常用于图像处理中的边缘检测。

比较

特性实偶函数滤波器(零相位)实奇函数滤波器
冲激响应对称性 h ( t ) = h ( − t ) h(t) = h(-t) h(t)=h(t)(偶对称) h ( t ) = − h ( − t ) h(t) = -h(-t) h(t)=h(t)(奇对称)
频域响应实数且偶对称纯虚数且奇对称
相位响应 ϕ ( ω ) = 0 \phi(\omega) = 0 ϕ(ω)=0 π \pi π(偶对称) ϕ ( ω ) = ± π 2 \phi(\omega) = \pm \frac{\pi}{2} ϕ(ω)=±2π(奇对称)
是否为零相位滤波器是(相位为 0 或 π \pi π(相位为 ± π 2 \pm \frac{\pi}{2} ±2π

Sobel、Prewitt都是实奇函数滤波器,不是零相位滤波器

实奇函数滤波器的相位响应为 ± 9 0 ∘ \pm 90^\circ ±90,而非零相位。因此,它不是零相位滤波器,但其相位特性在需要特定相移(如微分或高通滤波)的应用中非常有用。

  1. 零相位滤波器的定义:

    • 零相位滤波器的相位响应 ϕ ( ω ) \phi(\omega) ϕ(ω) 在整个频带上为 0(或 π \pi π 的整数倍,但严格意义下需为 0)。
    • 这意味着信号通过滤波器后,所有频率成分的相位均未发生改变(或仅发生 π \pi π 的翻转,但通常视为无相位畸变)。
    • 零相位滤波器的冲激响应必须是实偶函数(即 h ( t ) = h ( − t ) h(t) = h(-t) h(t)=h(t))。
  2. 实奇函数滤波器的特性:

    • 冲激响应满足 h ( t ) = − h ( − t ) h(t) = -h(-t) h(t)=h(t)(奇对称且实数)。
    • 其频域响应 H ( ω ) H(\omega) H(ω) 是纯虚数且奇对称(即 H ( − ω ) = − H ( ω ) H(-\omega) = -H(\omega) H(ω)=H(ω))。

实奇函数滤波器的相位响应

  1. 频域表达式

    • 实奇函数的傅里叶变换 H ( ω ) H(\omega) H(ω) 是纯虚数,可表示为:
      H ( ω ) = j ⋅ Im { H ( ω ) } H(\omega) = j \cdot \text{Im}\{H(\omega)\} H(ω)=jIm{H(ω)}
    • 因此,相位响应 ϕ ( ω ) \phi(\omega) ϕ(ω) 由虚部的符号决定:
      ϕ ( ω ) = arctan ⁡ ( Im { H ( ω ) } Re { H ( ω ) } ) = arctan ⁡ ( Im { H ( ω ) } 0 ) \phi(\omega) = \arctan\left(\frac{\text{Im}\{H(\omega)\}}{\text{Re}\{H(\omega)\}}\right) = \arctan\left(\frac{\text{Im}\{H(\omega)\}}{0}\right) ϕ(ω)=arctan(Re{H(ω)}Im{H(ω)})=arctan(0Im{H(ω)})
      • Im { H ( ω ) } > 0 \text{Im}\{H(\omega)\} > 0 Im{H(ω)}>0 时, ϕ ( ω ) = + π 2 \phi(\omega) = +\frac{\pi}{2} ϕ(ω)=+2π
      • Im { H ( ω ) } < 0 \text{Im}\{H(\omega)\} < 0 Im{H(ω)}<0 时, ϕ ( ω ) = − π 2 \phi(\omega) = -\frac{\pi}{2} ϕ(ω)=2π
  2. 相位特性

    • 相位响应 ϕ ( ω ) \phi(\omega) ϕ(ω)奇函数(即 ϕ ( − ω ) = − ϕ ( ω ) \phi(-\omega) = -\phi(\omega) ϕ(ω)=ϕ(ω))。
    • 对于正频率 ω \omega ω,相位为 ± π 2 \pm \frac{\pi}{2} ±2π;对于负频率 − ω -\omega ω,相位为 ∓ π 2 \mp \frac{\pi}{2} 2π
    • 相位不为零,而是始终为 ± 9 0 ∘ \pm 90^\circ ±90 的相移。

结论

  • 原因
    1. 零相位滤波器要求相位响应为 0,而实奇函数的相位响应为 ± π 2 \pm \frac{\pi}{2} ±2π,显然不满足零相位条件。
    2. 实奇函数的相位响应是 90° 相移,属于 线性相位 的一种特殊情况(常数相位偏移),但严格来说,零相位要求相位为 0,因此不成立。

相关文章:

图像滤波中常用滤波器的相位响应——不是只有零相位滤波器

实偶函数滤波器 当滤波器是实偶函数时&#xff0c;其滤波结果的相位在通带内为 0 或 π \pi π&#xff0c;正频率和负频率成分的相位相同。这种相位特性使得实偶函数滤波器在低通滤波、平滑处理等需要保持信号相位不失真的应用中非常有用。 实偶函数特性&#xff1a; 滤波器…...

学习CSS滤镜属性 `filter: invert()`

一、核心机制 数学原理 invert(1) 对每个像素的RGB通道执行 颜色反相计算&#xff1a; 新通道值 255 - 原通道值 例如 rgb(255,0,0)&#xff08;纯红&#xff09;会转换为 rgb(0,255,255)&#xff08;青色&#xff09;。 透明度处理 该滤镜会保留元素的Alpha通道&#xff08;…...

C++实现rabbitmq生产者消费者

RabbitMQ是一个开源的消息队列系统&#xff0c;它实现了高级消息队列协议&#xff08;AMQP&#xff09;&#xff0c; 特点 可靠性&#xff1a;通过持久化、镜像队列等机制保证消息不丢失&#xff0c;确保消息可靠传递。灵活的路由&#xff1a;提供多种路由方式&#xff0c;如…...

在VMware上部署【Ubuntu】

镜像下载 国内各镜像站点均可下载Ubuntu镜像&#xff0c;下面例举清华网站 清华镜像站点&#xff1a;清华大学开源软件镜像站 | Tsinghua Open Source Mirror 具体下载步骤如下&#xff1a; 创建虚拟机 准备&#xff1a;在其他空间大的盘中创建存储虚拟机的目录&#xff0c…...

【Pandas】pandas Series plot.barh

Pandas2.2 Series Plotting 方法描述Series.plot([kind, ax, figsize, …])用于绘制 Series 对象的数据可视化图表Series.plot.area([x, y, stacked])用于绘制堆叠面积图&#xff08;Stacked Area Plot&#xff09;Series.plot.bar([x, y])用于绘制垂直条形图&#xff08;Ver…...

检索增强生成(2)本地PDF 本地嵌入模型

from langchain_community.document_loaders import PyPDFLoader from pathlib import Pathdef load_local_pdf(file_path):if not Path(file_path).exists():raise FileNotFoundError(f"文件 {file_path} 不存在&#xff01;")loader PyPDFLoader(file_path)try:do…...

又双叒叕Scrapy爬虫相关的面试题及详细解答

Scrapy是Python开发的一个快速、高层次的网络爬虫框架,专注于高效抓取网页并提取结构化数据。其核心设计基于异步处理机制,适合大规模数据采集任务。 文章目录 基础概念1. Scrapy框架的核心组件有哪些?架构与流程2. 描述Scrapy的工作流程核心组件详解3. 如何自定义Item Pipe…...

【QA】装饰模式在Qt中有哪些运用?

在Qt框架中&#xff0c;装饰模式&#xff08;Decorator Pattern&#xff09;主要通过继承或组合的方式实现&#xff0c;常见于IO设备扩展和图形渲染增强场景。以下是Qt原生实现的装饰模式典型案例&#xff1a; 一、QIODevice装饰体系&#xff08;继承方式&#xff09; 场景 …...

【保姆级】阿里云codeup配置Git的CI/CD步骤

以下是通过阿里云CodeUp的Git仓库进行CI/CD配置的详细步骤&#xff0c;涵盖前端&#xff08;Vue 3&#xff09;和后端&#xff08;Spring Boot&#xff09;项目的自动化打包&#xff0c;并将前端打包结果嵌入到Nginx的Docker镜像中&#xff0c;以及将后端打包的JAR文件拷贝至Do…...

使用STM32CubeMX+DMA+空闲中断实现串口接收和发送数据(STM32G070CBT6)

1.STM32CubeMX配置 &#xff08;1&#xff09;配置SYS &#xff08;2&#xff09;配置RCC &#xff08;3&#xff09;配置串口&#xff0c;此处我用的是串口4&#xff0c;其他串口也是一样的 &#xff08;4&#xff09;配置DMA&#xff0c;将串口4的TX和RX添加到DMA中 &#…...

【视觉提示学习】3.21论文随想

. . Frontiers of Information Technology & Electronic Engineering. 2024, 25(1): 42-63 https://doi.org/10.1631/FITEE.2300389 中文综述&#xff0c;根据里面的架构&#xff0c;把视觉提示学习分成两类&#xff0c;一类是单模态提示学习&#xff08;以vit为代表&…...

(一)丶Windows安装RabbitMQ可能会遇到的问题

一丶可能会忘了配置ERLang的环境变量 二丶执行命令时报错 第一步 rabbitmq-plugins enable rabbitmq_management 第二部 rabbitmqctl status 三丶修改.erlang.cookie 文件 1.找到C盘目下的.erlang.cookie文件 C:\Users\admin\.erlang.cookie C:\Windows\System32\config\sys…...

Mistral AI发布开源多模态模型Mistral Small 3.1:240亿参数实现超越GPT-4o Mini的性能

法国人工智能初创公司Mistral AI于2025年3月正式推出新一代开源模型Mistral Small 3.1 &#xff0c;该模型凭借240亿参数的轻量级设计&#xff0c;在多项基准测试中表现优异&#xff0c;甚至超越了Google的Gemma 3和OpenAI的GPT-4o Mini等主流专有模型。 1、核心特性与优势 多…...

如何在IPhone 16Pro上运行python文件?

在 iPhone 16 Pro 上运行 Python 文件需要借助第三方工具或远程服务&#xff0c;以下是具体实现方法和步骤&#xff1a; 一、本地运行方案&#xff08;无需越狱&#xff09; 使用 Python 编程类 App 以下应用可在 App Store 下载&#xff0c;支持直接在 iPhone 上编写并运行 …...

springboot整合mybatis-plus【详细版】

目录 一&#xff0c;简介 1. 什么是mybatis-plus2.mybatis-plus特点 二&#xff0c;搭建基本环境 1. 导入基本依赖&#xff1a;2. 编写配置文件3. 创建实体类4. 编写controller层5. 编写service接口6. 编写service层7. 编写mapper层 三&#xff0c;基本知识介绍 1. 基本注解 T…...

视频剪辑行业的现状与进阶之路:一个双视角分析

视频剪辑行业的现状与进阶之路&#xff1a;一个双视角分析 一、现状解析 商业角度分析 成本控制 培训需要投入时间和人力成本 快节奏的市场环境要求快速产出 人员流动性大&#xff0c;培训投入可能无法获得长期回报 市场需求 大量内容需要快速产出 标准化的剪辑模板更容易管理 …...

k近邻图(knn-graph)和局部线性嵌入图(LLE-graph)的相似性和区别

K 近邻图&#xff08;KNN - graph&#xff09;和局部线性嵌入图&#xff08;LLE - graph&#xff09;是用于构建数据点之间关系图的两种方法。 1. k近邻图&#xff08;knn-graph&#xff09; 核心思想&#xff1a;k近邻图通过计算样本之间的距离来构建图。具体来说&#xff0c…...

Qt之MVC架构MVD

什么是MVC架构&#xff1a; MVC模式&#xff08;Model–view–controller&#xff09;是软件工程中的一种软件架构模式&#xff0c;把软件系统分为三个基本部分&#xff1a;模型&#xff08;Model&#xff09;、视图&#xff08;View&#xff09;和控制器&#xff08;Controll…...

使用 Apktool 反编译、修改和重新打包 APK

使用 Apktool 反编译、修改和重新打包 APK 在 Android 逆向工程和应用修改过程中&#xff0c;apktool 是一个强大的工具&#xff0c;它允许我们解包 APK 文件、修改资源文件或代码&#xff0c;并重新打包成可安装的 APK 文件。本文将介绍如何使用 apktool 进行 APK 反编译、修…...

深度解析学术论文成果评估(Artifact Evaluation):从历史到现状

深度解析学术论文成果评估(Artifact Evaluation)&#xff1a;从历史到现状 引言 在计算机科学和工程领域的学术研究中&#xff0c;可重复性和可验证性越来越受到重视。随着实验性研究的复杂性不断增加&#xff0c;确保研究成果可以被其他研究者验证和构建变得尤为重要。这一需…...

二分查找上下界问题的思考

背景 最近在做力扣hot100中的二分查找题目时&#xff0c;发现很多题目都用到了二分查找的变种问题&#xff0c;即二分查找上下界问题&#xff0c;例如以下题目&#xff1a; 35. 搜索插入位置 74. 搜索二维矩阵 34. 在排序数组中查找元素的第一个和最后一个位置 它们不同于查找…...

关于FastAPI框架的面试题及答案解析

FastAPl是一个现代、快速(高性能)的Web框架,用于构建API,基于Python3.7+的类型提示功能。它由Python开发者SebastianRamirez创建,并且使用了Starlette作为其核心组件以及Pydantic进行数据验证。 文章目录 基础篇1. FastAPI的核心优势是什么?2. 如何定义一个GET请求路由?…...

Ubuntu检查并启用 Nginx 的stream模块或重新安装支持stream模块的Nginx

stream 模块允许 Nginx 处理 TCP 和 UDP 流量&#xff0c;常用于负载均衡和端口转发等场景。本文将详细介绍如何检查 Nginx 是否支持 stream 模块&#xff0c;以及在需要时如何启用该模块。 1. 检查 Nginx 是否支持 stream 模块 首先&#xff0c;需要确认当前安装的 Nginx 是…...

HashMap添加元素的流程图

文章目录 JDK7 vs JDK8 的 HashMap 结构变化Java8 中哈希表的红黑树优化机制HashMap 添加元素的完整流程解析1. 计算 key 的哈希值并确定索引2. 检查该索引位置是否已有元素3. 处理哈希冲突4. 判断当前存储结构&#xff08;链表还是红黑树&#xff09;5. 判断链表长度是否超过 …...

(八)Set 的使用

Set 的使用 Set 的特点 主要功能&#xff1a;去除重复内容。特性&#xff1a;无序且不支持重复的集合&#xff0c;不能通过索引访问元素。 示例代码 void main() {// 创建一个包含重复元素的列表List<String> fruits [香蕉, 苹果, 西瓜, 香蕉, 苹果, 香蕉, 苹果];//…...

Spring Boot 集成 Kafka 消息发送方案

一、引言 在 Spring Boot 项目中,Kafka 是常用的消息队列,可实现高效的消息传递。本文介绍三种在 Spring Boot 中使用 Kafka 发送消息的方式,分析各自优缺点,并给出对应的 pom.xml 依赖。 二、依赖引入 在 pom.xml 中添加以下依赖: <dependencies><!-- Sprin…...

面向医药仓储场景下的药品分拣控制策略方法 研究(大纲)

面向医药仓储场景下的药品分拣控制策略方法研究 基于多机器人协同与智能调度的分拣系统设计 第一章 绪论 1.1 研究背景与意义 医药仓储自动化需求&#xff1a; 人工分拣效率低、出错率高&#xff08;如药品批次混淆、过期风险&#xff09;温控药品&#xff08;如疫苗、生物制…...

AI大模型介绍

大模型介绍 大模型是指具有大规模参数和复杂计算结构的机器学习模型&#xff0c;通常由深度神经网络构建而成&#xff0c;拥有数十亿甚至数千亿个参数 开发大模型不是从0开始&#xff0c;是建立在已有的大模型基座模型上做开发&#xff0c;构建企业知识库&#xff08;向量数据库…...

Python日期时间向前向后N个月及对应月初和月末

Python日期和时间的计算主要使用自带的datetime和calendar库&#xff0c;部分需要借助第三方dateutil库。下面具体说明时间的加减运算&#xff0c;月份的起始和结束日期&#xff0c;向前向后移动的时间间隔等&#xff0c;代码如下&#xff1a; from datetime import date, dat…...

OpenPCDet详细部署与复现

OpenPCDet简介 OpenPCDet是一个用于3D目标检测的开源工具箱&#xff0c;它提供了多种数据集的加载器&#xff0c;支持多种模型&#xff0c;并且易于扩展。 本人使用硬件与环境 Linux操作系统&#xff08;Ubuntu20.04&#xff09; Python环境&#xff08;Anaconda下独立创建&…...