微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于DSP的吉他音效器的设计与实现

基于DSP的吉他音效器的设计与实现

时间:10-09 来源:电子产品世界 点击:

摘要:为使吉他在非声学标准建筑内达到较为完美的音质和效果而设计一套基于数字信号处理器(Digital Signal Processer, DSP)的音效器。使用拾音器获取吉他模拟音频信号,经转换芯片成为数字信号后分帧输入到DSP芯片的多通道缓冲同步串口,使用芯片完成最后音频信号的数模转换并输出到音响。软件方面主要使用内存中定义的环形缓冲区从而以DSP的零消耗循环控制实现高效的延时,并使用嵌套的全通滤波器实现较好的混响功能。使用音频硬件测试软件RMAA(Right Mark Audio Analyzer)的测试结果表明,该吉他音效器的频率响应、动态范围、本底噪声和互调失真等指标达到了设计要求,具有一定的推广和应用价值。

引言

指弹吉他是一种吉他加花的演奏方式,是音乐界极为新兴的项目,这种弹奏方法与古典吉他的不同之处在于可广泛使用多种拍击、调弦法,不受手法限制,一把吉他可弹奏出任何美妙音乐,因此更注重弹奏音效,在很多场合需要音效器的辅助。目前国内市场的音效器多为日韩等国外国家垄断,价格昂贵[1],因而为满足市场需求,设计出一款具有较好效果的指弹吉他音效器,采用数字音频信号处理技术提升指弹吉他的音效,以达到预期的商业推广目的。

1 系统结构

系统的输入信号通过吉他识音器获取[2],为增强产品普及性,采用免开孔的拾音器,输出为150mV的单声道模拟音频信号,经高速模数转换成数字信号,分帧存入到缓冲区RAM中,其后的高速数字信号处理在TI的DSP芯片TMS320C6713上进行,相关算法在内部存储区中进行运算处理,数字信号经处理后再经高速高精度数模转换成声音信号,经功放后输出。为了实现数字信号的快速运算,使用了TMS320C6713特有的增强型直接存储器访问(Enhanced Direct Memory Access, EDMA)[3]联合RAM的方式进行流水线[4]处理,即各模块同时工作,部分音频信号进行模数转换,部分转换后的信号在TMS320C6713中进行处理,部分处理后的信号进行数模转换,从而保证音效的实时快速处理。

2 硬件结构设计

音效器硬件选用TMS320C6713芯片,模数转换芯片选择PCM1804,数模转换芯片选择PCM1730。

2.1 电源设计

以9V直流电压作为电源模块的输入,经7805三端稳压集成电路后输出的5V电流对TPS767D318芯片供电,分别输出3.3V和1.8V对TMS320C6713和PCM1804、PCM1730供电。为器件安全考虑,设置输出的最大电流为1A,并具有过热保护的功能同时为避免模拟5V电路和模块中的数字电路的相互干扰,引入隔离磁珠[5]用以模数隔离。


2.2 核心电路

本项目的音效器选择TMS320C6713芯片的主要原因在于,这是一款高速浮点DSP芯片,最大时钟频率达到225MHz兆赫兹,外部存储器接口为32位,能访问最高达512M字节的外部存储空间,完成与同/异步存储器的无缝对接,有两个多通道缓冲串行端口,各端口可与265个通道进行全双工通信,支持多种帧格式,与串行接口兼容。并且支持流水线工作方式,可在同一时刻实现多达8个不同指令在内部不同部位交迭地处理执行,流水线运行按取指、译码、执行三级步骤运行,各级包含几个节拍,可实现指令周期内的有序运算,性能稳定, TMS320C6713芯片的EDMA可在无CPU参与的环境下控制芯片存储空间的数据迁移,并可实现DSP芯片与外部EPROM芯片的高速数据传输,适合音效器设计的需要。

本系统采用的PCM1804转换器[7],可选多种系统时钟频率和采样频率,模块有主模式和从模式两种接口模式,主模式状态下提供与DSP之间的串行音频数据通信,从模式状态下只接收数据。PCM1804与TMS320C6713芯片的I2C接口通过I2S音频传输协议进行音频传输。由于PCM1804具有24位112dB动态范围,在音频处理过程中将会产生比模数转换电路更宽的动态范围,因此数模转换电路使用24位的PCM1730,其动态范围是117dB,可保证系统最终的噪声门限和处理精度不下降。PCM1730自带系统时钟检测电路,可自动检测到SCKI输入的系统时钟频率。系统核心电路如图2所示,图2显示了PCM1804在主模式下与TMS320C6713芯片和数模转换芯片PCM1730的连接关系图,输入的音频数据经模数转换和数字信号处理后经模数转换还原成模拟音频信号输出。

3 典型算法分析

DSP编程主要用于对吉他音频数字信号进行处理,可使用C语言或者汇编语言编程,鉴于C语言的易移植性、灵活性和在复杂系统中的便捷优势[1],本系统使用C语言进行混合编程,主要以延时算法和混响算法为例简要说明音效器的实现原理。

3.1 延时算法

对音频信号的处理,延时[4]是最基本的输出效果,其它音效如合唱效果、弗兰格效果和回声效果等都离不开延时的基础性作用,延时产生的原声滞后音可有效调整音色。基本的延时包括不带反馈的和带反馈的两种,其中不带反馈的延时对输入音频信号进行延时一次,从而实现回声效果,而带反馈的延时能进行反复延时和重复播放,两者原理如图3所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top