|
原帖由 james551304 于 2009-10-31 22:23 发表
谢谢宋老师的及时回答,给我指明了方面, 看到了曙光,呵呵,:lol 我按这个思路走下去
参考网络上的程序, 使用了自适应陷波器来获取5Mhz的信号
clear all
load data.txt
Fs = 80000000;
N = 3200;
...
从数据来看,回波信号不是一个5MHz的单频信号,因此用自适应陷波器的结果也不甚理想。回波信号有一定的带宽,可以用带通滤波器来获得回波。这里设计了一个FIR波波器,通带是4-6MHz,程序为
ws1 = 0.05*pi; wp1 = 0.1*pi;
wp2 = 0.15*pi; ws2 = 0.2*pi;
As = 50;
deltaw= min((wp1-ws1),(ws2-wp2));
N0 = ceil(6.2*pi/deltaw);
N=N0+mod(N0+1,2);
wdbla = (hamming(N))';
wc1 = (ws1+wp1)/2; wc2 = (wp2+ws2)/2;
hd = ideal_lp(wc2,N) - ideal_lp(wc1,N);
h = hd .* wdbla;
freqz(h,1);
figure
x=load('data.txt');
fs=80000000;
N=length(x);
n=1:N;
t=(n-1)/fs;
subplot 211; plot(t,x); grid;
title('initial signal');
% 滤波
y=filtfilt(h,[1],x);
subplot 212; plot(t,y); grid;
title('initial signal after filtering');
figure
plot(t,x,'r',t,y,'b'); grid;
xlim([1.6e-5 2.1e-5]);
legend('回波滤波前波形','回波滤波后波形')
回波滤波前后的波形比较为下图。 |
|