matlab fft()函数对一正弦函数频谱分析的困惑 10

我对一个在一段时间内频率为5M的10个周期的正弦波信号做fft,结果发现核心频率的最大值没有出现在5M位置处,不知道问题出在什么地方?希望大家帮忙!附上我的激励函数,和f... 我对一个在一段时间内频率为5M的10个周期的正弦波信号做fft,结果发现核心频率的最大值没有出现在5M位置处,不知道问题出在什么地方?希望大家帮忙!
附上我的激励函数,和fft分析程序
function [Vi,T]=Sin_Impulse()
t0=2E-6; % 10个周期
Vamp=1; % 电压幅值10V
f=5E6; % 脉冲5MHz
w=2*pi*f; % 角频率
index=1;
for t=0:(1E-9):1E-5;
if(t<=t0)
Vi(index)=Vamp*sin(w*t);
else
Vi(index)=0;
end

T(index)=t;
index=index+1;
plot(T,Vi);
end

>> Y=fft(Vi,512);
>> Pyy=Y.*conj(Y)/512;
>> f=1E8/512*(0:255);
>> plot(f,Pyy(1:256))
展开
 我来答
百度网友b9df065
2008-11-25 · TA获得超过1293个赞
知道小有建树答主
回答量:641
采纳率:0%
帮助的人:736万
展开全部
f=1E8/512*(0:255); 这个有问题的,采样频率为100M,即1E9
改为f=1E9/512*(0:255)即可;
另外你写的这个程序效率太低,改写了下
t0=2E-6; % 10个周期
Vamp=1; % 电压幅值10V
f=5E6; % 脉冲5MHz
w=2*pi*f; % 角频率
index=1;
t1=0:(1E-9):1E-5;
Vi = zeros(size(t1));
t=0:(1E-9):t0;
Vi(1:2001) = Vamp*sin(w*t);
plot(t1,Vi)

>> Y=fft(Vi,512);
>> Pyy=Y.*conj(Y)/512;
>> f=1E9/512*(0:255);
>> plot(f,Pyy(1:256))
富港检测技术(东莞)有限公司_
2024-04-02 广告
正弦振动多用于找出产品设计或包装设计的脆弱点。看在哪一个具体频率点响应最大(共振点);正弦振动在任一瞬间只包含一种频率的振动,而随机振动在任一瞬间包含频谱范围内的各种频率的振动。由于随机振动包含频谱内所有的频率,所以样品上的共振点会同时激发... 点击进入详情页
本回答由富港检测技术(东莞)有限公司_提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式