相位特性解卷绕

2024-05-10 06:58
文章标签 特性 相位 卷绕

本文主要是介绍相位特性解卷绕,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1.什么是解卷绕?为什么要解卷绕?

         对于FIR滤波器的系数,也就是FIR滤波器的单位冲击响应,做离散时间的傅里叶变换。比如,像下面这样。

所得到的结果是这个FIR滤波器的频率响应。然而,频率响应又表示为振幅特性和相位特性,就像这样


所以,振幅特性和相位特性就按下式可以计算出来。


          既然如此,我们就把一个系统的相位特性作图,看看得到的是什么东西。就拿我们之前已经设计并实现的FIR来做试验,其相位特性如下图所示。


我们都知道,FIR滤波器是具有线性相位特性的,说的不严格一点,至少他是一条直线。而上图的拿Matlab画的相位特性,并是这样的。为什么呢?再次看看我们之前的算式,其使用到了反正切函数。假设,我们现在所设计的滤波器某一段相位特性,是由-120°转动到-225°的,就像下图所示一样的。


但是,Matlab所求得的反正切的值的范围是。所以,当角度转过实轴(Re轴),-225°所输出的值为135°,这里产生了一个2π的跳动。所以,我们看到的相位特性,在开始的部分,跳动都是2π。为了形象点,我在下图标注了。


这也就解决了一个问题,为什么明明是线性相位特性,用Matlab画出来的相位特性却如此不规则。所以,在这个时候,我们需要把反正切漏算的2π给补上,这个过程就叫做解卷绕,有的也称为解包裹。在Matlab中,使用函数unwrap()进行解卷绕操作,具体的代码就像这样。当然,在绘制相位特性前,你需要一组FIR滤波器系数h

[plain]  view plain copy
  1. w = 0:0.01:pi;  
  2. H = freqz(h,1,w);  
  3. figure;  
  4. plot(w,unwrap(angle(H)));  
  5. axis([0 pi -35 5]);grid;   
  6. xlabel('Frequency \omega [rad]');  
  7. ylabel('\theta [rad]');  
      解完卷绕后的相位特性,就像下图一样,很清晰的就可以看出是线性相位特性。

       

       即便是到此,我们解卷绕之后,还是有一个问题,红色的部分,还是在震荡。为什么会有这个震荡呢?

2.为什么要解卷绕之后,相位特性还不是完美的直线?

要弄清楚问题,我们先看看这个FIR滤波器的振幅特性和相位特性。
可以看到,相位特性产生震荡的部分,好像就在截止频率附近。然而,通过窗函数实现的滤波器,通带和阻带是有纹波的。这里的振幅特性由于纵轴是对数特性,所以,我们可以很清晰的看到阻带纹波的存在。正是因为纹波的存在,才使得相位特性有震荡!
为了方便理解,我们把之前离散时间傅里叶变换的计算结果拿出来,直接画在复平面上,如下图所示。

我们先看这个最外层的圆,这个圆必定是单位圆。这个单位圆代表了通带,在通带上,振幅特性为1。我们可以这么理解外面的最外层的圆。然后从某一点开始,这个圆逐渐向圆心收敛(嘛,不要在意不严密的言辞)。这个收敛的区域代表了过渡带,振幅特性在逐渐减小。最后到达阻带,严格来讲,理想情况下,阻带就是原点。因为阻带的振幅特性为0。
但是,我们之前提及了,纹波是存在的!通带有纹波,阻带也有纹波。通带由于存在纹波,不会是完美的单位圆。同样的,阻带由于存在纹波,也不是完美的。我们放大来看看。

由于纹波存在,阻带不是一个点。我们仔细观察,阻带的复平面的表现形状总是从第三象限,穿过原点,到达地一象限!按照之前的说的,反正切输出的的范围是 ,所以,这里产生的跳动是π,而不是2π!我们再将其标注在图上,便于理解。
到此,对于相位特性的理解又深刻了!!

2.不负责的几句话

再说一点题外话,这点我没考证过。在复平面内来说,理想滤波器的阻带应该是原点。但是,相位特性是这样计算的,如下图(其实这个前面说过)。

也就是,虚部除以实部的反正切。这里就有问题了,要是原点的话,相位特性在原点无意义。也就是说,其实截止频率之后的相位特性不用管的,只要看通带的相位特性就好了。
要是觉得难以理解,可以换种思维。首先,相位特性反应了输入与输出之间的延迟。对于低通滤波器,输入的信号(单成分正弦波)频率越高,延迟越大。当频率超过截止频率,那么输入与输出之间的延迟,是无限的,输出永远不会到来,也就是阻带

这篇关于相位特性解卷绕的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/975753

相关文章

java8的新特性之一(Java Lambda表达式)

1:Java8的新特性 Lambda 表达式: 允许以更简洁的方式表示匿名函数(或称为闭包)。可以将Lambda表达式作为参数传递给方法或赋值给函数式接口类型的变量。 Stream API: 提供了一种处理集合数据的流式处理方式,支持函数式编程风格。 允许以声明性方式处理数据集合(如List、Set等)。提供了一系列操作,如map、filter、reduce等,以支持复杂的查询和转

国产数据库 - 内核特性 - CloudberryDB中的Runtime Filter

国产数据库 - 内核特性 - CloudberryDB中的Runtime Filter 今年5月份GreenPlum官方将GitHub仓库代码全部删除,各个分支的issues和bugs讨论等信息全部清除,仅将master分支代码进行归档。对于国内应用GPDB的用户来说,这是一个挑战性事件,对与后期维护、升级等都变得非常困难。有幸HashData开源了基于GP衍生版本CloudberryDB版本,

Hbase特性介绍

1、什么是Hbase。 是一个高可靠性、高性能、列存储、可伸缩、实时读写的分布式数据库系统。 适合于存储非结构化数据,基于列的而不是基于行的模式 如图:Hadoop生态中HBase与其他部分的关系。 2、关系数据库已经流行很多年,并且Hadoop已经有了HDFS和MapReduce,为什么需要HBase? Hadoop可以很好地解决大规模数据的离线批量处理问题,但是,受限于Hadoo

Html5 与CSS3中的新特性

Html5 绘画 canvas 元素   用于媒介回放的 video 和 audio 元素   本地离线存储 localStorage 长期存储数据,浏览器关闭后数据不丢失;   sessionStorage 的数据在浏览器关闭后自动删除   语意化更好的内容元素,比如 article、footer、header、nav、section   表单

深入解析Java的三大特性(下)

深入解析Java的三大特性(下) 在上一篇文章中,我们详细介绍了Java的三大特性之一——封装的概念、实现方式及其优点。本文将继续探讨Java的另两大特性:继承和多态。 2. 继承(Inheritance) 2.1 什么是继承 继承是面向对象编程中的一个重要特性,它允许一个类(子类)继承另一个类(父类)的属性和方法。通过继承,子类可以复用父类的代码,减少重复代码的编写,并且可以扩展和重写父

【Flink metric】Flink指标系统的系统性知识:以便我们实现特性化数据的指标监控与分析

文章目录 一. Registering metrics:向flink注册新自己的metrics1. 注册metrics2. Metric types:指标类型2.1. Counter2.2. Gauge2.3. Histogram(ing)4. Meter 二. Scope:指标作用域1. User Scope2. System Scope ing3. User Variables 三.

WHAT - NextJS 系列之六大特性

目录 一、介绍二、特性RoutingRenderingData FetchingStylingOptimizationsTypeScript 官方文档:https://nextjs.org/docs 一、介绍 Next.js is a React framework for building full-stack web applications. You use React

C++面向对象三大特性--多态

C++面向对象三大特性–多态 文章目录 C++面向对象三大特性--多态1.虚函数(Virtual Function)2.纯虚函数(Pure Virtual Function)和抽象类(Abstract Class)3.重写(Override)4.动态绑定(Dynamic Binding)或迟绑定(Late Binding)5.虚析构函数和纯虚析构5.1虚析构函数5.2纯虚析构函数5.3总结

PHP的最新版本是什么?它引入了哪些新特性?

PHP(全称:PHP:Hypertext Preprocessor,即"PHP:超文本预处理器")是一种通用开源脚本语言,主要用于服务器端编程。它在服务器上执行,能够生成动态页面内容、处理表单数据、发送和接收Cookies、操作数据库等。PHP语法借鉴了C语言,并吸纳了Java和Perl的特色,发展出自己的独特语法。 此外,PHP也是一种弱类型语言,从PHP 7开始增加了类型提示功能,使得代码更

WAAP的特性、功能以及优势

随着互联网技术的快速发展,Web应用程序和API已经成为企业日常运营中不可或缺的部分。然而,与此同时,网络攻击手段也愈发复杂和隐蔽,给企业的数据安全带来了严峻的挑战。为了应对这一挑战,WAAP(WebApplication and API Protection)动态安全解决方案应运而生,为Web应用程序和API提供了全面的保护。今天我们就来了解下WAAP安全解决方案的特性、功能以及使用WAAP具有