麻烦matlab高手帮忙做出这个信号的频谱,我是菜鸟,刚接触matlab,真心不懂,请多指教!
y=(1+0.2*sin(90*2*pi*t)+0.2*sin(150*2*pi*t)).*cos(108.1*10^6*2*pi*t)请写出程序。如果确实有帮助我会再加...
y=(1+0.2*sin(90*2*pi*t)+0.2*sin(150*2*pi*t)).*cos(108.1*10^6*2*pi*t)
请写出程序。如果确实有帮助我会再加分以表感谢! 展开
请写出程序。如果确实有帮助我会再加分以表感谢! 展开
1个回答
展开全部
频谱可用CPSD函数做:
cpsd(y,y,window,noverlap,nfft,fs)
这里window是加窗函数,一般默认就可以了,noverlap是覆盖数据个数,一般noverlap=0.5*nfft,fs是采样频率
比如:t=0:0.01:100;采样频率是1/0.01=100Hz
y=(1+0.2*sin(90*2*pi*t)+0.2*sin(150*2*pi*t)).*cos(108.1*10^6*2*pi*t)
那么cpsd(y,y,[],512,1024,100)
cpsd(y,y,window,noverlap,nfft,fs)
这里window是加窗函数,一般默认就可以了,noverlap是覆盖数据个数,一般noverlap=0.5*nfft,fs是采样频率
比如:t=0:0.01:100;采样频率是1/0.01=100Hz
y=(1+0.2*sin(90*2*pi*t)+0.2*sin(150*2*pi*t)).*cos(108.1*10^6*2*pi*t)
那么cpsd(y,y,[],512,1024,100)
更多追问追答
追问
能不能给我完整的程序啊,我看不懂这是什么意思。
追答
已经给你程序了呀。
你的采样频率是多少啊?假设是采样频率是fs,采样时间是t0。
那么程序:
t=0:1/fs:t0;
y=(1+0.2*sin(90*2*pi*t)+0.2*sin(150*2*pi*t)).*cos(108.1*10^6*2*pi*t);
cpsd(y,y,[],1024,2048,fs) %这个程序直接得到频谱图。
或者
t=0:1/fs:t0;
y=(1+0.2*sin(90*2*pi*t)+0.2*sin(150*2*pi*t)).*cos(108.1*10^6*2*pi*t);
[Y,F]=cpsd(y,y,[],1024,2048,fs); %这个程序得到频谱数据,F是横坐标(Hz)Y是频谱能量
plot(F,Y)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询