您当前的位置: 首页 >  matlab

川川菜鸟

暂无认证

  • 4浏览

    0关注

    969博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

matlab快速入门(18):项目 音频频率

川川菜鸟 发布时间:2021-07-30 02:25:00 ,浏览量:4

介绍:

 

 (1)C 和弦录音存储在一个名为 Cchord.mat 的文件中。此文件包含两个变量:

  • y:录音信号
  • fs:采样频率

此任务使用 numel 函数返回数组中的元素数目。

任务:加载文件  Cchord.mat。创建一个名为  n 的变量,表示  y 中的元素数目。然后使用  n 创建等间距向量  t,该向量以  0 开头,以  n-1 结尾,元素之间的间距为  1

 (2)t 现在有正确的点数,但它需要表示音频信号的采样时间。您可以使用采样频率 fs 将向量转换为时间(以秒为单位)。

任务:将  t 除以  fs。将输出赋给同一个变量  t。然后绘制  y 对  t 的图。

 (3)在绘图中,请注意 y 是周期性的,但它不是简单的正弦波。它由具有不同频率的多个正弦波组成。傅里叶变换将返回信号的频谱信息。主频的位置将显示和弦中包含的音符。

可以使用 fft 函数来计算向量的离散傅里叶变换。

fft(y)

fft 的输出值为复数。您可以使用 abs 函数来获得幅值。

任务: 创建一个名为 yfft 的变量,表示 y 的离散傅里叶变换的绝对值。

 (4)在任务 1 和 2 中,您已计算了信号 y 的时间向量 t。同样,您需要为您的 FFT 向量 yfft 计算频率向量 f

任务: 创建等间距向量 f,该向量以 0 开头,以 n-1 结尾,元素之间的间距为 1

 (5)向量 f 现在包含 n 个点。要将这些点转换为频率,您可以将整个向量乘以采样频率 (fs),然后除以点数 (n)。f 将包含从 0 到 fs 的频率。主频位于 f 的开头位置。您可以使用 xlim 函数放大所关注的区域。

xlim([xmin xmax])
任务: 将 f 乘以 fs/n。将输出赋给同一个变量 f。 使用 x 的限值 0 和 1000 绘制 yfft 对 f 的图

关注
打赏
1665165634
查看更多评论
立即登录/注册

微信扫码登录

0.3380s