在matlab里面怎么求电流的差分傅里叶变换的频率响应?比如信号为I=5*sin(100*pi*t)+sin(500*pi*t)
1个回答
展开全部
在matlab里,傅立叶变换是个函数,直接用就行。像你这个例子,可以这样:
fs=1000;
ts=1/fs;
t=0:ts:1-1/ts;
I=5*sin(100*pi*t)+sin(500*pi*t);
u=fft(I);
plot(abs(u))
我也是入门不久,大家交流吧。
fs=1000;
ts=1/fs;
t=0:ts:1-1/ts;
I=5*sin(100*pi*t)+sin(500*pi*t);
u=fft(I);
plot(abs(u))
我也是入门不久,大家交流吧。
追问
先要对电流进行差分I'(n)=I(n+1)-I(n)
追答
你的差分信号就是信号移位一位后相减,可以这样实现:(还是原来的例子)
l1=l(2:1000); %原信号的第二项到末尾;
l2=l(1); %原信号的第一项
l3=[l1 l2]; %把第一项放在末尾,实现了移位;
l4=l3-l; %是否就是你要的电流差分?
用l4代替原来的l,就可以得到频谱图。
但是,你给出的信号只是两个正弦信号之和,频谱里不会有你那张图的效果的,因为你那张图有很多频谱成分。两个正弦信号之和,差分后是不会产生新的频率差分的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询