概述
文章目录
- 功率谱
- 传输函数对功率谱的影响
- 如何matlab实现
- 帕塞瓦尔定理
- 自相关函数
- xcorr函数说明
- welch算法
功率谱
传输函数对功率谱的影响
如何matlab实现
帕塞瓦尔定理
信号的能量等于一个实信号平方的积分或一个复信号振幅平方的积分.
∫
−
∞
∞
x
(
t
)
⋅
x
∗
(
t
)
d
t
=
∫
−
∞
∞
X
∗
(
f
)
⋅
X
(
f
)
d
f
int_{-infty}^infty x(t)cdot x^*(t)dt =int_{-infty}^infty X^*(f)cdot X(f)df
∫−∞∞x(t)⋅x∗(t)dt=∫−∞∞X∗(f)⋅X(f)df
对于功率信号来说,要取时间平均,所以简单点说,就是
p
s
d
=
∣
f
f
t
(
s
a
m
p
l
e
)
∣
2
N
psd = frac{|fft(sample)|^2}{N}
psd=N∣fft(sample)∣2
fs=5000;
N=1e3;
sample=randBinary(N);%自定义函数,产生一个随机二进制序列,长度为N
margin=abs(fft(sample));
P=margin(1:N/2).^2;
P=[P(1) P(2:end)*2]/N;
f=0:fs/N:fs/2-1;
plot(f,P,'-g')
grid on
运行结果如下
自相关函数
xcorr函数说明
xcorr函数用计算两序列的互相关函数,在这里我们可以用它来算序列的自相关.
- xcorr(sample);
返回自相关序列和延迟
>> sample
sample =
1 2 3 4 5
>> clear cxn
>> [C, lag]=xcorr(sample)
C =
5.0000 14.0000 26.0000 40.0000 55.0000 40.0000 26.0000 14.0000 5.0000
lag =
-4 -3 -2 -1 0 1 2 3 4
所谓延迟就是自相关序列的实际序号,这里建议自己算一下,就知道是什么意思了.
- xcorr(sample,“unbiased”)
将计算结果C/元素在C中的序号 - xcorr(sample,“biased”)
表示对计算结果C/N,其中N为序列长度,也就是对结果取时间平均
welch算法
最后
以上就是幽默月饼为你收集整理的功率谱分析功率谱如何matlab实现的全部内容,希望文章能够帮你解决功率谱分析功率谱如何matlab实现所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复