雷达数据读入到MATLAB的问题!
大家好,我这里有个问题想请教各位:我用探地雷达采集了一些数据,用自带的雷达软件读出的wiggle图如下:
从图中可见异常非常的明显!可是当我把数据转换为txt格式后,再在MATLAB里打开得到的是下面的图形:
从图中可见,异常不明显!同样的数据为何有如此大的区别呢?是读取方法的问题吗?读取数据的程序代码如下(是论坛高手们帮助提供的):
clc; fid=fopen('zy.txt');
m=4096; a2=fscanf(fid,'%f',);
n=size(a2,2); a=zeros(m,n);
for i=1:n, a(:,i)=bin2dec(int2str(a2(:,i))); end
for l=1:n, subplot(1,n,l); plot(a(:,l),1:m); axis off; axis('ij'); end
数据见附件:由于文件太大所以分了四个! 请各位大虾们指教!谢谢!:@) 上面那个图的横坐标尺度比较小,使得波动看起来比较明显。 1,采集来的数据我想是正确的,但在显示上,加以了控制。在0-1之间的峰值与4附近的峰值在量级差了将近几十倍至一百多倍,所以要把在0-1之间的峰值完全显示出来的话,则4附近的峰值就显得很小,就象楼主显示的那样。但如果在显示时把0-1之间的峰值限止在某一范围中,超值部分就截幅(如wiggle图所示),则就能把4附近的峰值突显出来。
2,读入.txt文件不必怎么复杂,可用
x1=load('zy1-13.txt');
x2=load('zy14-26.txt');
x3=load('zy27-39.txt');
x4=load('zy40-50.txt');
x=; 原帖由 sogooda 于 2008-5-18 22:35 发表 http://www.chinavib.com/forum/images/common/back.gif
上面那个图的横坐标尺度比较小,使得波动看起来比较明显。
那请问该如何调整横坐标呢? 原帖由 songzy41 于 2008-5-19 08:37 发表 http://www.chinavib.com/forum/images/common/back.gif
1,采集来的数据我想是正确的,但在显示上,加以了控制。在0-1之间的峰值与4附近的峰值在量级差了将近几十倍至一百多倍,所以要把在0-1之间的峰值完全显示出来的话,则4附近的峰值就显得很小,就象楼主显示的那样。但 ...
用你的方法读取的数据是这样的:
原帖由 songzy41 于 2008-5-19 08:37 发表 http://www.chinavib.com/forum/images/common/back.gif
1,采集来的数据我想是正确的,但在显示上,加以了控制。在0-1之间的峰值与4附近的峰值在量级差了将近几十倍至一百多倍,所以要把在0-1之间的峰值完全显示出来的话,则4附近的峰值就显得很小,就象楼主显示的那样。但 ...
我主要是想把4附近的峰值显出来,你能告诉我该怎么做吗?谢谢!
我选了某一道数据,上图是没有改变坐标所得到的波形,下图是改变纵坐标所得到的波形,下图异常显示的很明显,但是0-500附近的采样点的值不能完全显示,有没有同时兼顾的方法呢? 按我的截幅,程序如下,
x1=load('zy1-13.txt');
x2=load('zy14-26.txt');
x3=load('zy27-39.txt');
x4=load('zy40-50.txt');
x=;
=size(x);
for l=1:m1
for k=1:m2;
if x(l,k)>1000
x(l,k)=1000;
elseif x(l,k)<-1000
x(l,k)=-1000;
end
end
end
n=m2:-1:1;
for l=1:m1
y=x(l,:)+400*(l-1);
plot(y,n); hold on;
end
hold off
得到的图有 原帖由 vivid920 于 2008-5-19 09:38 发表 http://www.chinavib.com/forum/images/common/back.gif
34839
我选了某一道数据,上图是没有改变坐标所得到的波形,下图是改变纵坐标所得到的波形,下图异常显示的很明显,但是0-500附近的采样点的值不能完全显示,有没有同时兼顾的方法呢?
就象我在4楼指出的,“在0-1之间的峰值与4附近的峰值在量级差了将近几十倍至一百多倍”,要同时兼顾很难,要兼顾,必然使4附近的峰值看不清楚,而且wiggle图中本身也是截幅后画的。 原帖由 songzy41 于 2008-5-19 09:47 发表 http://www.chinavib.com/forum/images/common/back.gif
按我的截幅,程序如下,
x1=load('zy1-13.txt');
x2=load('zy14-26.txt');
x3=load('zy27-39.txt');
x4=load('zy40-50.txt');
x=;
=size(x);
for l=1:m1
for k=1:m2;
i ...
非常感谢你!如果我要对每一道加一定信噪比的噪声呢,该如何加啊?我尝试加过但是总觉得不对,不是我想要的效果!你能告诉我吗? 你不妨试试,用awgn函数来加噪声。 原帖由 songzy41 于 2008-5-19 10:59 发表 http://www.chinavib.com/forum/images/common/back.gif
你不妨试试,用awgn函数来加噪声。
我用这个函数加了
可是好像效果不好
是不是我用的方法不对呢
比如说我要加个信噪比我10的噪声
是不是y=awgn(x,10) radardata=load('25s.txt' );
X=radardata(1:4096);
XN=X+100*randn(1,4096);
我对某一道加入了这样的噪声
可以知道信噪比么? x=load('zy.txt');
=size(x);
for l=1:m1
for k=1:m2;
if x(l,k)>1000
x(l,k)=1000;
elseif x(l,k)<-1000
x(l,k)=-1000;
end
end
end
n=m2:-1:1;
for l=1:m1
y=x(l,:)+400*(l-1)+50*randn(1,4096);
plot(y,n),axis tight; hold on;
end
hold off
figure(2);
y1=zeros(m2,m1);
for b=1:m1
=wavedec(y(:,b),3,'sym4'); %分解原始雷达信号
=ddencmp('den','wv',y(:,b));
y1(:,b)=wdencmp('gbl',c,l,'db1',3,thr,sorth,keepapp);
end
for l=1:m1
plot(y1(:,l),n);axis tight;
hold on;
end
hold off
我对y加入了50*randn(1,4096)的噪声,然后用小波默认阈值去噪方法进行去噪,用了上面的代码,但是结果不对,请问是怎么回事?
页:
[1]
2