噪声源系采用一个随机数发生器来模拟,使之叠加在信号上: y = y + random(z) 它将一个0~z-1的随机整数加在每一个横坐标点的振幅值上。噪声最大振幅值的选择可以是任意的。 但是这样一来,噪声的最大振幅将是z-1而不是z。虽然这并不造成实质性的妨碍,但我们更希望通过人机对话简单地输入一个数就可直接选择最大振幅: y = y + random(z + 1) 为了逼真地使噪声体现在信号值的两边,正、负机会均等,可以令信号加上噪声再减去最大振幅的半值,或者减去噪声再加上最大振幅的半值,两种方法的结果完全一样。这样做是基于一个这样的认识,即:由于噪声的完全无规性,故从统计意义上说,噪声振幅的平均值等于其最大振幅的一半。即 y = y + random(z + 1) – z/2 或 y = y – random(z + 1) + z/2 噪声的消除 将被噪声干扰的信号波多次叠加时,由于无规的噪声在统计学上表现为互相抵消而使得固有的信号逐渐被提取出来。应当指出,噪声振幅与信号振幅之比愈大(即信/噪比愈小),这种提取过程愈缓慢,即需要叠加的次数愈多,方能使信号显露出来。在本文所设置的典型条件下,通常叠加次数应为最大振幅(m)数值的15倍以上,才能看出较为满意的结果。 在实施叠加时必须注意用加权平均的方法。具体做法是将所有横坐标点对应的(混有噪声的)信号值放在一组数组中,每次将所需用的数从数组的存储单元中取出后,将它乘以前面叠加过的次数,然后与新的(混有噪声的)信号值相加,再除以现在叠加的次数(即前面叠加过的次数再加1),就成为更新过的值: y(i)=(y(i)*djcount + y) / (djcount + 1)
|