实验二啸叫检测与抑制系统.docx

上传人:b****3 文档编号:6030686 上传时间:2023-05-09 格式:DOCX 页数:18 大小:132.37KB
下载 相关 举报
实验二啸叫检测与抑制系统.docx_第1页
第1页 / 共18页
实验二啸叫检测与抑制系统.docx_第2页
第2页 / 共18页
实验二啸叫检测与抑制系统.docx_第3页
第3页 / 共18页
实验二啸叫检测与抑制系统.docx_第4页
第4页 / 共18页
实验二啸叫检测与抑制系统.docx_第5页
第5页 / 共18页
实验二啸叫检测与抑制系统.docx_第6页
第6页 / 共18页
实验二啸叫检测与抑制系统.docx_第7页
第7页 / 共18页
实验二啸叫检测与抑制系统.docx_第8页
第8页 / 共18页
实验二啸叫检测与抑制系统.docx_第9页
第9页 / 共18页
实验二啸叫检测与抑制系统.docx_第10页
第10页 / 共18页
实验二啸叫检测与抑制系统.docx_第11页
第11页 / 共18页
实验二啸叫检测与抑制系统.docx_第12页
第12页 / 共18页
实验二啸叫检测与抑制系统.docx_第13页
第13页 / 共18页
实验二啸叫检测与抑制系统.docx_第14页
第14页 / 共18页
实验二啸叫检测与抑制系统.docx_第15页
第15页 / 共18页
实验二啸叫检测与抑制系统.docx_第16页
第16页 / 共18页
实验二啸叫检测与抑制系统.docx_第17页
第17页 / 共18页
实验二啸叫检测与抑制系统.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

实验二啸叫检测与抑制系统.docx

《实验二啸叫检测与抑制系统.docx》由会员分享,可在线阅读,更多相关《实验二啸叫检测与抑制系统.docx(18页珍藏版)》请在冰点文库上搜索。

实验二啸叫检测与抑制系统.docx

实验二啸叫检测与抑制系统

实验二--啸叫检测与抑制系统

实验二啸叫检测与抑制系统

、实验目的

1、认识扩音系统中的啸叫现象;

2、了解啸叫产生的条件;

3、分析啸叫信号的频谱;

4、掌握啸叫信号检测的方法;

5、掌握啸叫抑制的原理;

6、实现啸叫抑制。

二、实验设备

1、音频功率放大系统;

2、录音机;

3、计算机;

4、matlab软件

三、实验内容

1、认识啸叫及其危害

声反馈现象在日常生活中非常常见。

在多动能报告厅,KTV等同时

出现扬声器和麦克风的场合,由丁扬声器和麦克风之间存在电声耦合,必然会导致声反馈现象的产生。

声反馈会在反馈回路中产生再生混响,使讲话、唱歌的声音严重失真,音质受到破坏,活晰度大大降低。

重时甚至会产生自激啸叫,限制扩声系统传声增益的提升,使整个系统的正常工作受到影响。

还可能会烧毁系统放大器、扬声器中的高音单元,甚至会对人的听力造成损伤。

所以,在应用到扩声系统的场合,啸叫的检测和抑制非常重要。

2、啸叫信号产生的原理

声音信号首先从麦克风拾入,经过扩声系统的功率放大器放大后由扬声器送出,经过各种障碍物的多次反射后,乂被麦克风拾入,从而形成一个闭合环路。

如果传声器对某些频点的拾音灵敏度过高,导致声音

在这些频点的增益是正值,就形成了一个正反馈过程,声音信号经过多次反复循环放大后,在某些频点的声音强度超过一定的增益上限,就会发生自激振荡,从而产生啸叫。

图1声反馈原理图

啸叫的产生必须同时具备以下三个条件:

(1)扬声器和拾音设备(麦克风)要处丁同一声场中,从而保证扬声器输出的信号能被拾音设备再度采集,形成正反馈;

(2)拾音设备的拾音灵敏度高,系统的传声增益大;

(3)声场存在缺陷共振,即扩声系统的频谱特性不平■坦,在某些频点上容易出现共振。

3、啸叫信号的特征

为了检测和抑制啸叫信号,需要对啸叫信号的基本特性做一定的分析,对啸叫信号在时域和频域上进行分析,最终得出以下结论:

啸叫信号的时域波形是一个频率包定的正弦波,其幅值随着时间的增加迅速增大,直到超出了功放放大区,进入饱和区和截止区时,产生削波现象,如图2所示。

啸叫信号的频谱图中存在单一的,并且固定不变的啸叫频率点,并

如图

且啸叫频率点对应的幅值远远大丁语音信号中其他频率点的幅值,2所示。

图2啸叫时时域波形

 

图3啸叫时频域波形

该实验要做的主要工作就是在声反馈建立的初期,在尽可能少的时间内检测出啸叫对应的的频率点,并设计相应的陷波器将其抑制掉,保证系统工作在正常的线性放大区,预防谐波信号的产生。

4、啸叫抑制的方法及原理

对啸叫的抑制方法大体上分为被动型预防和主动型控制两大类。

动型预防是根据声场特性,从扩声系统的系统设计、设备选型、声场布局以及声场调整等环节着手做好预防啸叫的工作;主动型控制力求在控制啸叫的同时提高扩声系统的传声增益。

主要有以下几种方法:

基于建筑声学特性

在音响界,最初解决回声啸叫的办法是通过降低扩声系统的增益来

确保系统的稳定工作,但是,这样就无法完全满足扩声音量的需要。

所以,工程技术人员开始在室内建筑声学、结构声学以及室内装饰装修方面下功夫,来解决声反馈问题和啸叫现象。

但是,这种方法只是被动地

抑制啸叫,造价及施工难度太大,不具有普遍推广意义

(2)均衡法

图4均衡器

均衡法的原理就是通过衰减或切除声音信号中某些过强的频率来

抑制住声反馈。

均衡器首先将声音频率进行分段,然后通过调节各频率段增益来弥补声场合扬声器的缺陷,达到抑制某一频点啸叫的目的。

但是,这个方法需专业音响帅手动调节,要求音响帅准确判断啸叫频点并迅速做出反应;其次,在实际操作中,由丁均衡器对啸叫频点的定位不够精确,会严重损伤音质。

移频法

移频就是移动频率,移频器的工作原理是对声音信号的频点向上或向下移几个或几十个频点,破坏构成声反馈的条件,最终达到防止啸叫的目的。

但是,移频法导致了整个声音频率范围内的频率失真,对

音质损伤较大;而且,移频器的工作状态与现场有无啸叫点没有关系,这样就会造成新的失真。

因此,应该尽量少用这种方法。

压限器

它的工作原理是根据输入声音信号的大小自动改变输出信号的增益。

当声音信号强度超过设定的电平值时,压缩器就将压缩比调到8:

1,语音信号强度就不会再继续增大,啸叫也就自然而然地被消除掉了。

但是,这种抑制方法会对声音带来动态损失,不适宜要求较高的场合。

(5)窄带陷波器

利用频谱分析和判定条件找出声音信号的啸叫频率点,设计参数可

调的数字陷波器对声反馈频点进行抑制。

由丁窄带陷波器在某个很窄的频带内有很大的衰减,因此对啸叫频点定位精度高,陷波器带宽窄,可以较为准确地抑制啸叫频点,而且对音质的损伤比较低,适合丁对音质要求较高的场合。

5啸叫抑制系统基本性能指标

设计的啸叫抑制系统要具备以下条件:

第一,陷波器的阻带带宽要越窄越好,这样可以减少声音的动态失

真。

第二,对啸叫频点进行抑制时,衰减量的陷波深度越深越好,保证

对啸叫的完全抑制;

第三,啸叫频率出现在任何频点,系统都可以自动检测到该频点,

并对其进行抑制;

该实验的性能指标如下:

处理字长:

16bit

二阶IIR数字陷波器

陷波滤波器频率范围:

100Hz-5KHz

陷波滤波器带宽:

1/10倍频程

频率定位精度:

1Hz

响应时间:

1s

6、系统算法及其实现

6.1啸叫的检测和判定算法

6.1.1简单的检判算法

传统的啸叫检测是利用FFT算法实现的,用FFT算法对每帧信号

xn,(n0J,...,N1}进行频谱分析,求得对应的功率谱

Xk,{k0,1,...,N/21},然后计算出判决值R,计算公式如下:

R10lOg10(ppeak/pav)

(1)

在1式中,ppeak是信号功率谱中的最大幅值,所对应得频率点是

Fpeak,pav为每帧信号中所有功率幅值的平■均值。

如果在连续的一段时

问,判决值都比预设门限值T高,且最大幅值对应的频点Fpeak都为同一

个值,则判定Fpeak为啸叫频点。

6.1.2细化频谱分析算法

用上面的算法对声音信号的频谱进行分析时,分辨率为:

DfftFs/N48KHz/102446.875Hz

(2)

显而易见,该算法的频率分辨率过低,我们可以采用CZT算法来细化频谱分析。

下面简单的介绍一下CZT算法:

CZTChirpZ-transform)算法的实质就是对z变换采用螺线抽样。

z变换的定义式为:

N1

XzXnZn

n0

(3)

其中,xKn0,1,...,N1}是有限长序列。

若令抽样点

A1AfkI■■4

丞AW,k0,1,...,M1,沿z平面上的一段螺线作等分角抽样,就可以得到抽样点处的z变换:

N1

XzkxnAnWnk,k0,1,...M1

n0

(4)

其中,AA°ej20,WW°ej20,A°为起始抽样点Z。

的欠量半径长度,。

为起始抽样点的相角,W0为螺线的伸展率(当W01,为螺线内缩;当W01,为螺线外伸),。

为相邻抽样点的角度差(当00,为逆时针;当00,为顺时针),M为要分析的复频谱点数。

0Fl/Fs,0(FhFi)/Fs,就可以得到Fl:

Fh范围的频谱,CZT算法的频率分辨率为(FhFi)/Fs。

可见,CZT算法可以任意选取Fi~Fh的频率范围进行分析,可以根据所需的频率分辨率来确定频率取样点数M

CZT算法的原理示意图如图5所示:

图5CZT算法原理图

CZT算法细化频谱效果如图6所示,第一幅图是直接利用FFT变换后的频谱图,第二幅图是利用CZT变换后的细化频谱图。

 

图6CZT细化频谱效果图

在对啸叫信号进行频域分析时,如果使用CZT对整个频域进行频谱分析,那么需要N*M次复乘,(N-1)M次复加,运算量非常大。

按照CZT

算法频率分辨率的公式Dczt(FhFi)/M,其中Fh:

Fi为整个频带范

围,要想提高分辨率,只能通过增加频率采样点数M来实现,而啸叫检测系统要求的频率分辨率乂很高,需要的M值就会很大,使运算量大大增加。

6.1.3频谱分析方案设计

综上所述,FFT算法频率分辨率太低,达不到系统设计的要求,同

时CZT算法运算量乂太大。

综合考虑FFT算法和CZT算法的优缺点,我

们采用一个折中的办法:

先利用FFT算法对整个频域进行粗分析,一旦检测到疑似声反馈频率点Fc存在,就利用Fc设定CZT算法的Fl和Fh,其中FiFc512,FhFc512,然后对R~Fh频带范围进行频谱细

化分析,如图7所示。

这种算法在保证较高频率分辨率的同时减小了

CZT算法的运算量,综合性能较好。

|

1024点CZT

I,取『

A-512AF—51215k

图7FFT+CZT算法示意图

7、声反馈抑制算法实现

7.1方案简述

本实验采用参数可调的IIR陷波器来消除声反馈频点的自激啸叫。

陷波器实质是一种带阻滤波器,它的阻带很窄,近似丁一个特定的频点,因此乂称为点阻滤波器。

当声反馈检判算法检测到一个声反馈频点,就设计一个中心频率为该频点的陷波器对其进行抑制。

I|此)|

r、X

usk&

图8陷波器频率特性图

7.2陷波器设计

数字陷波滤波器的设计要从滤波器的类型、模拟滤波器的设计准则以及模拟滤波器到数字滤波器的映射方法三个方面来考虑。

陷波器的设计可以选用有限冲击响应FIR(FiniteImpulse

Response)滤波器或者无限冲击响应IIR(InfiniteImpulseResponse)滤波器。

先比较一下两者的优缺点:

FIR滤波器有严格线性相位,稳定,适合定点DSP^现等优点,但同时它运算量太大且频率选择性不高;相比之下,IIR滤波器有良好的频率选择性,在相同的技术指标下,可用

比FTR滤波器少得多的阶数实现要求,计算量小,有利丁陷波器设计的实时性。

综合考虑两类滤波器的优缺点,我们最终选用采用IIR滤波器设计陷波器。

IIR滤波器设计的基本步骤:

第一,将数字滤波器技术指标,比如通带截止频率,阻带截止频率等,转换成对应的模拟滤波器技术指标;第二,设计模拟滤波器Ha(s)使其满足上述技术指标;第三,将设计出

的模拟滤波器系统函数Ha(s)按某种方法转换成数字滤波器的系统函

数H(z)。

在整个设计过程中存在着两种不同的变换:

一是频带变换,

即将低通滤波器变换成高通、带通、带阻滤波器:

二是变换域变换,即将模拟滤波器变换成数字滤波器。

根据这两种变换的先后顺序,引出以模拟滤波器为基础的两种设计方法[7],如图9和10所示。

■+HR数字滤波器

图9IIR数字滤波器设计方法1

图10IIR数字滤波器设计方法2

模拟低通滤波器几种常见的类型有贝塞尔滤波器、巴特沃思滤波

器、切比雪夫I型、II型和椭圆滤波器。

它们的性能比较如表1所示

模拟低通滤波器类型

滤波器类型

贝塞尔滤波器

近似线性相位,微小的群延时失真

巴特沃什滤波器

平滑的通带/阻带憎益响应,适度的群延时变化

切比雪夫I型滤波器

通带具有等波纹,眦带平滑

切比雪夫II型滤波器

r阻带具有等波纹,通带平滑

椭圆函数型滤波器

通带与阻带都有波纹,对绐定任务提供最低阶数设计

表1五类模拟低通滤波器性能对比图

从模拟滤波器到数字滤波器,有两种常用的映射方法:

脉冲响应不变法和双线性变换法。

脉冲响应不变法是从滤波器的脉冲响应出发,使

数字滤波器的单位脉冲响应h(n)模仿模拟滤波器的冲击响应ha(口。

只有当模拟滤波器的频率响应是带限的,且带限丁折叠频率以内,才能使数字滤波器的频率响应在折叠频率以内重现模拟滤波器的频率响应,保

证不产生频率失真。

脉冲响应不变法最大的缺点是有频率响应的混叠现象,因此只适用丁限带的模拟滤波器,比如衰减特性很好的带通和带阻滤波器,而不适用丁高通和带阻滤波器,所以本文采用双线性变换法。

双线性变换法的基本原理:

它是使数字滤波器的频率响应模仿模拟滤波器频率响应的一种滤波器设计方法。

双线性变换法把整个s平■面映射到整个z平面,s平面的左半平■面映射到z平面的单位圆内,s平■面的右半平面映射到z平面的单位圆外,s平面的虚轴映射到z平■面的单位圆上。

这样就使s平面与z平面是一一对应的关系,它克服了多值映射频谱混叠的缺点,同时也满足了因果稳定的模拟滤波器能够变换成因果稳定的数字滤波器的要求。

用双线性变换法设计IIR数字滤波器的设计步骤是:

(1)确定参数T。

双线性变换法中的参数T的选择和最终设计出的数字滤波器无关,因此可以取实际关系中的值,也可以为设计简单起见,取T=2。

由丁参数T的取值会影响计算精度,所以一般地说,使

cT1左右比较适当,不宜取太大或太小的数值。

(2)将数字滤波器的边界频率p、s转换为模拟滤波器的边界频

(3)

率p、s,转换公式为

1

即H(Z)Ha(s)|sTT^

阶模拟陷波器的传输函数为

其中B为3dB带宽。

用双线性变换,可以得到二阶数字滤波器的传输函数为:

有:

二阶IIR数字陷波器通过离散时间系统来实现,用差分方程描述如下:

22

y(n)aix(ni)biy(ni)(11)

i0i1

四、实验过程及结果分析

该实验在matlab下完成,对IIR滤波器设计全过程中的各个步骤,Matlab都提供了相应的工具箱函数,使IIR数字滤波器设计变得非常简单。

IIR数字滤波器的设计步骤和所用的工具箱函数如图11所示。

 

图11IIR数字滤波器设计步骤流程图

宿滴器系敬B,A■

糖糠器

系效E_.A

 

1、运行算法程序,给出如下结果:

啸叫时语音信号的时域波形图

啸叫时语音信号的频谱图

啸叫抑制后的时域波形图

啸叫抑制后的频谱图

2、对上述结果进行分析,说明滤波后的结果

 

设置采样频率

附录:

fs=10000;

N=fs*58;%设置信息长度

%读入音频

[x,fs]=wavread('yuyin1.wav',[N]);%将音频输入到

程序中

%显示语音信号时域波形

figure

(1);

subplot(2,1,1);

plot(x);

xlabel('n');

ylabel('幅度/V');

title('带啸叫的语音信号时域波形');

%显示语音信号x的频谱;

n=[0:

1:

N-1];

f=n*fs/N;%频谱图中的频

率轴

temp=fft(x,N);%对语音信号x

作fft变换

mag=abs(temp);%求功率谱

figure

(2);

subplot(2,1,1);

plot(f(1:

N/2),mag(1:

N/2));%画语音信号x

的频率谱

title('带啸叫的语音信号频谱');

xlabel('频率/Hz');

ylabel('幅度');

axis([0,6000,0,10000]);

gridon;

%对啸叫点进行检测

找出所有频点中幅值最

[maxsindex]=max(mag(1:

N/2));%

大的点

A=f(index);

册U用CZT做细化频谱分析

fl=A-512;f2=A+512;%细化频率范围

Fs=1000;m=1024;

w=exp(-j*2*pi*(f2-f1)/(m*Fs));

a=exp(j*2*pi*f1/Fs);

z=czt(x,m,w,a);

fz=((0:

length(z)-1)'*(f2-f1)/length(z))+f1;

figure(4);plot(fz,abs(z));

axis([f1f2010000]);

xlabel('Hz');ylabel('Magnitude');

title('CZT细化频谱图');

[maxsindex]=max(abs(z));

B=fz(index)

%从声卡播放x数组,听到带有啸叫的语音

sound(x,fs);

%设计陷波器

%摸拟指标阻带下截止频率fs1=A-200,阻带上截止频率

fs1=A+200,阻带最小衰减as=50db

%通带下截止频率fp1=A-300,通带上截止频率

fp2=A+300,阻带最小衰减ap=0.1db

rp=0.1;%通带衰减dB

rs=50;%阻带衰减dB

wp1=B-1500;wp2=B+1500;ws1=B-1600;ws2=B+1600;%g拟指标wp=[wp1,wp2]/(fs/2);%利用奈奎斯特频

率归一化

ws=[ws1,ws2]/(fs/2);

求滤波器阶数

[N_j,wc]=ellipord(wp,ws,rp,rs,'z');

[num,den]=ellip(N_j,rp,rs,wc,'stop');%

函数

[H,W]=freqz(num,den);%

频率响应

figure(3);

plot(W*fs/(2*pi),abs(H));grid;

xlabel('频率、Hz');ylabel('幅值');

title('带阻滤波器频率响应');

axis([0,8000,0,1]);

y=x;

y=filter(num,den,x);%

抑制

%故抑制后信号的频谱图

f=n*fs/N;%

temp=fft(y,N);%

变换

mag=abs(temp);%

figure

(2);

subplot(2,1,2);

plot(f(1:

N/2),mag(1:

N/2));%

率谱

title('带啸叫的语音信号频谱');

xlabel('频率/Hz');

ylabel('幅度');

axis([0,6000,0,10000]);

gridon;

功显示处理后语音信号时域波形

figure

(1);

求滤波器传递

绘制陷波器的

对x的啸叫点进行

频谱图中的频率轴

对语音信号y作fft

求功率谱

画语音信号x的频

subplot(2,1,2);

plot(y);

xlabel('n');

ylabel('幅度/V');

title('啸叫抑制后语音信号时域波形');

axis([0,600000,-1,1]);

册U用声卡测试陷波输出后的语音信号y

sound(y,fs);

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2