北国之春 发表于 2014-2-24 14:19

信号的功率谱分析

    有没有人用matlab编写过计算信号的功率谱的代码

impulse 发表于 2014-2-24 15:02

这个题目有点意思,是不想用cpsd,要自己来写吗?

shuihai707 发表于 2014-2-25 10:24

网上、论坛一搜有的是。

rock_erpi 发表于 2014-2-25 10:47

impulse 发表于 2014-2-24 15:02
这个题目有点意思,是不想用cpsd,要自己来写吗?

cpsd是求互谱密度的吧。

rock_erpi 发表于 2014-2-25 10:48

可以在help里面搜Statistical Signal Processing,matlab提供了很多psd的估计方法。要用间接法的话需要自己编程。

impulse 发表于 2014-2-25 10:57

matlab高版本已经没有psd了,cpsd(x,x,...)=psd(x)

mayaview 发表于 2014-2-25 12:03

听着怎么像作业啊?周期图法也就是两行代码的事情,AR模型或者ESPRIT什么的可能稍微麻烦点,按照书上的公式写就行。

yongyuanz 发表于 2014-2-27 22:17

welch法计算功率谱,matlab中函数为:pwelch

sunrisezg 发表于 2014-3-3 12:20

这个还需要代码吗。。。。自己写一下,多简单啊,怎么就不肯自己动手吗

xiaohanfengye 发表于 2014-3-4 09:26

自己可以实现编写的。。。

zswseu 发表于 2014-3-4 10:40

一个简单的程序,可以直接复制粘贴。
测试通过,如下:

sf=100;   %采样频率
t=(0:10000)/sf;
x=sin(20*pi*t)+sin(30*pi*t);%模拟信号
nfft=1024;%FFT长度
f=0:sf/nfft:sf/2-sf/nfft; %建立频率向量
w=hanning(nfft);   %加窗处理
y=pwelch(x,w,[],nfft,sf,'twosided');%自谱图
n=1:nfft/2;
plot(f(n),y(n));
xlabel('频率(Hz)');
ylabel('功率谱');

北国之春 发表于 2014-3-4 11:09

zswseu 发表于 2014-3-4 10:40
一个简单的程序,可以直接复制粘贴。
测试通过,如下:



我要处理的是离散信号(测量值)

zswseu 发表于 2014-3-5 00:03

本帖最后由 zswseu 于 2014-3-5 00:05 编辑

北国之春 发表于 2014-3-4 11:09
我要处理的是离散信号(测量值)
我这个就是离散信号啊,点都是离散的。
你代入离散信号就行了。如果没有输入信号,程序就不能运行了。

猫头鹰先生 发表于 2014-3-30 21:23

sf=100;   %采样频率
t=(0:10000)/sf;
x=sin(20*pi*t)+sin(30*pi*t);%模拟信号
nfft=1024;%FFT长度
f=0:sf/nfft:sf/2-sf/nfft; %建立频率向量
w=hanning(nfft);   %加窗处理
y=pwelch(x,w,[],nfft,sf,'twosided');%自谱图
n=1:nfft/2;
plot(f(n),y(n));
xlabel('频率(Hz)');
ylabel('功率谱');

马社 发表于 2014-4-1 08:04

如果简单的,不要求精度的,用matlab自带的函数就可以了,要是专业场合,建议自己编写,也可把数据交给我处理,一次给几元钱
页: [1] 2
查看完整版本: 信号的功率谱分析