科协近期大事汇总
1. 9月28日晚,硬件人才计划顺利验收。
2. 9月28日下午,仪器设计大赛综合组交流。
3. 五系联合实验室参观筹办中,预计第六第七周举办
4. 仪器设计大赛新生组开发稳步进行。
Matlab是一个功能非常强大的数学软件,在之前的科协五分钟中,我们曾学习过如何利用Matlab演奏歌曲。
本期的科协五分钟,我们将进一步学习,利用Matlab中的Signal Analyzer工具包对我们生成的音频进行分析和处理(信号处理的预习与复习)
![ea9b341d5485c7c87cac8d6d1fd656fb.gif](https://img-blog.csdnimg.cn/img_convert/ea9b341d5485c7c87cac8d6d1fd656fb.gif)
在介绍这个有用的工具包之前,我们先来了解下几个可能会让人脑阔疼的名词——
傅里叶分析
(一听名字就知道这是谁的“专利”)
很多人都可能会谈“傅”色变,对其敬而远之,但不得不说,没有傅里叶分析,信号的分析处理就无从谈起。为了逐步理解傅里叶分析是一个什么神仙理论,我们先从简单的周期函数看起——
![ef7d75ea77ab52624bbc5e4d5a286b10.png](https://img-blog.csdnimg.cn/img_convert/ef7d75ea77ab52624bbc5e4d5a286b10.png)
傅里叶同学告诉我们——“任何周期函数,都可以看作是不同振幅,不同角频率、不同相位三角函数的叠加。”
![f13ebb3ee08418c6a5960cbe7c2f0e36.gif](https://img-blog.csdnimg.cn/img_convert/f13ebb3ee08418c6a5960cbe7c2f0e36.gif)
这句话用数学语言来讲,周期函数f(x):
![65a36055a58cb1eec7e16e32d99a456a.png](https://img-blog.csdnimg.cn/img_convert/65a36055a58cb1eec7e16e32d99a456a.png)
![dac987ac3f6c6fc40b18979d4c12b797.png](https://img-blog.csdnimg.cn/img_convert/dac987ac3f6c6fc40b18979d4c12b797.png)
这就是所谓的傅里叶级数展开(微积分A2)
而对于复杂的非周期函数呢?
不用担心,傅里叶大师还给了我们另一个工具——
· 傅里叶变换
![bc9b20e467373cfbd15c9bf50632dd84.png](https://img-blog.csdnimg.cn/img_convert/bc9b20e467373cfbd15c9bf50632dd84.png)
(傅里叶分析就是在傅里叶级数和傅里叶变换上的研究和扩展)
值得一提的是,傅里叶分析不仅仅是一个数学工具,更是一种可以彻底颠覆一个人以前世界观的思维模式。现在有了傅里叶的这两个锦囊,我们就有能力对已知的信号函数进行转化,再以不同的角频率作为自变量后,我们就会发现傅里叶为我们开辟出的一个时间之外的,全新的世界——频域。
· 时域与频域
时域我们很好理解,它就是以时间为自变量对事物进行描述,我们可以凭此得到一个函数图像f(t),而经过傅里叶分析后,这个f(t)就能被转化成若干个不同角频率的三角函数的叠加-F(w)
我们以这些三角函数的角频率作为横坐标,以振幅作为纵坐标,这样我们就得到了在频域范围下f(t)的频谱图F(w),由此,f(t)便以另一种方式F(w)被确定下来。
例如下面的一个近似方波的信号图像:
【下图中黑色部分为f(t),彩色部分为叠加的一个个三角函数】
![08a879ac4e96c2c6a9ba51a7e4bf225b.png](https://img-blog.csdnimg.cn/img_convert/08a879ac4e96c2c6a9ba51a7e4bf225b.png)
如果想将F(w)还原回f(t),只需要经过一次傅里叶逆变换即可
![a5b9429554e09526e0cefffaef583c98.gif](https://img-blog.csdnimg.cn/img_convert/a5b9429554e09526e0cefffaef583c98.gif)
了解(复习)基础知识后,下面进入实操环节
![5c1514cbaac36d6bab155ff5cad59f8a.gif](https://img-blog.csdnimg.cn/img_convert/5c1514cbaac36d6bab155ff5cad59f8a.gif)
首先,我们用一段代码生成一段简单的音乐。
![4b074ffad98c989a0e9a8074acc21ee9.png](https://img-blog.csdnimg.cn/img_convert/4b074ffad98c989a0e9a8074acc21ee9.png)
附上参考代码:
fs = 2e3;
t = 0:1/fs:0.3-1/fs;
l = [0 130.81 146.83 164.81 174.61 196.00 220 246.94];
m = [0 261.63 293.66 329.63 349.23 392.00 440 493.88];
h = [0 523.25 587.33 659.25 698.46 783.99 880 987.77];
note = @(f,g) [1 1 1]*sin(2*pi*[l(g) m(g) h(f)]'.*t);
mel = [3 2 1 2 3 3 3 0 2 2 2 0 3 5 5 0 3 2 1 2 3 3 3 3 2 2 3 2 1]+1;
acc = [3 0 5 0 3 0 3 3 2 0 2 2 3 0 5 5 3 0 5 0 3 3 3 0 2 2 3 0 1]+1;
song = [];
for kj = 1:length(mel)
song = [song note(mel(kj),acc(kj)) zeros(1,0.01*fs)];
end
song = song'/(max(abs(song))+0.1);
sound(song,fs)
tune = timetable(seconds((0:length(song)-1)'/fs),song);
(Matlab乐曲演奏传送门,轻点传送)
![b6400f4823f40c88accc57198db92ec5.png](https://img-blog.csdnimg.cn/img_convert/b6400f4823f40c88accc57198db92ec5.png)
然后,让我们点击APP→Signal Analyzer
进入界面后,可以使用Time、Spectrum、Spectrogram三个函数对音频进行分析——
Time函数:根据音频生成时域图像,横轴表示时间,纵轴表示功率;
Spectrum函数:生成频域图像(功率谱),横轴表示频率,纵轴表示功率,在这里可以看到是哪几个频率占据了信号的主导;
Spectrogram函数:能实现短时傅里叶分析,简单地说就是在一个短期局部时间内进行频率成分估计,颜色越浅,表明该频率对应的功率越大,也就是该音符所占成分越大——所以,Spectrogram可以理解成是一张“五线谱”图。下图中,黄色部分为功率较高的部分。
![9aa0894db042dffc03f8ba6ab30128c1.png](https://img-blog.csdnimg.cn/img_convert/9aa0894db042dffc03f8ba6ab30128c1.png)
此外,我们还可以使用工具包内的滤波器(Filter Signal)
我们将音频复制三份,命名为high、medium、low三个声部,分别使用高通滤波器(highpass,使高频信号得以通过,而低频信号被衰减)、带通滤波器(bandpass)、低通滤波器(lowpass)三种滤波器进行处理。
例如,在分离中声部时,我们选中Bandpass,设置截止频率(230-450Hz),就可以对230Hz~450Hz区间以外的频率部分进行滤除,也就从频域去除了其他两个声部的声音(红色部分)。
![486d802c4035c4b951152ef12db625f2.png](https://img-blog.csdnimg.cn/img_convert/486d802c4035c4b951152ef12db625f2.png)
![3a3a7389f5d0d1ea81a2466f953c3900.png](https://img-blog.csdnimg.cn/img_convert/3a3a7389f5d0d1ea81a2466f953c3900.png)
为了更加直观地看到滤波器的效果,我们把经过滤波的音频文件导出为另一个mat文件(这是一个matlab储存数据用的文件),再在Matlab工作区加载这个文件,再用sound函数进行播放就听到三个声部分别的声音了。
附上参考代码:
load marry_music
sound(low.Var1,fs);
![bff7fea6d6dd1896e0b6c6054b696d54.png](https://img-blog.csdnimg.cn/img_convert/bff7fea6d6dd1896e0b6c6054b696d54.png)
![bf2dc2d8b069fd058194a654f78e9565.gif](https://img-blog.csdnimg.cn/img_convert/bf2dc2d8b069fd058194a654f78e9565.gif)
文案:李豪汉,李苇杭
排版:李豪汉,李苇杭
审核:滕峻池,林逸晗
![f358a1a4690f8fc518e2a3c7e0728bdb.png](https://img-blog.csdnimg.cn/img_convert/f358a1a4690f8fc518e2a3c7e0728bdb.png)