信号的基本频率

时间:2015-01-11 12:25:02

标签: matlab

我有一个100毫秒的信号。 Fs = 8000 Hz。 nbits = 16。

fs_orig = 44100;
nbits = 16;
[signal_orig,fs_orig,nbits]=wavread('oo.wav');
y=resample(signal_orig, 8000,44100);
z=y(1:800,1);
t=(0:1/8000:0.1-1/8000);
plot(t,z);xlabel('Time(s)');ylabel('Amplitude');

我以这种方式计算了多少个样本

N = fs(Hz)*持续时间(ms)/ 1000 N = 8000 * 100/1000 = 800个样本。

想知道我如何计算matlab中一个句点的长度? 如何查看信号中的哪些频率? 我可以用1 /周期时间计算周期的基频?

1 个答案:

答案 0 :(得分:1)

如果您的信号是周期性的(如正弦波,锯齿波等),您可以使用seqperiod。如果您的信号不是周期性的,最简单的方法是应用傅立叶分析(通过fft)并查找其频谱中的峰值,这些峰值对应于最主要的频率。

您还应该查看this question

编辑:如果您的信号随时间变化很大,但对于小部分(通常<50毫秒)是周期性的,如语音信号,我会调查cepstral analysis

相关问题