- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
matlab课程设计 基于MATLAB的回波信号的产生与消除
数字信号处理课程设计
题目:基于MATLAB的回波信号的产生与消除
课程:MATLAB课程设计
姓名:
学号:
摘要
在这个课程设计中,利用matlab采集一段语音,在这段语音的基础上,加入一定延时和衰减的回音,最后消去回音并且测出延时时间来计算障碍物距离
正文
①设计目的与要求
采集语音:采集一段语音,绘制其时域波形,对此音频信号用FFT作谱分析。
加入回声:对采集的语音进行处理,加入一段回声,并绘制其时域波形,对其进行FFT频谱分析,绘制频谱图。
从带有回声的声音信号中恢复原信号:设计合适的滤波器,对带有回声的声音信号进行滤波,恢复原信号。绘制所设计滤波器的幅频和相频特性,及滤波后的信号的时域波形和频谱图。
从带有回声的声音信号中估计反射物的距离:采用相关分析法从带有回声的声音信号中估计反射物的距离。
②具体内容及原理
(1)语音采集
利用matlab采集一段语音并保存,代码如下
fs=8000;
x=wavrecord(3*fs,fs,double);
wavplay(x,fs);
wavwrite(x,原始信号); //存储音频:原始信号
(2)原始信号的时域波形,FFT频谱分析
代码如下
subplot(3,1,1);
plot(x); grid on;
xlabel(时间); ylabel(幅值); title(原始信号时域波形);
subplot(3,1,2);
wx=fft(x);
f=(0:3*fs-1)*fs/(3*fs);
plot(f,abs(wx)); grid on;
xlabel(频率); ylabel(幅值); title(幅频特性);
subplot(3,1,3);
plot(f,angle(wx)); grid on;
xlabel(频率); ylabel(相位) ;title(相频特性);
图如下:
(3)加入回声
在已有声音信号x的基础上产生带回声的声音信号,可以表达为在原信号的基础上叠加其延时衰减的分量。假设只有一个回声的情况下,可简化其模型为:
y(n)=x(n)+ax(n-N)
a为反射系数;N为延迟时间。
在这里,取a=0.5,N=2400(即0.3秒的延时)
下面则加入回声且保存
代码如下:
N=2400;
y=[x;zeros(N,1)]+0.5*[zeros(N,1);x];
wavwrite(y,加回声后的信号);
加回声后信号附件(双击打开):
(4) 加回声后信号的时域波形,FFT频谱分析
代码如下:
subplot(3,1,1);
plot(y); grid on;
xlabel(时间); ylabel(幅值); title(加回声后信号时域波形);
subplot(3,1,2);
wy=fft(y);
f=(0:3*fs+N-1)*fs/(3*fs+N);
plot(f,abs(wy)); grid on;
xlabel(频率); ylabel(幅值); title(幅频特性);
subplot(3,1,3);
plot(f,angle(wy)); grid on;
xlabel(频率); ylabel(相位) ;title(相频特性);
图如下:
(5) 从带有回声的声音信号中恢复原信号且估计反射物的距离
这里把信号的恢复和反射物距离的估计放到一起是基于这么一种考虑,说明如下:
在回声产生的过程中,用到了:y(n)=x(n)+ax(n-N),用的a=0.5,N=2400。然而现在要从加回声后的信号中恢复原信号,应该是在这么一种前提下,即“只有y(n)已知,其他都是未知的”。就是说,要假设我们并不知道原信号,且a与N都是未知的,这就给信号的恢复带来了困难,如果直接用y(n)=x(n)+0.5*x(n-2400)是不合理的。这个时候就要用到对反射物距离的估计的过程,在这个过程中利用相关分析法可以估算出N的值,利用N来算反射物的距离,求得N,则可以进一步求得a,具体方法和原理如下:
如何求N
利用自相关函数xcorr来估计N,对于信号x(n),其长度为N,其求得的自相关函数为
r(m)=,其中m的范围为-(N-1)到N-1,而且显然是左右对称的。下面是一个简单例子
运行代码
xcorr([1 2 3])
结果如下
ans =
3.0000 8.0000 14.0000 8.0000 3.0000
自相关函数是对函数本身在两个时刻t1,t2的相关程度的一种衡量标准,对于加回声后信号y(n)=x(n)+ax(n-N),y(n)是由x(n)与它的一个衰减延时ax(n-N)叠加而成,因为相关函数是函数本身相关程度的一种衡量,可以看到,y(n)的自相关函数将出现几个极值点,自相关函数为r(m)=,对于y(n)极值点应该出现
您可能关注的文档
- GRE作文全称为Analytical Writing Assessment费.doc
- HACCP计划验证程序.doc
- HBC系列车载式混凝土输送泵.pptx
- HDPE PVC管材挤出加工技术.ppt
- high voltage engineering fundamentals e kuffel高压工程基础英文原版电气工程教材教程.doc
- Hetin《IT专业学位论文毕业答辩报告PPT》.ppt
- Henry David Thoreau Walden – What I Lived for.ppt
- HOW DOES THE AUTHOR ORGANIZE THE TEXT …作者是如何组织的文本—….ppt
- Homer Simpson on Language Charleston County ….ppt
- HR 专业英语词汇及高级人力资源管理师专业词汇.doc
文档评论(0)