工程信号及系统大作业文字.docx
- 文档编号:30042684
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:8
- 大小:110.22KB
工程信号及系统大作业文字.docx
《工程信号及系统大作业文字.docx》由会员分享,可在线阅读,更多相关《工程信号及系统大作业文字.docx(8页珍藏版)》请在冰豆网上搜索。
工程信号及系统大作业文字
工程信号与系统
大作业
——音频信号频谱分析比较
学院:
电子工程学院班级:
1402018姓名:
杨宁学号:
14020181051
1、大作业要求:
以下的内容,给出过程描述,原理分析,数据图表及分析。
1录制自己一段语音,分析其频谱特点。
2录制一段自己唱的歌曲,并与歌星唱的相同歌曲作频谱分析的比较(背景唱的去除)。
二、Matlab处理音频信号及歌曲背景音乐的去除
1.设计方案:
语音波形图是语音信号的时域分析,将语音信号记录成时域波形。
语音信号首先是一个时间序列,进行语音分析时,最直观的就是它的时域波形。
通过计算机的采样的量化,直接将语音波形显示出来。
利用MATLAB中的wavread命令来读入(采集)语音信号,将它赋值给某一向量。
再将该向量看作一个普通的信号,对其进行FFT变换实现频谱分析。
利用matlab简单的函数可以完成对自己声音的录制,保存,利用第二个任务用到的程序可以完成对其频谱图的绘制。
对于歌手所唱歌曲背景音乐的去除,用AdobeAudition软件来实现。
具体步骤如下:
【第一步】打开AA,切换到多轨模式,选择“插入”栏下的“提取视频中的音频”,或者直接右键单击轨道,选择“插入”→“提取音频”,选择你要消声的音频片段。
【第二步】切换到单轨模式。
【第三步】选中一段没有人声的纯背景音乐部分,然后点击工具栏中的“效果”→“修复”→“降噪器(进程)。
【第四步】选择降噪器界面内的“获取特性”,就会自动获取噪音特性,然后就会出现这个界面
【第五步】取消选定特定区域,或者全部选中你要消除背景音乐的区域,再通过点击“效果”→“修复”→“降噪器(进程)”,此时又会出现降噪器界面了,这时候要注意界面内的“降噪级别”这一栏。
【第六步】全部调整好了之后,你就可以把它另存为了。
2.自己声音信号的获取:
利用录音机录下自己一段话音,并用格式工厂转化成wav格式音频,放入目标文件夹方便调用。
3.音频信号读入和播放
可支持两种格式的输入输出:
NeST/SUN(后缀为“.au”)和MicrosoftWAV文件(后缀为“.wav”)。
本文采用的是WAV声音文件]。
wavread用于读取Microsoft的扩展名为“.wav”的声音文件,其调用格式如下:
y=wavread(file)
其作用是从字符串file所指定的文件路径读取wave文件,将读取的采样数据送到y中。
若file中无“.wav”扩展名,则该命令自动将指定文件名后加上“.wav”扩展名。
[y,fs,nbits]=wavread(file);
其作用是返回采样率和每个采样的比特数。
4.MATLAB实现音频信号的频谱分析及可视化
a.对音频信号进行频谱分析要调用fft(快速傅立叶变换),调用格式:
y=fft(x);
y=fft(x)利用FFT算法计算矢量x的离散傅立叶变换,当x为矩阵时,y为矩阵x的每一列的FFT。
当x的长度为2的冥次方时,则fft采用基-2FFT算法,否则采用稍慢的混合基算法。
实现幅度响应要调用求绝对值或幅值函数,调用格式:
m=abs(h);
b.频谱可视化要调用plot函数,调用格式:
plot(x)
用mean和var函数可求得信号均值和方差。
三、程序设计:
1.用matlab录取自己的声音并绘制数据波形及频谱图
[x1,Fs,bits]=wavread('H:
\信号音频\huayin.wav');
subplot(211);
plot(x1);
title('我的话音信号');
xlabel('时间 n');
ylabel('音量 n');
y1=fft(x1);
y1=fftshift(y1);
c1 = Fs/length(x1);
subplot(212);
plot([-Fs/2:
c1:
Fs/2-c1],abs(y1));
title('我的话音信号频谱');
结果如图一所示:
图一
2.我的语音信号及频谱分析程序
[x1,Fs,bits]=wavread('H:
信号音频\杨宁.wav');
subplot(211);
plot(x1);
title('杨宁的歌曲信号');
xlabel('时间 n');
ylabel('音量 n');
y1=fft(x1);
y1=fftshift(y1);
c1 = Fs/length(x1);
subplot(212);
plot([-Fs/2:
c1:
Fs/2-c1],abs(y1));
title('杨宁的歌曲信号的频谱');
结果如图二:
图二
3.歌手的语音信号及频谱分析程序
[x1,Fs,bits]=wavread('H:
信号音频\chenyixun.wav');
subplot(211);
plot(x1);
title('歌手的歌曲信号');
xlabel('时间 n');
ylabel('音量 n');
y1=fft(x1);
y1=fftshift(y1);
c1 = Fs/length(x1);
subplot(212);
plot([-Fs/2:
c1:
Fs/2-c1],abs(y1));
title('陈奕迅的歌曲信号的频谱');
结果如图三:
图三
4.三个音频的均值及方差:
[x,fs,bits]=wavread('H:
\信号音频\huayin.wav');
[x,fs,bits]=wavread('H:
信号音频\杨宁.wav');%将杨宁.wav打开
[y,fs,bits]=wavread('H:
信号音频\chenyixun.wav');%将chenyixun.wav打开
M=mean(x)
V1=var(x)
M1=mean(x)%计算录制歌曲的平均值
V1=var(x)%计算录制歌曲的方差
M2=mean(y)%计算原版歌曲的平均值
V2=var(x)%计算原版歌曲的方差
M=1.0e-004*0.8307
V1=0.0018
M1=1.0e-004*-0.2025
V1=0.0070
M2=1.0e-004*-0.1936
V2=0.0070
四、分析自己声音的音频特性,分析比较自己语音和歌手语音的特性:
基于我们对频谱图的了解,横坐标代表频率,指信号带宽集中的频率范围,纵坐标代表语音信号的幅度。
对音频信号进行频谱分析要调用fft(快速傅立叶变换),它将信号从时域变换到了频域,但是不能分析局部信号,不具备时间局部化的能力,也就是说,对于傅里叶谱中的某一频率,不知道这个频率的信号是什么时候产生的,从信号中提取频谱信息必须考虑信号在整个时间范围内的分布,信号在小范围的变化可能导致整个频谱的大变化。
语音波形图横坐标是时间,纵坐标代表的是振幅。
通过观察可以发现,波形图当中部分位置振幅较小,能量很弱,为无声段;有语音的那部分位置振幅明显较高,表示语音信号的能量较强;而其余部分振幅较小,且杂乱无章,表现为噪音部分。
图一是我录的话音的频谱图,因为我说的话是“信号与系统”这五个字,说的时间较短,因此波形图中的图像比较集中,发音部分的振幅变化也不大,说明自己声音强度变化不大,语音频率范围约为0-5000Hz,2000Hz以内振幅较大,最大振幅差不多出现在1000Hz。
。
图二图三分别是我清唱的陈奕迅的歌的频谱图以及他本人唱的歌的频谱图,语音频率范围基本都是约为0-5000Hz,2000Hz以内振幅较大,最大振幅差不多出现在1000Hz。
通过以上两图可以直观的看出我唱的歌基本上还是可以的,就是某些极个别的音唱不准。
由信号频谱图可以看出我唱的高音部分很显然是唱的不如陈奕迅(歌手)的,所以还需要在唱高音部分的时候把调唱上去。
最后,通过均值的对比可以看出,我的对声音音量的把握不如陈奕迅(歌手),因为有部分的音量比他大所以导致最后计算出的均值要比他的大。
五、结论:
这次大作业课题的特色在于它将语音看作了一个向量,于是将语音数字化了,则可以完全利用数字信号处理的知识来解决。
我们可以像给一般信号做频谱分析一样,来给语音信号做频谱分析。
虽然在这次大作业的完成过程之中遇到了许多困难,但是我还是能在查阅书本知识和在同学的帮助之下将困难解决的。
虽然这次大作业只是一些简单的应用,但最让我受益匪浅的是将自己学习的书本上的内容应用于实际之中。
可能我们现在接触的只是皮毛,但是我收获了许多,加深了我对频谱的有关知识的了解,而且使我对频谱的应用有了进一步的了解,同时也让我对matlab的应用变得更自如。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工程 信号 系统 作业 文字