1、信号与系统课程设计信号与系统课程设计 课程名称:信号与系统 题目名称:回波的产生与消除系统设计 学 院: 专业班级:. 学 号:. 学生姓名:. 指导教师: 201.年 12 月 23 日 摘 要 MATLAB 语言具备高效、可及推理能力强等特点,是目前工程界流行最广泛的科 学计算语言。 信号与系统是一门理论与实践紧密结合的课程。MATLAB 强大的运算和图形 显示功能,可使信号与系统上机实验效率大大提高。特别是它的频谱分析和滤波 器分析与设计功能很强,使数字信号处理工作变得十分简单,直观。本实验就是 运用 MATLAB 对声音信号进行分析与滤波,并估计反射物距离。 关键词:MATLAB;声音
2、信号;回波产生,回波消除,估计反射物距离,频谱分 析;滤波器。 一一.设计要求设计要求 (1) 利用声音信号x产生带有回声的声音信号y。 (2) 从带有回声的信号y中消除回声。 (3) 从y中估计反射物的距离 二二. 设计内容和步骤设计内容和步骤 理论依据 根据设计要求分析系统功能,掌握设计中所需理论(采样频率、采样位数的 概念,采样定理;回声信号,卷积,相关分析;时域信号的 FFT 分析;数字滤波 器设计原理和方法)。 1、 声音信号声音信号 x 的产生:的产生: 声音信号 x, 既可以从现成的声音文件(.wav) 中获取; 也可以利用 MATLAB 录音命令现行录制(可自行设置采样频率等录
3、音参数)。 我们直接利用现成的声音文件(login.wav),绘制其时域波形,对此音频 信号用 FFT 作谱分析并播放。 声音信号 x 的产生程序与图形分析如下: x,fs=wavread(login); figure(1); subplot(3,1,1); plot(x(1:40000); title(原始信号); y=fft(x); subplot(3,1,2); plot(abs(y); title(幅值); subplot(3,1,3); plot(angle(y); title(相位); sound(x,fs); 图 1 2、 带回声的声音信号带回声的声音信号 y 产生:产生: 在已
4、有声音信号 x 的基础上产生带回声的声音信号,可以表达为在原信号的 基础上叠加其延时衰减的分量。假设只有一个回声的情况下,可简化其模型为: y(n)=x(n)+ax(n-N) (式 1) a 为反射系数;N 为延迟时间。利用此原理我们进行编程实现: (1) 在我们编程实现回波产生的基础上,再绘制其时域波形,对其进行 FFT 频谱分析,绘制频谱图并播放。 (2) 分别改变反射系数 a 和延迟时间 N 的大小,播放产生的回声信号 y,分 析反射系数 a 和延迟时间 N 对原始声音的影响。 (3) 按照以上思路,当有两个、三个或更多回声,我门这儿讨论三个回声时的 情况 (1)我们编程实现了一个回声信
5、号的声音信号 y,程序与图形分析如下(并播 放): 此处,N= , a=0.7 x,fs=wavread(login); x1=x(1:40000); x2=x(1:40000); x1=x1,zeros(1,18000); x2=zeros(1,18000),0.7*x2; y=x1+x2; figure(2); subplot(3,1,1); plot(y(1:58000); title(回声); y1=fft(y); subplot(3,1,2); plot(abs(y1); title(幅值); subplot(3,1,3); plot(angle(y1); title(相位); so
6、und(y,fs); 图 2 (2)1 保持 N 不变,改变 a 大小分析声音信号并播放:我们取 N= , a 从 0.1 到 1: 观察每个情况下声音信号的变化:回声信号的强度随着 a 的增大而变大 2 保持 a 不变, 改变 N 大小分析声音信号并播放: 我们取 a=0.7, N 从 10000 到 50000 观察每个情况下声音信号的变化:N 的值不能太大也不能太小,当 N 大于 40000 或小于 180000 时将当 N 在 18000 到 40000 这个范围内取值时,随着 N 的增大 回声与原来的声音信号之间的时间间隔越 (3)有三个回声的信号 y 的产生程序与图形分析如下: x,fs=wavread(login); x1=x(1:40000); x2=x(1:40000); x3=x(1:40000); x4=x(1:40000); x1=x1,zeros(1,18000); x2=zeros(