是否有任何公式可以计算采样不良的信号的频率(或多个频率)?
例如,当 F=22Khz 的模拟信号以 25Khz 或 10Khz 采样时,其输出是多少?
编辑:
在此示例中,采样信号(右侧)的频率与原始信号的频率不同,因为采样信号不好(Fs 小于 2*F)
我的问题是:是否有任何公式可以知道以 30kHz 采样的 20kHz 信号的频率?
Is there any formula to calculate the frequency (or frequencys) of a signal that is bad sampled?
For example, what's the output of an analog signal with F=22Khz when it's sampled at 25Khz, or 10Khz?
EDIT:
In this example, the sampled signal (on the right) have a different frequency than the original one, because it was bad sampled (Fs is minor than 2*F)
My question is: is there any formula to know what's the frequency of this 20kHz signal, sampled at 30kHz?
发布评论
评论(3)
没有任何公式可以知道以 30kHz 采样的 20kHz 信号的频率是多少。但事实上,欠采样信号的频率会反映在奈奎斯特频率上。在您的示例中,30 kHz 意味着奈奎斯特频率约为 15 KHz,这不足以正确记录原始信号(20KHz),仅分配其中的 15 kHz,在反射奈奎斯特频率期间另外分配 5 KHz(分配 15 KHz 后提醒)出现在位置15-5=10 KHz。这是最终答案。在您的情况下,采样信号的频率将等于 10 kHz
No any formula to know what's the frequency of 20kHz signal, sampled at 30kHz. But it is a fact that the frequency of undersampled signal will be reflected about Nyquist frequency. In your example 30 kHz means that Nyquist frequency is about 15 KHz, that is not enough to record original signal (20KHz) correctly, only 15 kHz of it distributed, another 5 KHz (reminder after distribution of 15 KHZ) during reflection about Nyquist frequency appear in position 15-5=10 KHz. This is final ansver. The frequency of sampled signal will be equal 10 kHz in your case
除非信号的带宽小于采样率的一半,否则您会在采样过程中丢失信息,并且通常无法区分频率,因为 别名。
有关以低于最大信号频率两倍的速率进行采样的更多详细信息,请参阅欠采样。
没有简单的公式可以给出信号的频谱内容或主频率。一般来说,您需要计算采样信号的离散傅立叶变换才能找出答案。如果您对是否存在特定频率或其强度感兴趣,可以计算该频率下的 DFT。 Goertzel 算法 可以是一个选项。
编辑:频率为 f 的信号,使得 fsample/2 <= f < fsample 将别名为 f* = fsample - f,因此以 30KHz 采样的 20KHz 正弦波将显示为 10KHz 正弦波。
一般来说,可以在采样信号中观察到高于 fsample/2 的频率,但它们的频率是不明确的。也就是说,频率为 f 的频率分量无法与频率为 N*fsample/2 + f 和 N*fsample/2 – f(非零)的其他分量区分开来整数 N。这种歧义称为别名*。
Unless the bandwidth of the signal is less than half the sampling rate, you lose information during sampling and generally can't distinguish frequencies after that due to aliasing.
See Undersampling for more details about sampling at rates lower than twice the maximum signal frequency.
There's no simple formula that can give you the spectral content of a signal or the main frequency. In general you need to calculate a Discrete Fourier Transform of the sampled signal to find that out. If you're interested in whether or not there's a specific frequency, or how strong it is, you can calculate DFT at that frequency. The Goertzel algorithm can be an option.
EDIT: a signal at frequency f such that fsample/2 <= f < fsample will alias to f* = fsample - f, hence a 20KHz sine wave sampled at 30KHz will appear as a 10KHz sine wave.
In general frequencies above the fsample/2 can be observed in the sampled signal, but their frequency is ambiguous. That is, a frequency component with frequency f cannot be distinguished from other components with frequencies N*fsample/2 + f and N*fsample/2 – f for nonzero integers N. This ambiguity is called aliasing*.
假设采样率恒定,任何采样都会将低于和高于采样率的频谱内容混叠在一起。如果您不想合并采样率两侧的频率内容,则必须在采样之前过滤掉一个或另一个频带,否则就会出现问题。例如,对于某个整数 n,仅通过低于 Fs/2 的信号的低通滤波器,或者仅通过严格位于 n*Fs/2 和 (n+1)*Fs/2 之间的信号的带通滤波器可能是合适的。
请注意,当 n > 1 时,采样率的精度必须更高(更低的抖动)。 0. 缺乏这种较低的抖动将是不良采样的一个例子,会增加随机相位噪声。
Assuming a constant sampling rate, any sampling will alias together spectral content from below and above the sampling rate. If you have frequency content on both sides of the sampling rate that you don't want combined, you will have to filter one or the other frequency band Out before the sampling, or you will have a problem. For instance a low-pass filter which only passes signals below Fs/2, or a bandpass filter that only passes signals strictly between n*Fs/2 and (n+1)*Fs/2 for some integer n, might be appropriate.
Note that the accuracy of the sampling rate must be higher (lower jitter) for n > 0. Lack of this lower jitter would be an example of bad sampling that would add random phase noise.