首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >求简单正弦波的频率(matlab)

求简单正弦波的频率(matlab)
EN

Stack Overflow用户
提问于 2013-10-27 04:24:32
回答 1查看 4K关注 0票数 0

我有一个相对干净的正弦信号(来自薄膜干涉)-两个数据向量:X轴(光路长度差)和Y轴(照明)。我想用傅里叶变换( matlab)找出正弦的频率。我该怎么做?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2013-10-27 06:52:37

首先你需要在你的信号中使用一个窗口(hamming,hann),现在你所需要的就是从前半个幅值平方数据中获得最大值,找到频率计算“采样率*最大索引/长度数据:

代码语言:javascript
复制
t  = [ 0 : 1 : 100000];          
f  = 200;        % F0 here           
Fs = 44100;                    
data = sin(2*pi*f/Fs*t)';  
data = data .* hanning(length(data));    
Y = fft(data);    
Mag=abs(Y(1:length(data)/2)).^2;    
[a,b]=max(Mag);    
% Result    
Fs*b/length(data)
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19611519

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档