永发信息网

matlab求频谱图的旁瓣宽度

答案:2  悬赏:50  手机版
解决时间 2021-02-14 09:07
  • 提问者网友:wodetian
  • 2021-02-13 22:10
用matlab实现求某一方向上的旁瓣宽度(相邻黑色条纹间的距离), 谢谢。
最佳答案
  • 五星知识达人网友:西风乍起
  • 2021-02-13 23:29
见过一本matlab与小波分析 大概会有吧
全部回答
  • 1楼网友:西岸风
  • 2021-02-14 00:23
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
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯