kevin19821 发表于 2008-6-21 18:37

基波和非周期分量提取

clc
clear
close all
fs=1000;
n=40
dt=1/fs;
t=0:dt:(n-1)*dt;
% s=100*sin(2*pi*50*t+pi/8)+10*sin(2*pi*100*t)+40*sin(2*pi*150*t)+20*sin(2*pi*250*t)+10*sin(2*pi*350*t)+10*sin(2*pi*450*t)+10*exp(-100*t);
s=10*sin(2*pi*50*t+pi/8)+10*exp(-100*t);
figure(1)
plot(s)
sum=0;
for k=1:21
    sum=sum+s(k);
end
a0=sum;
sum1=0;
for k=2:22
    sum1=sum1+s(k);
end
as=sum1;
nmd=log(a0/as)/dt      为什么我按照在这个算法求出的衰减因子总是不对呢??我是严格按照这个算法编写的呀

[ 本帖最后由 kevin19821 于 2008-6-21 18:45 编辑 ]

kevin19821 发表于 2008-6-21 18:38

那位达人帮我看看呀我真找不到那里错了??

songzy41 发表于 2008-6-21 20:35

本帖最后由 wdhd 于 2016-9-12 13:24 编辑

原帖由 kevin19821 于 2008-6-21 18:37 发表
...
for k=1:21
    sum=sum+s(k);
end
a0=sum;
sum1=0;
for k=2:22
    sum1=sum1+s(k);
end

在文中很明确是用一个周期积分,所以累加也应严格在一个周期中。程序中的2个for 循环要改为:
for k=1 : 20
....
for k=2 : 21
...
这样计算出的结果有对了。

kevin19821 发表于 2008-6-21 21:49

谢谢了 还是弱弱的问一句工频周期是0.02s应该20个间隔呀 就是21个点的呀 怎么是20个点了

songzy41 发表于 2008-6-22 08:38

本帖最后由 wdhd 于 2016-9-12 13:24 编辑

原帖由 kevin19821 于 2008-6-21 21:49 发表
谢谢了 还是弱弱的问一句工频周期是0.02s应该20个间隔呀 就是21个点的呀 怎么是20个点了
取20还是取21,这要看具体的情况而定的。
页: [1]
查看完整版本: 基波和非周期分量提取