请问如下算式在 matlab 中如何实现
请教高手,s是一个长度为4096的时间序列,fs为10kHz,对该序列求能量算子,如下公式,如何在Matlab中实现?或者该公式的离散形式如何?是x(n)*x(n)-x(n-1)*x(n+1)吗?fs如何处理?[ 本帖最后由 eight 于 2007-11-15 11:36 编辑 ] 最终要计算信号S的包络谱,实现形式如下,
回复 #1 russell 的帖子
s数据给出来看看数据
回复 #4 russell 的帖子
这些点按时间排序过了吗?为什么根号下方会有负数?
[ 本帖最后由 donkeyxu 于 2007-11-14 15:19 编辑 ] 原帖由 donkeyxu 于 2007-11-14 14:40 发表 http://www.chinavib.com/forum/images/common/back.gif
这些点按时间排序过了吗?
为什么根号下方会有负数?
这些点是按时间排序的,
不好意思,公式弄错了,是这个
[ 本帖最后由 russell 于 2007-11-15 18:14 编辑 ]
回复 #6 russell 的帖子
%那就不清楚了还是有负数,你可以看看这个程序问题在哪s=dlmread('Inner.txt');
s=s(1:end-3);dt=10^(-4);t=*dt;
s1=diff(s)/dt;s2=diff(s1)/dt;s3=diff(s2)/dt;
fi=s1(1:end-1).^2-s(1:end-2).*s2;
fis1=s2(1:end-1).^2-s1(1:end-2).*s3;
a=fi(1:end-1)./sqrt(fis1);
plot(t(1:end-3),a); 原帖由 donkeyxu 于 2007-11-15 18:58 发表 http://www.chinavib.com/forum/images/common/back.gif
%那就不清楚了还是有负数,你可以看看这个程序问题在哪
s=dlmread('Inner.txt');
s=s(1:end-3);dt=10^(-4);t=*dt;
s1=diff(s)/dt;s2=diff(s1)/dt;s3=diff(s2)/dt;
fi=s1(1:end-1).^2-s(1:end- ...
谢谢啊,
我好好看看,
离散差分导致数据变短,在跟原信号运算,直接去掉原信号后面的?妥当吗?
回复 #8 russell 的帖子
妥当
页:
[1]