综合训练项目1报告

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2016-2017学年(1)学期

信号与系统综合训练项目报告1

班级电气

姓名

学号________________

指导教师________________

一、目的

(1)掌握用matlab对常用信号进行频谱分析的程序和方法;

(2)加深对FFT和DFT基本原理的理解,能够应用FFT分析信号频谱并分析结果。

二、思路

1、找到学习资料中wav格式的音频文件,然后将音频导入MATLAB,对原始音频进行FFT变换,利用图形窗口subplot函数将figure(1)分成3个绘图区,分别用plot函数将原始音频的原始信号,幅值和相位在figure(1)上输出,最后利用sound命令把原始音频文件输出。

2、使原始信号产生4000的时延,x2的回音衰减系数为0.4,然后将x1和x2叠加赋值给y,y即为回声信号。

3、利用filter函数建立一个一维差分方程,最后反求出原始信号,即滤波后的信号。

三、步骤

1、将音频文件‘emotion.wav’导入matlab程序的文件夹

2、分析原始信号

对原始音频进行FFT变换,利用图形窗口subplot函数将figure(1)分成3个

图区,分别用plot函数将原始音频的原始信号,幅值和相位在figure(1)上输出。程序如下:

[x,fs]=audioread(emotion.wav');

N=length(x); x1=x(1:N);

x2=x(1:N);

x1=[x1,zeros(1,4000)];

x2=[zeros(1,3200),0.4*x2,zeros(1,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);

sound(x,fs);

图像:

图1-1原始信号分析图

3、产生回声信号

4000的时延,x2的回音衰减系数为0.4,然后将x1和x2叠加赋值给y,y

即为回声信号。

程序如下:

[x,fs]=audioread('emotion.wav');

N=length(x); x1=x(1:N);

x2=x(1:N);

x1=[x1,zeros(1,4000)];

x2=[zeros(1,3200),0.4*x2,zeros(1,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);

图像:

图1-2回声信号分析图4、消除回声信号(滤波)

对带有回声的声音信号进行滤波,恢复出原始信号

程序如下:

[x,fs]=audioread('emotion.wav');

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)];

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);

plot(abs(z1));

title('滤波后信号的幅值');

sound(z1,fs);

图像:

图1-3滤波信号与原始信号和加回声信号对比加回声后的信号变长,幅度变大,滤波后的信号幅度与原始信号幅度相等。

四、总结

通过这次综合训练我们学会了如何利用MATLAB软件给音频加回声,如何滤除回声,同时对MATLAB的功能有了进一步的了解,又对FFT有了进一步的认知,这让我们能够进一步掌握所学的知识并对其实践应用有了更深的理解。在整个过程中我们遇到许多问题,但大家没有放弃,互相探讨,研究,寻找问题产生的原因,最终解决了问题。

五、参考文献

(1)李敏编,《MATLAB与信号与系统实验指导书》,2013;

(2)梁虹等,《信号与系统分析及MATLAB实现》,电子工业出版社,2002 (3)赵光宙编《信号分析与处理》第2版,机械工业出版社,2006

(4)刘树棠译《数字信号处理——使用MATLAB》西安:西安交通大学出版社,2002

(5)程佩青.数字信号处理教程[M].北京:清华大学出版社,2002.

相关文档
最新文档