滤波器相位补偿

2023-11-14

概要

滤波器使用的过程中都会产生相位的改变。有时,相位的改变并不是我们想要的。例如,笔者在做Dolby Atmos的bass management的时候。希望将顶置的低频成分分割到左右通道或环绕通道。因为相位的缘故,叠加之前,左右通道或环绕通道需要做相位补偿。

一般来说,推荐用全通滤波器来做相位补偿。用全通滤波器来做相位补偿,一般2阶的滤波器(高低通)则用1阶的全通来补偿。可以调整Q值来拟合。

Octave仿真

其实Matlab更好,但是很贵。不鼓励盗版。还是用Octave吧。

请注意,Octave需要提前装载signal包。

pkg load signal

代码

% Sample Rate
Fs = 48000;

% Corner Frequency
Fc = 180;

% clear figure
% clf;
% figure(1);

% Generate highpass filter coefficients
[B_HP, A_HP] = butter(2, Fc/(Fs/2), 'high');
[H_HP, w_HP] = freqz(B_HP, A_HP, 1024)
Hf_HP = abs(H_HP);
Hx_HP = angle(H_HP);
subplot(3, 2, 1);
plot(w_HP, Hf_HP);
subplot(3, 2, 2);
plot(w_HP, Hx_HP);

% Generate lowpass filter coefficients
[B_LP, A_LP] = butter(2, Fc/(Fs/2));
[H_LP, w_LP] = freqz(B_LP, A_LP, 1024)
Hf_LP = abs(H_LP);
Hx_LP = angle(H_LP);
subplot(3, 2, 3);
plot(w_LP, Hf_LP);
subplot(3, 2, 4);
plot(w_LP, Hx_LP);

% Generate allpass filter coefficients
[~,A_AP] = butter(1, Fc/(Fs/2));
B_AP = fliplr(A_AP);     % Flip coefficients for allpass denominator
[H_AP, w_AP] = freqz(B_AP, A_AP, 1024)
Hf_AP = abs(H_AP);
Hx_AP = angle(H_AP);
subplot(3, 2, 5);
plot(w_AP, Hf_AP);
subplot(3, 2, 6);
plot(w_AP, Hx_AP);

结果
幅频特征与相频特征上图,左列是幅频响应;右列是相频响应。幅频响应纵坐标是倍数,相频响应纵坐标是角频率(0 ~ Pi)。两者横坐标都是角频率(0 ~ Pi)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

滤波器相位补偿 的相关文章

  • springcloudAlibaba 链路追踪SkyWalking

    一 链路追踪SkyWalking简介 在大型系统的微服务化构建中 一个系统被拆分成了许多模块 这些模块负责不同的功能 组合成系统 最终可以提供丰富的功能 在这种架构中 一次请求往往要涉及到多个服务 互联网应用构建在不同的软件模块集上 这些软
  • 关调度与关中断

    关调度与关中断 关中断与关调度是两种进入临界区的方式 它们有各自的使用环境 最近在研究 ucos III 的源代码时发现 ucos III 中有对临界区的优化 以关调度来代替关中断的方式工作 系统可以在特定的情况下用关调度的方式来替代关中断
  • 数据可视化之Seaborn(1)

    文章目录 什么是Seaborn seaborn提供的一些特点 Seaborn的基本使用 1 安装seaborn 2 导入seaborn库并导入Seaborn内置数据集 3 设置画图空间风格 4 设置子图风格 5 去除图脊 边框 6 设置内容
  • 设计一个表示分数的类Fraction。这个类用两个int类型的变量分别表示分子和分母。

    分数 题目内容 设计一个表示分数的类Fraction 这个类用两个int类型的变量分别表示分子和分母 这个类的构造函数是 Fraction int a int b 构造一个a b的分数 这个类要提供以下的功能 double toDouble
  • 第五章:数据库完整性

    数据库完整性 文章目录 5 1参照完整性 5 1 1实体完整性定义 5 1 2实体完整性的违约处理和检查 5 2参照完整性 5 2 1参照完整性定义 5 2 2参照完整性的违约处理和检查 5 3用户自定义的完整性 5 3 1属性上的约束条件
  • Python - OpenCV实现摄像头人脸识别(亲测版)

    要使用Python 3和OpenCV进行摄像头人脸识别 您可以按照以下步骤进行操作 0 安装OpenCV软件 去官网直接下载安装即可 如果是C 使用OpenCV 需要使用编译源码并配置环境变量 1 安装OpenCV库 在命令行中输入以下命令
  • 【bug记录】This attempt to set a cookie via a Set-Cookie header was blocked because it had the “Secure“

    问题出现场景 最近在使用浏览器访问一个登录页面时会一直发生302重定向请求 然后f12看到浏览器的访问页面上有如下警告 错误原因 错误原因为 尝试通过Set Cookie头设置具有 secure 属性的cookie 但未通过安全连接接收 因
  • gurobi安装

    gurobi安装 先去官网下载 Gurobi Optimizer 同时申请一个免费的license 学术用途的 土豪随意买 以最新的6 5版本为例进行解说 解压下载的gurobi6 0 5 linux64 tar gz 命令 tar zxv
  • web端引入高德地图

    1 安装 amap amap jsapi loader 依赖 高德地图加载器 npm i amap amap jsapi loader S 2 在对应的文件引入依赖或者全局引入 注意 由于高德api文档提示 您在2021年12月02日申请以
  • centos7设置账号密码复杂度、密码有效期、账号锁定、会话超时等策略

    目录 一 设置密码复杂度 二 设置密码有效期 三 设置登陆会话超时 四 设置登陆失败锁定 一 设置密码复杂度 CentOS7 RHEL7 开始使用pam pwquality模块进行密码复杂度策略的控制管理 pam pwquality替换了原
  • html制作动态八卦图源码

    动态八卦图 自动旋转的八卦图 一个html文件就行 如下动态图所示 taijitu html div div
  • 看甲骨文如何在云端一路高歌猛进!

    甲骨文喜欢并购这事儿不假 但更根植于创新 过去的十几年中 甲骨文始终坚持将完整并颇具创新性的云服务提供给用户 所谓完整 也就是需要覆盖端到端的全流程 提及创新 如今的大环境下怎能不将区块链 IoT 甚至是机器学习统统收入囊中 一起植入软件
  • 《大白AI周报》精华内容整理汇总

    在人工智能学习中 大家或多或少都会关注一些公众号 但随着每天信息量的暴增 碎片化的内容让大家应接不暇 如何挖掘有价值的内容 如何快速查阅自己需要的内容 是一个头疼的问题 因此大白每周都会将人工智能领域 几十个公众号每周发布的精华内容汇总起来
  • 带你认识 MySQL 之 MySQL 体系结构

    序 最近一直在忙项目 各种加班加点 项目上线 渐渐的没有了学习的时间 这不 刚这几天才能抽出点时间 忙里偷闲 正在看一本数据库的书籍 相信很多小伙伴们也都看过 MySQL 技术内幕 InnoDB 存储引擎 这本书很详细的讲述了 MySQL
  • 水墨Shader解析

    Chinese Ink wash Painting II Shader 简介 本文尝试对Chinese Ink wash Painting II 来源 https www shadertoy com view DdSyDW 的代码部分进行解
  • 转载:数字图像去噪典型算法及matlab实现 (http://gaochaojs.blog.51cto.com/812546/243961)

    版权声明 原创作品 允许转载 转载时请务必以超链接形式标明文章 原始出处 作者信息和本声明 否则将追究法律责任 http gaochaojs blog 51cto com 812546 243961 数字图像去噪典型算法及matlab实现
  • Python爬虫(一):编写简单爬虫之新手入门

    最近学习了一下python的基础知识 大家一般对 爬虫 这个词 一听就比较熟悉 都知道是爬一些网站上的数据 然后做一些操作整理 得到人们想要的数据 但是怎么写一个爬虫程序代码呢 相信很多人是不会的 今天写一个针对新手入门想要学习爬虫的文章
  • Docker的inspect命令查看容器详细信息

    很久之前建的一个容器 今天发现找不到端口信息了 这都是小问题 执行docker inspect命令可以查看容器的详细信息 推荐 不用进入容器内部 命令格式为 docker inspect 想要查看信息的容器id或者容器名字 运行这个命令会返
  • 帮我写一个单连杆柔性机械臂的综述

    答 单连杆柔性机械臂是一种机械臂 它由多个连接器和柔性活动元件组成 它的主要优势在于其轻量级 可编程和低成本 具有良好的机械性能和可扩展性 它可用于模拟复杂的机械任务 例如机器人末端夹持和机械夹具控制 它可以实现高精度和高灵活性的操作 从而

随机推荐

  • buuctf [强网杯 2019]随便注 1

    buuctf web 强网杯 2019 随便注 1 刷题个人日记 小白一个 写给自己看 打开后是这样 从题目和内容来看就是一道sql注入题 输入 1 or 1 1 这个 用来注释掉后面的sql语句 显示所有数据 这个数据有什么用我也不知道
  • 解决:ERROR: Could not build wheels for horovod, which is required to install pyproject.toml-based

    解决 ERROR Could not build wheels for horovod which is required to install pyproject toml based projects 安装horovod的时候报错 由于
  • GetLastError返回值

    GetLastError返回的值通过在api函数中调用SetLastError或SetLastErrorEx设置 函数并无必要设置上一次错误信息 所以即使一次GetLastError调用返回的是零值 也不能担保函数已成功执行 只有在函数调用
  • KVM内核加载配置及技巧

    KVM 配置及技巧 加载KVM模块 1 检查加载状态 lsmod grep kvm若什么也没显示 说明还未加载 2 显示有哪些可加载模块 find lib modules name kvm 显示如下 lib modules 2 6 32 2
  • 宝塔面板linux在终端使用命令开启服务保持服务不关闭

    我们经常在宝塔面板终端开启服务 比如socket等服务时 如果关闭面板标签页或者关闭终端 服务也随之关闭了 要保持服务一直运行 就需要把终端进程放在linux后台执行 方法如下 1 先Ctrl z 将命令保持挂载 并且能够继续在终端输入其他
  • C语言经典100例题(42)--学习使用auto定义变量的用法

    目录 题目 问题分析 代码 运行结果 题目 学习使用auto定义变量的用法 问题分析 auto存储类型只对属于块的变量有效 auto变量具有自动存储期限 块作用域 并且无连接 auto存储类型几乎从来不用明确地指明 因为对于在块内部声明的变
  • 关于排水管道沉积模拟建模的想法

    首先管道沉积是一个较为复杂的过程 对其分析主要考虑了无机盐所造成的影响 在立项书中 已经给出了各种元素的占比 据此可推理出对沉积起着主导作用的化学反应 在排水管中原本的污水 所以考虑的重点方向就是在特定温度 特定流速下 无机盐的沉积量随时间
  • Shell脚本中字符串截取功能

    在Shell脚本编写中 有几个地方都是要用到字符串截取的功能 那将这块的内容进行下记录 1 字符串变量的截取操作 对字符串变量的截取操作一般都是通过 操作符 的方式进行 1 从指定位置index截取固定长度 格式 string start
  • Oracle中的锁

    Oracle数据库支持多个用户同时与数据库进行交互 每个用户都可以同时运行自己的事务 从而也需要对并发访问进行控制 Oracle也是用 锁 的机制来防止各个事务之间的相互影响 对并发访问进行控制的 保证数据的一致性和完整性 当一个事务或操作
  • 【工具】python代码编辑器--PyCharm下载安装和介绍

    PyCharm是一种Python IDE 集成开发环境 由JetBrains打造 它带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具 比如调试 语法高亮 项目管理 代码跳转 智能提示 自动完成 单元测试 版本控制等 此外
  • 【华为OD】

    华为OD试题注意事项 使用合适的编程语言 在华为OD机试中多数情况下使用C 或Java 按照题目要求进行编码 仔细阅读题目描述并理解要求 在编码前可以进行伪代码编写或画流程图有助于理解和排除逻辑错误 注意代码的规范性 注重代码的可读性和可维
  • Python有趣小程序代码

    1 打印心形 print n join join Love x y 4 if x 0 05 2 y 0 1 2 1 3 x 0 05 2 y 0 1 3 lt 0 else for x in range 30 30 for y in ran
  • Socket传输文件/传输图片(Windows)

    利用UDP socket 来传输文件与图片 流程图如下 主要流程 1 client端发送command请求 上传数据或者下载数据 选择文件路径 2 server端应答 start代表开始传输 no代表拒绝 3 fopen打开文件进行读取 f
  • ubuntu20使用Systemback克隆系统

    一 使用的工具 SystemBack 克隆系统 cdrtools 3 02 将systemback生成文件转换为iso Ventoy iso文件写入u盘 作为安装盘 文末有相关工具下载链接 二 SystemBak克隆系统步骤 1 安装Sys
  • 关于html中,刷新页面后<input>输入框内容不会被刷新的问题

    只需要在
  • 构建测试的体系化思维(高级篇)

    本文首发于个人网站 BY林子 转载请参考版权声明 00 引言 1 三个层次聊测试体系 测试人员缺乏体系化思维 新建产品团队或者新启项目 如何系统化地测试 组织级如何构建统一的测试体系 大家都接触过不计其数的测试 质量方面的文章或者培训课程
  • C++ Template

    引言 模板 Template 指C 程序设计设计语言中采用类型作为参数的程序设计 支持通用程序设计 C 的标准库提供许多有用的函数大多结合了模板的观念 如STL以及IO Stream 函数模板 在c 入门中 很多人会接触swap int i
  • android 手势检测(左右滑动、上下滑动)

    开发十年 就只剩下这套Java开发体系了 gt gt gt GestureDetector类可以让我们快速的处理手势事件 如点击 滑动等 使用GestureDetector分三步 1 定义GestureDetector类 2 初始化手势类
  • 共轭方式怎么判断_怎么判断共轭效应是吸电子共轭效应还是给电子共轭效应?吸电子基和给电子基是根据什么判断的?...

    谢邀 我想按照我的思路给你解答解答 我要祭出我的高等有机化学笔记了 先说一句 要笔记的 在老家放着 没法卖给你们 而且说实话不好好看书的人 给你笔记你也不会 共轭效应只是众多电子效应中的一种 先从共轭效应开始讲起吧 共轭效应是由于共轭体系的
  • 滤波器相位补偿

    概要 滤波器使用的过程中都会产生相位的改变 有时 相位的改变并不是我们想要的 例如 笔者在做Dolby Atmos的bass management的时候 希望将顶置的低频成分分割到左右通道或环绕通道 因为相位的缘故 叠加之前 左右通道或环绕