回声产生与消除
0
0.5
1
1.5
2
2.5
3
4
x 10
4
x 10
5
x 10
原始信号
回声信号
滤波信号
回声产生与消除
输入原声
产生回声
回声产生与消除
进行滤波
01
输入原声
%声音信号的提取
fs=22050;
[x,fs]=audioread('D:\录音.m4a'); %把语音信号进行 1
加载入Matlab仿真软件平台中 0.5
h=fft(y,N);%傅立叶变换
500
subplot(2,1,2);
plot((0:N-1)/N*fs,abs(h)); title('含回声信号幅值');
0 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
filename=('test.wav'); audiowrite(filename,y,fs);
N=length(x);%求语音信号的长度
x1=x(1:N);
含回声信号波形
x2=x(1:N);
1
x1=[x1,zeros(1,12800)]; %zeros(1,12800)产生1行3000列全零矩阵加到x1后面。0.5
x2=[zeros(1,6400),0.4*x2,zeros(1,6400)];
回声产生与消除
Echoes’generation and elimination
回声是怎么产生的呢?
语音信号 房间
语音信号(speech1)传到女士所 在的房间,由于空间的反射,形成 回音speech1(Echo)重新从麦克风 输入,同时叠加了女士的语音信号 (speech2)。此时男子将会听到 女士的声音叠加了自己的声音,影 响了正常的通话质量。
sound(x,fs) 0
figure(1);
-0.5
N=length(x);%求语音信号的长度
0
subplot(2,1,1);
800
plot(x(1:N));
600
title('原始信号波形');
400
200
y=fft(x,N);%傅立叶变换
0
subplot(2,1,2);
0
plot((0:N-1)/N*fs,abs(y));
这里输入简单的文字概述这里 概述这里输入简单简单的 里输入简单的文字 文字概述这里 文字
THANKS
中科院信号处理研究小组
这里输入简单的文字概述这里输入简单字概述这里输入简单简单的文 字概述这里输入简单的文字概述简单的文字概述这里输入简单的文字 概述这里输入简单的文字概述这里输入简单的文字概述这里输入简单
%N+6400+x=N+128000,得x=6400
0
y=x1+x2;%加入回音的信号。 sound(y,fs); figure(2); subplot(2,1,1);
-0.5 0
1000
0.5
1
1.5
含回声信号幅值
2
2.5
5
x 10
plot(y(1:3200.+N));
title('含回声信号波形');
回声消除都在哪方面有重要作用呢?
音响设备 演唱会
视频会议 耳蜗
我们今天的课题就是产 生一个回声,并设计回 声系统消除回声!
bingo
试比较下面三种声音的异同
01
02
03
原始信号波形 1
含回声信号波形 1
滤波后信号波形 1
0.5
0.5
0.5
0
0
0
-0.5
-0.5
-0.5
0
0.5
1
1.5
2
2.5
0
这里输入简单的文字概述这里输入简单字概述这 里输入简单简单的文字概述这里输入简单的文字 概述简单的文字概述这里输入
这里输入简单的文字概述这里输入 简单字概述这里输入简单简单的
Keyword
Keyword
Keyword
0
0
0.5
1
1.5
2
2.5
3
5
滤波信号的波形与幅值x 10
sound(z2,fs);
点击添加标题
这里输入简单的文字概述这里 概述这里输入简单简单的 里输入简单的文字 文字概述这里 文字
这里输入简单的文字概述这里 概述这里输入简单简单的 里输入简单的文字 文字概述这里 文字
这里输入简单的文字概述这里 概述这里输入简单简单的 里输入简单的文字 文字概述这里 文字
title('原始信号幅值');
原始信号波形
0.5
1
1.5
2
2.5
原始信号幅值
x 105
0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
4
x 10
原始信号波形与幅值
02
产生回声
%声音信号的提取
fs=22050;
[x,fs]=audioread('D:\录音.m4a'); %把语音信号进行加载入Matlab仿真软件平台中
0.5
1
1.5
2
2.5 0
0.5
1
1.5
2
2.5
3
原始信号幅值
x 105
含回声信号幅值
x 105
滤波后信号的幅值
x 105
800
1000
800
600
600
400
500
400
200
200
0
0
0
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5
回声信号波形与幅值 x 104
03
进行滤波
fs=22050;
[x,fs]=audioread('D:\录音.m4a'); %把语音信号进行加载入Matlab仿真软件平台中
N=length(x);%求语音信号的长度
x1=x(1:N);x2=x(1:N);
x1=[x1,zeros(1,12800)]; %zeros(1,4000)产生1行3000列全零矩阵加到x1后面。 1
0
0.5Hale Waihona Puke 11.52
2.5
3
滤波后信号的幅值
x 105
figure(3)
800
subplot(2,1,1);
600
plot(z);title('滤波后信号波形');
400
z1=fft(z);
z2=real(z);
200
subplot(2,1,2);
plot(abs(z1)); title('滤波后信号的幅值 ');
滤波后信号波形
x2=[zeros(1,6400),0.4*x2,zeros(1,6400)];
%N+3200+x=N+4000,得x=800
0.5
y=x1+x2;%加入回音的信号。 0
b=1;
a=zeros(1,6400); a(1)=1;a=[a,0.4]; z=filter(b,a,y);
-0.5