matlab 产生回声,回声信号的产生与消除

  • Post author:
  • Post category:其他


第十组讨论报告 回声信号

设计人员【张峻凯、董晓民、严子轩@电子科技大学自动化工程学院】

问题描述:

语音信号频率分量分离的设计与仿真

回声信号可建模为 y[n]=x[n]+αx[n-N],其中 x[n]是未被污损的语音信号, N为回声延迟值, α<1为回声衰减系数。

(1)采用matlab中的audiorecorder命令录制一段3秒的语音信号,并将录制的语音信号转换为音频数据,显示其时域和频域特征;

(2)根据回声的模型,选择合适的延迟值和衰减系数,合成回声信号,显示其时域和频域特征,并进行播放

(3)利用相关性,判断回声的参数值

designed by Liu Ke @school of automation of UESTC

解决方案:

(1)

首先使用 matlab中的audiorecorder命令录制3秒的语音信号,

ysound = audiorecorder;

%recorder = audiorecorder 创建 8000 Hz、8 位、1 通道的 audiorecorder 对象。

disp(‘开始录制’);

recordblocking(ysound,3); %录音3秒钟

disp(‘结束录制’);

将录制的语音信号转化为音频数据,并显示频域时域特征

ysound_1 = getaudiodata(ysound); %获取录音数据

plot(ysound_1); %做录音数据的时域图形

title(‘原始语音信号时