信号包络熵的仿真计算及特点分析Word文件下载.docx
《信号包络熵的仿真计算及特点分析Word文件下载.docx》由会员分享,可在线阅读,更多相关《信号包络熵的仿真计算及特点分析Word文件下载.docx(31页珍藏版)》请在冰豆网上搜索。
信号的波形的包络熵,或称包络方差,可以反映信号包络起伏的大小程度。
信号的包络起伏越大,信号的包络熵越大,比如,AM、DSB、SSB、ASK调制信号的包络起伏大,其包络熵相应较大;
FM、PM、FSK等调制信号的幅度比较稳定,包络的起伏小,包络熵也比较小。
可以通过系统前期的训练过程,得出不同信号在不同情况下的包络熵的分布情况,制定在一定置信度下的不同信号的包络熵经验范围,当系统接收到信号并提取其包络熵后,根据设定的包络熵经验范围自动判别信号类型,为提取信号其他技术参数或进行干扰提供指导。
1.2MATLAB与GUI简介
MATLAB是MathWorks公司于1982年推出的一款功能强大、易于使用的高效数值计算和可视化软件,主要用于数据计算、信号分析并能为可视化提供交互式的应用开发环境。
MATLAB的指令简单、直观,利用MATLAB能快速完成其他高级语言只用通过复杂编程才能实现的数值计算和图形显示,被称为‘演算纸式的科学算法语言’。
MATLAB避开繁琐的底层编码,把时间和资源更多的花在要解决的问题上,因此,MATLAB编程效率较高。
MATLAB附带了30多个面向不同领域的工具箱,使得MATLAB成为诸如系统仿真、信号处理、可视化界面设计等众多科学领域的基本工具和首选平台。
用户界面(或接口)是指:
人与机器(或程序)之间交互作用的工具和方法,如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。
图形用户界面(GraphicalUserInterfaces,GUI)则是由窗口、光标、按键、菜单、文字说明等对象(Objects)构成的一个用户界面。
用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。
如果所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不需要考虑GUI的制作。
但是如果想向别人提供应用程序,想进行某种技术、方法的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。
图形用户界面(GUI)具有形象直观、人机交互性强的优点,用户不需要知道应用程序究竟是怎样执行各种命令的,而只需要了解可见界面组件的使用方法。
用户也不需要知道命令是如何执行,只要通过与界面交互就可以使指定行为得以正确执行。
这种面向客户的系统工程设计其目的是优化产品的性能,使操作更人性化,减轻使用者的认知负担,使其更适合用户的操作需求,直接提升产品的市场竞争力。
2理论分析
2.1信号自动识别方法及流程
信号自动识别的方法主要有特征参数值域判别法和信号模本匹配法。
本文研究的包络熵用于信号自动分析识别就是一种特征参数值域判别法。
特征参数值域判别法的思想是:
提取信号的技术特征;
适当选取多个能反映信号技术特征的参数并计算出特征参数值;
根据特征参数所在的值域范围,采用模式识别的方法判别目标信号的调制样式。
其思路与流程如图2—1所示:
图2—1信号自动识别流程图
2.2信号调制原理
2.2.1AM信号调制原理
幅度调制是用调制信号去控制高频载波的幅度,使之随调制信号作线性变化的过程。
标准调幅就是常规双边带调制,简称调幅(AM)。
设调制信号
的均值为0,将该信号叠加于一直流信号
后与高频载波相乘形成调幅信号,如图2—2所示:
图2—2AM信号调制原理图
其时域表达式为
(2.2—1)
式中:
是外加的直流分量;
既可以是确知信号,也可以是随机信号。
当满足条件:
(2.2—2)
时,AM波的包络与调制信号
的形状完全一样,可用包络检波的方法很容易的恢复出调制信号;
反之,当上述条件不满足时,将出现“过调幅”现象,此时,用包络检波将出现失真。
因此,实际应用中,总是使调制信号满足上述条件。
综合考虑功率利用的需求,在实际应用过程中,调幅度通常取(0.7,0.9)。
2.2.2DSB信号调制原理
在AM调制模型图中将直流分量
去掉,则得到另一种调制方式——抑制载波双边带信号(DSB——SC),简称双边带信号(DSB)。
(2.2—3)
式中,设
的平均值为0,
2.2.3FM信号调制原理
频率调制(FM),是指瞬时频率偏移随调制信号
成比例变化。
角度调制信号的一般表达式为:
(2.2—4)
其中,
称为相对于载频的瞬时频偏。
对于FM信号,则有
(2.2—5)
称为调频灵敏度,单位为
。
此时,相位偏移为:
(2.2—6)
代入式(2.2—3),可得调频信号为
(2.2—7)
调频信号有两种产生方法:
直接调频法和间接调频法。
2.3.3.1直接调频法
调频是用调制信号去控制载波的频率。
所谓直接调频就是用调制信号直接控制载波振荡器的频率,使载波频率按调制信号的规律线性变化,即
(2.2—8)
产生FM波的原理框图如图2—3所示:
图2—3直接调频
2.3.3.2间接调频法
间接调频法是将调制信号先积分,然后对载波进行调相,产生一个调频信号,其原理框图如图2—4所示:
图2—4间接调频
2.3正交混频解调提取包络原理
随着通信技术日新月异的发展,数字技术的广泛应用,现代通信对接收设备的通用性、便捷性提出了更高的要求。
正交混频解调的方式在此背景下应运而生。
正交混频解调的原理框图如图2—5所示。
射频信号经过接收机前端的RF滤波器滤波后,利用正交混频将信号分成同相信道(I信道)和正交信道(Q信道)两路,经低通滤波器滤波后得到两路基带信号,再将这两路基带信号作变换后得到基带信号。
正交混频解调的算法如下:
图2—5正交混频原理框图
接收的任意调制信号可以表示如下:
(2.3—1)
式中,为信号的瞬时包络;
为信号的瞬时相位。
本振信号的表示式为:
(2.3—2)
经90°
移相器移相后得到该信号的正交分量:
(2.3—3)
信号送入相乘器中进行混频,I支路混频器的输出为:
(2.4—4)
该信号经放大、低通滤波后,式中第二项(倍频项)被滤除,不妨设放大器的增益为,则I支路的输出为式中的第一项:
(2.3—5)
同理可得,Q支路的输出为:
(2.3—6)
由式(2.3—5)、(2.3—6)可知,
和
都为基带信号,对作以下运算,可以得到信号包络的表达式:
(2.3—7)
在现代的接收机以及本文所做的仿真中都是采用数字化得正交混频技术来实现,模拟信号只需经过A/D采样即可变为数字信号,数字序列的正交混频解调的原理框图如图2—6所示。
图2—6数字序列正交混频原理图
此时,I支路的输出为:
(2.3—8)
Q支路的输出为:
(2.3—9)
信号包络的表达式为:
(2.3—10)
2.4包络熵的计算方法
由前面的分析知,信号的瞬时包络的表达式为:
瞬时包络的分布特征可以用包络分布直方图来描述,如图2—7所示:
图2—7包络直方图
图2—7中横坐标表示包络值的大小,纵坐标表示对应的包络值出现的次数。
不同的信号形式,包络直方图的分布特点不同。
例如,FM、FSK、PSK之类的等幅类信号的包络直方图包络分布起伏较小,直方图的平坦度差;
AM、DSB等调幅类信号,包络直方图中包络分布的起伏范
围大,包络直方图的平坦度较好。
我们用信号的包络熵来定量计算信号包络的起伏大小及平坦度:
(2.3—11)
式中,N为横坐标中将瞬时包络的变化范围划分的等级数目,
是瞬时包络在每一个等级中出现的频度,在文中是用频度数的归一化值来代表
,故有
从理论上讲,对于AM、DSB等调幅类信号,瞬时包络变化范围的,各个幅度值出现的频度相近,直方图的分布较为平坦;
FM、FSK等等幅类信号的幅度值较为集中,理想情况下,应该只有一个包络值,但是由于噪声的不可避免的存在,实际的包络值不止一个,只是其他等级的包络值出现的频度很小,这样这类信号的包络直方图的平坦度很差。
由式(2.3—11)可知,当各个
的取值相等时,包络熵
取最大值。
推而广之,当信号的瞬时包络值分布较为均匀时,包络熵
较大,当信号的瞬时包络值分布较为集中时,包络熵
较小。
由上面的分析,我们有如下结论:
(1)信号的瞬时包络起伏越大,则信号的包络直方图的平坦度越好,包络熵
越大;
(2)信号的瞬时包络起伏越小,则信号的包络直方图的平坦度越差,包络熵
越小。
依据这一理论结果,结合大量的仿真,我们可以分析出各个信号的包络直方图的特点;
在各种情况下进行仿真,得出各个信号的包络熵的比较准确、可靠的取值范围,为信号的快速自动识别提供依据。
3软件设计与仿真实现
3.1仿真系统总体设计思想
仿真系统设计首先要了解仿真所要解决的问题和所要实现的功能;
其次要明确仿真系统的组成,所需的功能模块及模块间的逻辑关系;
再次要选择合理的算法,明确参数和变量及其相互关系;
最后是按建立仿真系统,分析仿真结果,修改模型,最终建立合理的符合要求的仿真模型。
本文按照先功能模块后整体整合的思路进行仿真。
3.2功能模块的设计
本文主要论述三种常规信号:
AM信号、DSB信号、FM信号的调制、正交混频解调、包络提取和包络熵计算等功能的实现,主要讨论在信噪比(SNR)改变、包络的量化等级变化等情况对信号包络熵的影响。
下面以AM信号为例讨论功能模块的实现。
3.2.1单音信号的AM调制
单音信号的AM调制首先要产生一个较低频率的单音信号作为基带信号,产生一个较高频率的单音信号作为载波。
由于MATLAB处理的数字序列,因此在这一过程中涉及到采样率的问题,理论上要求满足奈圭斯特采样定理,即采样率至少是信号最高频率的两倍,在工程实际中,采样率通常远高于理论值,本文中采样率取为载频的10倍。
信号在信道中传输,噪声的影响不可避免。
关于噪声的问题其实是一个很复杂的问题,本文对此进行了简化处理:
认为信号在信道中的所受噪声为高斯噪声。
本文也忽略了多径传播等对于信号幅度的影响。
接收端进行正交混频解调首先要产生与载波同频同相的本振信号及其正交信号。
目标信号与本振信号以及本振信号的正交信号相乘后通低通滤波器滤波后得到I路和Q路基带信号。
由式(2.3—10)得到信号的包络。
计算信号的包络熵,首先要根据量化等级对(0,max(A(t)))的包络分布范围进行划分。
所以要提取包络的最大值。
然后根据式(2.3—11)计算。
在计算机的自动计算中,可能会因某些区间的包络频度为0而使计算结果出现错误或不符合实际,因此要做一定的处理。
本文中人为的对每个区间的归一化频度加了0.0001,避免了这个问题,且使结果与实际情况的误差很小。
3.2.2话音信号的AM调制
话音信号的AM调制与单音信号的调制的过程一致。
中间主要需要注意一下几个问题。
一是WAV格式的音频文件的调用,需要注意路径和数据格式;
二是要注意使采样的话音序列与载波实现同步;
三是对话音信号要进行低通滤波,限制频带范围。
单音AM调制的源程序如下:
closeall;
clearall;
fm=10;
fc=100;
dt=0.001;
Fs=1/dt;
%采样率,载波10倍
N=5120;
%采样点数
n=0:
N-1;
t=n*dt;
f=n/(N*dt);
mt=1/4*cos(2*pi*fm*t);
%基带信号
%AMmodulation
s_am=(mt+1).*cos(2*pi*fc*t);
%AM调制信号
NFFT=2^nextpow2(N);
F1=fft(s_am,NFFT)/N;
%作FFT变换
f=Fs/2*linspace(0,1,NFFT/2+1);
y=awgn(s_am,30)%加入高斯噪声
F2=fft(y,NFFT)/N;
[B,A]=butter(30,200/1000);
%滤波器参数设置
s_i=y.*cos(2*pi*fc*t);
%同相分量
s_ii=filter(B,A,s_i);
%滤波
s_q=y.*sin(2*pi*fc*t);
%正交分量
s_qq=filter(B,A,s_q);
%滤波
At=sqrt((s_ii).*(s_ii)+(s_qq).*(s_qq))%提取包络
z=max(At);
x=0:
z/20:
z;
%划分量化区间
hist(At(1,1000:
5120),x)%去除暂态后作直方图
title('
AM信号包络直方图'
)
%----------计算包络熵----------
k=hist(At(1,1000:
5120));
m=hist((At(1,1000:
5120)),x)/4120;
p=-1*log10(hist((At(1,1000:
5120)),x)/4120+0.0001);
H=sum(m.*p)
仿真结果如下:
图3—1AM信号包络直方图的仿真结果
仿真结果表明,此时单音AM信号的包络熵
DSB、FM信号的处理过程与AM相同,差别只在于已调信号的产生,这里不再赘述。
3.3GUI界面设计
首先我们在MATLAB的命令窗口输入guide(或点击GUIDE图标)来打开DUIDE编辑界面,如图3—2所示;
图3—2打开GUI界面
则MATLAB打开GUIDEQuickStart对话框,在该对话框中选取“BlankGUI”(Default),单击OK按钮,以空的GUIDE界面来进行编辑,出现图所示的编辑界面,根据我们所需的界面情况来通过使用鼠标托追适拽右下角的黑点位置,调整界面窗口的大小。
调整好窗口后,我们根据系统模型依序将所需的GUI对象加载到我们的界面中去,即通过直接使用鼠标在左方选取GUI对象后,用鼠标将其拖拽到界面中,并通过鼠标和方向键来调整GUI对象的大小和位置。
接着我们要修改每个对象对应得属性,如对于右下方的第一个PushButton按钮,在该按钮上双击鼠标左键,打开对应的属性检查器,首先我们修改“string”属性的内容为“确定”,如图3—3所示,输入完毕后按Enter键或关闭属性检查器即可,此时该按钮所显示的文字就是确定。
同样地,我们再依次指定“FontSize”的属性为14(字体大小),“FontWeight”为“bold”(粗体)等等。
特别要注意的一点是,当相同类型的GUI对象较多或整个界面中对象较多时,对每个对象最好都取一个表明该对象功能的“Tag”名字,便于编写Callback时辨认。
特别要注意因为稍后必须通过M文件编写各对象的Callback程序,因此属性检查器中的Callback不得作任何改动,即使用默认的%automatic。
图3—3设置GUI对象的参数
将其他的对象的相关属性设置好后,得到如图3—4所示的界面
图3-4完整界面图
完整界面图中,主要有四个大的模块:
波形频谱显示模块、信号源参数设置模块、包络熵提取参数设置模块、主功能按钮模块。
最左边的Panel模块名称为“波形频谱图”。
9个Axes对象分别用来显示原始调制信号波形及其频谱,加入噪声后的信号波形及其频谱,解调得到的信号同相分量和正交分量,解调后的信号包络波形、频谱以及包络直方图。
1个EditText用来显示对应的包络熵值得大小。
如图3—5所示:
图3—5波形频谱图
右边由三个模块组成。
右边的第一个模块是有关信号源参数设置的。
由4个EditText、6个StaticText对象,2个PopupMenu对象、1个PushButton组成。
信号源参数设置模块主要完成以下功能:
在1GHz以下,任意的载频频率和基带信号频率的输入和改变,默认值100000Hz;
以对话框的形式调用WAV格式的音频文件并显示文件路径;
AM、DSB、FM三种调制样式的选择;
对应AM时调幅度的任意输入和改变,默认值0.5;
对应FM时调频指数的任意输入和改变(话音时有一定限制),默认值150。
该模块可完成调制样式与基带信号类型的任意组合,如图3—6所示:
图3—6信号源参数设置图
右边的第二个模块是有关包络熵提取的参数设置部分。
主要考虑信噪比(SNR)和量化等级的改变对包络熵的影响,信噪比(SNR)和量化等级是可以任意设置的,默认值分别为信噪比(SNR)为30dB,量化等级为15。
最下边的模块是系统的两个主功能按钮。
当点击“确定”按钮时,完成原始调制信号、加躁信号的波形和频谱的显示,完成信号的同相分量、正交分量的提取并显示,完成包络的提取,并显示包络的波形和频谱,作出包络直方图,计算包络熵并送到包络熵H的EditText中显示。
当按下“退出”按钮时,系统弹出一个是否关闭系统的对话框,当点击“是”时,关闭界面;
当点击“否”时,返回原界面。
如图3—7所示:
图3—7退出窗口
要完成所需要实现的功能,必须再对各个对象进行编程。
将界面项目保存为biyesheji,则GUIDE会自动保存一个与biyesheji相同的M文件,即biyesheji.m,通过这个M文件来编写GUI所有相关的Callback的内容。
存储完毕后,GUIDE利用M文件编辑器来打开biyesheji.m文件,接下来我们就可以编写每个对象的Callback,如图3—5所示:
将所有需要编程的Callback编写完毕后,进行程序的调试,调试成功后,将biyesheji.m文件存储,然后点击Run,就可以执行我们的项目了。
仿真结果如图3—9、3—10、3—11所示:
图3—8Callback编程
图3—9是单音信号在DSB调制样式下,当信噪比为30,量化等级为15时的仿真结果,此时包络熵为1.0776。
图3—9单音DSB仿真结果
图3—10是单音信号在FM调制样式下,当信噪比为30,量化等级为15时的仿真结果,此时包络熵为0.21024。
图3—10单音FM仿真结果
图3—11是话音信号在DSB调制样式下,当信噪比为30,量化等级为15时的仿真结果,此时包络熵为0.87783。
图3—11话音DSB仿真结果
由上述仿真结果可知,AM、DSB、FM等调制信号用正交混频所得的包络与信号基本一致,AM、DSB调制信号的包络熵远大于FM调制信号的包络熵,改变信噪比(SNR)或量化等级,信号的包络熵有变化,说明仿真结果是正确的,实现了仿真的预期目标。
4仿真结果分析
4.1理论结果
对于AM、DSB等调幅类信号,在无噪声的情况下,在包络的变化区间内,由于包络的最大值处的斜率大,变化快,各幅度值的分布应该是近似均匀的,由于量化区间是[0,max