24小时热门版块排行榜    

查看: 1545  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

Z_Wang

银虫 (正式写手)

[求助] 关于matlab,哪位大侠帮我看下,频谱为什么画不出来?哪里有问题?已有1人参与

c=299792458;
lambda1=1.0*10^(-6);
lambda2=1.3*10^(-6);
omega1=c/lambda1;
omega2=c/lambda2;
dt=1*10^(-18);
t=0:dt:8*10^(-15);
n=size(t,2);
f=sin(2*pi*omega1*t)+2*sin(2*pi*omega2*t);
subplot(2,1,1)
plot(t,f)
y=fft(f,n);    %计算频谱
subplot(2,1,2)
plot(1/dt*(-n/2+1:n/2)/n,abs(y))  %画不出来,为什么?


答案可以发到我邮箱:wykszkd@163.com
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sxf2012

木虫 (正式写手)

引用回帖:
3楼: Originally posted by Z_Wang at 2014-06-21 10:31:13
对这个信号做频谱分析,代码怎么写?
我写的对吗,总感觉有点问题。
你能不能帮我重写一下,答案发我邮箱吧,谢谢了
可以加金币

捕获.PNG
...

CODE:
你把总的时间加长,比如到200e-15,然后,由于对称性,频谱只要一半的数据c=299792458;
lambda1=1.0*10^(-6);
lambda2=1.3*10^(-6);
omega1=c/lambda1;
omega2=c/lambda2;

tmax = 200*10^(-15);
dt = tmax/8191;
t = 0:dt:tmax;

n=length(t);
f=cos(2*pi*omega1*t)+2*sin(2*pi*omega2*t);

wmax = 0.5/dt;
dw = 2*wmax/(n-1);
w = -wmax:dw:wmax;
w = fftshift(w);

subplot(2,1,1)
plot(t,f)
y=fft(f);    %计算频谱
subplot(2,1,2)
plot(w(1:n/2),abs(y(1:n/2)))
axis([0 1e15 0 1e4])

6楼2014-06-22 16:58:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

lxm3515

木虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
Z_Wang: 金币+30, ★★★很有帮助 2014-06-21 20:21:17
里面有一句话有问题:y=fft(f,n);    %计算频谱
改为:y=fftshift(fft(f,n)); 即可
2楼2014-06-21 10:00:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

Z_Wang

银虫 (正式写手)

引用回帖:
2楼: Originally posted by lxm3515 at 2014-06-21 10:00:24
里面有一句话有问题:y=fft(f,n);    %计算频谱
改为:y=fftshift(fft(f,n)); 即可

对这个信号做频谱分析,代码怎么写?
我写的对吗,总感觉有点问题。
你能不能帮我重写一下,答案发我邮箱吧,谢谢了
可以加金币
关于matlab,哪位大侠帮我看下,频谱为什么画不出来?哪里有问题?
捕获.PNG

3楼2014-06-21 10:31:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lxm3515

木虫 (正式写手)

引用回帖:
3楼: Originally posted by Z_Wang at 2014-06-21 10:31:13
对这个信号做频谱分析,代码怎么写?
我写的对吗,总感觉有点问题。
你能不能帮我重写一下,答案发我邮箱吧,谢谢了
可以加金币

捕获.PNG
...

这两个频率中心不一样,需要分开计算,再在频域相加。
4楼2014-06-21 18:39:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见