• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

matlab·练习·信号的分离提取

武飞扬头像
巫思
帮助2

matlab·练习·信号的分离提取

一、题目内容

众所周知,人说话的语速有快有慢,这个快慢的变化表现在语音信号上,也就是频率的变化。现要求采集一段语音信号,求出该语音信号的频率,并实现语音信号的快慢变化。采集方式不限,实现方法不限。

二、算法概述
采用傅里叶变换,从时域转至频域,最大点便是所要频率。

%bigwork3%
t=0:0.001:0.6;
w=2*pi*150;
x=2*sin(w*t) 4*sin(w*t pi/4) 6*sin(w*t pi/3);
s=x 10*randn(1,length(t));
F=fft(s,512);
P=F.*conj(F)/512;%计算功率谱密度
f=1000*(0:255)/512;
plot(f,P(1:256))
[P1,F1]=max(P(1:256));为最大值在矩阵中的位置
F2=(F1-1)*1000/512%代入f表达式中,得到所要频率值

三、运算结果
学新通

学新通
四、学习收获
巩固了傅里叶变换的操作方法,掌握了寻找二维图像函数最大点的方法,从而能够做到信号的分离提取。在实操过程中,对matlab的特殊函数表达式不了解,导致浪费了很多时间在瞎捣鼓,最后上网浏览他人的代码,提高自己对代码的理解,然后再自己去写代码。
这让我明白一点,写代码前要先懂代码。

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhieabcc
系列文章
更多 icon
同类精品
更多 icon
继续加载