硬件准备

ADSP-21489EVB:ADI 21489 DSP的开发板

AD-HP530ICE:ADI DSP通用仿真器

软件准备

Visual DSP++

算法功能

实现反馈延时功能,用于模拟反射声。声音信号经过该滤波器以后频谱幅度会出现梳状特性。

原理简介

下图是 IIR Comb 滤波器的网络结构:

其差分方程为:

系统函数:

资源占用(MIPS, Memory requirement).

Memory: 数据段(段名 IIRCombFilter_dmda) (D + 2)words (字长 32bits)
D 指延时线长度

代码段(段名 IIRCombFilter_pmco),0x6c words (字长 48bits)
MFLOPS(处理 1 个输入数据): IIRCombFilter 函数,0.0006

相关函数

函数一:void InitIIRCombFilter ( float *DlyBuf, int *BufIndex, int
BufSize );

1.函数说明:初始化函数,将延时线的数据置零。
2.输入参数:
*DlyBuf 延时线指针
*BufIndex 对延时线进行数据操作的索引值
BufSize 延时线长度
3.输出参数:无
4.返回值:无。

函数二:int IIRCombFilter (int *in, int *out, float *DlyBuf, int *BufIndex,
float *Gain, int DelayNum);

1.函数说明:对单声道的输入进行梳状滤波处理,用于模拟反射声。
2.输入参数:
in 输入数据指针。
*in 为单声道数据;
数据范围:int 类型表示的范围
DlyBuf 延时线指针。
Gain 增益系数
数据范围: 0 ≤ *Gain < 1
DelayNum 延时线长度。
数据范围:在存储空间允许的范围内根据需要设定;

3.输出参数:
out 输出数据指针。
*out 为单声道的输出数据;
数据范围:int 类型表示的范围
4.返回值:0 为正常;1 增益参数超范围

应用举例

首先将 IIRCombFilter.dlb, IIRCombFilter.h 两个文件拷贝到自己的工程目录下,然后将它们添加到工程中;然后在 LDF 文件中给数据段 IIRCombFilter_dmda、程序段IIRCombFilter_pmco 分配空间,接下来再写相关代码。

#include “IIRCombFilter.h”
/******************************************************************************

  • 调用 IIRCombFilter.dlb 库函数需定义的参数
    */
    #define D 4800 // 定义延时缓冲区大小 TD = D/fs = 4800/48000 = 0.1 sec */
    #pragma section (“IIRCombFilter_dmda”)
    int DelayBufIndex; // 往延时缓冲区写数据的索引值
    #pragma section (“IIRCombFilter_dmda”)
    float w[D + 1]; // 延时缓冲区
    #pragma section (“IIRCombFilter_dmda”)
    float GainCoef = 0.5; // 增益系数
    /
    /
    // 第一次调用延时函数的标志
    int FirstIIRCombFilterFlag = 1;
    // 输入输出数据的临时变量
    int InputLR;
    int OutputLR[2];
    int InputData;
    int OutputData;
    // 第一次调用全通滤波函数之前先做初始化工作
    if (FirstIIRCombFilterFlag)
    {
    InitIIRCombFilter ( w, &DelayBufIndex, D);
    FirstIIRCombFilterFlag = 0;
    }
    for (i=0; i<NUM_SAMPLES; i++)
    {
    //取左声道数据
    InputData = (block_ptr+2i); // block_ptr 是 A/D D/A 收发数据的指针

//对输入数据进行 Stero Chorus 处理
ReturnValue = IIRCombFilter (&InputData, &OutputData, w, &DelayBufIndex,
&GainCoef, D);

//将处理后的输出数据传给 D/A
(block_ptr+2i) = OutputData;

}

SHARC音频DSP的算法详解(十二)IIR Comb Filter (IIR 梳状滤波器)算法的实现及代码详解相关推荐

  1. SHARC音频DSP的算法详解(一)数字信号里的定点数和浮点数

    作者的话 ADI的音频DSP里,SHARC是现阶段最高端的型号,在汽车座舱的前装后装.音响.调音台等一切音频相关的应用中,都得到了广泛的应用.我在前面的文章中写过一个经典的型号:21489,这个系列就 ...

  2. SHARC音频DSP的算法详解(七)Reverb Delay混响和回声效果的实现及代码详解

    作者的话 延时是非常常见的一种音频上的算法,而在ADI的SAHRC DSP中,可以很好的去实现,我们来看看是怎么做的. 硬件准备 ADSP-21489EVB:ADI 21489 DSP的开发板 AD- ...

  3. SHARC音频DSP的算法详解(十三)Low Pass IIR Comb Filter (带低通滤波的 IIR 梳状滤波器)算法的实现及代码详解

    硬件准备 ADSP-21489EVB:ADI 21489 DSP的开发板 AD-HP530ICE:ADI DSP通用仿真器 软件准备 Visual DSP++ 算法功能 实现反馈延时功能,用于模拟反射 ...

  4. Linux内核Thermal框架详解十二、Thermal Governor(2)

    本文部分内容参考 万字长文 | Thermal框架源码剖析, Linux Thermal机制源码分析之框架概述_不捡风筝的玖伍贰柒的博客-CSDN博客, "热散由心静,凉生为室空" ...

  5. 支付宝支付 第十二集:狂神、飞哥支付宝支付配置代码(免费资源,拿走不谢)

    支付宝支付 第十二集:狂神.飞哥支付宝支付配置代码(免费资源,拿走不谢) 一.资源 链接:https://pan.baidu.com/s/1S-VAAMxiaPkgb2XZMQYEjA 提取码:091 ...

  6. 攻防世界杂项(misc)--新手练习区(详解十二道题完结,附件做题过程中使用到的各种工具和网站)

    攻防世界杂项(misc)–新手练习区(详解) 第一题:this_is_flag 题目描述:Most flags are in the form flag{xxx}, for example:flag{ ...

  7. 【Java数据结构与算法】第十二章 哈夫曼树和哈夫曼编码

    第十二章 哈夫曼树和哈夫曼编码 文章目录 第十二章 哈夫曼树和哈夫曼编码 一.哈夫曼树 1.基本术语 2.构建思路 3.代码实现 三.哈夫曼编码 1.引入 2.介绍 3.代码实现哈夫曼编码综合案例 一 ...

  8. Qt开发技术:Q3D图表开发笔记(二):Q3DBar三维柱状图介绍、Demo以及代码详解

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://hpzwl.blog.csdn.net/article/details/130150728 各位读者,知识无穷而人力有穷,要么改需 ...

  9. 数字音频总线A2B开发详解十二(A2B一Master板做音效处理-31段EQ,高中低音分频等)

    作者的话 从板B上,我们把Master板上直通过来的音频信号,通过板子上的ADAU1761进行调音,可以让每一块从板都发出自己的声音,那么可不可以从源头,我们在Master上就把声音分配好,高音你去B ...

最新文章

  1. 浅谈深度学习图像分割
  2. 帝国cms内部会员组的使用方法以及应用场景
  3. 数据库表DML操作不了 可能是被锁了
  4. ASP.NET MVC项目 解决session失效
  5. 每天一道LeetCode-----重排链表,节点顺序是从头取一个,从尾取一个,从头取一个,从尾取一个.....
  6. 深入理解PHP的运行模式
  7. Python之Time模块
  8. Java核心篇之Java锁--day2
  9. 侵犯软件著作权罪量刑标准
  10. Docker镜像(image)详解
  11. mysql max_pac_如何解决 MySQL max
  12. 安装 jupyter notebook
  13. vim设置默认utf-8编码
  14. java pdf添加图片_Java编辑PDF写入文字 插入图片
  15. supervise进程管理利器
  16. ESP车身电子稳定系统
  17. win10无线信号强度测试软件,WinFi Lite(WIFI分析工具) V1.0.15.0 官方版
  18. 基因数据处理12之samtool的tview来查看sam的匹配文件
  19. 肇庆学院计算机科学与技术专业多少分能进,2020肇庆学院录取分数线是多少-各专业分数线...
  20. Java随机生成验证码

热门文章

  1. Linux 文件名颜色
  2. 生活不是发现你自己,而是创造你自己!
  3. html accordion折叠菜单动态,jQuery EasyUI 布局插件 – Accordion 折叠面板 | 菜鸟教程...
  4. Linux用fceux模拟器,树莓派初次使用
  5. 潜艇大战c语言实验报告,c语言编的潜艇大战1
  6. python画奥运五环代码_Python绘制奥运五环
  7. 一个美丽的寓言——羊和狼
  8. linux编辑网页内容,将MWeb的文章发布到自己做的网站(超级详细)
  9. laravel cache 缓存操作
  10. 分享63个公司介绍PPT模板,总有一款适合你