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(e)=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反馈梳状滤波器设计相关推荐

  1. 手把手教系列之梳状滤波器设计实现

    [导读]:前面一篇文章关于IIR/移动平均滤波器设计的文章.本文来聊一聊陷波滤波器,该滤波器在混入谐波干扰时非常有用,算法简单,实现代价低.本文来一探其在机理.应用场景. 注:尽量在每篇文章写写摘要, ...

  2. 在Matlab中设计梳状滤波器

    梳状滤波器之所以被称为梳状滤波器,是因为它的幅频特性曲线状如梳子.这是一类典型的数字滤波器,主要用来对频谱中特定频率"定点清除".MATLAB中有专门梳状滤波器函数,编程很方便.这 ...

  3. 一种Δ-Σ模数转换器中梳状滤波器的设计

    Δ-Σ模数转换器是一种低速,高精度的过采样模数转换器广泛的应用于信号采集和处理.数字通信.自动检测.自动控制和多媒体技术等领域.作为Δ-Σ模数转换器首级的梳状滤波器的设计就显得非常重要,滤波器的设计直 ...

  4. 基于Δ-Σ模数转换器的梳状滤波器的设计与matlab仿真

    欢迎订阅<FPGA学习入门100例教程>.<MATLAB学习入门100例教程> 目录 一.理论基础 二.核心程序 三.测试结果 一.理论基础 Δ-Σ模数转换器是一种低速,高精度 ...

  5. 一种Δ-∑模数转换器中梳状滤波器的设计

    Δ-∑A/D转换器以其高精度和易于用标准数字CMOS 工艺实现的特点而被广泛应用.数字抽取滤波器是它的重要组成部分,通常采用多级结构来实现.由于梳状滤波器是一种结构简单的线性相位FIR滤波器,所以通常 ...

  6. 如何利用CIC滤波器、CIC补偿滤波器和半带滤波器设计一个高频数字抽取滤波器

    设计了采样频率为640 MHz.过采样率为64的高频数字抽取滤波器.该数字抽取滤波器由CIC(Cascaded Integrator Comb)滤波器(降16倍).CIC补偿滤波器(降2倍)和半带滤波 ...

  7. 基于MATLAB FDATOOL的CIC滤波器设计

    级联积分梳状(CIC)滤波器是一种被广泛应用于软件无线电中,可以实现抽取或者插值的高效滤波器.它主要用于降低或提高采样率.CIC滤波器的主要特点是,仅利用加法器.减法器和寄存器,占用资源少,实现简单且 ...

  8. 【音频处理】IIR滤波器设计(一)Biquad 滤波器

    系列文章目录 [音频处理]如何"认识"一个滤波器? [音频处理]IIR滤波器设计(一)Biquad 滤波器 [音频处理]IIR滤波器设计(二)模拟到数字 前言 在开始学习 IIR ...

  9. 窗函数法FIR滤波器设计

    FIR滤波器设计通常可以分为窗函数法和频率采样法两类,这里先介绍窗函数法 1. FIR 滤波器简介 考虑一个N−1N-1N−1阶FIR滤波器 z变换z变换z变换: H(z)=∑n=0N−1h(n)z− ...

最新文章

  1. 找找Amazon的A9算法更新和变化的蛛丝马迹!
  2. 瑞斯康达nms_瑞斯康达iTN产品资料
  3. 一个感染型的病毒逆向分析
  4. python将print内容输入txt_Python将矩阵写入txt文件,保持格式
  5. OpenCV属性页配置问题~
  6. 创意对抗网络(CANs)你知多少?
  7. Google App Engine已经支持JAVA了
  8. 判断是否包含某个头文件
  9. 明明有 Windows 11,为什么还要用国产操作系统?
  10. 安全防范知识点 -- CSRF
  11. mysql opened tables_open_table与opened_table --2
  12. 短视频直播系统的功能
  13. CSS 单词换行 word-break属性
  14. 浅谈C中的wprintf和宽字符显示
  15. 【机器学习算法】神经网络和深度学习-4 重要的BP网络使用总结,了解BP神经网络的魅力
  16. win平板计算机,十大平板电脑排行,告诉你平板电脑哪个好
  17. 计算机管理老是自动打开,win10系统打开设备管理器后一直自动刷新的设置方案...
  18. redis连接数配置多少
  19. 精密空调 | 多机房分散式智能监控管理
  20. WEB开发技能树-JavaScript-倒计时

热门文章

  1. 如何有效的在 60 秒内进行 Linux 服务器性能故障分析
  2. 最全中级Unity面试题(引擎,渲染,Lua等)
  3. WOW魔兽世界全种族代号表
  4. 读懂nxyz:究竟是个什么项目 Paradigm、红杉竞相入局
  5. [内核内存] [arm64] 内存规整1---memory-compaction详解
  6. 2021年我的21个感悟(2/3)
  7. 【转载】解决不能添加GOOGLE账户的问题!(付安装教程)
  8. Service 莫名启动解决方案
  9. css设置标签的水平与垂直居中,定位与弹性盒布局的的结合
  10. a = [1,2,3,4,5,6,7,8] for i in a: a.remove(i) print(a)求输出结果