在频域分析领域,“功率谱(PS)” 和 “功率谱密度(PSD)” 这两个术语常常被一同提及,甚至不少人会将它们混淆使用。尽管二者名称仅相差两个字,但它们在含义、单位等方面存在显著差异。准确掌握它们的区别,对于避免在计算和解释过程中出现错误至关重要。接下来,我们将深入探讨功率谱与功率谱密度的真正区别。
一、什么是 PS 与 PSD
功率谱(PS)指的是信号在各个频率分量上的功率。它反映了信号功率在不同频率上的分布情况。功率谱密度则描述的是信号在单位频率上的功率分布。从二者的关系来看,功率谱密度与功率谱存在特定的联系。
功率谱密度的计算公式为:信号的功率谱密度等于 DFT(离散傅里叶变换)模的平方再除以采样点数和采样频率的乘积。并且,功率谱密度的单位通常为 dB/Hz 或者 W/Hz。这里的频率分辨率起着关键作用,它影响着功率谱密度的计算结果。频率分辨率的大小与采样点数和采样频率相关,合适的频率分辨率能够更准确地反映信号的功率分布特性。
二、MATLAB 计算 PSD
在实际应用中,我们可以借助 MATLAB 来计算信号的功率谱密度。假设信号由点频、LFM(线性调频)、噪声构成,它们的功率分别为 1、100 和 0.01。以下是信号参数的设置代码:
fc = 3e6; % 点频信号频率
fs = 10e6; % 采样频率
N = 2000; % 采样点数
SNR = 20; % 信号信噪(高斯)比
Ps = 1; % 点频信号功率
B_LFM = 4e6; % LFM信号带宽
Ps_LFM = 100; % LFM信号功率
按照上述推导的公式计算出信号的功率谱密度图,同时还可以将其转化成分贝格式。通过这种方式,我们可以更直观地观察信号功率在不同频率上的分布情况。


除了按照公式计算,我们还可以调用 MATLAB 自带的功率谱估计函数 pwelch 函数进行计算。从计算结果可以看出,二者的估计误差很小。例如,将 -3MHz 处的功率谱密度乘以频率分辨率恰好就是 -3MHz 频点的功率 0.5(实际计算结果 0.4934 非常接近 0.5)。以下是调用 pwelch 函数的代码:

pwelch(x, rectwin(N), 500, 2000, fs, 'centered', 'psd'); % 窗 重叠 FFT
综上所述,功率谱与功率谱密度是两个截然不同的概念,在实际应用中切不可混用。通过本文的介绍,我们不仅了解了它们的区别,还掌握了使用 MATLAB 进行功率谱密度计算的方法。这对于从事信号处理、通信等相关领域的人员来说,具有重要的实际意义。在后续的研究和工作中,准确区分和运用这两个概念,能够帮助我们更深入地分析信号的特性,为解决实际问题提供有力的支持。