《信号与系统》实验

您所在的位置:网站首页 matlab音乐代码儿歌 《信号与系统》实验

《信号与系统》实验

2023-12-04 05:15| 来源: 网络整理| 查看: 265

实验方案重难点技术.

 

1.基波频率和音高的推算 实现思路: 乐音是指发音物体有规律地振动而产生的具有固定音高的音。基波频率是指声音中使声音达到最强的特定的最低频率。音乐是基波频率和谐波频率合成的,从音乐中首先要准确提取出每个乐音的基波频率,以便推算其他各个乐音的相对的音高频率。 比如标准F调的do音基波频率是174.610Hz,按照十二平均律的算法112i+1i2 ff=×,7个乐音频率对应基波频率的倍数依次是:1、21/6、21/3、25/12、 27/12、23/4、211/12、2,即174.610Hz、195.993Hz、219.994Hz、233.076Hz、261.619Hz、293.657Hz、329.619Hz。

1.通过FFT得到频域波形.

相关原理:

利用傅里叶分析(DFT)可以对频率构成、频率宽度等特征进行分析。

因为计算机只能处理离散的有限 长的序列数据,所以计算机进行DFT时使用的输入值是N个具体的采样值,也就是时域的信号值,输 入采样点的数量N决定了转换的计算规模。

而快速傅里叶变换(FFT)是离 散傅里叶变换DFT的快速算法,可以加快计算机的处理速度。根据采样定理, FFT能分辨的最高频率为采样频率的一半(即Nyquist频率),函数FFT返回值是以Nyqusit 频率为轴对称的。我们通过截取结果中小于等于Nyquist频率的前一半图像,从而得到相关的频域波形。

实现代码:

 

实验效果:

 

可见,信号经过FFT后的频谱图可以采用N/2+1个点的信息, x 轴是对应于时间序列的频率序列, x 轴最大的频率是FS/2, y 轴是幅值,是FFT后所得复数的模。

2.回响效果.

相关原理:

回响的说明:即对音乐信号进行“延时”+“叠加”。

(注:人耳能分辨出的声音延迟至少是0.1s,因此,最小延迟量不能小于0.1s。)

具体步骤如下:

1).暂停当前音乐;

2).从下拉菜单中获取所需延迟的采样点数num;

3).利用矩阵置零产生延迟信号z;

4).将原始信号y与延迟信号z相加,得到回响信号;

5).继续当前播放。

实现代码:

 

3.基波频率和音高的推算 .

实现思路:

乐音是指发音物体有规律地振动而产生的具有固定音高的音。基波频率是指声音中使声音达到最强的特定的最低频率。音乐是基波频率和谐波频率合成的,从音乐中首先要准确提取出每个乐音的基波频率,以便推算其他各个乐音的相对的音高频率。

比如标准 F调的do音基波频率是174.61Hz, 按照十二平均律的算法fi+1=fi*2 (1/12),7个乐音频率对应基波频率的倍数依次是:1、21/6、21/3、25/12、 27/12、23/4、211/12、2,即174.610、195.993、219.994、233.076、261.619、293.657、329.619。

3.通过单音节频域特性求泛音列.

相关原理:

乐器的音高通常和谐波震荡有关。譬如弦乐器或管乐器可对空气震荡以产生声音,并且可同时以不同的频率震荡,以发出不同频率的声音。而根据驻波的原理可知这些频率大多数呈现倍数关系,而这些不同频率的声波即组成泛音列。

我们先对时域信号进行傅里叶变换,得出频域特性,再通过设置最高频率和开窗的宽度,得到各个N倍频的振幅,最后通过归一化得到该乐器的泛音列。

实现代码:

得到频域特性:

 

求泛音列:

 

实验效果:

(1)频域图形:

 

 

(2)所求泛音列:

 

4.回响效果 相关原理: 回响的说明:即对音乐信号进行“延时”+“叠加”。(注:人耳能分辨出的声音延迟至少是0.1s,因此,最小延迟量不能小于0.1s。) 1. 具体步骤如下: 2. 暂停当前音乐; 3. 从下拉菜单中获取所需延迟的采样点数num; 4. 利用矩阵置零产生延迟信号z; 5. 将原始信号y与延迟信号z相加,得到回响信号; 6. 继续当前播放。

 5.人声消除 相关原理: 首先,背景音乐一般是双声道的,也就是说两个声道的相关数据不同,而人声音频数据一部分是单声道的,也就是人声一部分音频数据平均分配到两个声道。根据这一点,我们可以使用声道数据作差抵消来达到一定的人声消除效果,而且对伴奏造成的影响也较小。 然后,我们可以利用MALAB的滤波器来进行人声频带的滤除进一步提升人声消除效果。而且可以轻松得到很高阶的滤波器。 涉及到的主要函数为fir1和filter。 fir1是基于窗口的滤波器函数,传入参数依次为滤波器阶数以及通带频率范围,返回滤波器系数,此处为了达到消除人声效果设计了相关的参数。 filter使用是y =filter(b,a,x) ,使用由分子和分母系数 b 和 a 定义的有理传递函数 对输入数据 x 进行一阶滤波,返回滤波后的音频数据。

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3