如何使用 Matlab 在不知道采样频率的情况下计算信号的频率

How to calculate the frequency of a signal without knowing the sampling frequency using Matlab

我有一个信号,我正在使用 Matlab 命令 pwelch 来计算信号的频率,但是我获得的频率随着我改变采样频率而改变。

例如,当使用8000采样频率时,频率显示为1Khz,而当我使用16000采样频率时,信号频率显示为2Khz。

哪个是正确的频率?是否有其他方法可以在事先不知道采样频率的情况下计算信号的频率?

举个简单的例子,计算这个信号的频率:

[0 1 0 -1 0 1 0 -1 0 1 0 -1]

从这样的信号你只能知道你的频率是1/4*采样率。没有采样率,您无法计算频率。