1、带啸叫检测与抑制的音频功率放大器报告综述带啸叫检测与抑制的音频功率放大器(D题) 摘要:该设计是基于功率放大器TPA3112D1的带啸叫检测与抑制功能的音频放大器。其音频放大器是由五个模块构成即拾音电路模块,啸叫抑制模块,功率放大器电路模块,MSP430控制与显示模块,音频输出模块。其能产生优质的放大音量并能有效的抑制啸叫。 关键字:拾音电路,功率放大,啸叫检测和抑制。目录1.方案设计与论证.3 1.1拾音电路的方案设计.3 1.2功率放大电路方案设计.3 1.3啸叫抑制电路方案设计.3 1.4显示控制电路方案设计.42.硬件的设计.4 2.1拾音电路的设计.4 2.2电源模块设计.5 2.3
2、程控放大电路.6 2.4 峰峰值检测.7 2.5啸叫抑制电路.73.软件的设计.74.系统测试.9 4.1测试方案.9 4.2测试结果与分析.95.设计总结.96.参考文献.97.附件.101.方案设计与论证 1.1拾音电路的方案选择 方案一:采用Maxim公司生产的一款高性能放大器MAX9814,具有自动增益控制(AGC)和低噪声麦克风偏置,器件具有低噪声前端放大器,可变增益放大器(VGA)输出放大器,麦克风偏置电压发生器和AGC控制电路。低噪声前置放大器具有12dB固定增益;VGA增益根据输出电压和AGC门限在20dB至0dB间自动调节。输出放大器提供可选择的8dB,18dB和28dB增益
3、。在未压缩的情况下,放大器的级联增益为40dB,50dB和60dB。输出放大器增益由一个三态数字输入编程。AGC门限由一个外部电阻分压器控制,动作/释放时间由单个电容编程。动作/释放时间比由一个三态数字输入设置。AGC保持时间固定为30ms。低噪声麦克风偏置电压发生器可为绝大部分驻极体麦克风提供偏置。但电路设计难度大且成本高。 方案二:采用TI公司生产的双功放LM358通过外接电阻电路构成一个能放大拾音电路,运放的两个输出端接入降噪芯片的左右声输入通道。LM358内部包括有两个独立的,高增益,内部频率补偿的双运放放大器。电路设计和制造较难。方案三:采用NE5532这种双运放高性能低噪声运算放大
4、器。其有很好的输出驱动能力和噪声能力。该方案具有噪声小,音质好,功耗低,稳定性好且方案间单成本低。 故选择方案三。 1.2程控放大电路方案选择 方案一:宽带电压增益控制放大器VCA822的控制电压输入端VG的电压范围为1V1V,可以用含有电位器的电路来调节,其优点是电压连续可调,缺点是精确调节较难另外也与本设计要求不符。 方案二:用TPA3112D1作为音频放大模块。TPA3112D1是一个25W单声道,无需外加滤波器的D类音频放大器,其供电的范围为8V26V;采用H桥作为功率输出级,使得其可在没输出没有传统的LC滤波器的情况下直接驱动感性负载;输入的音频信号可以是差分形式,其中在24V供电情
5、况下,满负载驱动8的桥接式扬声器,声音失真率仅为0.1%。所以选择方案二。1.3啸叫抑制电路方案选择。 方案一:频率均衡法由于传声器拾音和发声设备的频率曲线不是理想平坦的直线,特别是一些质量比较差的放音设备,由于厅堂声场的声学往往都有谐振作用,使频率响应起伏很大。可以用频率均衡器补偿扩声曲线,把系统的频率响应调成近似的直线,使各频段的频响基本一致进而提高系统的传声增益,这种方法也叫做宽带陷波法。通常应该使用21段以上的均衡器,在要求比较高的场合还应该配置参量均衡器,要求更高时,则可采用反馈抑制器。实际上扩声系统在出现反馈自激时,频率只是固定在某一点上的纯音,只要用一个频带很窄的陷波器将此频率切
6、除,即可进行有效抑制。选择频率特性比较平直的传声器和扬声器,减少由于峰值易引起的自激。 方案二:移相方式抑制啸叫:顾名思义,移相就是移动相位。在前面我们曾提到过“相位”一词,在空中某点,当反馈回来的声音和原始声音同时压缩或扩张了该点空气,我们称反馈声与原始声相位“同相”,该点声音增大;相反,如果一个声音压缩该点空气的同时另一个声音却扩张了该点的空气,我们称这两个声音相位“反相”,该点声音减弱。可见当原始声和反馈声(或直达声和反射声)在空中相遇后到底使音量增大了呢、还是减小了呢,这与其之间的相位紧密相关。移相器正是基于通过改变输入信号的相位来破坏房间峰点和啸叫的累积建立过程,从而破坏构成声反馈条
7、件,最终达到防止啸叫的目的。 1.4显示电路的选择 方案一:用ATMEL89C51单片机来进行信号的采集和取样同时进行数据的显示。可以仿真63K程序空间,接近64K 的16位地址空间;可以仿真64Kxdata 空间,全部64K 的16位地址空间;可以真实仿真全部32 条IO脚;完全兼容keilC51 UV2 调试环境,可以通过UV2 环境进行单步,断点, 全速等操作;可以使用C51语言或者ASM汇编语言进行调试;可以非常方便地进行所有变量观察,包括鼠标取值观察,即鼠标放在某 变量上就会立即显示出它此的值;可选 使用用户晶振,支持040MHZ晶振频率;片上带有768字节的xdata,您可以在仿真
8、时选 使用他们,进行xdata 的仿真;,可以仿真双DPTR 指针; 方案二:有430单片机来进行信号采集和取样同时进行显示。MSP430 系列单片机的各系列都集成了较丰富的片内外设。它们分别是看门狗(WDT)、模拟比较器A、定时器A0(Timer_A0)、定时器A1(Timer_A1)、定时器B0(Timer_B0)、UART、SPI、I2C、硬件乘法器、液晶驱动器、10位/12位ADC、16位- ADC、DMA、I/O端口、基本定时器(Basic Timer)、实时时钟(RTC)和USB控制器等若干外围模块的不同组合。其中,看门狗可以使程序失控时迅速复位;模拟比较器进行模拟电压的比较,配合
9、定时器,可设计出A/D 转换器;16 位定时器(Timer_A 和 Timer_B)具有捕获/比较功能,大量的捕获/比较寄存器,可用于事件计数、时序发生、PWM等;由于在峰峰值检测时其需要高速的AD和DA采样,所以需要强大的处理功能。故选择方案二。2硬件的设计 2.1拾音电路的硬件设计 拾音电路的设计主要以NE5532集成块为基础,通过两级放大之后再通过一系列滤波电路的整合,经全相麦克风测试,拾音效果十分清晰,当电脑喇叭相隔20cm,功放喇叭背离麦克风100cm时,拾音结果也还是很清晰,没有啸叫。当麦克风正对功放喇叭且相隔100cm时,产生明显啸叫。其电路图如下:此电路的话筒偏置是采用了由R
10、2 与c 3、c 9构成R - c滤波器来衰减偏置电压带来的噪声,并将话筒靠近放大电路输入端安装来减少噪音的影响。R p l ,R I O,R9为驻极体话筒提供偏置电压。通过调节R pl 使驻极体话筒得到所需要2 3 v的偏置电压,该偏压的大小也调整了电路的灵敏度。该电路中实现放大作用的主要是由运放I C2构成放大电路来完成的。I C2A 与I C2B 之间通过由R12、R 1 3、R 14 、R5构成的惠斯通电桥进行耦合。该电路中I C2A 构成钓电压放大器采用了同相输入的形式,对话筒而言相当于一个“较轻”的负载,这样对话筒的影响较小,该级的电压放大倍 由式R 4 +R p 3、决定。电L
11、l 十一J足1 l路中I C 2B构成的电流放大器只是R14的参 上和s 类放大电路不一致,其放大能力采用与s类放大电路类似。s放大电路参数的选择使电桥处于平衡状态,即:R 12 X R l 4= R13XR 5。 2.2电源模块设计此电子设计大赛所要用到的有+5V电源和+12V电源,我们组就简单设计了一个正负5V和正负12V的电源,以备后用。下图为正负5V电路设计。经过变压,整流,滤波,稳压和保护等基本电路模块构成,其中稳压部分用的是LM7805和LM7905电源稳压芯片来进行稳压;其中正负12V电源设计与正负5V类似,用的是LM7812和LM7912稳压芯片,效果明显。 (1)变压:电网供
12、电电压交流220V(有效值)50Hz,要获得低压直流输出,首先必须采用电源变压器 将电网电压降低获得所需要交流电压。( 2)整流:降压后的交流电压,通过整流电路变成单向直流电,但其幅度变化大(即脉动大)。 (3)滤波:脉动大的直流电压须经过滤波电路变成平滑,脉动小的直流电,即将交流成份滤掉,保留其直流成份。 (4)稳压:滤波后的直流电压,再通过稳压电路稳压,便可得到基本不受外界影响的稳定直流电压输出,供给负载RL。 (5)保护:过压和过流保护,限流保护电路和截流保护电路或利用稳压管的反向击穿稳压进行过压保护。经测试后,电源可以正常工作。 2.3程控放大电路的设计 程控放大电路采用TPATPA3
13、112D1是一款具有SpeakerGuard的25W单声道、无需外加滤波器的D类音频放大器,运用在电视和消费类音频设备中。该芯片供电范围为8V到26V,采用H桥作为功率输出级,使得其可在输出没有传统的LC滤波器的情况下直接驱动感性负载;输入的音频信号可以是差分形式,其中在24V供电情况下,满负载驱动8欧姆的桥接式扬声器,声音失真率仅为0.1%。 2.4峰峰值检测电路 峰峰值检测电路可以是通过设置低通率滤波器的截止频率fH为6kHz,高通滤波器的截止频率fL为20Hz即可。 通过实验证明其电路的检测峰峰值的检测效果很好,误差较小。 2.5啸叫抑制电路 移相法是利用相同频率而不同相位的声波生产干涉
14、,导致相互消弱甚至抵消的原理,抑制正反馈,提高音质。其原理图。Q1采用分压式电流负反馈偏置电路,由于R4的电流负反馈作用,所以该级的静态工作点较为稳定,由于R3和R4的阻值相等,所以Q1的发射极,集电极输出的信号也大小近似相等,相位刚好相反,从而完成了对输入信号的倒相作用。Q2和Q1的集电极通过电容C4交流接地,构成了射级输出级,故面当移相电路中的阻值改变时,对放大电路的影响较小。PCB图:3软件设计部分4.系统测试 4.1系统测试的方法是利用示波器测试输出电压的峰峰值用DDS函数发生器来产生其输入的波形。然后将其各个模块通过原理图来进行连接,最后给所需的模块供电来进行测试。 4.2测试结果和
15、分析。因为在输入音频信号有效值为20mV时,功率放大器的最大不失真功率(仅考虑限幅失真)为5W,误差小于10。 由于我们选择的功率放大器的放大倍数为61,则其拾音电路的放大倍数为:记录的数据输入的电压(mV)输出的电压(V)206.114012.356018.468025.015.设计总结该设计通过实验证明是一种效果较好的带啸叫检测与抑制的音频功率放大器。6.参考文献1、黄正瑾、田良电子设计竞赛赛题解析东南大学出版社2004年第一版2、黄智伟、陈文光全国大学生电子设计竞赛训练教程电子工业出版社2005年第一版3、王松武电子创新设计与实践国防工业出版社2005年第一版4、童诗白、华成英模拟电子技
16、术基础高等教育出版社2000年第二版7附页1.界面显示模块#include#includeCry12864.c#includeCry12864.huchar h1=2014年电子竞赛 ;uchar h2=所选题目: ;uchar h3=音频功率放大器 ;uchar h4=参赛人员: ;uchar h5= ;uchar h6= ;uchar h7= ;uchar h8=电压: V;uchar h9=频率: Hz;uchar h10=功率: W;void display() Disp_HZ(0x80,h1,8); Disp_HZ(0x90,h2,8); Disp_HZ(0x88,h3,8); De
17、lay_Nms(6000); Write_Cmd(0x01); Disp_HZ(0x80,h4,8); Disp_HZ(0x90,h5,8); Disp_HZ(0x88,h6,8); Disp_HZ(0x98,h7,8); Delay_Nms(6000); Write_Cmd(0x01); Disp_HZ(0x80,h8,8); Disp_HZ(0x90,h9,8); Disp_HZ(0x88,h10,8);2.频率检测程序#include#define uchar unsigned char#define uint unsigned intuchar shu=0123456789;unsig
18、ned int old_cap=0;/捕获的旧值unsigned long int period=0;/信号周期unsigned char TA_ov_num=0;/定时器计数溢出次数void cap_init() P1SEL|=BIT2; / 设置 P1.2为第二功能引脚TA1 P1DIR&=BIT2; / 设置P1.2为输入引脚 TACTL = TASSEL_2 + ID_3+MC_2+TAIE; /计数时钟为1MHz,计数方式为连续计数 CCTL1 |= CAP+CM_1 + SCS + CCIS_0+ CCIE; TACCR1=0;#pragma vector=TIMERA1_VECT
19、OR/捕获中断子程序_interrupt void TimerA1(void) switch(TAIV) case 2:/比较/捕获模块1中断 period=TA_ov_num*65536+TACCR1-old_cap; old_cap=TACCR1; TA_ov_num=0; break; case 4:break;/比较/捕获模块2中断未用 case 10:TA_ov_num+; break; 3.电压和功率显示模块#include#define uchar unsigned char#define uint unsigned int#define Num_of_Results 32uch
20、ar ptr4;unsigned int max = 0,c=0;uchar shuzi=0123456789.;static uint resultsNum_of_Results; void Trans_val(uint Hex_Val);void Init_ADC();void Init_ADC() P6SEL|=0X01; ADC12CTL0=ADC12ON+SHT0_8+MSC;/打开ADC,设置采样时间 ADC12CTL1=SHP+CONSEQ_2; / 使用采样定时器 ADC12IE=0X01;/使能ADC中断 ADC12CTL0|=ENC;/使能ADC转换 ADC12CTL0|=
21、ADC12SC;/开始转换#pragma vector=ADC_VECTOR_interrupt void ADC12ISR (void) static uint index = 0; resultsindex+ = ADC12MEM0; if(index = Num_of_Results) uchar i; index = 0; for(i = 0; i max) max = resultsi; c = 2*max ;/(Vpp值) void Trans_val(uint Hex_Val) unsigned long caltmp; uint Curr_Volt; uchar t1; uns
22、igned long Pout; uchar t4; uchar Rl=8; caltmp = Hex_Val; Curr_Volt = (caltmp*330)/4095)-75; /caltmp = Hex_Val * 33 ptr0 = Curr_Volt / 100; t1 = Curr_Volt - (ptr0 * 100); ptr2 = t1 / 10; ptr3 = t1 - (ptr2 * 10); ptr1 = 10; Write_Cmd(0x83); Write_Data(shuziptr0); Write_Data(shuziptr1); Write_Data(shuz
23、iptr2); Write_Data(shuziptr3); Pout=(Curr_Volt*Curr_Volt)/(2*Rl); t0 = Pout/1000; /Hex-Dec变换 t2 = Pout%1000/100; t3 = Pout%1000%100/10; t4 = Pout%10; t1 = 10; /shuzi表中第10位对应符号. /在液晶上显示变换后的结果 Write_Cmd(0x8b); Write_Data(shuzit0); Write_Data(shuzit1); Write_Data(shuzit2); Write_Data(shuzit3); Write_Da
24、ta(shuzit4); Delay_Nms(1000); 4.12864显示模块void Delay_1ms(void);void Delay(unsigned int n);void Write_Cmd(unsigned char cod);void Write_Data(unsigned char dat);void Ini_Lcd(void);void Disp_HZ(unsigned char addr,const unsigned char * pt,unsigned char num);#include #define uchar unsigned char#define uin
25、t unsigned intextern const unsigned char shuzi_table;#define LCD_DataIn P2DIR=0x00 /数据口方向设置为输入#define LCD_DataOut P2DIR=0xff /数据口方向设置为输出#define LCD2MCU_Data P2IN#define MCU2LCD_Data P2OUT#define LCD_CMDOut P6DIR|=0x38 /P6口的低三位设置为输出#define LCD_RS_H P6OUT|=BIT3 /P6.3#define LCD_RS_L P6OUT&=BIT3 /P6.3#
26、define LCD_RW_H P6OUT|=BIT4 /P6.4#define LCD_RW_L P6OUT&=BIT4 /P6.4#define LCD_EN_H P6OUT|=BIT5 /P6.5#define LCD_EN_L P6OUT&=BIT5 /P6.5/*函数名称:Delay_1ms功 能:延时约1ms的时间参 数:无返回值 :无*/void Delay_1ms(void) uchar i; for(i = 150;i 0;i-) _NOP(); /*函数名称:Delay_Nms功 能:延时N个1ms的时间参 数:n-延时长度返回值 :无*/void Delay_Nms(uint n) uint i; for(i = n;i 0;i-) Delay_1ms();/*函数名称:Write_Cmd功 能:向液晶中写控制命令参 数:cmd-控制命令返回值 :无*/void Write_Cmd(uchar cmd) uchar lcdtemp = 0; LCD_RS_L; LCD_RW_H; LCD_DataIn; do /判忙 LC
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1