FBCF反馈梳状滤波器设计
FBCF的结构图
反馈梳状滤波器差分方程为
b0x(n)+y(n)b*z-M*(-aM)=y(n)=b0x(n)-aMy(n-M)
传输函数为
H(z)=b01+aMz-M
反馈梳状滤波器是IIR滤波器的特例,因为有从延迟输出到输入的反馈。反馈梳状滤波器可以看作是一系列回声的计算物理模型,呈指数衰减,时间间隔均匀。如下特例
y(n)=x(n)+gy(n-M)
对两边做Z变换,然后解出H(z)≜Y(z)/X(z),反馈梳状滤波器的传输函数可以表示为
H(z)=11-gz-M
所以振幅响应是
G(ω)≜H(ejω)=11-ge-jωM , -π≤ω≤π
响应曲线如下图
图FBCF幅度响应H(z)=1/(1-gz-M)相当于y(n)=b0x(n)-aMy(n-M)中b0=1和-aM=g,其中M=5,g=0.1,0.5,0.9,a)线性幅度 b)分贝幅度
当g=1时,反馈梳状幅度响应变为
G(ω)=12sin(ωM/2)
当g=-1时,则为
G(ω)=12cos(ωM/2)
当增益g=1时,可以完全反转前馈梳状滤波器FFBCF的幅值响应。
注意,当g>0时,产生共振峰ωk=2πkM,k=0,1,2,⋯,M-1;然而当g<0时,共振峰出现在这些值的中间。
是一个理想平面波在两平行壁面之间来回弹跳的计算模型;在这种模型中,g表示总的往返衰减(两次墙到墙的穿越,包括两次反射)。
为了稳定性,反馈系数aM必须在大小上小于1,即aM<1。否则,如果aM>1,每一个回声都会比之前的回声更大,产生无穷无尽、不断增长的回声。
有时输出信号是从延迟线的末端而不是从延迟线的开始取的,在这种情况下,差分方程就变成了
y(n)=bMx(n-M)-aMy(n-M)
这种输出选择只会使输出信号延迟M个样本。
更多文章请关注公众号<<音频核>>
FBCF反馈梳状滤波器设计相关推荐
- 手把手教系列之梳状滤波器设计实现
[导读]:前面一篇文章关于IIR/移动平均滤波器设计的文章.本文来聊一聊陷波滤波器,该滤波器在混入谐波干扰时非常有用,算法简单,实现代价低.本文来一探其在机理.应用场景. 注:尽量在每篇文章写写摘要, ...
- 在Matlab中设计梳状滤波器
梳状滤波器之所以被称为梳状滤波器,是因为它的幅频特性曲线状如梳子.这是一类典型的数字滤波器,主要用来对频谱中特定频率"定点清除".MATLAB中有专门梳状滤波器函数,编程很方便.这 ...
- 一种Δ-Σ模数转换器中梳状滤波器的设计
Δ-Σ模数转换器是一种低速,高精度的过采样模数转换器广泛的应用于信号采集和处理.数字通信.自动检测.自动控制和多媒体技术等领域.作为Δ-Σ模数转换器首级的梳状滤波器的设计就显得非常重要,滤波器的设计直 ...
- 基于Δ-Σ模数转换器的梳状滤波器的设计与matlab仿真
欢迎订阅<FPGA学习入门100例教程>.<MATLAB学习入门100例教程> 目录 一.理论基础 二.核心程序 三.测试结果 一.理论基础 Δ-Σ模数转换器是一种低速,高精度 ...
- 一种Δ-∑模数转换器中梳状滤波器的设计
Δ-∑A/D转换器以其高精度和易于用标准数字CMOS 工艺实现的特点而被广泛应用.数字抽取滤波器是它的重要组成部分,通常采用多级结构来实现.由于梳状滤波器是一种结构简单的线性相位FIR滤波器,所以通常 ...
- 如何利用CIC滤波器、CIC补偿滤波器和半带滤波器设计一个高频数字抽取滤波器
设计了采样频率为640 MHz.过采样率为64的高频数字抽取滤波器.该数字抽取滤波器由CIC(Cascaded Integrator Comb)滤波器(降16倍).CIC补偿滤波器(降2倍)和半带滤波 ...
- 基于MATLAB FDATOOL的CIC滤波器设计
级联积分梳状(CIC)滤波器是一种被广泛应用于软件无线电中,可以实现抽取或者插值的高效滤波器.它主要用于降低或提高采样率.CIC滤波器的主要特点是,仅利用加法器.减法器和寄存器,占用资源少,实现简单且 ...
- 【音频处理】IIR滤波器设计(一)Biquad 滤波器
系列文章目录 [音频处理]如何"认识"一个滤波器? [音频处理]IIR滤波器设计(一)Biquad 滤波器 [音频处理]IIR滤波器设计(二)模拟到数字 前言 在开始学习 IIR ...
- 窗函数法FIR滤波器设计
FIR滤波器设计通常可以分为窗函数法和频率采样法两类,这里先介绍窗函数法 1. FIR 滤波器简介 考虑一个N−1N-1N−1阶FIR滤波器 z变换z变换z变换: H(z)=∑n=0N−1h(n)z− ...
最新文章
- 找找Amazon的A9算法更新和变化的蛛丝马迹!
- 瑞斯康达nms_瑞斯康达iTN产品资料
- 一个感染型的病毒逆向分析
- python将print内容输入txt_Python将矩阵写入txt文件,保持格式
- OpenCV属性页配置问题~
- 创意对抗网络(CANs)你知多少?
- Google App Engine已经支持JAVA了
- 判断是否包含某个头文件
- 明明有 Windows 11,为什么还要用国产操作系统?
- 安全防范知识点 -- CSRF
- mysql opened tables_open_table与opened_table --2
- 短视频直播系统的功能
- CSS 单词换行 word-break属性
- 浅谈C中的wprintf和宽字符显示
- 【机器学习算法】神经网络和深度学习-4 重要的BP网络使用总结,了解BP神经网络的魅力
- win平板计算机,十大平板电脑排行,告诉你平板电脑哪个好
- 计算机管理老是自动打开,win10系统打开设备管理器后一直自动刷新的设置方案...
- redis连接数配置多少
- 精密空调 | 多机房分散式智能监控管理
- WEB开发技能树-JavaScript-倒计时
热门文章
- 如何有效的在 60 秒内进行 Linux 服务器性能故障分析
- 最全中级Unity面试题(引擎,渲染,Lua等)
- WOW魔兽世界全种族代号表
- 读懂nxyz:究竟是个什么项目 Paradigm、红杉竞相入局
- [内核内存] [arm64] 内存规整1---memory-compaction详解
- 2021年我的21个感悟(2/3)
- 【转载】解决不能添加GOOGLE账户的问题!(付安装教程)
- Service 莫名启动解决方案
- css设置标签的水平与垂直居中,定位与弹性盒布局的的结合
- a = [1,2,3,4,5,6,7,8] for i in a: a.remove(i) print(a)求输出结果