用matlab求信号的频谱

现在有一信号,E=cos((1.9*10e+14)*t)*(1900*cos(3*10e+10)*t+pi/2)要求这个信号的频谱,并作图,各路高手给点意见,要给出mat... 现在有一信号,E=cos((1.9*10e+14)*t)*(1900*cos(3*10e+10)*t+pi/2)
要求这个信号的频谱,并作图,各路高手给点意见,要给出matlab的代码,先谢过大家了。
虽然对高手来说很简单,可是我很急啊,大家帮帮忙吧!
E=cos((1.9*10e+14)*t)*(1900*cos((3*10e+10)*t+pi/2))
上面漏了个括号,看这个
展开
 我来答
百度网友c583696
推荐于2017-11-22 · TA获得超过1051个赞
知道小有建树答主
回答量:97
采纳率:0%
帮助的人:0
展开全部
fs=1500; %自己设置采样频率
N=4000; %自己设置采样点数

t = (0:N-1)/fs; %间隔
NFFT = 2^nextpow2(N);%转化为2的基数倍
f= fs/2*linspace(0,1,NFFT/2); %求出FFT转化频率

E=cos((1.9e14).*t).*(1900*cos(3e10).*t+pi/2); %函数

E_change=fft(E,NFFT)/N; %进行FFT变换

plot(f,2*abs(E_change(1:NFFT/2)),'b');
%画出频谱特性图
grid on;

上面是比较正规的fft变换,有的文章中没有求FFT转化频率(这样就少了一些步骤),即没有转化为2的基数倍,虽然可以画图也不会出错,但是如果详细阅读matlab自带的help帮助的话,就可以发现它们还是有差别的。本程序自己可以设置采样频率和采样点数。

由于matlab进行FFT变换后画出的图是个对称图,这点你可参阅其fft的帮助,根据帮助文献进行了(1:NFFT/2)处理,画出一半即可。

如果还想画出相频特性图,可以代码后面加上:

ph_E=180*angle(E*N)/pi;
plot(f,ph_E(1:NFFT/2));
grid on;
%画出相频特性图

还有,你的函数由于不能直接复制到matlab里面运行,在matlab里
1.9e14表示 1.9*10^14
全测科技
2024-12-19 广告
确实可以进行维修。如果您的频谱分析仪出现问题,并且还在保修期内,建议您联系原厂进行维修,这样可以享受到免费的维修服务。如果已经超过了保修期,也不用担心,市场上有许多专业的维修服务可以提供帮助。您可以在网络上搜索深圳全测科技有限公司,这是一家... 点击进入详情页
本回答由全测科技提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式