全站数据
8 4 2 0 5 8 1

如何应用matlab进行fft分析

叽里呱啦玩英语 | 简单学习,快乐成才!         
问题更新日期:2024-10-13 04:37:46

问题描述

如何应用matlab进行fft分析,在线求解答
精选答案
最佳答案

这几天我在帮师兄做傅里叶分析,就是从示波器踩过来的数据,保存在excel文件中。用matlab读取,进行fft运算。大概通过几天的学习dft,了解到如果你拿来一个向量,N个点。进行fft后结果当然也是N个点。但是这些点的频率你是无法得知的。因为你没有交代着N个点的时间长度。

以我最近帮师兄做的工作为例。示波器对300HZ电压进行采样,时长0.1s。那么也就是30个周波。由于示波器的采样频率很高,所得到的数据是50w个点。这仅仅是0.1s啊保存在exce结果通过matlab读取后,进行fft运算。结果也是50w 个点。于是问题来了,哪一个点是我要的300hz呢。答案是第31个点。为什么呢,因为matlab数组是从1开始,第一个点是直流分量。即0hz,那为什么第31点是300hz呢。因为时间长度是0.1s。那么这段信号进行fft的分辨率就是10hz。所以300hz就是 30+1的点。顺便说一句,matlab进行fft运算的结果,幅值要经过*2的运算才能得到真实值。n是采样点个数。还有,直流分量要再除以2,即第一个点虽然是直流 但是幅值是真实值的2倍。原理高数傅里叶级数讲过,已经喂狗。回答的不好,不对的地方请高手指正。