Jacky's blog Jacky's blog
首页
  • 编码专题
  • 深入浅出 Vite
  • 深入浅出 babel
  • 快速上手API
  • 深入浅出 react
  • Node

    • code-notebook
  • 状态管理

    • redux
  • 前端工程化

    • Wepack
  • React源码

    • React源码
  • 组件库封装

    • 组件库
  • 开发工具

    • Vscode 插件
  • 项目展示
  • 案例中心 (opens new window)
  • First Project
  • 基础算法题
  • 链表题
  • 动态规划
  • 双指针
  • 递归
  • 数据结构
  • 前端学习计划 (opens new window)
  • 技术随笔
  • 转载文章
  • 包管理工具
  • 前端学习周报
  • VSCode插件
  • Promise 专题
  • 函数技巧
  • React 专题
  • 配置文件

    • TSCONFIG-配置 (opens new window)
    • NGINX-配置 (opens new window)
    • 正则规则查询手册 (opens new window)
    • Lint 配置 (opens new window)
  • 教程

    • GIT-教程
    • NPM SCRIPTS-工作流 (opens new window)
    • DOCKER-教程 (opens new window)
    • LERNA-教程 (opens new window)
    • GIT-常用操作整理 (opens new window)
  • VSCode

    • LAUNCH.JSON (opens new window)
  • 指令

    • NPM 指令 (opens new window)
    • NVM 指令 (opens new window)
    • Nginx 指令 (opens new window)
    • YARN 指令 (opens new window)
    • PNPM 指令 (opens new window)
  • 库

    • FS-EXTRA 库 (opens new window)
    • NODE 库-PATH (opens new window)
  • 永远的神

    • 魔法师卡颂-自顶向下学 React 源码 (opens new window)
    • 全栈潇晨 (opens new window)
    • 博客-程序员山月-Daily (opens new window)
    • 淘系前端:冴羽 (opens new window)
  • 系列文章

    • 《图解HTTP》 (opens new window)
    • 《ES6标准入门》 (opens new window)
    • 《现代JavaScript教程》 (opens new window)
    • 《深入浅出Webpack》 (opens new window)
    • VSCode 插件系列:小茗同学 (opens new window)
    • JEST 教程 (opens new window)
    • 前端精读周刊:各种精读系列 (opens new window)
    • 一文吃透系列 (opens new window)
    • 图解 REACT 原理 (opens new window)
  • 实用网站

    • MDN (opens new window)
    • CAN I USE (opens new window)
    • TYPESCRIPT-ESLint-RULES (opens new window)
    • ESLint-RULES (opens new window)
    • FRONT-END TREND (opens new window)
    • NPM TREND (opens new window)
    • 在线分析 Node 依赖 (opens new window)
    • FIND NPM (opens new window)
    • CODE PEN (opens new window)
    • 印记中文 (opens new window)
    • TOOL.LU (opens new window)
    • 阮一峰-网道 (opens new window)
    • DIGITAL OCEAN (opens new window)
    • DEVDOCS.IO (opens new window)
    • JOI (opens new window)
  • 算法

    • 小浩算法 (opens new window)
    • LABULADONG 的算法小抄 (opens new window)
    • 力扣 SOLUTION (opens new window)
    • HACKER RANK (opens new window)
    • 代码随想录 (opens new window)
  • 博客系列

    • 美团大佬 (opens new window)
    • 蜡笔小伟 (opens new window)
    • 优秀博客1 (opens new window)
    • 优秀博客2-umi (opens new window)
    • 优质博客 (opens new window)
  • CSS

    • CSS-EASING 库 (opens new window)
    • ROUGH.JS (opens new window)
    • CSS 网站收集
    • UNOCSS (opens new window)
  • 前端

    • PROMISE (opens new window)
    • UNDERSCORE.JS (opens new window)
    • study with BGM (opens new window)
    • nginx【B站视频】 (opens new window)
    • 机器学习
    • Js基础
  • 掘金已购课程

    • 前端自动化测试精讲 (opens new window)
    • 深入浅出 Vite (opens new window)
    • 现代 Web 布局 (opens new window)
    • 前端算法与数据结构 (opens new window)
    • 基于 Vite 的 SSG 框架开发实战 (opens new window)
    • SSR 实战:官网开发指南 (opens new window)
    • WebGL 入门与实践 (opens new window)
    • 玩转 CSS 的艺术之美 (opens new window)
    • 前端调试通关秘籍 (opens new window)
    • React 进阶实践指南 (opens new window)
    • TypeScript 全面进阶指南 (opens new window)
    • 前端缓存技术与方案解析 (opens new window)
    • npm scripts 前端工作流 (opens new window)
    • Webpack5 核心原理与应用实践 (opens new window)
  • 购物车

    • 张鑫旭-技术写作指南 (opens new window)
    • 深入剖析 Node.js 底层原理 (opens new window)
    • 前端开发者的现代 C++ 课 (opens new window)
    • 从前端到全栈 (opens new window)
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

Jacky Wang

行到水穷处,坐看云起时
首页
  • 编码专题
  • 深入浅出 Vite
  • 深入浅出 babel
  • 快速上手API
  • 深入浅出 react
  • Node

    • code-notebook
  • 状态管理

    • redux
  • 前端工程化

    • Wepack
  • React源码

    • React源码
  • 组件库封装

    • 组件库
  • 开发工具

    • Vscode 插件
  • 项目展示
  • 案例中心 (opens new window)
  • First Project
  • 基础算法题
  • 链表题
  • 动态规划
  • 双指针
  • 递归
  • 数据结构
  • 前端学习计划 (opens new window)
  • 技术随笔
  • 转载文章
  • 包管理工具
  • 前端学习周报
  • VSCode插件
  • Promise 专题
  • 函数技巧
  • React 专题
  • 配置文件

    • TSCONFIG-配置 (opens new window)
    • NGINX-配置 (opens new window)
    • 正则规则查询手册 (opens new window)
    • Lint 配置 (opens new window)
  • 教程

    • GIT-教程
    • NPM SCRIPTS-工作流 (opens new window)
    • DOCKER-教程 (opens new window)
    • LERNA-教程 (opens new window)
    • GIT-常用操作整理 (opens new window)
  • VSCode

    • LAUNCH.JSON (opens new window)
  • 指令

    • NPM 指令 (opens new window)
    • NVM 指令 (opens new window)
    • Nginx 指令 (opens new window)
    • YARN 指令 (opens new window)
    • PNPM 指令 (opens new window)
  • 库

    • FS-EXTRA 库 (opens new window)
    • NODE 库-PATH (opens new window)
  • 永远的神

    • 魔法师卡颂-自顶向下学 React 源码 (opens new window)
    • 全栈潇晨 (opens new window)
    • 博客-程序员山月-Daily (opens new window)
    • 淘系前端:冴羽 (opens new window)
  • 系列文章

    • 《图解HTTP》 (opens new window)
    • 《ES6标准入门》 (opens new window)
    • 《现代JavaScript教程》 (opens new window)
    • 《深入浅出Webpack》 (opens new window)
    • VSCode 插件系列:小茗同学 (opens new window)
    • JEST 教程 (opens new window)
    • 前端精读周刊:各种精读系列 (opens new window)
    • 一文吃透系列 (opens new window)
    • 图解 REACT 原理 (opens new window)
  • 实用网站

    • MDN (opens new window)
    • CAN I USE (opens new window)
    • TYPESCRIPT-ESLint-RULES (opens new window)
    • ESLint-RULES (opens new window)
    • FRONT-END TREND (opens new window)
    • NPM TREND (opens new window)
    • 在线分析 Node 依赖 (opens new window)
    • FIND NPM (opens new window)
    • CODE PEN (opens new window)
    • 印记中文 (opens new window)
    • TOOL.LU (opens new window)
    • 阮一峰-网道 (opens new window)
    • DIGITAL OCEAN (opens new window)
    • DEVDOCS.IO (opens new window)
    • JOI (opens new window)
  • 算法

    • 小浩算法 (opens new window)
    • LABULADONG 的算法小抄 (opens new window)
    • 力扣 SOLUTION (opens new window)
    • HACKER RANK (opens new window)
    • 代码随想录 (opens new window)
  • 博客系列

    • 美团大佬 (opens new window)
    • 蜡笔小伟 (opens new window)
    • 优秀博客1 (opens new window)
    • 优秀博客2-umi (opens new window)
    • 优质博客 (opens new window)
  • CSS

    • CSS-EASING 库 (opens new window)
    • ROUGH.JS (opens new window)
    • CSS 网站收集
    • UNOCSS (opens new window)
  • 前端

    • PROMISE (opens new window)
    • UNDERSCORE.JS (opens new window)
    • study with BGM (opens new window)
    • nginx【B站视频】 (opens new window)
    • 机器学习
    • Js基础
  • 掘金已购课程

    • 前端自动化测试精讲 (opens new window)
    • 深入浅出 Vite (opens new window)
    • 现代 Web 布局 (opens new window)
    • 前端算法与数据结构 (opens new window)
    • 基于 Vite 的 SSG 框架开发实战 (opens new window)
    • SSR 实战:官网开发指南 (opens new window)
    • WebGL 入门与实践 (opens new window)
    • 玩转 CSS 的艺术之美 (opens new window)
    • 前端调试通关秘籍 (opens new window)
    • React 进阶实践指南 (opens new window)
    • TypeScript 全面进阶指南 (opens new window)
    • 前端缓存技术与方案解析 (opens new window)
    • npm scripts 前端工作流 (opens new window)
    • Webpack5 核心原理与应用实践 (opens new window)
  • 购物车

    • 张鑫旭-技术写作指南 (opens new window)
    • 深入剖析 Node.js 底层原理 (opens new window)
    • 前端开发者的现代 C++ 课 (opens new window)
    • 从前端到全栈 (opens new window)
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 数字信号处理

    • 数字信号处理--FIR的线性相位特性
    • 数字信号处理 -- Z 变换
    • 数字信号处理--Z变换之极零分析
    • 数字信号处理--功率谱估计
    • 数字信号处理--全通系统与最小相位系统
      • 全通系统
        • 全通系统的定义
        • 全通系统的性质
        • 全通系统的应用实例
    • 数字信号处理--相关函数
  • scikit-learn-机器学习常用算法原理及编程实战

  • 读书笔记
  • 数字信号处理
wangjiasheng
2020-04-07
目录

数字信号处理--全通系统与最小相位系统

# 全通系统

# 全通系统的定义

定义:是指不改变信号幅度谱,只改变相位谱的信号处理系统,即

∣H(ejw)∣=1,0≤∣w∣<π|H(e^{jw})| = 1 , 0 \le |w| < \pi ∣H(ejw)∣=1,0≤∣w∣<π

根据 数字信号处理--Z变换之极零分析 这一节中,已知系统对幅值的影响:

∣H(ejw)∣=g∏r=1M∣ejw−zr∣∏r=1N∣ejw−pk∣|H(e^{jw})| = g \frac{\prod_{r=1}^M|e^{jw}-z_r|}{\prod_{r=1}^N|e^{jw}-p_k|} ∣H(ejw)∣=g∏r=1N​∣ejw−pk​∣∏r=1M​∣ejw−zr​∣​

所以为了满足∣H(ejw)∣=1|H(e^{jw})|=1∣H(ejw)∣=1这个条件,有几种方法

  • 零点在圆心,即

    H(z)=z−kH(z) = z ^{-k} H(z)=z−k

  • 若零点不在圆心,需要关于单位圆的镜像对称极点,即

    H(z)=1−λ−1z−11−λz−1,∣λ∣<1H(z) = \frac{1-\lambda^{-1}z^{-1}}{1-\lambda z^{-1}} ,|\lambda|<1 H(z)=1−λz−11−λ−1z−1​,∣λ∣<1

    易证:

    • 幅频响应:

    ∣H(z)∣2=H(z)H(z−1)=1−λ−1z−11−λz−1⋅1−λ−1z1−λz=λ−2|H(z)|^2 = H(z)H(z^{-1}) =\frac{1-\lambda^{-1}z^{-1}}{1-\lambda z^{-1}} \cdot \frac{1-\lambda^{-1}z}{1-\lambda z} =\lambda^{-2} ∣H(z)∣2=H(z)H(z−1)=1−λz−11−λ−1z−1​⋅1−λz1−λ−1z​=λ−2

    • 相频响应:

      arg[H(ejw)]=arctan[−(λ−λ−1)sinw2−(λ+λ−1)cosw]arg[H(e^{jw})] = arctan[\frac{-(\lambda - \lambda^{-1})sinw}{2-(\lambda+\lambda^{-1})cosw}] arg[H(ejw)]=arctan[2−(λ+λ−1)cosw−(λ−λ−1)sinw​]

      可以看出全通系统必为:IIRIIRIIR 系统

# 全通系统的性质

  • 全通系统是IIRIIRIIR系统
  • 极点数 = 零点数
  • 极点必须在单位圆内,系统才能保持稳定
  • 极点和零点是以单位圆镜像对称的
  • IIR系统无法做到线性相位

# 全通系统的应用实例

具体Matlab编程示例见 数字信号处理--Z变换之极零分析 Z变换之极零分析

例题 5.4.1 一阶和三阶全通滤波器,画出对应的极零图、幅频响应、相频响应和单位抽样响应。

图一中,极点p1=−0.8p_1 = -0.8p1​=−0.8,零点z1=−1.2z_1= -1.2z1​=−1.2。图二中,极点为0.8ejπ/4,0.8e−jπ/40.8e^{j\pi/4},0.8e^{-j\pi/4}0.8ejπ/4,0.8e−jπ/4及-0.8。对应的零点为单位圆对称位置,观察图二可知。

一阶全通系统 三阶全通滤波器

Matlab代码:

%% 一阶全通系统
z = -1.2 ;p = -0.8;
[b,a] = zp2tf(z,p,1);
subplot 221;zplane(b,a);
subplot 222;[H,w] = freqz(b,a);Hr = abs(H);
Hphase = angle(H);Hphase = unwrap(Hphase);plot(w/(2*pi),Hr);
grid on;xlim([0,0.5]);xlabel('\omega/2\pi')
subplot 223;plot(w/(2*pi),Hphase);
grid on;xlim([0,0.5]);xlabel('\omega/2\pi')
subplot 224;[h,t] = impz(b,a,40);stem(t,h,'.');
grid on;xlim([-1,20]);xlabel('h(n)')
set(gcf,'color','w')

%% 三阶全通系统
p = [-0.8;0.8*(cos(pi/4)+1i*sin(pi/4));0.8*(cos(pi/4)-1i*sin(pi/4))];
z = [-1.2;(1/0.8)*(cos(pi/4)+1i*sin(pi/4));(1/0.8)*(cos(pi/4)-1i*sin(pi/4))];

[b,a] = zp2tf(z,p,1);
subplot 221;zplane(b,a);
subplot 222;[H,w] = freqz(b,a);Hr = abs(H);
Hphase = angle(H);Hphase = unwrap(Hphase);plot(w/(2*pi),Hr);
grid on;xlim([0,0.5]);xlabel('\omega/2\pi');ylabel('H(e^{j\omega})');
subplot 223;plot(w/(2*pi),Hphase);
grid on;xlim([0,0.5]);xlabel('\omega/2\pi');ylabel('\phi (\omega) /rad');
subplot 224;[h,t] = impz(b,a,40);stem(t,h,'.');
grid on;xlim([-1,20]);xlabel('h(n)')
set(gcf,'color','w')
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
编辑 (opens new window)
#数#字#信#号#处#理
上次更新: 2022/04/06, 15:04:00
数字信号处理--功率谱估计
数字信号处理--相关函数

← 数字信号处理--功率谱估计 数字信号处理--相关函数→

最近更新
01
如何理解浏览器的 user agent 用户代理的含义?
11-05
02
浏览器事件循环机制
10-31
03
浏览器页面渲染机制【2023】
10-15
更多文章>
Theme by Vdoing | Copyright © 2020-2023
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式