智能信息处理(1)

 

信号时域处理包括的主要内容

  • 相干平均算法

相干平均主要应用于能多次重复的信号的提取。如果待检测的医学信号与噪声重叠在一起,信号如果可以重复出现,而噪声是随机信号,可用叠加法提高信噪比,从而提取有用的信号。

效果估计:y_i(t)=s(t)+n_i(t)

其中y_i(t)为含有噪声的待检测信号,s(t)为重复出现的有用信号,n_i(t)为随机噪声。经过N次叠加求平均,则:

\bar{y}(t)=\frac{1}{N} \sum_{i=1}^{N} y_{i}(t)=\frac{1}{N} \sum_{i=1}^{N}\left[s(t)+n_{i}(t)\right]=s(t)+\frac{1}{N} \sum_{i=1}^{N} n_{i}(t).

若信号s(t)的功率为P,噪声n_i(t)的方差为\delta ^2,那么对每一个y_i(t),其功率比为P/\delta^2.经N次平均后,噪声的方差变为\delta^2/N,所以平均后信号的功率比为N\cdot P /\delta^2 ,提高了N倍。

其matlab代码如下:

clc
clear all
t=1:1024;
phi=2.15;
N=500;%Number of signals
omeag=(2*pi)*0.0050;
x=sin(omeag*t+phi);%initial signal
for i=1:N
    y(i,:)=x+3*randn(1,length(t));
    noise(i,:) =  3*randn(1,length(t)); %signals with random noises
end

figure(1)
subplot(1,3,1)
plot(x)
xlim([0 1024])
title('原始信号')
subplot(1,3,2)
plot(t,noise(1,:)); xlim([0 1024]); title ('噪声信号')
subplot(1,3,3)
 plot(t,y(1,:),'b'); xlim([0 1024]); 
title('被淹没在噪声中的信号')
MeanY=mean(y);%Mean of the random signals
figure(2)
subplot(1,2,1); 
plot(mean(noise)); 
xlim([0 1024]), title ('平均噪声信号') 
subplot(1,2,2); 
plot(t,MeanY, 'r', t, x, 'k'); 
xlim([0 1024]); 
legend('噪声平均后混合信号', '原始信号')
title('相干平均处理后的信号')

其结果如图一和图二所示

图一. 原始信号图

 

图二. 相干算法示意图
  • 相干技术

概念:相关是一种数学运算,这里的线性相关与医学统计的有所不同。这里是讨论两信号之间的同步性或相似性或同相性或两信号的变化规律是否具有线性关系或接近线性关系的程度。这里还要给出相关函数相关系数这两个相互联系而又不同的概念。

作用:对于确定性信号,相关分析可以作为滤波和分类识别手段,来判断信号的同源性和波形相似性。对y(n)=s(n)+\eta (n)随机信号,可以用来判断周期成分是否存在,也可以作为滤波和分类识别工具。

设两个信号x(n)y(n),定义它们的互相关函数r_{xy}为:r_{xy}(m)=\sum_{n=-\infty}^{\infty}x(n)y(n+m),m取值为任意整数。

它表示x(n)不动,将y(n)在时间轴上左移或右移(m为正数时左移,m为负数时右移)m个时间单位后分别与x(n)逐点对应相乘后求和,得到该m点时刻的相关函数值r_{xy}(m)。以m为横轴,r_{xy}(m)为纵轴可以画出相关函数曲线,该曲线反映了x(n)y(n)的相似程度。

注意r_{xy}(m)r_{yx}(m)是完全不同的:r_{yx}(m)=\sum_{n=-\infty}^{\infty}y(n)x(n+m),

令k=m+n, 则n=k-m,得:r_{yx}(m)=\sum_{n=-\infty}^{\infty}y(k-m)x(k)=\sum_{n=-\infty}^{\infty}x(k)y(k-m)=r_{xy}(-m),

r_{xy}(m)=\sum_{n=-\infty}^{\infty}x(n)y(n+m),m取任意整数,上式表示的相关运算,是两数字序列(digital sequences)的对应项的相乘再相加的运算。计算完一次,序列y(n)左移一位。式中m表示位移量,每取一个m得一个r_{xy}值,如r_{xy}(0)r_{xy}(1),...,r_{xy}(N-1)共有N个值,+m表左移-m表右移,共有2N-1个值。这2N-1个值就构成了互相关序列(cross-correlation sequence)叫互相关函数。r值大于0表示有同相成份存在,小于0表示有反相成分存在。等于0表示两序列正交或相互独立。            

相关运算的简洁表示为:r_{xy}(m)=x(n) \cdot y(n)  ,式中 “·”表示相关算符(correlation operator)。

类似的,我们定义一个信号x(n)的自相关函数为:r_{xx}(m)=\sum_{n=-\infty}^{\infty}x(n)x(n+m),

其中,r_{xx}(0)反映了信号x(n)自身的能量。r_{xx}(m)是偶函数,r_{xx}(0)是其中的最大值。自相关函数曲线可以反映信号自身的周期性和噪声水平。

相关技术应用范围很广,例如,我们可以利用相关判断在一个含有噪声的记录中有无我们所希望的信号。设记录到的信号:y(n)=s(n)+\eta(n).      其中s(n)为信号,\eta(n)为白噪声(白噪声是指其频谱为一非零常数的噪声),现在我们不知道当前记录到的y(n)中是否存在s(n),但我们根据以前的工作已知道关于s(n)的先验知识,因此我们可以做y(n)s(n)的互相关:r_{ys}(m)=r_{ss}(m)+r_{\eta s}(m).      通常我们认为信号与白噪声是不相关的,因此r_{\eta s}(m)等于零,于是r_{ys}(m)=r_{ss}(m) 。因此我们可以根据互相关函数r_{ys}(m)和自相关函数r_{ss}(m)是否相等来判断在y(n)中是否含有信号s(n)

相关技术的应用基础、广泛,相关技术有自相关和互相关的不同,它们分别用自相关函数、互相关函数用来研究两个信号的同一性程度,例如测定两信号间的时间滞 后或从噪声中检测信号,如果两个信号完全不同,则互 相关函数接近于零,如果两个信号波形相同,则在提前、 滞后出现峰值。 

示例:正弦波函数自相关

Plot the autocorrelation sequence of a sinewave with 
frequency 1 Hz, sampling frequency of 200 Hz.

N=1024; % Number of samples
f1=1; % Frequency of the sinewave
FS=200; % Sampling Frequency
n=0:N-1; % Sample index numbers
x=sin(2*pi*f1*n/FS); % Generate the signal, x(n)
t=[1:N]*(1/FS); % Prepare a time axis 
subplot(2,1,1); % Prepare the figure; plot(t,x); % Plot x(n)
title('Sinwave of frequency 1Hz [FS=200Hz]');
xlabel('Time, [s]');ylabel('Amplitude');grid;
Rxx=xcorr(x); % Estimate its autocorrelation
subplot(2,1,2); % Prepare the figure; plot(Rxx); grid;
title('Autocorrelation function of the sinewave');
xlable('lags'); ylabel('Autocorrelation');                                               
图三. 自相关分析结果

 因此,我们以带有噪声的信号自相干为例,有:

%Exam 自相关函数
clear all; clc
f0=0.1;
t=1:1/f0:1024;
N=500;%Number of signals
f=0.003; phi=0;
x0=sin(2*pi*f*t+phi);%initial signal
y0=randn(1,length(t));
y=x0+y0;%signals with random noises
figure(1)
subplot(3,2,1)
plot(t,x0)
title('原始信号x_0')
subplot(3,2,3)
plot(t,y0)
title('噪声信号y_0')
subplot(3,2,5)
plot(t,y)
title('原始信号+噪声信号')
T=(1:2*length(t)-1)/(f0);
Xx0=xcorr(x0,'unbias');
subplot(3,2,2)
plot(T,Xx0)
title('原始信号自相关')
Xy0y0=xcorr(y0,y0,'unbias');
subplot(3,2,4)
plot(T,Xy0y0)
title('噪声信号自相关')
Xyy=xcorr(y,y,'unbias');
subplot(3,2,6)
plot(T,Xyy)
title('含噪声的信号自相关')
图四. 带有噪声的信号自相干示意图

以下是通过自相干和互相干进行成分分析的实例。

%Exam4_2_2 自相、互相关关函数
clc
clear all
t=1:1024;
phi=2.15;
N=500;%Number of signals
omeag=(2*pi)*0.0050;
x0=sin(omeag*t+phi);%initial signal
y0=5*randn(1,length(t));
y=x0+y0;%signals with random noises
figure(1)
subplot(1,2,1)
plot(x0)
title('原始信号x_0')
subplot(1,2,2)
plot(y0,'b')
title('噪声信号y_0')
Xx0=xcorr(x0,'unbias');%原始信号自相关
Xx0y0=xcorr(x0,y0,'unbias');%与噪声信号的互相关
Xx0y=xcorr(x0,y,'unbias');%原始信号与带有噪声的信号互相关
figure(2)
subplot(1,2,1)
plot(y)
title('被淹没在噪声中的信号y—原始信号x_0+噪声信号y_0')
subplot(1,2,2)
plot(1:length(Xx0),Xx0,'.b',1:length(Xx0y),Xx0y,'r',
1:length(Xx0y0),Xx0y0,'k')
title('相关技术分析处理结果')
text(1030,Xx0(1030),'\leftarrow Xx0','color','b',...
     'HorizontalAlignment','left')
text(1300,Xx0y(1300),'\leftarrow x0y','color','r',...
     'HorizontalAlignment','left')
 text(800,Xx0y0(800),'\leftarrow x0y0','color','k',...
     'HorizontalAlignment','left')
图五. 自相干和互相干分析结果

由图看出: (1)含噪声信号与原始信号的互相关函数x0y和原始信号的自相关函数Xx0基本相同,说明噪声信号中含有预知的信号成分x0; (2)噪声信号y0与原始信号x0的互相关函数x0y0和原始信号的自相关函数Xx0相差较大,说明噪声信号y0中不含有预知的信号x0。

 

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页