📍

选择城市

立即咨询
精选文章 / 深度解读

离散信号功率谱密度、功率谱、频谱、能量谱的matlab简单 ...

功率谱密度的计算功率谱密度指的是在每个频率上信号具有的功率大小,即 带宽内信号的平均功率,单位为 或者 。①实数值信号输入 表示信号的功率谱密度。当信号为实数时, 具有对称性。若采样点数为 ,则 关于 ......

功率谱密度的计算

功率谱密度指的是在每个频率上信号具有的功率大小,即 带宽内信号的平均功率,单位为 或者 。

①实数值信号输入


表示信号的功率谱密度。当信号为实数时, 具有对称性。若采样点数为 ,则 关于 对称,为保持总功率不变,可将双边谱中除了第一个点外的其他点的功率谱密度乘2变为单边功率谱密度。

【例】在MATLAB中使用fft()函数求功率谱密度。除此之外,还可以使用序列的自相关函数求功率谱密度(维纳-辛钦定理),在此先不作解释。

fs=1000; %采样频率为1kHz
fin=200; %输入信号为500Hz
N=1000; %采样点数为1000
n=0:1/fs:1-1/fs; %采样点数为1000个
In=sin(2*pi*200*n); %输入信号
In_PSD=(abs(fft(In)).^2)/(fs*N); %求功率谱密度
plot(n*fs,10*log10(In_PSD));
grid on
title('双边功率谱密度')
xlabel('Frequency (Hz)')
ylabel('Power/Frequency (dB/Hz)')


双边功率谱密度

clc;clear;
fs=1000; %采样频率为1kHz
fin=200; %输入信号为500Hz
N=1000; %采样点数为1000
n=0:1/fs:1-1/fs; %采样点数为1000个
In=sin(2*pi*200*n); %输入信号
In_PSD=(abs(fft(In)).^2)/(fs*N); %求功率谱密度
In_PSD(2:1+N/2)=2*In_PSD(2:1+N/2);
plot(n(1:1+N/2)*fs,10*log10(In_PSD(1:1+N/2)));
grid on
title('单边功率谱密度')
xlabel('Frequency (Hz)')
ylabel('Power/Frequency (dB/Hz)')


单边功率谱密度

②加窗减轻频谱泄露

当截断的信号不是整数个周期时,会导致频谱泄露。

频谱泄露 ,就是 信号频谱中各谱线之间相互影响,使测量结果偏离实际值,同时在谱线两侧其他频率点上出现一些幅值较小的假谱,导致频谱泄露的原因是 采样频率 和信号频率的不同步,造成周期采样信号的相位在始端和终端不连续。

hann窗的幅值修正系数为2,功率修正系数为1.633。加窗都是通过使截断的边界变得平缓,来减少高频分量以减轻频谱泄露的。

【例】加窗之后可明显看到频谱泄露被减轻了。

clc;clear;
fs=500; %采样频率
fin=50; %输入信号频率
N=128; %采样点数为N
n=(1:N)/fs; %采样点数为N个
In=sin(2*pi*fin*n)+0.3*sin(2*pi*(fin+3)*n); %输入信号
In_PSD=(abs(fft(In)).^2)/(fs*N); %求不加窗功率谱密度
In_PSD(2:1+N/2)=2*In_PSD(2:1+N/2);
subplot(2,1,1);
plot(n(1:1+N/2)*fs*fs/N,(In_PSD(1:1+N/2)));
grid on
title('功率谱密度不加窗')
xlabel('Frequency (Hz)')
ylabel('Power/Frequency (V^2/Hz)')
window=hann(N); %汉宁窗
k=1.63; %修正系数 使总功率不变
In_PSD_wind=(abs(fft(1.63*In.*window')).^2)/(fs*N);%求加窗功率谱密度
In_PSD_wind=k*In_PSD_wind;
In_PSD_wind(2:1+N/2)=2*In_PSD_wind(2:1+N/2);
subplot(2,1,2);
plot(n(1:1+N/2)*fs*fs/N,(In_PSD_wind(1:1+N/2)));
grid on
title('功率谱密度加窗')
xlabel('Frequency (Hz)')
ylabel('Power/Frequency (V^2/Hz)')


加窗前后的功率谱密度

③归一化的输入频率

输入频率与采样频率的比值叫做归一化频率,也叫做数字频率。


频谱范围变为0-1。

【例】

clc;clear;
fs=500; %采样频率
fin=50; %输入信号频率
f=fin/fs; %归一化输入频率
N=128; %采样点数为N
n=(1:N); %采样点数为N个
In=sin(2*pi*f*n); %输入信号
In_PSD=(abs(fft(In)).^2)/(N*2*pi); %求不加窗功率谱密度
plot([1/N:1/N:1],10*log10(In_PSD(1:N)));
grid on
title('输入频率归一化')
xlabel('Frequency (Hz)')
ylabel('Power/Frequency (dB/Hz)')


具有归一化输入频率的功率谱密度

功率谱的计算

不同于功率谱密度,可从它们的单位中看出不同。功率谱的单位中不包含“ ”,就是功率的单位,它表示在某个频率间隔内的总功率。例如采样率为 ,采样点数为 的离散信号,它的功率谱密度用 表示,那么它的功率谱 为


.

因为在频域中,各条谱线之间的距离为 ,可将这一间隔内的功率谱密度看作相等,计算功率谱。

【例】同功率谱密度,也可以求出双边/单边功率谱,加窗的功率谱,反正都是先求功率谱。

fs=1000; %采样频率为1kHz
fin=200; %输入信号为500Hz
N=1000; %采样点数为1000
n=0:1/fs:1-1/fs; %采样点数为1000个
In=sin(2*pi*200*n); %输入信号
In_PSD=(abs(fft(In)).^2)/(fs*N); %求功率谱密度
In_PS=In_PSD*fs/N;
plot(n*fs,10*log10(In_PS));
grid on
title('双边功率谱')
xlabel('Frequency (Hz)')
ylabel('Power/Frequency (dB)')


双边功率谱

频谱和能量谱的计算

频谱

就是离散傅里叶变换,也有单边/双边频谱的说法。频谱中还包含了相位成分,功率谱密度平方之后将相位丢掉了,不能分析相位。


,

能量谱

帕斯瓦尔定理,信号的总能量既可以按照每单位时间内的能量在整个时间内的积分计算出来,也可以按照每单位频率内的能量在整个频率范围内的积分而得到。

即时域的能量和频域的能量相等。DFT形式的帕塞瓦尔定理为


.

其中 就是能量谱密度。

【例】分别计算方差为1,均值为0的高斯白噪声的能量,结果相等。

N = 2^11;
noise=1e0*randn(1,2048)';
energy_f=sum((abs(fft((noise(1:N))))).^2)/N^2; %频域计算噪声的能量
energy_t=sum((abs((noise(1:N)))).^2)/N; %时域计算噪声的能量

书山有路勤为径,学海无涯苦作舟。

阅读重点

这篇内容能帮你快速理解什么

帮助快速理解主题

通过更完整的主题说明和结构表达,帮助用户更快抓住重点,也让搜索系统更容易识别页面主题。

帮助判断下一步动作

让访问者快速理解当前问题、可行方法以及下一步应该继续看案例、看服务还是直接沟通。

帮助继续浏览与沟通

文章页不只是获取流量,也承担继续阅读、查看服务和发起咨询的承接作用。

继续了解

继续了解这个主题前,你可能还关心这些问题

为什么这类主题适合写成文章?

因为很多用户会通过问题词、对比词和方案词进入网站,文章页越清楚,越容易覆盖更具体的需求。

为什么文章页不能只有正文?

仅有正文不利于继续浏览和转化,文章页还需要总结、问答、相关推荐与咨询入口来承接用户。

看完之后下一步可以做什么?

可以继续看同类文章、服务页与案例页,也可以直接沟通官网升级与搜索优化需求。

这篇文章能帮助我解决什么具体问题?

这篇文章围绕当前主题提供了详细的解决方案、操作步骤和注意事项,帮助你快速理解核心要点并应用到实际场景中。

如何判断这篇文章的内容是否权威可靠?

内容基于实际项目经验和技术实践编写,结合行业标准和最佳实践,同时提供案例数据和方法论支撑,确保专业性和可操作性。

这类内容对SEO和网站排名有什么帮助?

优质的长文内容和FAQ结构能够提升页面主题相关性、增加用户停留时间、降低跳出率,这些都有助于搜索引擎评估页面质量并提升排名表现。

AI搜索引擎会如何理解和引用这类内容?

AI搜索系统会提取文章的实体信息、观点结论和结构化问答,当用户提出相关问题时,可能会引用本文作为答案来源或参考依据。

如果我有更多相关问题可以咨询谁?

可以通过页面底部的联系方式直接咨询我们的专业团队,包括电话、QQ或在线表单,我们会根据你的具体情况提供针对性的建议和方案。

这篇文章和同类内容有什么不同之处?

本文不仅提供理论知识,还包含实战经验、避坑指南和可执行的行动建议,同时兼顾传统SEO和新兴的GEO生成式搜索优化视角。

多久需要更新一次这类内容以保持时效性?

建议每季度审查并更新一次关键数据和案例,如果涉及技术工具或算法变化则需要更频繁地维护,确保内容持续为用户提供准确价值。