数字滤波器(四)--模拟滤波器转化为数字滤波器

•数字滤波器 专栏收录该内容
6 篇文章 0 订阅

数字滤波器(一)–IIR与FIR的基本结构与MATLAB实现
数字滤波器(二)–最小相位延时系统和全通系统
数字滤波器(三)–模拟滤波器的设计

1. 映射方法

映射的目的就是从模拟滤波器转换到数字滤波器,这个过程就是从已知的模拟滤波器系统函数 H a ( s ) H_a(s) Ha(s)映射为数字滤波器的系统函数 H ( z ) H(z) H(z), 因此从模拟滤波器转为数字滤波器的根本就是从s平面转化为z平面。该映射需要满足两个要求:

  • H ( z ) H(z) H(z)的频率响应要能模仿 H a ( s ) H_a(s) Ha(s)的频率响应,s平面虚轴要映射为z平面的单位圆
  • 因果稳定的 H a ( s ) H_a(s) Ha(s)能映射为因果未稳定 H ( z ) H(z) H(z)即s平面的左半平面 R e [ s ] < 0 Re[s]<0 Re[s]<0要映射为z平面单位圆内部 ∣ z ∣ < 1 |z|<1 z<1

一般的转化方法有两种:冲激响应不变法与双线性变换法

2. 冲激响应不变法

2.1 变换步骤

冲激响应不变法就是使数字滤波器的单位脉冲响应 h ( n ) h(n) h(n)模仿模拟滤波器的冲激响应 h a ( t ) h_a(t) ha(t),也就是说,我们将 h a ( t ) h_a(t) ha(t)进行等间隔采样,使得 h ( n ) h(n) h(n)刚好等于 h a ( t ) h_a(t) ha(t)的T间隔采样值,即:
h ( n ) = h a ( t ) ∣ t = n T h(n)=h_a(t)|_{t=nT} h(n)=ha(t)t=nT
假定 h ( n ) < − > H ( z ) , h a ( t ) < − > H a ( s ) h(n) <->H(z), h_a(t)<->H_a(s) h(n)<>H(z),ha(t)<>Ha(s),则可以得到模拟滤波器数字化的过程为:
H a ( s ) − > h a ( t ) − > h ( n ) − > H ( z ) H_a(s)->h_a(t)->h(n)->H(z) Ha(s)>ha(t)>h(n)>H(z)
这个过程也就是时域采样、频域周期延拓的过程。

利用冲激响应不变法设计数字低通滤波器的步骤如下所示:

  • 第一步
    根据给定的数字低通滤波器的指标 w p w_p wp, w s t w_{st} wst, δ p \delta_p δp, δ s \delta_s δs;
  • 第二步
    选择合适的T值,求解模拟指标 Ω p = w p T \Omega_p=\frac{w_p}{T} Ωp=Twp, Ω s t = w s t T \Omega_{st}=\frac{w_{st}}{T} Ωst=Twst
  • 第三步
    根据指标 w p w_p wp, w s t w_{st} wst, δ p \delta_p δp, δ s \delta_s δs,设计模拟滤波器,并的系统函数 H a ( s ) H_a(s) Ha(s)
  • 第四步
    将系统函数 H a ( s ) H_a(s) Ha(s)进行部分分式展开,展开成(可查表进行因式分解)
    H a ( s ) = ∑ k = 1 N A k s − s k H_a(s)=\sum_{k=1}^N \frac{A_k}{s-s_k} Ha(s)=k=1NsskAk
  • 第五步
    依据冲激响应不变法,数字滤波器的系统函数为
    H ( z ) = ∑ k = 1 N T A k 1 − e s k T z − 1 H(z)=\sum_{k=1}^N \frac{TA_k}{1-e^{s_kTz^{-1}}} H(z)=k=1N1eskTz1TAk
    其中采样间隔T的取值不影响滤波器的设计,为了计算方便,一般取1居多。

下面个通过两个例子来说明:

  • 例1
    在这里插入图片描述
    在这里插入图片描述
  • 例1
    在这里插入图片描述
    在这里插入图片描述
2.2 冲激响应不变法的优缺点

冲激响应不变法的优点:

  • 冲激响应不变法的时域逼近良好;
  • 模拟频率 Ω \Omega Ω与数字频率 w w w之间呈线性映射关系 w = Ω T w=\Omega T w=ΩT

冲激响应不变法的缺点:

  • 冲击响应不变法设计的滤波器会有频率响应的混叠效应
  • 冲激响应不变法仅适用于限带的模拟滤波器(比如衰减特性很好的低通或者带通滤波器),而高频衰减越快,混叠效应越小;而对于高通、带阻滤波器,不便采用此方法进行设计

3. 双线性变换法

3.1 变换步骤

双线性变换法首先采用非线性频率压缩的方法,将这个频率轴上的频率方位压缩至 [ − π T , π T ] [-\frac{\pi}{T},\frac{\pi}{T}] [Tπ,Tπ],在通过 z = e s T z=e^{sT} z=esT将s平面映射到z平面,这样s平面和z平面建立了一一对应的单值关系,消除了多值变换性,从而消除了频谱混叠现象,如下图所示:
在这里插入图片描述
双线性变换关系的表达式为:
s = 2 T 1 − z − 1 1 + z − 1 s=\frac{2}{T} \frac{1-z^{-1}}{1+z^{-1}} s=T21+z11z1

双线性变换法设计模拟低通滤波器的步骤为:

  • 第一步
    根据给定的数字低通滤波器的指标 w p w_p wp, w s t w_{st} wst, δ p \delta_p δp, δ s \delta_s δs;
  • 第二步
    通过预畸变,确定模拟指标: Ω = 2 T t a n ( w 2 ) \Omega=\frac{2}{T}tan(\frac{w}{2}) Ω=T2tan(2w)(T的取值一般为2)
  • 第三步
    根据指标 w p w_p wp, w s t w_{st} wst, δ p \delta_p δp, δ s \delta_s δs,设计模拟滤波器,并得到系统函数 H a ( s ) H_a(s) Ha(s)
  • 第四步
    依据双线性变换法,数字滤波器的系统函数为
    H ( z ) = H ( s ) ∣ s = 2 T 1 − z − 1 1 + z − 1 H(z)=H(s)|_{s=\frac{2}{T} \frac{1-z^{-1}}{1+z^{-1}}} H(z)=H(s)s=T21+z11z1

值得注意的是,在变换过程中,采样间隔T一般取2,会通过计算抵消,因此其取值不影响设计。

下面我们通过两个例子来感受下双线性变换法设计数字滤波器:

  • 例1
    在这里插入图片描述
    在这里插入图片描述
  • 例2
    在这里插入图片描述
    在这里插入图片描述
3.2 双线性变换法的优缺点

优点:
消除了冲激响应不变法的混叠效应,可以设计各种类型的滤波器。
缺点:
存在着严重的非线性频率变换:
Ω = 2 T t a n ( w 2 ) \Omega=\frac{2}{T}tan(\frac{w}{2}) Ω=T2tan(2w)
对于分段常数的滤波器,经过双线性变换后,仍然得到幅频特性为分段常数的滤波器,但各个分段边缘的临界频率点的位置会产生畸变,这种频率的畸变,可以通过频率的预畸变加以校正。
预畸变指的是将临界模拟频率实现加以畸变,然后经过变换后刚好可以映射到所需要的的数字频率上;预畸变的表达式为:
Ω p = 2 T t a n ( w p 2 ) \Omega_p=\frac{2}{T}tan(\frac{w_p}{2}) Ωp=T2tan(2wp)
在双线性变换法设计数字滤波器时必须进行预畸变操作。

  • 4
    点赞
  • 0
    评论
  • 11
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

打赏
文章很值,打赏犒劳作者一下
相关推荐
第l章 数字信号处理引言 1.1 引言 1.2 数字信号处理起源 1.3 信号域 1.4 信号分类 1.5 DSP:一个学科 第2章 采样原理 2.1 引言 2.2 香农采样原理 2.3 信号重构 2.4 香农插值 2.5 采样方法 2.6 多通道采样 2.7 MATLAB音频选项 第3章 混叠 3.1 引言 3.2 混叠 3.3 圆判据 3.4 IF采样 第4章 数据转换和量化 4.1 域的转换 4.2 ADC分类 4.3 ADC增强技术 4.4 DSP数据表示方法 4.5 量化误差 4.6 MAC单元 4.7 MATLAB支持工具 第5章 z变换 5.1 引言 5.2 z变换 5.3 原始信号 5.4 线性系统的z变换 5.5 z变换特性 5.6 MATLAB z变换设计工具 5.7 系统稳定性 5.8 逆z变换 5.9 赫维赛德展开法 5.10 逆z变换MATLAB设计工具 第6章 有限冲激响应滤波器 6.1 引言 6.2 FIR滤波器 6.3 理想低通FIR滤波器 6.4 FIR滤波器设计 6.5 稳定性 6.6 线性相位 6.7 群延迟 6.8 FIR滤波器零点位置 6.9 零相位FIR滤波器 6.10 最小相位滤波器 第7章 窗函数设计法 7.1 有限冲激响应综述 7.2 基于窗函数的FIR滤波器设计 7.3 确定性设计 7.4 数据窗 7.5 基于MATLAB窗函数的FIR滤波器设计 7.6 Kaiser窗函数 7.7 截尾型傅里叶变换设计方法 7.8 频率采样设计法 第8章 最小均方设计方法 8.1 有限冲激响应综述 8.2 最小二乘法 8.3 最小二乘FIR滤波器设计 8.4 MATIAB最小均方设计 8.5 MATLAB设计对比 8.6 PRONY方法 第9章 等波纹设计方法 9.1 等波纹准则 9.2 雷米兹交换算法 9.3 加权等波纹FIR滤波器设计 9.4 希尔伯特等波纹FIR滤波器 9.5 等波纹滤波器阶次估计 9.6 MATLAB等波纹FIR滤波器实现 9.7 LpFIR滤波器设计 9.8 基于Lp范数的MATLAB滤波器设计 第10章 FIR滤波器特例 10.1 引言 10.2 滑动平均FIR滤波器 10.3 梳状FIR滤波器 10.4 L波段FIR滤波器 10.5 镜像FIR滤波器 10.6 补码FIR滤波器 10.7 频率抽样滤波器组 10.8 卷积平滑FIR滤波器 10.9 非线性相位FIR滤波器 10.10 Farrow FIR滤波器 第11章 FIR的实现 11.1 概述 11.2 直接型FIR滤波器 11.3 转置结构 11.4 对称FIR滤波器结构 11.5 格型FIR滤波器结构 11.6 分布式算法 11.7 正则符号数 11.8 简化加法器图 11.9 FIR有限字长效应 11.10 计算误差 11.11 缩放 11.12 多重MAC结构 第12章 经典滤波器设计 12.1 引言 12.2 经典模拟滤波器 12.3 模拟原型滤波器 12.4 巴特沃斯原型滤波器 12.5 切比雪夫原型滤波器 12.6 椭圆原型滤波器 12.7 原型滤波器到最终形式的转换 12.8 其他IIR滤波器形式 12.9 PRONY(PADE)法 12.10 尤尔—沃尔 第13章 无限冲激响应滤波器设计 13.1 引言 13.2 冲激响应不变法 13.3 冲激响应不变滤波器设计 13.4 双线性z变换法 13.5 翘曲 13.6 MATLAB IIR滤波器设计 13.7 冲激响应不变与双线性z变换IIR对比 13.8 最优化 第14章 状态变量滤波器模型 14.1 状态空间系统 14.2 状态变量 14.3 模拟仿真 14.4 MATLAB仿真 14.5 状态变量模型 14.6 基变换 14.7 MATLAB状态空间 14.8 转置系统 14.9 MATLAB状态空间算法结构 第15章 数字滤波器结构 15.1 滤波器结构 15.2 直Ⅰ、Ⅱ型结构 15.3 直Ⅰ、Ⅱ型IIR滤波器的MATLAB相关函数 15.4 直Ⅰ、Ⅱ型结构的MATLAB实现 15.5 级联型结构 15.6 一阶、二阶子滤波器 15.7 一阶、二阶子滤波器的MATLAB实现 15.8 并联型结构 15.9 级联/并联型结构的MATLAB实现 15.10 梯型/格型IIR滤波器 第16章 定点效应 16.1 背景 16.2 定点系统 16.3 溢出(饱和)效应 16.4 算法误差 16.5 系数敏感度 16.6 二阶子滤波器 16.7 标准IIR滤波器 16.8 缩放 16.9 极限环振荡 第17章 IIR结构分析 17.1 溢出防范 17.2 Lp范数界 17.3 L2溢出预防 17.4 L2范数测定 17.5 L2范数的附加说明 1
DirectX修复工具(DirectX Repair)是一款系统级工具软件,简便易用。本程序为绿色版,无需安装,可直接运行。 本程序的主要功能是检测当前系统的DirectX状态,如果发现异常则进行修复。程序主要针对0xc000007b问题设计,可以完美修复该问题。本程序中包含了最新版的DirectX redist(Jun2010),并且全部DX文件都有Microsoft的数字签名,安全放心。 本程序为了应对一般电脑用户的使用,采用了易用的一键式设计,只要点击主界面上的“检测并修复”按钮,程序就会自动完成校验、检测、下载、修复以及注册的全部功能,无需用户的介入,大大降低了使用难度。在常规修复过程中,程序还会自动检测DirectX加速状态,在异常时给予用户相应提示。 本程序适用于多个操作系统,如Windows XP(需先安装.NET 2.0,详情请参阅“致Windows XP用户.txt”文件)、Windows Vista、Windows 7、Windows 8、Windows 8.1、Windows 8.1 Update、Windows 10,同时兼容32位操作系统和64位操作系统。本程序会根据系统的不同,自动调整任务模式,无需用户进行设置。 本程序的V4.0版分为标准版、增强版以及在线修复版。所有版本都支持修复DirectX的功能,而增强版则额外支持修复c++的功能。在线修复版功能与标准版相同,但其所需的数据包需要在修复时自动下载。各个版本之间,主程序完全相同,只是其配套使用的数据包不同。因此,标准版和在线修复版可以通过补全扩展包的形式成为增强版。本程序自V3.5版起,自带扩展功能。只要在主界面的“工具”菜单下打开“选项”对话框,找到“扩展”标签,点击其中的“开始扩展”按钮即可。扩展过程需要Internet连接,扩展成功后新的数据包可自动生效。扩展用时根据网络速度不同而不同,最快仅需数秒,最慢需要数分钟,烦请耐心等待。如扩展失败,可点击“扩展”界面左上角小锁图标切换为加密连接,即可很大程度上避免因防火墙或其他原因导致的连接失败。 本程序自V2.0版起采用全新的底层程序架构,使用了异步多线程编程技术,使得检测、下载、修复单独进行,互不干扰,快速如飞。新程序更改了自我校验方式,因此使用新版本的程序时不会再出现自我校验失败的错误;但并非取消自我校验,因此程序安全性与之前版本相同,并未降低。 程序有更新系统c++功能。由于绝大多数软件运行时需要c++的支持,并且c++的异常也会导致0xc000007b错误,因此程序在检测修复的同时,也会根据需要更新系统中的c++组件。自V3.2版本开始使用了全新的c++扩展包,可以大幅提高工业软件修复成功的概率。修复c++的功能仅限于增强版,标准版及在线修复版在系统c++异常时(非丢失时)会提示用户使用增强版进行修复。除常规修复外,新版程序还支持C++强力修复功能。当常规修复无效时,可以到本程序的选项界面内开启强力修复功能,可大幅提高修复成功率。请注意,请仅在常规修复无效时再使用此功能。 程序有两种窗口样式。正常模式即默认样式,适合绝大多数用户使用。另有一种简约模式,此时窗口将只显示最基本的内容,修复会自动进行,修复完成10秒钟后会自动退出。该窗口样式可以使修复工作变得更加简单快速,同时方便其他软件、游戏将本程序内嵌,即可进行无需人工参与的快速修复。开启简约模式的方法是:打开程序所在目录下的“Settings.ini”文件(如果没有可以自己创建),将其中的“FormStyle”一项的值改为“Simple”并保存即可。 新版程序支持命令行运行模式。在命令行中调用本程序,可以在路径后直接添加命令进行相应的设置。常见的命令有7类,分别是设置语言的命令、设置窗口模式的命令,设置安全级别的命令、开启强力修复的命令、设置c++修复模式的命令、控制Direct加速的命令、显示版权信息的命令。具体命令名称可以通过“/help”或“/?”进行查询。 程序有高级筛选功能,开启该功能后用户可以自主选择要修复的文件,避免了其他不必要的修复工作。同时,也支持通过文件进行辅助筛选,只要在程序目录下建立“Filter.dat”文件,其中的每一行写一个需要修复文件的序号即可。该功能仅针对高级用户使用,并且必须在正常窗口模式下才有效(简约模式时无效)。 本程序有自动记录日志功能,可以记录每一次检测修复结果,方便在出现问题时,及时分析和查找原因,以便找到解决办法。 程序的“选项”对话框中包含了7项高级功能。点击"常规”选项卡可以调整程序的基本运行情况,包括日志记录、安全级别控制、调试模式开启等。只有开启调试模式后才能在C
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页

打赏

爱吃骨头的猫、

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值