回声信号的产生与消除00001.docx
- 文档编号:3085650
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:18
- 大小:186.70KB
回声信号的产生与消除00001.docx
《回声信号的产生与消除00001.docx》由会员分享,可在线阅读,更多相关《回声信号的产生与消除00001.docx(18页珍藏版)》请在冰豆网上搜索。
回声信号的产生与消除00001
回声信号的产生与消除
数字信号处理课程设计
回声信号的产生与消除
姓名 张针海
学号10300123
专 业电子信息工程
指导教师樊玲
年级10级电信2班
日 期 2013.5.25
1设计目的及要求
1.1设计回音目的及要求
现代通信中回波是影响通信质量的噪声,本课程设计是在matble库元件中搜索一段不小于10s的录音,再利用函数wavread对语音信号进行采样,并自身实现一次及多次延迟、叠加产生回波信号,再使用Matlab绘出有回声及无回声语音信号的时域波形和频谱图。
在此过程中必须灵活运用matlab中wavread函数对信号进行采样,同时加深对声频信号中噪声的认识。
1.2设计滤波器目的及要求
1.2.1FIR滤波器
FIR滤波器是有限长冲激响应滤波器,它是通信,语音与图象处理模式识别及频谱分析等应用中一种基本的处理部件。
他可以满足滤波器幅度和相位特性的严格要求避免模拟滤波器无法克服的电压漂移,温度漂移和噪声等问题。
数字滤波器的作用是滤除信号中某一部分频率分量。
信号经过滤波处理。
就是相当于信号频谱与滤波响应相乘的结果。
时域上看就是信号与滤波器的冲激响应卷积的结果。
有限长冲激响应滤波器可以保证任何幅频特性的同时具有严格的相频特性,同时其单位冲激响是有限的。
没有输入到输出的反馈,是稳定的系统。
1.2.2巴特沃兹滤波器
欲消除回声,则需设计滤波器,绘出滤波器的频域响应,绘出滤波后信号的时域波形和频谱,并对滤波前后的信号进行对比,分析信号的变化,理想低通滤波器的一个非因果系统,如果允许低通滤波器的通带和阻带之间有一定的过渡带,且通带和阻带允许有一定的衰减,我们就可以用物理可实现的系统去逼近理想低通滤波器的频率特性,从而获得较好的滤波效果;巴特沃兹滤波器就是工程中常用的频率响应逼近理想低通滤波器的物理可实现系统,还原出原有音频信号。
1.2.3距离估计要求
从信号y中估计反射物的距离,即回声延迟的时间,可理解为估算原有信号中的N值。
也就是,估测y(n)中的原始声音信号x(n)与其延时衰减分量kx(n-N)的相关联的程度。
2设计原理
语音采集:
通过搜索在pc机的中matble库函数中chimes.wav,绘制其时域波形,对此音频信号用FFT作谱分析。
制作回音:
利用MATLAB软件中的wavread函数进行采样分析得到的源噪声,通过叠加到原始语音
信号中,模仿语音信号被污染,并对其进行频谱分析;
消除回音:
设计FIR和IIR数字滤波器的滤波器,对带有回声的声音信号进行滤波,恢复出原始信号。
绘制所设计滤波器的幅频和相频特性,及滤波后的信号的时域波形和频谱图,分析滤波后信号的时域和频域特征,回放语音信号。
估算距离:
计算信号y中估计反射物的距离,可理解为估计延时序列中的N值。
即估计y(n)中的原始声音信号x(n)与其延时衰减分量kx(n-N)的相关联的程度;相关是指两个确定信号或两个随机信号之间的相互关系,对于随机信号,信号一般是不确定的,但是通过对它的规律进行统计,它们的相关函数往往是确定的,故在随机信号处理中,可以用相关函数来描述一个平稳随机信号的统计特性,因而可通过相关分析法估算反射物的距离。
3设计内容
3.1语音采集
读取本地matble库中的自带的文件chimes.Wav。
3.2信号分析
在matbal中绘制其时域波形,利用wavread()函数将其提取出来绘制其时域波形对此音频信号用FFT作谱分析,用plot()函数绘制其图形。
%声音信号的提取
fs=22050;
[x,fs,Nbits]=wavread('D:
\chimes.wav');%把语音信号进行加载入Matlab仿真软件平台中
wavplay(x,fs);%回放语音信号。
或者sound(x,fs)
figure
(1);
N=length(x);%求语音信号的长度
subplot(3,1,1);
plot(x(1:
N));
title('原始信号波形');
y=fft(x,N);%傅立叶变换
subplot(3,1,2);
plot((0:
N-1)/N*fs,abs(y));
title('原始信号幅值');
subplot(3,1,3);
plot(angle(y));
title('原始信号相位');
2,产生的原信号的波形,以及其幅度、相位谱如图1所示:
图1原信号波形图
3.3制作回音
1参数的设置:
因为人耳能分辨出的声音延迟至少是0.1s,因此,最小延迟量不能小于0.1s。
在此先先延迟时间为0.2s,即最小延迟量N=0.2*fs=0.2*16000=3200。
在已有声音信号x的基础上产生带回声的声音信号,可以表达为在于娜信号的基础上叠加其延时的分量。
假设只有一个回声的情况下,可简化其模型为
y(n)=x(n)+kx(n-m)k为反射系数;m为延迟时间。
这里设m=3200;k=0.41
2声音延迟:
利用矩阵置零产生x的延迟,以及得到y信号:
为了保证图像的完整性,对读取的信号先延长4000个采样点,将原始信号延长3200个采样点,然后再在后面补上800个点,得到如下代码:
1——%一次回波的产生
[x,fs]=wavread('D:
\chimes.wav');%把语音信号进行加载入Matlab仿真软件平台中。
N=length(x);%语音信号的长度。
x1=x(1:
N);
x2=x(1:
N);
x1=[x1,zeros(1,4000)];%zeros(1,4000)产生1行3000列全零矩阵加到x1后面。
x2=[zeros(1,3200),0.4*x2,zeros(1,800)];%N+3200+x=N+4000,得x=800
y=x1+x2;%加入回音的信号。
figure
(2);
subplot(3,1,1);
plot(y(1:
3200.+N));
title('含回声信号波形');
y1=fft(y);
subplot(3,1,2);
plot(abs(y1));
title('含回声信号幅值');
subplot(3,1,3);
plot(angle(y1));
title('含回声信号相位');
sound(y,fs);
加入回声以后的波形,如图2所示:
图2含一次回声波形图
2——%多次回声的产生
[x,fs]=wavread('D:
\chimes.wav');%把语音信号进行加载入Matlab仿真软件平台中。
N=length(x);%语音信号的长度。
x1=x(1:
N);
x2=x(1:
N);
x3=x(1:
N);
x1=[x1,zeros(1,6400)];%zeros(1,4000)产生1行3000列全零矩阵加到x1后面。
x2=[zeros(1,3200),0.4*x2,zeros(1,3200)];%N+3200+x=N+4000,得x=800
x3=[zeros(1,3200),0.7*x3,zeros(1,3200)];
y=x1+x2+x3;%加入回音的信号。
figure
(2);
subplot(3,1,1);
plot(y(1:
3200.+N));
title('含回声信号波形');
h=fft(y,N);%傅立叶变换
subplot(3,1,2);
plot((0:
N-1)/N*fs,abs(h));
title('含回声信号幅值');
subplot(3,1,3);
plot(angle(y));
title('含回声信号相位');
sound(y,fs);
程序设计如图3所示:
图3含多次回声波形图
3.4设计滤波器及滤波
3.4.1设计FIR滤波器及滤波
3.4.1.1单回声的滤波
%单个回声的滤波
[x,fs]=wavread('D:
\chimes.wav');%把语音信号进行加载入Matlab仿真软件平台中。
N=length(x);%语音信号的长度。
x1=x(1:
N);
x2=x(1:
N);
x3=x(1:
N);
subplot(6,1,1);
plot(x);
title('原信号波形');
h=fft(x,N);%傅立叶变换
subplot(6,1,2);
plot((0:
N-1)/N*fs,abs(h));
title('原始信号幅值');
x1=[x1,zeros(1,4000)];%zeros(1,4000)产生1行4000列全零矩阵加到x1后面。
x2=[zeros(1,3200),0.8*x2,zeros(1,800)];%N+3200+x=N+4000,得x=800
y=x1+x2;%加入回音的信号。
subplot(6,1,3);
plot(y(1:
3200.+N));
title('含回声信号波形');
y1=fft(y);
subplot(6,1,4);
plot(abs(y1));
title('含回声信号幅值');
b=1;
a=zeros(1,N);
a
(1)=1;
a(3201)=0.4;
z=filter(b,a,y);
subplot(6,1,5);
plot(z);
title('滤波后信号波形');
z1=fft(z);
subplot(6,1,6);%3行1列排列第1个图
plot(abs(z1));%画出abs(z1)
title('滤波后信号的幅值');%绘图区标题
sound(z1,fs);
程序设计后运行结果如图4所示:
图4滤除单个回波后的波形图
3.4.1.2多次回声的滤波
%多个回声的滤除
[x,fs]=wavread('D:
\chimes.wav');%把语音信号进行加载入Matlab仿真软件平台中。
N=length(x);%语音信号的长度。
x1=x(1:
N);
x2=x(1:
N);
x3=x(1:
N);
subplot(6,1,1);
plot(x);
title('原信号波形');
h=fft(x,N);%傅立叶变换
subplot(6,1,2);
plot((0:
N-1)/N*fs,abs(h));
title('原始信号幅值');
x1=[x1,zeros(1,2400)];%zeros(1,4000)产生1行3000列全零矩阵加到x1后面。
x2=[zeros(1,3200),0.4*x2,zeros(1,3200)];%N+3200+x=N+6400,得x=3200
x3=[zeros(1,5200),0.7*x3,zeros(1,5200)];
y=x1+x2+x3;%加入回音的信号。
subplot(6,1,3);
plot(y(1:
3200.+N));
title('含回声信号波形');
y1=fft(y);
subplot(6,1,4);
plot(abs(y1));
%plot((0:
N-1)/N*fs,abs(y1));
title('含回声信号幅值');
%subplot(6,1,5);
%plot(angle(y1));
%title('含回声信号相位');
b=1;
a
(1)=1;
a(3201)=0.4;
a(5201)=0.7;
z=filter(b,a,y);
subplot(6,1,5);
plot(z);
title('滤波后信号波形');
z1=fft(z);
subplot(6,1,6);%3行1列排列第1个图
%plot((0:
N
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 回声 信号 产生 消除 00001