APP下载

基于MATLAB的回音抵消器的设计

2017-09-11李丹凤张修娟胡安正

物理通报 2017年7期
关键词:回音幅值波形

李丹凤 方 倪 张修娟 胡安正

(湖北文理学院物理与电子工程学院 湖北 襄阳 441053)

基于MATLAB的回音抵消器的设计

李丹凤 方 倪 张修娟 胡安正

(湖北文理学院物理与电子工程学院 湖北 襄阳 441053)

通讯技术的迅速发展迫切需要通讯设备的快速更新.比如语音通讯用户对语音通讯质量的要求就越来越高,但在语音通话过程中,由于声学回声问题处理不当就会对通讯质量造成较大影响.为解决声学回声问题,通过MATLAB设计出一种回音抵消器,包括先合成回音,再利用逆系统法对回音进行消除,同时保留正常的语音信号,从而为解决语音通讯中由于声学回声问题引起的语音质量变差提供了一种解决方案.

MATLAB 回音抵消 逆系统 滤波

1 回音信号处理MATLAB介绍

在MATLAB中,利用Wavread对原始声音信号采样,设置采样频率,对原始信号的时域波形以及进行傅立叶变换后的幅值进行分析.通过卷积的思想使原始声音信号与延迟衰减的声音信号叠加在一起,合成有回音的声音信号,接着对有回音的声音信号进行分析.再利用逆系统法消除回音,得到最终的声音信号与原始声音信号进行对比,框架如图1所示.

图1 整体设计框图

2 利用MATLAB合成与逆系统法处理回音信号

2.1 利用MATLAB对原始声音信号文件进行分析

fs=8192;%采样频率

[x,fs]=wavread('huiyin1.wav');%提取原始声音信号

sound(x,fs);%听原始声音

N=length(x);

subplot(2,1,1);plot(x(1:N));title('原始信号波形');

y=fft(x,N);%对原始信号进行傅立叶变化

subplot(2,1,2);plot(abs(y));title('原始信号幅值');

分析:通过FFT变换可以明显的观察到,原始波形的信号主要分布在2~5 kHz和50 kHz频率左右.

图2 原始信号的波形和傅里叶变化后的波形

2.2 回音的产生原理

在一个原始声音脉冲后跟着一段衰减延迟后的原始声音脉冲,在离散时间情况下,其单位脉冲响应可表示为

其中pk为衰减因子,δ为单位脉冲序列.假如原始声音信号为x(n),则实际听到的声音为Y(n)=x(n)*h(n);

[x,fs]=wavread('huiyin1.wav');%提取原始声音信号

N=length(x);x1=x(1:N);

h=[1,zeros(1,8819),0.4];

y=conv(x1,h);%原始声音信号与延迟声音信号的卷积

subplot(2,1,1);plot(y);title('含回音信号的波形');

y1=fft(y);%对回音信号进行傅立叶变化

subplot(2,1,2);plot(abs(y1));title('含回音信号的幅值');

sound(y,fs);%听有回音信号

图3 回音信号的波形和傅里叶变化后的波形

分析:通过FFT变换可以明显地观察到,有回音波形的信号主要分布在2~5 kHz和60 kHz频率左右.与原始信号相比,高频波形有明显的延迟.

2.3 利用逆系统法对回音进行消除

2.3.1 逆系统法基本思想

若将回音系统的实现端对端地翻转过来,并改变反馈信号的符号,就得到其逆系统从而消除仿真音乐信号x(n)中的回音,逆系统框图如图4所示.

图4 逆系统框架结构图

2.3.2 回音消除原理

在合成的回音信号中还原原始信号,以此达到消除回音的目的.设计一个逆系统g(n)=1/h(n),利用卷积的方法,使单位脉冲g(n)满足x(n)=y(n)*g(n).

b=[1];a=[1,zeros(1,8819),0.4];n=[0:N];

K=impz(b,a,n);%离散时间系统单位脉冲响应A=conv(y,K);%脉冲与有回音的函数卷积去掉回音

subplot(2,1,1);plot(A);title('还原信号的波形');

y2=fft(A);%对恢复声音信号进行傅立叶变化subplot(2,1,2);plot(abs(y2));title('还原信号的幅值');

sound(A,fs);%听恢复后声音信号

图5 还原信号的波形和傅里叶变化后的波形

分析:可以把本次设计的原始信号和消除后的信号进行比较,可以看出两次的波形是一样的,两次的FFT变换后的波形图也可以看出两种情况下的频率分布也是相匹配的,从而能反应出来此次的系统设计是非常合理的.

3 总结

本文首先利用MATLAB工具产生回音,然后通过逆系统法对回音进行消除,利用MATLAB工具对消除前和消除后的波形进行对比分析,通过观察两者之间的特点,可以很明显地看出此次的系统设计是非常合理的,最后利用MATLAB工具对消除后的信号进行回放,可以听出效果的改善是非常明显的,可以很好地利用到实际生活中.

1 高西全,丁玉美.数字信号处理.西安:西安电子科技大学出版社,2008.08

2 李敏,编.MATLAB与信号与系统实验指导书.2013

3 高成.MATLAB图像处理与应用.北京:国防工业出版社,2007.04

4 董振海.精通MATLAB7编程与数据库应用.北京:电子工业出版社,2007.09

李丹凤(1995- ),女,在读本科生.指导教师:胡安正(1965- ),男,博士,教授,主要研究方向为电子技术应用.

2017-01-02)

猜你喜欢

回音幅值波形
多尺度串联非线性能量阱的减振效能及阻尼连接方式研究
回音筒
AFM轻敲模式下扫描参数对成像质量影响的研究
《液压与气动》常用单位的规范
用于SAR与通信一体化系统的滤波器组多载波波形
基于S变换的交流电网幅值检测系统计算机仿真研究
贫穷如我
Pareto最优稀疏频率雷达波形设计
基于ARM的任意波形电源设计
回音是怎么产生的呢?