Matlab关于信号频域分析

同样的程序,在学校的Matlab6.0可以画出所有图像,而在Matlab7.6中画不出振幅和相位。(注:Matlab6.0中没有heaviside函数,我添加了。在Mat... 同样的程序,在学校的Matlab6.0可以画出所有图像,而在Matlab7.6中画不出振幅和相位。(注:Matlab6.0中没有heaviside函数,我添加了。在Matlab7.6中含有heaviside函数,这个函数应用是正确的。)
clear
clc
T=0.02;
t=-10:T:10;
N=200;
W=4*pi;
k=-N:N;
w=k*W/N;
f1=heaviside(t+1)-heaviside(t-1);%f(t)
F=T*f1*exp(-j*t'*w);%f(t)的傅里叶变换
F1=abs(F);
P1=angle(F);
subplot(3, 1, 1); plot(t, f1);
axis([-3, 3, -0.1, 1.2]);
ylabel('f(t)');
xlabel('t'); title('f(t)'); grid
subplot(3, 1, 2);plot(w, F1);
axis([-3*pi,3*pi,-0.01,2.1]);
grid; ylabel('振幅');
subplot(3, 1, 3); plot(w, P1*180/pi);
grid; axis([-3*pi,3*pi,-200,200]);
xlabel('w'); ylabel('相位(度)');
请问解决方法~谢谢了~
展开
 我来答
百度网友e56ba1038
2009-06-12 · TA获得超过2499个赞
知道小有建树答主
回答量:821
采纳率:0%
帮助的人:0
展开全部
F=T*f1*exp(-j*t'*w);%f(t)的傅里叶变换
可以使用fft函数。

自带的频谱分析例子:

t = 0:0.001:0.6;
x = sin(2*pi*50*t)+sin(2*pi*120*t);
y = x + 2*randn(size(t));
plot(1000*t(1:50),y(1:50))
title('Signal Corrupted with Zero-Mean Random Noise')
xlabel('time (milliseconds)')

Y = fft(y,512);

Pyy = Y.* conj(Y) / 512;

f = 1000*(0:256)/512;
plot(f,Pyy(1:257))
title('Frequency content of y')
xlabel('frequency (Hz)')
Sievers分析仪
2025-01-06 广告
是的。传统上,对于符合要求的内毒素检测,最终用户必须从标准内毒素库存瓶中构建至少一式两份三点标准曲线;必须有重复的阴性控制;每个样品和PPC必须一式两份。有了Sievers Eclipse内毒素检测仪,这些步骤可以通过使用预嵌入的内毒素标准... 点击进入详情页
本回答由Sievers分析仪提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式