用matlab编程_1

网上有关“用matlab编程”话题很是火热 ,小编也是针对用matlab编程寻找了一些与之相关的一些信息进行分析 ,如果能碰巧解决你现在面临的问题,希望能够帮助到您。

用MATLAB 实现傅里叶变换:

用户任意输入一个函数,然后 ,输出函数的傅里叶变换函数,然后输出振幅频率  。

x=sin(2*pi*t); %任意输入一个函数 。

y=fft(x); %傅里叶变换函数。

plot(abs(y)); %振幅频率。

函数(function)表示每个输入值对应唯一输出值的一种对应关系 。这种关系使一个集合里的每一个元素对应到另一个(可能相同的)集合里的唯一元素。函数f中对应输入值的输出值x的标准符号为f(x)。包含某个函数所有的输入值的集合被称作这个函数的定义域,包含所有的输出值的集合被称作值域 。若先定义映射的概念 ,可以简单定义函数为,定义在非空数集之间的映射称为函数。

傅里叶变换能将满足一定条件的某个函数表示成三角函数(正弦和/或余弦函数)或者它们的积分的线性组合。在不同的研究领域,傅里叶变换具有多种不同的变体形式 ,如连续傅里叶变换和离散傅里叶变换 。

问题一,从原理上讲,应该原始信号的y值是啥单位fft后的单位也是啥 ,原始信号的y值表示是啥fft后的y值也是啥。

问题二,对于一个标准的信号,如sin ,cos等 ,是很好找出规律的,除了第一个点的直流分量的幅值是点数N倍的关系,其它的频率的幅值就是原始信号峰值的N/2倍。但对于一个实际非平稳信号 ,你即使知道这个关系也没办法印证,拿你第二幅图来说假使你知道了某个频率值是30hz,然后在图中找到了其对应的幅度值 ,然后除以点数N的一半,你就算出30hz对应的时域的原始信号的幅值,那么你在原始信号图中怎么找到这个30hz的信号的部分 ,并得到它的幅值进行验证这个N/2倍的关系?

原始信号是很多频率成分的叠加,我们通常是用第二幅图中的频率和幅值还有相位谱图,计算得到一个由多个形如“时域幅值×sin(2pi×某频率+相角) ”相叠加的信号 ,用这个信号去无限地逼近原始信号,如果这些项足够多地话,用这些规则的函数描述和代替原始信号 ,这样就方便研究一个看上去毫无规则的实际信号 ,也是fft最核心和本质的实际意义 。但这在实际应用中并不容易,主要是多个频率成分的叠加你就很难分开了,合在一起的信号在时域又没有一点频域的信息 ,你要频域信息就得做fft,而做完fft又没有时域信息,你就没法比较一个实际信号的时域幅值和频域幅值的关系了。多是用频域的幅值倒推时域的幅值 ,而且这时域幅值还没法和原始信号对应验证,因为你不知道这时域的幅值在原始信号中的位置,你咋对比验证呢?所以后来才研究出了小波分析这种东西。所以你所说的“但我求的好像不对 ”是如何得出的 ,真的很费解哦!

关于“用matlab编程”这个话题的介绍,今天小编就给大家分享完了,如果对你有所帮助请保持对本站的关注!

(58)

猜你喜欢

发表回复

本站作者才能评论

评论列表(3条)

  • 怦然心动的头像
    怦然心动 2025年12月28日

    我是乐信号的签约作者“怦然心动”

  • 怦然心动
    怦然心动 2025年12月28日

    本文概览:网上有关“用matlab编程”话题很是火热,小编也是针对用matlab编程寻找了一些与之相关的一些信息进行分析,如果能碰巧解决你现在面临的问题,希望能够帮助到您。用MATLAB...

  • 怦然心动
    用户122806 2025年12月28日

    文章不错《用matlab编程_1》内容很有帮助

联系我们:

邮件:乐信号@gmail.com

工作时间:周一至周五,9:30-17:30,节假日休息

关注微信