其中start1和end1两个参数,是设置对原始信号的粗步截取,效果如下:
我们将截取后的信号端放大,如下所示:
这是第一个峰值坐标为1652,我们然后再设置
对于其他信号,我们也可以采用上面的方式,进行人工的选择,采用这种方法,我们不需要像你之前朋友的那种算法,进行字头检测和字符其实检测。
一旦设置好上面的参数之后,后面的二进制数据识别检测结果如下所示:
然后放大显示如下所示:
上面就是检测到的二进制数据。
这里检测原理为边沿检测算法,即当出现上边沿的时候,则连续为高电平,如果检测到下边沿,则会连续的低电平信号。
我们这里设置的信号还原算法比较简单,以上就是基本的操作流程。
下面重点介绍低信噪比下的滤波处理。
第二部分:模糊数据滤波及数据还原分析
以上是带噪声的测试信号,通过分析,由于带噪声的信号中,存在如下几种类型的噪声,工频噪声(即总体上的正弦类型的波动),白噪声(即波形上的各种抖动),以及其他电磁干扰。
我们这里首先滤波去工频滤波:
然后通过小波滤波,得到原始的有效信息:
放大效果如下所示:
然后对滤波后的数据进行识别:
这里,通过滤波之后,得到的信号进行门限的判决,这里由于每个符号有5个采样点,所以通过滑动窗口的办法,即每5个采样点进行判决,计算其中的最大值和最小值,最大值和最小的差值的0.3倍作为判决门限。
然后同时判断,如果最大值大于0.5,那么认为该点对应的符号为1,如果最小值小于<-0.5,那么认为该点为-1,然后如果最大值小于0.5同时最小值大于-0.5,那么认为这个值是和前面一个符号是相同的,另外一方面,如果同时满足最大值大于0.5,最小值小于-0.5,那么比较最大值和最小值的绝对值,如果最大值大,那么取1,如果最小值的绝对值大,那么取-1。
注意:
由于北邮那篇论文中噪声信号中只有明显的脉冲干扰,所以他的滤波后的波形可能会较好,而我们这个信号噪声类型比较多,且干扰较大,即放大后仍无法明显观察到有效信息位置,需要通过听wav文件来确定实际位置,这个时候说明信噪比往往小于0甚至更低,所以系统滤波效果可能比北邮论文上的效果略差。
另外,从上面滤波后的效果可知,通过滤波,有效信号相对于噪声信号的能量增加了大概0.7~0.8左右,即有效增益增加了5db以上。
这里,对于信息还原部分的算法,已经差不多就是这样了,如果要进一步提高性能,只能对滤波模块进行提升。
这里,我们以联系发送的a数据为测试案例,将数据延迟50个采样点,然后重合部分就是相当于数据部分a。如下所示:
上述一个周期数据即为一个符号a。
上述二进制对应的是0-0101-0111-1,
将上面的数据取反:
那么可以看到一个周期中,有0-1000-0110-1
即A得assic码。即接收到A。
上面还原得到的数据就是对应的字母a。