yuanlive 发表于 2006-9-24 16:07

为什么我做的频谱密度都是负值呢?

请教大家一个问题,我在计算能量谱密度的时候,为什么最后得出的都是负值?这样合理吗?
=wavread('d:/audio/test48_double.wav');
siz=wavread('d:/audio/test48_double.wav','size');
w=audio_data';
s=w(,:);
N=1024;
h=hanning(N);
j=sqrt(-1);
S=s(1:N);
S=s(1:N);
for k=1:1:512
    sum=0;
for m=1:1:N
    tmp1=h(m)*S(m)*exp(-j*2*pi*k*m/N);
    sum=tmp1+sum;
end
   x(k)=(abs(sum/N))^2;
   X(k)=10*log10(x(k));
end

yangzj 发表于 2006-9-24 16:34

什么意思,干嘛不用FFT

yangzj 发表于 2006-9-24 16:36

取了对数当然出现负数了

yuanlive 发表于 2006-9-25 09:30

请问分贝为负数的含义是什么呢?

mao 发表于 2006-9-25 10:37

就是它的能量比较小,小于1喽,仅仅是数学概念上的问题

toes 发表于 2006-9-25 11:35

同意楼上

yuanlive 发表于 2006-9-25 14:30

哦,原来是这样,谢谢了!
页: [1]
查看完整版本: 为什么我做的频谱密度都是负值呢?