matlab怎样实现离散数据的傅里叶变换?

步长为75khz,一共有395个离散数据.麻烦给个相关程序代码!急用,在线等,麻烦大家了... 步长为75khz,一共有395个离散数据.麻烦给个相关程序代码!
急用,在线等,麻烦大家了
展开
 我来答
杨好巨蟹座
2015-10-21 · TA获得超过5万个赞
知道大有可为答主
回答量:6197
采纳率:80%
帮助的人:1259万
展开全部
1.有些信号在时域上是很难看出什么特征的,但是如果变换到频域之后,就很容易看出特征(频率,幅值,初相位);

2.FFT可以将一个信号的频谱提取出来,进行频谱分析,为后续滤波准备;

3.通过对一个系统的输入信号和输出信号进行快速傅里叶变换后,两者进行对比,对系统可以有一个初步认识。

假设采样频率Fs,信号频率F,信号长度L,采样点数N。那么FFT之后结果就是一个为N点的复数。每一个点就对应着一个频率点。这个点的模值,就是该频率值下的幅度特性。

具体跟原始信号的幅度有什么关系呢?

1.
假设原始信号的峰值为A,那么FFT的结果的每个点(除了第一个点直流分量之外)的模值就是A的N/2倍,而第一个点就是直流分量(即0Hz),它的模值是直流分量的N倍;

2.
每个点的相位呢,就是在该频率下的信号的相位。第一个点表示直流分量,它的相位是该频率的初相位,matlab以cos为底的,若信号时正弦形式sin(t),则变成cos(t-pi/2)即可。

采样频率Fs,被N-1个点平均分成N等份,每个点的频率依次增加。为了方便进行FFT运算,通常N取大于信号长度L的2的整数次方。

例如某点n所表示的频率为:Fn=(n-1)*Fs/N。由上面的公式可以看出,Fn所能分辨到频率为为Fs/N。如果采样频率Fs为1024Hz,采样点数为1024点,则可以分辨到1Hz。

1024Hz的采样率采样1024点,刚好是1秒,也就是说,采样1秒时间的信号并做FFT,则结果可以分析到1Hz。如果采样2秒时间的信号,则N为2048,并做FFT,则结果可以分析到0.5Hz。

如果要提高频率分辨力,则必须增加采样点数,也即采样时间。频率分辨率和采样时间是倒数关系。

假设FFT之后某点n用复数a+bi表示,该复数的模就是An=sqrt(a*a+b*b),相位就是Pn=atan2(b,a)。根据以上的结果,就可以计算出n点(n≠1,且n<=N/2)对应的信号的表达式为:An/(N/2)*cos(2*pi*Fn*t+Pn),即2*An/N*cos(2*pi*Fn*t+Pn);对于n=1点的信号,是直流分量,幅度即为A1/N。

由于FFT结果的对称性,通常我们只使用前半部分的结果,即小于采样频率一半的结果。
百度网友7d7ebc3
2013-07-30 · TA获得超过531个赞
知道小有建树答主
回答量:630
采纳率:50%
帮助的人:597万
展开全部
实际上离散数据变换太慢了,一般采用fft函数,速度快,而且效果差不多,你不给数据如何写代码
追问
能否留下Q,数据太多,不好弄,谢谢了!
追答
183367852
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秒懂百科
2020-12-27 · TA获得超过5.9万个赞
知道大有可为答主
回答量:25.3万
采纳率:88%
帮助的人:1.2亿
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式