matlab 倒频谱特征提取,频域特征值提取的MATLAB代码实现(频谱、功率谱、倒频谱)...

文章如要转载请私信与我联系,并注明来源知乎专栏与信号处理有关的那些东东作者Mr.括号。

一、频谱

频谱用到的函数主要是fft和fftshift。

需要注意的主要有三点:

1.直接做fft的结果,信号的前半部分对应频率[0,fs/2],后半部分对应[-fs/2,0]。参见频谱结果图的第2张。为了将零频点移到频谱中间,需要使用fftshift函数,结果参见频谱结果图的第3张。

2.通常我们关心的都是正频率区间的结果,有两种截取方法,一种是在fftshift的结果中截后半段,一种是在fft的结果中截前半段,其结果是一样的。后一种方法更简洁。具体参见频谱结果图的第4、5张。

3.根据奈奎斯特定理,信号的采样频率(1/t_s)必须大于信号频率最大值的两倍。

t_s = 0.01; %采样周期

t_start = 0.5; %起始时间

t_end = 5; %结束时间

t = t_start : t_s : t_end;

y = 1.5*sin(2*pi*5*t)+3*sin(2*pi*20*t)+randn(1,length(t)); %生成信号

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%频谱%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

y_f = fft(y); %傅里叶变换

subplot(5,1,1);

plot(t,y);title('original signal'); %绘制原始信号图

Druation = t_end -t_start; %计算采样时间

Sampling_points = Dru


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部