matlab幅值谱函数源程序的修改问题

matlab幅值谱函数源程序的修改问题,第1张

程序提示的错误是函数hua_fft()的输入参数升灶个数不足。

你吵薯扮在定义函数的时候

function hua_fft(y,fs,style,varargin)

表明里面有手枝3个固定参数,还有可变的参数,因此函数在调用的时候至少得3个输入参数。

但是,你在函数调用的时候,却是2个输入参数

subplot(212)hua_fft(y,fs)title('原始信号频谱')

并没有传递style参数的值,因此才会报错说找不到style。

x=0:0.1:2*pi

y=sin(x) %信号

ma = max(y) %最大值

mi = min(y) %最小值

me = mean(y) %平均睁滚值

pk = ma-mi %峰-峰值

av = mean(abs(y)) %绝对值的平均值(整流平均值)

va = var(y) %方差

st = std(y) %标准差

ku = kurtosis(y) %峭漏者度

rm = rms(y) %均方根

S = rm/av %波形因子

C = pk/rm %峰值因子

Kr = sum(y.^4)/sqrt(sum(y.^2)) %峭度因子

I = pk/av %脉冲因子

xr = mean(sqrt(abs(y)))^2

L = pk/xr %裕度因子

刚好自返早薯己要用,整理了下。

您好, 是这样的丛胡梁:

一、倒谱渗运分析原理

倒谱分析 matlab中的函数为

1) 复倒做念频谱 y=cceps(x) 2) 实倒频谱 y=rceps(x)

二、编程 :

1.fft变换 t=0:0.01:2y1=sin(2*pi*30*t) subplot(2,1,1) plot(t,y1)

y2=abs(fft(y1,512)) f=100*(0:256)/512 subplot(2,1,2) plot(f,y2(1:257)) XlabelYlabel

2.功率谱变换

Fs=2000 NFFT=1024 t=0:1/Fs:1x=sin(2*pi*800*t)window=boxcar(length(x))periodogram(x,window,NFFT,Fs) 3.倒谱变换 Fs=200t=0:1/Fs:2

x=sin(2*pi*50*t).*sin(2*pi*40*t)z=cceps(x)subplot(2,1,1)plot(t,x)subplot(2,1,2)plot(t,z)


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12370066.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存