利用matlab怎样进行频谱分析

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了利用matlab怎样进行频谱分析相关的知识,希望对你有一定的参考价值。

参考技术A 下面matlab程序,按照你的要求编写的。fs=100;n=200;lag=100;%randn('state',0);
%设置产生随机数的初始状态(噪声)n=0:n-1;t=n/fs;x1=sin(2*pi*10*t)+2*sin(2*pi*15*t)
y=fft(x1,n);
%计算频谱mag=abs(y);f=n*fs/n;figure(1)subplot(2,2,1),plot(t,x1);title('原始信号'),xlabel('时间/s');subplot(2,2,2),plot(f(1:n/2),mag(1:n/2)*2/n);title('频谱图'),xlabel('频率/hz');[c,lags]=xcorr(x1,lag,'unbiased');
%自相关subplot(2,2,3),plot(lags/fs,c);title('自相关信号'),xlabel('时间/s');m=length(c)-1;
z=fft(c,m);
mag_z=abs(z);ff=(0:m-1)*fs/m;subplot(2,2,4),plot(ff(1:m/2),mag_z(1:m/2)*2/m);title('自相关频谱'),xlabel('频率/hz');figure(2)[c1,lags1]=xcorr(x1,randn(1,length(t)),lag,'unbiased');
m1=length(c1)-1;
z1=fft(c1,m1);
mag_z1=abs(z1);ff1=(0:m1-1)*fs/m1;subplot(2,1,1),plot(lags1/fs,c1);title('互相关信号'),xlabel('时间/s');subplot(2,1,2),plot(ff1(1:m1/2),mag_z1(1:m1/2)*2/m1);title('互相关频谱'),xlabel('频率/hz');

以上是关于利用matlab怎样进行频谱分析的主要内容,如果未能解决你的问题,请参考以下文章

关于用MATLAB设计对信号进行频谱分析和滤波处理的程序

用MATLAB设计对信号进行频谱分析和滤波处理的程序

关于用FFT分析信号频谱的问题

matlab中powergui中的fft分析怎么用

关于用MATLAB设计确定信号的频谱分析和滤波

语音处理基于matlab音频信号FIR+IIR(高通+低通+带通)滤波器频谱分析含Matlab源码 1732期