[请教]LMS test.lab与matlab处理结果不一致
本帖最后由 please 于 2016-9-27 20:06 编辑我从LMS中导出时域数据,在MATLAB中处理后与LMS中的结果不一样,请各位大神看看我哪出错了?
clear;
clc;
clf;
data_in=load('D:\MATLAB701\work\data.txt');
data_ref=load('D:\MATLAB701\work\data1.txt');
t=data_in(,1);
data=data_in(,2);
%data=5*sin(2*pi*50*t)+4;
pzh=sum(data)/size(data,1);
data=data-pzh;
figure(1)
%plot(data+pzh);
hold on
plot(data,'r');
hold off
fs=1/(t(2)-t(1));
n=8192;
w=hanning(n);
%w=boxcar(n);
y=fft(data().*w,n);
y(1)=y(1)/2;
fft_data=2*abs(y((1:n/2+1)))/sum(w);
figure(2)
plot((0:n/2)*fs/n,fft_data,'r');
set(gca, 'XLim',);
hold on
plot((0:n/2)*fs/n,data_ref((1:n/2+1),2),'b');
hold off
Pxx=2*abs(y(1:n/2+1)).^2/fs/norm(w)^2;
Pxx(1)=abs(y(1))^2/fs/norm(w)^2;
figure(3)
plot((0:n/2)*fs/n,Pxx);
set(gca, 'XLim',);
Pxx_correction=2*abs(y(1:n/2+1)).^2/fs/norm(w)^2 *norm(w)^2/sum(w)^2*fs;
Pxx_correction(1)=abs(y(1)).^2/fs/norm(w)^2 *norm(w)^2/sum(w)^2*fs;
figure(4)
plot((0:n/2)*fs/n,Pxx_correction);
set(gca, 'XLim',);
P=sum(Pxx(16:501)*fs/n)
rms=sqrt(P) 请问楼主怎么从LMS中导出时域数据?? 这个还没解决啊 LMS数据 加了窗函数吗? 楼主解决了吗是那红线对不上吗 mutouxia 发表于 2016-11-28 15:22
请问楼主怎么从LMS中导出时域数据??
同问,怎么从LMS里导入导出数据?? 大航海家 发表于 2016-12-27 17:04
同问,怎么从LMS里导入导出数据??
同求!!! 失心控 发表于 2016-12-29 08:53
同求!!!
已经找到方法了,只不过只能导出数值点,然后这个些数值点也能重新重新导入lms形成曲线 大航海家 发表于 2017-1-10 08:55
已经找到方法了,只不过只能导出数值点,然后这个些数值点也能重新重新导入lms形成曲线
现在结果能对上了 请问楼主研究过如何在Matlab中计算声信号的自功率谱和互功率谱?我的计算结果和LMS中的不一致!
页:
[1]