使用Matlab求解一列离散数据的功率谱密度,
来源:学生作业帮 编辑:搜搜做题作业网作业帮 分类:综合作业 时间:2024/07/06 14:34:07
使用Matlab求解一列离散数据的功率谱密度,
通过实验采集到了随时间变化的加速度数据,其中时间存在txt文档的第一列,加速度数据存在第三列,采样率为5000Hz,采样时间为100秒,下面是我的一个Matlab程序,首先画出了原始时域信号,然后画出傅里叶变化后幅值的模,然后画出功率谱密度随频率的变化,其应该是横轴为频率,纵轴为功率谱密度值.可是我通过程序得出的图和自带软件画出的图差别挺大,
M =load('data.txt');
T=M(:,1);
A=M(:,3);
figure(1);
plot(T,A);
y=fft(A,50000);
m=abs(y);
f1=(0:length(y)/2-1)'*5000/length(y);%计算变换后不同点对应的幅值
figure(2);
plot(f1,m(1:length(y)/2));
p=y.*conj(y)/50000; %计算功率谱密度
ff=5000*(0:length(y)/2-1)/50000; %计算变换后不同点对应的频率值
figure(3);
plot(ff,p(1:length(y)/2));
通过实验采集到了随时间变化的加速度数据,其中时间存在txt文档的第一列,加速度数据存在第三列,采样率为5000Hz,采样时间为100秒,下面是我的一个Matlab程序,首先画出了原始时域信号,然后画出傅里叶变化后幅值的模,然后画出功率谱密度随频率的变化,其应该是横轴为频率,纵轴为功率谱密度值.可是我通过程序得出的图和自带软件画出的图差别挺大,
M =load('data.txt');
T=M(:,1);
A=M(:,3);
figure(1);
plot(T,A);
y=fft(A,50000);
m=abs(y);
f1=(0:length(y)/2-1)'*5000/length(y);%计算变换后不同点对应的幅值
figure(2);
plot(f1,m(1:length(y)/2));
p=y.*conj(y)/50000; %计算功率谱密度
ff=5000*(0:length(y)/2-1)/50000; %计算变换后不同点对应的频率值
figure(3);
plot(ff,p(1:length(y)/2));
![使用Matlab求解一列离散数据的功率谱密度,](/uploads/image/z/16273504-64-4.jpg?t=%E4%BD%BF%E7%94%A8Matlab%E6%B1%82%E8%A7%A3%E4%B8%80%E5%88%97%E7%A6%BB%E6%95%A3%E6%95%B0%E6%8D%AE%E7%9A%84%E5%8A%9F%E7%8E%87%E8%B0%B1%E5%AF%86%E5%BA%A6%2C)
完全没有问题
y是一个复数,
m=abs(y);
p=y.*conj(y)/50000;
这两个都能把y转化成实数,但p的每一个值都是m对应值的平方.一般p用的多点
y是一个复数,
m=abs(y);
p=y.*conj(y)/50000;
这两个都能把y转化成实数,但p的每一个值都是m对应值的平方.一般p用的多点
matlab怎样实现离散数据的傅里叶变换?
怎么用小波变换求一个离散序列的功率谱密度?(求一个频段里的能量值).matlab怎么实现?
如何使用Matlab画出一个连续的三维曲面,有三个离散数据组,详情请看追问
关于用matlab实现一组离散数据的傅里叶变换.
一维离散数据的matlab小波变换
一组离散的数据如何估计其概率密度
如何使用excel或spss计算数据的离散系数?
跪求:matlab频谱分析,如何得到功率谱图? 离散数据信号为p,长度为n.请高手指教!
matlab离散点数据直线拟合
matlab中离散数据作图问题
matlab离散数据积分怎么做?
matlab对离散数据进行拟合