Aug
20

小波变换 (Wavelet Transform)

未分类       Trackback

<![CDATA[小波变换,学术名字叫Wavelet Transform,在电子信号领域中应用比较广泛。大学的时候经常看到MatLab的一些教材上面都有专门的一章节来讲解小波变换。前一段时间组里面的post-doc自己搭了一台TRIF(Total Reflection Interface Fluorescence). 由于1用的激光激发器就是简简单单教授们做presentation的激光笔,所以激光信号老是不稳定,所以实验的结果有很大的偏移。尝试了使用FFT来过滤信号。但是效果不是很明显。查了一下paper,发现在电化学里面,很多人适用DWT (Discrete Wavelet Transform)来对得到的信号进行除噪和基线矫正。所以用了一下 研究了大半天,写了个MatLab代码。

function blcorrect(signal,level1

,waveform1,level2,waveform2)
% by DigitalPig 08/20/2007
% blcorrect(signal,level1,waveform1,level2,waveform2)
% This function is used for baseline correction by applying the Discrete
% Wavelet Transform (DWT). By disregard all the approximation coefficient
% then reconstructe back the curve.
% Input your signal as signal array,the DWT level and waveform for baseline
% correction is level1, waveform1, while the DWT for de-noising is level2
% and wavenumber2.

[C1 L1]=wavedec(signal,level1,waveform1);
cA=appcoef(C1,L1,waveform1,level1);
l=length(cA);
C1(1:l)=0;
A0=waverec(C1,L1,waveform1);
[C2 L2]=wavedec(A0,level2,waveform2);
% Al=wrcoef(’a',C2,L2,waveform2,level2);
[thr,sorh,keepapp]=ddencmp(’den’,'wv’,A0);
Al=wdencmp(’gbl’,C2,L2,waveform2,level2,thr,sorh,keepapp);
subplot(3,1,1);plot(signal);title(’Original signal’)
subplot(3,1,2);plot(A0);title(’Baseline corrected signal’)
subplot(3,1,3);plot(Al);title(’Baseline corrected and smoothed signal’)

结果如下 第一行是原始信号 第二行是基线校准信号 第三行是基线校准加除噪以后的信号。


]]>

阅读(38 次)

Aug
18

林肯、内战和宪法

未分类       Trackback

<![CDATA[发信人: Taliban (大老婆是检验真理的唯一标准), 信区: History

阅读(32 次)