精华内容
下载资源
问答
  • 音频信号的滤波加窗分及基音周期提取-enframe0613pm.m 音频信号的滤波、加窗、分及基音周期提取
  • 结论表明,随机EBPSK调制脉冲数据串雷达信号与随机二相码脉冲雷达信号的距离模糊函数类似,即在距离轴上无模糊,而其速度模糊函数则由随机EBPSK调制数据和周期的相参脉冲串共同决定,即在速度轴上呈"梳状"模糊图,其...
  • 语音处理指定了一个由 Lawrence Rabiner 教授... 此 MATLAB 练习说明了对声门输入信号周期性脉冲或周期性声门脉冲)使用周期性激励对指定持续时间(音调周期)的一组浊音语音的结果对数或线性幅度谱的影响。
  • SDH原理--2.SDH信号结构

    千次阅读 2021-05-17 09:04:01
    SDH信号结构和复用步骤 目标: 1.1 SDH信号——STM-N的结构 诀窍: 想一想: (1)信息净负荷(payload) 技术细节: (2)段开销(SOH) 技术细节: (3)管理单元指针(AU-PTR) 1.2 SDH的复用...

    SDH信号的帧结构和复用步骤 

    目标:

    1.1 SDH信号——STM-N的帧结构

    诀窍:

    想一想:

    (1)信息净负荷(payload)

    技术细节:

    (2)段开销(SOH)

    技术细节:

    (3)管理单元指针(AU-PTR)

    1.2 SDH的复用结构和步骤

    1.2.1 140Mbit/s复用进STM-N信号

    1.2.2 34Mbit/s复用进STM-N信号

    想一想:

    1.2.3 2Mbit/s复用进STM-N信号

    技术细节:

    技术细节:

    1.3 映射、定位和复用的概念

    想一想:

    1.异步映射

    2.比特同步映射

    3.字节同步映射

    4.浮动VC模式

    5.锁定TU模式

    想一想:

    附图 我国SDH复用结构示意图

    小结

    习题


    2. SDH信号的帧结构和复用步骤 

    目标:

    1. 掌握STM-N信号的帧结构(以STM-1信号的帧结构为例)。
    2. 掌握STM-N信号帧中各部分结构所起的大致作用。
    3. 掌握2Mbit/s、34Mbit/s、140Mbit/s复用进STM-N信号的全过程。
    4. 掌握复用和映射的概念。 

    1.1 SDH信号——STM-N的帧结构

    SDH信号需要什么样的帧结构呢?

    STM-N信号帧结构的安排应尽可能使支路低速信号在一帧内均匀地、有规律的排列。为什么呢?因为这样便于实现支路低速信号的分/插、复用和交换,说到底就为了方便的从高速SDH信号中直接上/下低速支路信号。鉴于此,ITU-T规定了STM-N的帧是以字节(8bit)为单位的矩形块状帧结构,如图1-1所示。

                         

                                                                                                  图1-1所 STM-N 帧结构图

    诀窍:

    块状帧是什么呢?

    为了便于对信号进行分析,往往将信号的帧结构等效为块状帧结构,这不是SDH信号所特有的,PDH信号、ATM信号,分组交换的数据包,它们的帧结构都算是块状帧。例如,E1信号的帧是32个字节组成的1行×32列的块状帧,ATM信号是53个字节构成的块状帧。将信号的帧结构等效为块状,仅仅是为了分析的方便。

    从上图看出STM-N的信号是9行×270×N列的帧结构。此处的N与STM-N的N相一致,取值范围:1,4,16,64……,表示此信号由N个STM-1信号通过字节间插复用而成。由此可知,STM-1信号的帧结构是9行×270列的块状帧,由上图看出,当N个STM-1信号通过字节间插复用成STM-N信号时,仅仅是将STM-1信号的列按字节间插复用,行数恒定为9行。

    我们知道,信号在线路上传输时是一个bit一个bit地进行传输的,那么这个块状帧是怎样在线路上进行传输的呢?难道是将整个块都送上线路同时传输吗?当然不是这样传输,STM-N信号的传输也遵循按比特的传输方式。那么先传哪些比特后传哪些比特呢?SDH信号帧传输的原则是:帧结构中的字节(8bit)从左到右,从上到下一个字节一个字节(一个比特一个比特)的传输,传完一行再传下一行,传完一帧再传下一帧。

    STM-N信号的帧频(也就是每秒传送的帧数)是多少呢?ITU-T规定对于任何级别的STM-N帧,帧频是8000帧/秒,也就是帧长或帧周期为恒定的125μs。8000帧/秒听起来很耳熟,对了,PDH的E1信号也是8000帧/秒。

    这里需要注意到的是:帧周期的恒定是SDH信号的一大特点,任何级别的STM-N帧它的帧频都是8000帧/秒。想想看PDH不同等级信号的帧周期是否恒定?由于帧周期的恒定使STM-N信号的速率有其规律性。例如STM-4的传输数速恒定的等于STM-1信号传输数速的4倍,STM-16恒定等于STM-4的4倍,等于STM-1的16倍。而PDH中的E2信号速率≠E1信号速率的4倍。SDH信号的这种规律性使高速SDH信号直接分/插出低速SDH信号成为可能,特别适用于大容量的传输情况。

    想一想:

    1. STM-N帧中单独一个字节的比特传输速率是多少?
    2. STM-N的帧频为8000帧/秒,这就是说信号帧中某一特定字节每秒被传送8000次,那么该字节的比特速率是8000×8bit=64kbit/s。这个数字是不是也很眼熟,64kbit/s是一路数字电话的传输速率。

    从图2-1中看出,STM-N的帧结构由3部分组成:段开销,包括再生段开销(RSOH)和复用段开销(MSOH);管理单元指针(AU-PTR);信息净负荷(payload)。下面我们讲述这三大部分的功能。

    (1)信息净负荷(payload)

     是在STM-N帧结构中存放将由STM-N传送的各种信息码块的地方。信息净负荷区相当于STM-N这辆运货车的车箱,车箱内装载的货物就是经过打包的低速信号——待运输的货物。为了实时监测货物(打包的低速信号)在传输过程中是否有损坏,在将低速信号打包的过程中加入了监控开销字节——通道开销(POH)字节。POH作为净负荷的一部分与信息码块一起装载在STM-N这辆货车上在SDH网中传送,它负责对打包的货物(低速信号)进行通道性能监视、管理和控制(有点儿类似于传感器)。

    技术细节:

    何谓通道?

    举例说明,STM-1信号可复用进63×2Mbit/s的信号,那么换一种说法可将STM-1信号看成一条传输大道,那么在这条大路上又分成了63条小路,每条小路通过相应速率的低速信号,那么每一条小路就相当于一个低速信号通道,通道开销的作用就可以看成监控这些小路的传送状况了。这63个2M通道复合成了STM-1信号这条大路——此处可称为“段”了。现在你明白了吧,所谓通道指相应的低速支路信号,POH的功能就是监测这些低速支路信号在由STM-N这辆货车承载,在SDH网上运输时的性能。

    信息净负荷并不等于有效负荷,因为信息净负荷中存放的是经过打包的低速信号,即将低速信号加上了相应的POH。

    (2)段开销(SOH)

    是为了保证信息净负荷正常、灵活传送所必须附加的供网络运行、管理和维护(OAM)使用的字节。例如段开销可进行对STM-N这辆运货车中的所有货物在运输中是否有损坏进行监控,而POH的作用是当车上有货物损坏时,通过它来判定具体是哪一件货物出现损坏。也就是说SOH完成对货物整体的监控,POH是完成对某一件特定的货物进行监控。当然,SOH和POH还有一些管理功能。

    段开销又分为再生段开销(RSOH)和复用段开销(MSOH),分别对相应的段层进行监控。我们讲过段其实也相当于一条大的传输通道,RSOH和MSOH的作用也就是对这一条大的传输通道进行监控。

    那么,RSOH和MSOH的区别是什么呢?简单的讲二者的区别在于监管的范围不同。举个简单的例子,若光纤上传输的是2.5G信号,那么,RSOH监控的是STM-16整体的传输性能,而MSOH则是监控STM-16信号中每一个STM-1的性能情况。

    技术细节:

    RSOH、MSOH、POH提供了对SDH信号的层层细化的监控功能。例如2.5G系统,RSOH监控的是整个STM-16的信号传输状态;MSOH监控的是STM-16中每一个STM-1信号的传输状态;POH则是监控每一个STM-1中每一个打包了的低速支路信号(例如2Mbit/s)的传输状态。这样通过开销的层层监管功能,使你可以方便地从宏观(整体)和微观(个体)的角度来监控信号的传输状态,便于分析、定位。 

     

    再生段开销在STM-N帧中的位置是第一到第三行的第一到第9×N列,共3×9×N个字节;复用段开销在STM-N帧中的位置是第5到第9行的第一到第9×N列,共5×9×N个字节。与PDH信号的帧结构相比较,段开销丰富是SDH信号帧结构的一个重要的特点。

    (3)管理单元指针(AU-PTR)

    管理单元指针位于STM-N帧中第4行的9×N列,共9×N个字节,AU-PTR起什么作用呢?我们讲过SDH能够从高速信号中直接分/插出低速支路信号(例如2Mbit/s),为什么会这样呢?这是因为低速支路信号在高速SDH信号帧中的位置有预见性,也就是有规律性。预见性的实现就在于SDH帧结构中指针开销字节功能。AU-PTR是用来指示信息净负荷的第一个字节在STM-N帧内的准确位置的指示符,以便收端能根据这个位置指示符的值(指针值)正确分离信息净负荷。这句话怎样理解呢?若仓库中以堆为单位存放了很多货物,每堆货物中的各件货物(低速支路信号)的摆放是有规律性的(字节间插复用),那么若要定位仓库中某件货物的位置就只要知道这堆货物的具体位置就可以了,也就是说只要知道这堆货物的第一件货物放在哪儿,然后通过本堆货物摆放位置的规律性,就可以直接定位出本堆货物中任一件货物的准确位置,这样就可以直接从仓库中搬运(直接分/插)某一件特定货物(低速支路信号)。AU-PTR的作用就是指示这堆货物中第一件货物的位置。

    其实指针有高、低阶之分,高阶指针是AU-PTR,低阶指针是TU-PTR(支路单元指针),TU-PTR的作用类似于AU-PTR,只不过所指示的货物堆更小一些而已。

    1.2 SDH的复用结构和步骤

    SDH的复用包括两种情况:一种是低阶的SDH信号复用成高阶SDH信号;另一种是低速支路信号(例如2Mbit/s、34Mbit/s、140Mbit/s)复用成SDH信号STM-N。

    第一种情况在前面已有所提及,复用主要通过字节间插复用方式来完成的,复用的个数是4合一,即4×STM-1→STM-4,4×STM-4→STM-16。在复用过程中保持帧频不变(8000帧/秒),这就意味着高一级的STM-N信号速率是低一级的STM-N信号速率的4倍。在进行字节间插复用过程中,各帧的信息净负荷和指针字节按原值进行间插复用,而段开销则会有些取舍。在复用成的STM-N帧中,SOH并不是所有低阶SDH帧中的段开销间插复用而成,而是舍弃了一些低阶帧中的段开销,其具体的复用方法在下一节中讲述。

    第二种情况用得最多的就是将PDH信号复用进STM-N信号中去。

    传统的将低速信号复用成高速信号的方法有两种:

    (1)比特塞入法(又叫做码速调整法)

    这种方法利用固定位置的比特塞入指示来显示塞入的比特是否载有信号数据,允许被复用的净负荷有较大的频率差异(异步复用)。它的缺点是因为存在一个比特塞入和去塞入的过程(码速调整),而不能将支路信号直接接入高速复用信号或从高速信号中分出低速支路信号,也就是说不能直接从高速信号中上/下低速支路信号,要一级一级的进行。这种比特塞入法就是PDH的复用方式。

    (2)固定位置映射法

    这种方法利用低速信号在高速信号中的相对固定的位置来携带低速同步信号,要求低速信号与高速信号同步,也就是说帧频相一致。它的特点在于可方便的从高速信号中直接上/下低速支路信号,但当高速信号和低速信号间出现频差和相差(不同步)时,要用125μs(8000帧/秒)缓存器来进行频率校正和相位对准,导致信号较大延时和滑动损伤。

    从上面看出这两种复用方式都有一些缺陷,比特塞入法无法直接从高速信号中上/下低速支路信号;固定位置映射法引入的信号时延过大。

    SDH网的兼容性要求SDH的复用方式既能满足异步复用(例如:将PDH信号复用进STM-N),又能满足同步复用(例如STM-1→STM-4),而且能方便地由高速STM-N信号分/插出低速信号,同时不造成较大的信号时延和滑动损伤,这就要求SDH需采用自己独特的一套复用步骤和复用结构。在这种复用结构中,通过指针调整定位技术来取代125μs缓存器用以校正支路信号频差和实现相位对准,各种业务信号复用进STM-N帧的过程都要经历映射(相当于信号打包)、定位(相当于指针调整)、复用(相当于字节间插复用)三个步骤。

    ITU-T规定了一整套完整的复用结构(也就是复用路线),通过这些路线可将PDH的3个系列的数字信号以多种方法复用成STM-N信号。ITU-T规定的复用路线如图1-2。

                           

                                                                                                   图1-2 G.709复用映射结构

    从图1-2中可以看到此复用结构包括了一些基本的复用单元:C-容器、VC-虚容器、TU-支路单元、TUG-支路单元组、AU-管理单元、AUG-管理单元组,这些复用单元的下标表示与此复用单元相应的信号级别。在图中从一个有效负荷到STM-N的复用路线不是唯一的,有多条路线(也就是说有多种复用方法)。例如:2Mbit/s的信号有两条复用路线,也就是说可用两种方法复用成STM-N信号。不知你注意到没有,8Mbit/s的PDH信号是无法复用成STM-N信号的。

    尽管一种信号复用成SDH的STM-N信号的路线有多种,但是对于一个国家或地区则必须使复用路线唯一化。我国的光同步传输网技术体制规定了以2Mbit/s信号为基础的PDH系列作为SDH的有效负荷,并选用AU-4的复用路线,其结构见图1-3所示。

                                                   

                                                                                                                      图1-3 我国的SDH基本复用映射结构

    下面我们分别讲述2Mbit/s、34Mbit/s、140Mbit/s的PDH信号是如何复用进STM-N信号中的。

    1.2.1 140Mbit/s复用进STM-N信号

    (1)首先将140Mbit/s的PDH信号经过码速调整(比特塞入法)适配进C4,C4是用来装载140Mbit/s的PDH信号的标准信息结构。参与SDH复用的各种速率的业务信号都应首先通过码速调整适配技术装进一个与信号速率级别相对应的标准容器:2Mbit/s——C12、34Mbit/s——C3、140Mbit/s——C4。容器的主要作用就是进行速率调整。140Mbit/s的信号装入C4也就相当于将其打了个包封,使140Mbit/s信号的速率调整为标准的C4速率。C4的帧结构是以字节为单位的块状帧,帧频是8000帧/秒,也就是说经过速率适配,140Mbit/s的信号在适配成C4信号时已经与SDH传输网同步了。这个过程也就相当于C4装入异步140Mbit/s的信号。C4的帧结构如图1-4所示。

                                              

                                                                                                  1-4 C4的帧结构图

    C4信号的帧有260列×9行(PDH信号在复用进STM-N中时,其块状帧一直保持是9行),那么E4信号适配速率后的信号速率(也就是C4信号的速率)为:8000帧/秒×9行×260列×8bit=149.760Mbit/s。所谓对异步信号进行速率适配,其实际含义就是指当异步信号的速率在一定范围内变动时,通过码速调整可将其速率转换为标准速率。在这里,E4信号的速率范围是139.264Mbit/s±15ppm(G.703规范标准)=(139.261-139.266)Mbit/s,那么通过速率适配可将这个速率范围的E4信号,调整成标准的C4速率149.760Mbit/s,也就是说能够装入C4容器。

    怎样进行E4信号的速率调整呢?

    可将C4的基帧(9行×260列)划分为9个子帧,每个子帧占一行。每个子帧又可以13个字节为一个单位,分成20个单位(20个13字节块)。每个子帧的20个13字节块的第1个字节依次为:W、X、Y、Y、Y、X、Y、Y、Y、X、Y、Y、Y、X、Y、Y、Y、X、Y、Z,共20个字节,每个13字节块的第2到第13字节放的是140Mbit/s的信息比特。见图1-5:

                               

                                                                                                             图1-5 C-4的子帧结构

    E4信号的速率适配就是通过9个子帧的共180个13字节块的首字节来实现。那么怎么实现的呢?一个子帧中每个13字节块的后12个字节均为W字节再加上第一个13字节的第一个字节也是W字节共241个W字节、5个X字节、13个Y字节、1个Z字节。各字节的比特内容见图2-5。那么一个子帧的组成是:

    C4子帧=241W+13Y+5X+1Z=260个字节=(1934I+S)+5C+130R+10O=2080bit

    一个C4子帧总计有8×260=2080bit,其分配是:

    信息比特I:1934;固定塞入比特R:130;开销比特O:10;调整控制比特C:5;调整机会比特S:1。

    C比特主要用来控制相应的调整机会比特S,当CCCCC=00000时,S=I;当CCCCC=11111时,S=R。分别令S为I或S为R,可算出C-4容器能容纳的信息速率的上限和下限。

    当S=I时,C-4能容纳的信息速率最大,C-4max=(1934+1)×9×8000=139.320Mbit/s;当S=R时,C-4能容纳的信息速率最小,C-4min=(1934+0)×9×8000=139.248Mbit/s。也就是说C-4容器能容纳的E4信号的速率范围是139.248Mbit/s -139.32Mbit/s。而符合G.703规范的E4信号速率范围是139.261Mbit/s-139.266Mbit/s,这样,C4容器就可以装载速率在一定范围内的E4信号,也就是可以对符合G.703规范的E4信号进行速率适配,适配后为标准C4速率--149.760Mbit/s。

    (2)为了能够对140Mbit/s的通道信号进行监控,在复用过程中要在C4的块状帧前加上一列通道开销字节(高阶通道开销VC4-POH),此时信号成为VC4信息结构,见图1-6所示。

                                                                  

                                                                                                                                图1-6 VC4结构图

    VC4是与140Mbit/sPDH信号相对应的标准虚容器,此过程相当于对C4信号再打一个包封,将对通道进行监控管理的开销(POH)打入包封中去,以实现对通道信号的实时监控。

    虚容器(VC)的包封速率也是与SDH网络同步的,不同的VC(例如与2Mbit/s相对应的VC12、与34Mbit/s相对应的VC3)是相互同步的,而虚容器内部却允许装载来自不同容器的异步净负荷。虚容器这种信息结构在SDH网络传输中保持其完整性不变,也就是可将其看成独立的单位(货包),十分灵活和方便地在通道中任一点插入或取出,进行同步复用和交叉连接处理。

    其实,从高速信号中直接定位上/下的是相应信号的VC这个信号包,然后通过打包/拆包来上/下低速支路信号。

    在将C4打包成VC4时,要加入9个开销字节,位于VC4帧的第一列,这时VC4的帧结构,就成了9行×261列。从中发现了什么没有?STM-N的帧结构中,信息净负荷为9行×261×N列,当为STM-1时,即为9行×261列,现在你明白了吧!VC4其实就是STM-1帧的信息净负荷。将PDH信号经打包成C,再加上相应的通道开销而成VC这种信息结构,这个过程就叫映射。

    (3)货物都打成了标准的包封,现在就可以往STM-N这辆车上装载了。装载的位置是其信息净负荷区。在装载货物(VC)的时候会出现这样一个问题,当货物装载的速度和货车等待装载的时间(STM-N的帧周期125μs)不一致时,就会使货物在车箱内的位置“浮动”,那么在收端怎样才能正确分离货物包呢?SDH采用在VC4前附加一个管理单元指针(AU-PTR)来解决这个问题。此时信号由VC4变成了管理单元AU-4这种信息结构,见图1-7所示。

                                                     

                                                                                                     图1-7 AU-4结构图 

    AU-4这种信息结构已初具STM-1信号的雏形——9行×270列,只不过缺少SOH部分而已,这种信息结构其实也算是将VC4信息包再加了一个包封——AU-4。

    管理单元为高阶通道层和复用段层提供适配功能,由高阶VC和AU指针组成。AU指针的作用是指明高阶VC在STM帧中的位置。通过指针的作用,允许高阶VC在STM帧内浮动,即允许VC4和AU-4有一定的频偏和相差;简单而言,容忍VC4的速率和AU-4包封速率(装载速率)有一定的差异。这个过程形象的看,就是允许货物的装载速度与车辆的等待时间有一定的时间差异。这种差异性不会影响收端正确的定位、分离VC4。尽管货物包可能在车箱内(信息净负荷区)“浮动”,但是AU-PTR本身在STM帧内的位置是固定的。(为什么?)AU-PTR不在净负荷区,而是和段开销在一起。这就保证了收端能正确的在相应位置找到AU-PTR,进而通过AU指针定位VC4的位置,进而从STM-N信号中分离出VC4。

    一个或多个在STM帧中占用固定位置的AU组成AUG--管理单元组。

    只剩下最后一步了,将AUG加上相应的SOH合成STM-1信号,N个STM-1信号通过字节间插复用成STM-N信号。140Mbit/s→STM-N的复用全过程见第二节后的附图。

    1.2.2 34Mbit/s复用进STM-N信号

    (1)同样34Mbit/s的信号先经过码速调整将其适配到相应的标准容器-C3中,然后加上相应的通道开销C3打包成VC3,此时的帧结构是9行×85列。为了便于收端定位VC3,以便能将它从高速信号中直接拆离出来,在VC3的帧上加了3个字节的指针--TU-PTR(支路单元指针),注意AU-PTR是9个字节。此时的信息结构是支路单元TU-3(与34Mbit/s的信号相应的信息结构),支路单元提供低阶通道层(低阶VC,例如VC3)和高阶通道层之间的桥梁,也就是高阶通道(高阶VC)拆分成低阶通道(低阶VC),或低阶通道复用成高阶通道的中间过渡信息结构。C3、VC3的帧结构见第二节后的附图。

    那么支路单元指针起什么作用呢?TU-PTR用以指示低阶VC的起点在支路单元TU中的具体位置。与AU-PTR很类似,AU-PTR是指示VC4起点在STM帧中的具体位置,实际上二者的工作机理也很类似。我们可以将TU类比成一个小的AU-4,那么在装载低阶VC到TU中时也就要有一个定位的过程--加入TU-PTR的过程。

    此时的帧结构TU3如图1-8所示。

                                                                 

                                                                                                     图1-8 装入TU-PTR后的TU3 结构图

    (2)TU3的帧结构有点残缺,先将其缺口部分补上,成图1-9所示的帧结构。

                                                                 

                                                                                    图1-9 填补缺口后的TU3 帧结构图

    图中R为塞入的伪随机信息,这时的信息结构为TUG3——支路单元组。

    (3)三个TUG3通过字节间插复用方式,复合成C4信号结构,复合过程见图1-10所示。

                                                                             

                                                                                               图1-10 C4帧结构图

    因为TUG3是9行×86列的信息结构,所以3个TUG3通过字节间插复用方式复合后的信息结构是9行×258列的块状帧结构,而C4是9行×260列的块状帧结构。于是在3×TUG3的合成结构前面加两列塞入比特,使其成为C4的信息结构。

    (4)这时剩下的工作就是将C4→STM-N中去了,过程同前面所讲的将140Mbit/s信号复用进STM-N信号的过程类似:C4→VC4→AU-4→AUG→STM-N。

    想一想:

    此处有两个指针AU-PTR和TU-PTR,为什么要两个?两个指针提供了两级定位功能,AU-PTR使收端正确定位、分离VC4;而VC4可装载3个VC3,TU-PTR则相应的定位每个VC3起点的具体位置。从而,在接收端通过AU-PTR定位到相应的VC4,又通过TU-PTR定位到相应的VC3。

    1.2.3 2Mbit/s复用进STM-N信号

    当前运用得最多的复用方式是将2Mbit/s信号复用进STM-N信号中,它也是PDH信号复用进SDH信号最复杂的一种复用方式。

    (1)首先,将2Mbit/s的PDH信号经过速率适配装载到对应的标准容器C12中,为了便于速率的适配采用了复帧的概念,即将4个C12基帧组成一个复帧。C12的基帧帧频也是8000帧/秒,那么C12复帧的帧频就成了2000帧/秒。见第二节后的附图。

    那么,为什么要使用复帧呢?采用复帧纯粹是为了码速适配的方便。例如若E1信号的速率是标准的2.048Mbit/s,那么装入C12时正好是每个基帧装入32个字节(256比特)有效信息,为什么?因为C12帧频8000帧/秒,PCM30/32[E1]信号也是8000帧/秒。但当E1信号的速率不是标准速率2.048Mbit/s时,那么装入每个C12的平均比特数就不是整数。例如:E1速率是2.046Mbit/s时,那么将此信号装入C12基帧时平均每帧装入的比特数是:(2.046×106bit/秒)/(8000帧/秒)=255.75bit有效信息,比特数不是整数,因此无法进行装入。若此时取4个基帧为一个复帧,那么正好一个复帧装入的比特数为:(2.046×106bit/秒)/(2000帧/秒)=1023bit,可在前三个基帧每帧装入256bit(32字节)有效信息,在第4帧装入255个bit的有效信息,这样就可将此速率的E1信号完整的适配进C12中去。那么是怎样对E1信号进行速率适配(也就是怎样将其装入C12)的呢?C12基帧结构是9×4-2个字节的带缺口的块状帧,4个基帧组成一个复帧,C12复帧结构和字节安排如图2-11所

     

    Y

    W

    W

     

    G

    W

    W

     

    G

    W

    W

     

    M

    N

    W

    W

    W

    W

    W

    W

    W

    W

    W

    W

    W

    W

    W

    W

    W

    W

    W

    W

    第一个C-12基帧结构 9×4-2=32W

    +2Y

    W

    W

    第二个C-12基帧结构 9×4-2=32W

    +1Y +1G

    W

    W

    第三个C-12基帧结构 9×4-2= 32W

    +1Y+1G

    W

    W

    第四个C-12基帧结构 9×4-2 =31W+1Y+

    1M+1N

    W

    W

     

     

    W

    W

     

     

    W

    W

     

     

    W

    W

     

     

    W

    W

     

     

    W

    W

     

     

    W

    W

     

     

    W

    W

     

     

    W

    W

     

     

    W

    W

     

     

    W

    W

     

     

    W

    W

     

     

    W

    W

     

     

    W

    W

     

     

    W

    W

     

     

    W

    W

     

     

    W

    W

     

     

    W

    W

     

     

    W

    W

     

     

    W

    W

     

     

    W

    W

    W

    Y

     

    W

    W

    Y

     

    W

    W

    Y

     

    W

    W

    Y

      

    每格为一个字节(8bit),各字节的比特类别:

    W=I I I I I I I I                  Y=RRRRRRRR             G=C1C2OOOORR

    M=C1C2RRRRRS1           N=S2 I I I I I I I

    I :信息比特                     R:塞入比特:               O:开销比特

    C1:负调整控制比特      S1:负调整位置       C1=0       S1=I;C1=1        S1=R*

    C2:正调整控制比特      S2:正调整位置       C2=0       S2=I;C2=1        S2=R*

    R*表示调整比特,在收端去调整时,应忽略调整比特的值,复帧周期为125×4=500μs。

    C-12复帧结构和字节安排

    复帧中的各字节的内容见图2-11所示 ,一个复帧共有:C12复帧=4(9×4-2)=136字节=127W+5Y+2G+1M+1N=(1023I+S1+S2)+3C1+49R+8O=1088bit,其中负、正调整控制比特C1、C2分别控制负、正调整机会S1、S2。当C1C1C1=000时,S1放有效信息比特I,而C1C1C1=111时,S1放塞入比特R,C2以同样方式控制S2。

    那么复帧可容纳有效信息负荷的允许速率范围是:

    C-12复帧max=(1023+1+1)×2000=2.050Mbit/s

    C-12复帧min=(1023+0+0)×2000=2.046Mbit/s

    也就是说当E1信号适配进C12时,只要E1信号的速率范围在2.046Mbit/s--2.050Mbit/s 的范围内,就可以将其装载进标准的C12容器中,实质上就是经过码速调整将其速率调整成标准的C12速率——2.176Mbit/s。

    技术细节:

    从第二节后的附图看,一个复帧的4个C12基帧是并行搁在一起的,这4个基帧在复用成STM-1信号时,不是复用在同一帧STM-1信号中的,而是复用在连续的4帧STM-1中。这样为正确分离2Mbit/s的信号就有必要知道每个基帧在复帧中的位置即在复帧中的第几个基帧。

    (2)为了在SDH网的传输中能实时监测任 一个2Mbit/s通道信号的性能,需将C12再打包——加入相应的通道开销(低阶通道开销),使其成为VC12的信息结构。见第二节后的附图,此处LP-POH(低阶通道开销)是加在每个基帧左上角的缺口上的,一个复帧有一组低阶通道开销,共4个字节:V5、J2、N2、K4。因为VC可看成一个独立的实体,因此我们以后对2Mbit/s的业务的调配是以VC12为单位的。

    一组通道开销监测的是整个复帧在网络上传输的状态,想想看一个C12复帧装载多少帧2Mbit/s的信号?一个C12复帧装载的是4帧PCM30/32的信号,因此,一组LP-POH监控的是4帧PCM30/32信号的传输状态。

    (3)为了使收端能正确定位VC12的帧,在VC12复帧的4个缺口上再加上4个字节的TU-PTR ,这时信号的信息结构就变成了TU12,9行×4列。TU-PTR指示复帧中第一个VC12的起点在TU12复帧中的具体位置。

    (4)3个TU12经过字节间插复用合成TUG-2,此时的帧结构是9行×12列。

    (5)7个TUG-2经过字节间插复用合成TUG3的信息结构。请注意7个TUG-2合成的信息结构是9行×84列,为满足TUG3的信息结构9行×86列,则需在7个TUG-2合成的信息结构前加入两列固定塞入比特。如图1-12所示。

                                                                      

                                                                                               图1-12 TUG3的信息结构

    (6)TUG3信息结构再复用进STM-N中的步骤则与前面所讲的一样。

    技术细节:

    从140Mbit/s的信号复用进STM-N信号的过程可以看出,一个STM-N最多可承载N个140Mbit/s,一个STM-1信号只可以复用进1个140Mbit/s的信号,此时STM-1信号的容量为64个2Mbit/s的信号。

    同样的从34Mbit/s的信号复用进STM-1信号,STM-1可容纳3个34Mbit/s的信号,此时STM-1信号的容量为48×2Mbit/s。。

    从2Mbit/s信号复用进STM-1信号,STM-1可容纳3×7×3=63个2Mbit/s信号。

    从上可看出,从140Mbit/s和从2Mbit/s复用进SDH的STM-N中,信号利用率较高。而从34Mbit/s复用进STM-N,一个STM-1只能容纳48个2Mbit/s的信号,利用率较低。

    从2Mbit/s复用进STM-N信号的复用步骤可以看出3个TU12复用成一个TUG2,7个TUG2复用成一个TUG3,3个TUG3复用进一个VC4,一个VC4复用进1个STM-1,也就是说2Mbit/s的复用结构是3-7-3结构。由于复用的方式是字节间插方式,所在在一个VC4中的63个VC12的排列方式不是顺序来排列的。头一个TU12的序号和紧跟其后的TU12的序号相差21。

    有个计算同-个VC4中不同位置TU12的序号的公式:

    VC12序号=TUG3编号+(TUG2编号-1)×3+(TU12编号-1)×21。TU12的位置在VC4帧中相邻是指TUG3编号相同,TUG2编号相同,而TU12编号相差为1的两个TU12。

    这个公式在用SDH传输分析仪进行相关测试时会用得到。想想看序号相邻的两个TU12在VC4帧中的排列位置有何共性?

    注:此处指的编号是指VC4帧中的位置编号,TUG3编号范围:1~3;TUG2编号范围:1~7;TU12编号范围:1~3。TU12序号是指本TU12是VC4帧63个TU12的按复用先后顺序的第几个TU12。见图1-13。

                                                              

                                                                                                             图1-13 VC4中TUG3、TUG2、TU12的排放结构

    以上讲述了中国所使用的PDH数字系列复用到STM-N帧中的方法和步骤,对这方面的内容希望你能理解,因为它是你以后提高维护设备能力的最基本的知识,也是接下来深入学习SDH原理的基础。

    1.3 映射、定位和复用的概念

    在将低速支路信号复用成STM-N信号时,要经过3个步骤:映射、定位、复用。

    定位是指通过指针调整,使指针的值时刻指向低阶VC帧的起点在TU净负荷中或高阶VC帧的起点在AU净负荷中的具体位置,使收端能据此正确地分离相应的VC,这部分内容在下一节中将详细论述。

    复用的概念比较简单,复用是一种使多个低阶通道层的信号适配进高阶通道层(例如TU12(×3)→TUG2(×7)→TUG3(×3)→VC4)或把多个高阶通道层信号适配进复用层的过程(例如AU-4(×1)→AUG(×N)→STM-N)。复用也就是通过字节间插方式把TU组织进高阶VC或把AU组织进STM-N的过程。由于经过TU和AU指针处理后的各VC支路信号已相位同步,因此该复用过程是同步复用,复用原理与数据的串并变换相类似。

    想一想:

    PDH140Mbit/s、34Mbit/s、2Mbit/s信号适配进标准容器的方式是什么装入方式?

    一般都属于异步装入方式,因为要经过相应的塞入比特进行码速调整才能装入。例如,在将2Mbit/s的信号适配进C12时,不能保证每个C12正好装入的是一个E1帧。

    好,我们重点讲一下映射的概念。

    映射是一种在SDH网络边界处(例如SDH/PDH边界处),将支路信号适配进虚容器的过程。象我们经常使用的将各种速率(140Mbit/s、34Mbit/s、2Mbit/s)信号先经过码速调整,分别装入到各自相应的标准容器中,再加上相应的低阶或高阶的通道开销,形成各自相对应的虚容器的过程。

    为了适应各种不同的网络应用情况,有异步、比特同步、字节同步三种映射方法与浮动VC和锁定TU两种模式。

    1.异步映射

    异步映射对映射信号的结构无任何限制(信号有无帧结构均可),也无需与网络同步(例如PDH信号与SDH网不完全同步)。利用码速调整将信号适配进VC的映射方法。在映射时通过比特塞入将其打包成与SDH网络同步的VC信息包,在解映射时,去除这些塞入比特,恢复出原信号的速率,也就是恢复出原信号的定时。因此说低速信号在SDH网中传输有定时透明性,即在SDH网边界处收发两端的此信号速率相一致(定时信号相一致)。

    此种映射方法可从高速信号中(STM-N)中直接分/插出一定速率级别的低速信号(例如2Mbit/s、34Mbit/s、140Mbit/s)。因为映射的最基本的不可分割单位是这些低速信号,所以分/插出来的低速信号的最低级别也就是相应的这些数率级别的低速信号。

    2.比特同步映射

    此种映射是对支路信号的结构无任何限制,但要求低速支路信号与网同步(例如E1信号保证8000帧/秒),无需通过码速调整即可将低速支路信号打包成相应的VC的映射方法,注意:VC时刻都是与网同步的。原则上讲此种映射方法可从高速信号中直接分/插出任意速率的低速信号,因为在STM-N信号中可精确定位到VC,由于此种映射是以比特为单位的同步映射,那么在VC中可以精确的定位到你所要分/插的低速信号具体的那一个比特的位置上,这样理论上就可以分/插出所需的那些比特,由此根据所需分/插的比特不同,可上/下不同速率的低速支路信号。 异步映射将低速支路信号定位到VC一级后就不能再深入细化的定位了,所以拆包后只能分出VC相应速率级别的低速支路信号。 比特同步映射类似于将以比特为单位的低速信号(与网同步)进行比特间插复用进VC中,在VC中每个比特的位置是可预见的。

    3.字节同步映射

    字节同步映射是一种要求映射信号具有字节为单位的块状帧结构,并与网同步,无需任何速率调整即可将信息字节装入VC内规定位置的映射方式。在这种情况下,信号的每一个字节在VC中的位置是可预见的(有规律性),也就相当于将信号按字节间插方式复用进VC中,那么从STM-N中可直接下VC,而在VC中由于各字节位置的可预见性,于是可直接提取指定的字节出来。所以,此种映射方式就可以直接从STM-N信号中上/下64kbit/s或N×64kbit/s的低速支路信号。为什么呢?因为VC的帧频是8000帧/秒,而一个字节为8bit,若从每个VC中固定的提取N个字节的低速支路信号,那么该信号速率就是N×64kbit/s。

    4.浮动VC模式

    浮动VC模式指VC净负荷在TU内的位置不固定,由TU-PTR指示VC起点的一种工作方式。它采用了TU-PTR和AU-PTR两层指针来容纳VC净负荷与STM-N帧的频差和相差,引入的信号时延最小(约10μs)。

    采用浮动模式时,VC帧内可安排VC-POH,可进行通道级别的端对端性能监控。三种映射方法都能以浮动模式工作。前面讲的映射方法:2Mbit/s、34Mbit/s、140Mbit/s映射进相应的VC,就是异步映射浮动模式。

    5.锁定TU模式

    锁定TU模式是一种信息净负荷与网同步并处于TU帧内的固定位置,因而无需TU-PTR来定位的工作模式。PDH基群只有比特同步和字节同步两种映射方法才能采用锁定模式。

    锁定模式省去了TU-PTR,且在TU和TUG内无VC-POH,采用125μs的滑动缓存器使VC净负荷与STM-N信号同步。这样引入信号时延大,且不能进行端对端的通道级别的性能监测。

    综上所述,三种映射方法和两类工作模式共可组合成五种映射方式,我们着重讲一讲当前最通用的异步映射浮动模式的特点。

    异步映射浮动模式最适用于异步/准同步信号映射,包括将PDH通道映射进SDH通道的应用,能直接上/下低速PDH信号,但是不能直接上/下PDH信号中的64kbit/s信号。异步映射接口简单,引入映射时延少,可适应各种结构和特性的数字信号,是一种最通用的映射方式,也是PDH向SDH过渡期内必不可少的一种映射方式。当前各厂家的设备绝大多数采用的是异步映射浮动模式。

    浮动字节同步映射接口复杂但能直接上/下64kbit/s和N ×64kbit/s信号,主要用于不需要一次群接口的数字交换机互连和两个需直接处理64kbit/s和N×64kbit/s业务的节点间的SDH连接。

    到这里为止,本节的内容就基本讲完了,在结束之前再强调一下,PDH各级别速率的信号和SDH复用中的信息结构的一一对应关系:2Mbit/s——C12——VC12——TU12;34Mbit/s——C3——VC3——TU3;140Mbit/s——C4——VC4——AU4;通常在指PDH各级别速率的信号时,也可用相应的信息结构来表示,例如用VC12表示PDH的2Mbit/s信号。

    想一想:

    想想看这一节都学了些什么?

    学习了STM-N的帧结构及其各个组成部分的用法。

    学习了PDH各速率级别信号复用进STM-N信号的方法和步骤,以及各种信息结构大致的作用——C、VC、TU、TUG、AU、AUG。

    学习了对2Mbit/s、140Mbit/s信号进行速率适配的方法。

    复用、映射的基本概念。

    本节的重点是上述1和2,这些内容你都掌握了吗?

    附图 我国SDH复用结构示意图

    小结

    本节主要讲述了SDH帧的结构及其各主要部分的作用,讲述了PDH(2M、34M、140M)信号复用进STM-N帧的大致步骤。

    习题

    1. 2M复用在VC4中的位置是第二个TUG3、第三个TUG2、第一个TU12,那么该2M的时隙序号为            。
    2. STM-1可复用进           个2M信号,            个34M信号, 个140M信号。

     

    展开全文
  • 基于MATLAB的语音信号处理

    万次阅读 多人点赞 2018-07-15 01:21:20
    基于MATLAB的语音信号处理摘要:语音信号处理是目前发展最为迅速的信息科学研究领域中的一个,是目前极为活跃和热门的研究领域,其研究成果具有重要的学术及应用价值。语音信号处理的研究,对于机器语言、语音识别、...

    基于MATLAB的语音信号处理


    摘要:语音信号处理是目前发展最为迅速的信息科学研究领域中的一个,是目前极为活跃和热门的研究领域,其研究成果具有重要的学术及应用价值。语音信号处理的研究,对于机器语言、语音识别、语音合成等领域都具有很大的意义。MATLAB软件以其强大的运算能力可以很好的完成对语音信号的处理。通过MATLAB可以对数字化的语音信号进行时频域分析,方便地展现语音信号的时域及频域曲线,并且根据语音的特性对语音进行分析。本文主要研究了基于MATLAB软件对语音信号进行的一系列特性分析及处理,帮助我们更好地发展语音编码、语音识别、语音合成等技术。本文通过应用MATLAB对语音信号进行处理仿真,包括短时能量分析、短时自相关分析等特性分析,以及语音合成等。

    关键词:语音信号;MATLAB;特性分析;语音合成

    引言

            人类交换信息最方便的、最快捷的一种方式是语言。在高度发达的信息社会中,用数字化的方法进行语音的识别、合成、增强、传送和储存等是整个数字化通信网中最重要、最基本的组成部分之一。数字电话通信、高音质的窄带语音通信系统、智能机器人、声控打字机、语言学习机、自动翻译机等,都要用到语音信号处理技术,随着现在集成电路和微电子技术的飞速发展,语音信号处理系统逐步走向实用化[1]

            语音信号处理是一个新兴的交叉学科,是语音和数字信号处理两个学科的结合产物。与认知科学、心理学、语言学、计算机科学、模式识别和人工智能学科有着密切的联系。语音信号处理技术的发展依赖于这些学科的发展,语音信号处理技术的进步也将促进这些领域的进展。语音信号处理目的是得到一些语音特征参数,以便高效的传输或存储,或通过某种处理以达到特定目的,如语音合成,辨识出讲话者、识别出讲话的内容等。随着现代科学技术和计算机技术的发展,除了人与人的自然语言的沟通,人机对话和智能机领域也开始使用语言。这些人造的语言拥有词汇,语法,语法结构和语义内容等。

            语音信号处理的研究可以追溯到1876年贝尔电话的发明,其在真正意义上首次用声电,电声转换技术实现了远距离语音传输。 1939Homer Dudley提出并研制成功第一个声码器,奠定了语音产生模型的基础,其在语音信号处理领域具有划时代的意义。在20世纪40年代,一种语言声学的专用仪器语谱图仪问世。它可以让你把语音的时变频谱用语图表示出来,得到一个“可见的语言 1984年哈斯金斯实验室研制成功语音回放机,此仪器可以自动转换手工绘制的语谱图成为语言,并进行语音合成。随着计算机的出现,语音分析技术可以在计算机上进行。此时语音信号处理无论是在基础研究或在技术应用,都已取得了突破性进展。现在语音信号可分为三个主要分支,即语音编码,语音识别和语音合成技术[10]

            语音编码技术。语音编码的目的就是在保证一定语音质量的前提下,尽可能降低编码比特率来节省频率资源。语音编码技术的研究开始于1939年, Homer Dudley提出并实现了在低带宽电话电报上传输语音信号的通道声码器,第一个研制成功了语音编码技术。到20世纪70年代,国际电联于1972年发布了64kbit/s脉冲编码调制(PCM)语音编码算法的G.711建议,它被广泛应用于数字交换机、数字通信等领域,从而占据统治地位。在199511ITU-T SG15全会上共轭代数码激励线性预测(CS-ACELP)的8kbit/s语音编码G.729建议被通过,并于19966ITU-T SG15会议上通过G.729附件A:减少复杂度的8kbit/s CS-ACELP语音编解码器,正式成为国际标准[1]

            语音识别技术。语音识别的研究开始于20世纪50年代贝尔实验室的Audry系统,它是第一个可以识别10个英文数字的语音识别系统, 1959FryDenes等人采用频谱分析和模式匹配来进行识别决策构建音素识别器来辨别9个辅音和4个元音。20世纪60年代末单语音识别的研究取得实质性进展,并将其作为一个重要的课题。一方面是因为计算机的计算能力有了迅速的提高,计算机能够提供实现复杂算法的硬件、软件;另一方面,数字信号处理在当时有了蓬勃发展,从而自20世纪60年代末开始引起了语音识别的研究热潮。

            语音合成技术。第一个合成器是在1835年由W.von Kempelen发明,经过Weston改进的机械讲话机。机器完全模仿人的生理过程,分别应用了特别设计的哨和软管模拟肺部空气动力和口腔。Homer Dudley1939年发明了第一台电子语音合成器,它不是一个简单的生理过程的模拟,而是在电子电路基础上来实现语音产生源。本文关于语音信号处理方面主要研究了语音合成。语音合成已经在许多方面得到了实际应用,方便了人们的生活,创造了很好的经济效益和社会效益,如公共交通中的自动报站、各种场合的自动报警、电话自动查询服务、文本校对中的语音提示等。综观语言合成技术的研究,语音合成发展方向为提高合成语音的自然度、丰富合成语音的表现力、降低语音合成技术的复杂度等。

    一、语音信号处理基本知识与仿真环境介绍

    1.1 语音信号处理基本知识

    1.1.1语音信号分析技术

            语音信号分析是语音信号处理的前提和基础,只有分析出可表示语音信号本质特征的参数,才有可能利用这些参数进行高效的语音通信、语音合成和语音识别等处理。而且,语音合成的音质好坏,语音识别率的高低,也都取决于对语音信号分析的准确性和精确性。因此语音信号分析在语音信号处理应用中具有举足轻重的地位。

            贯穿于语音分析全过程的是“短时分析技术”。语音信号从整体来看其本质特征的参数是随时间而变化的,所以它是一个非稳态过程,不能用处理稳信号的数字信号处理技术对其进行分析处理。但是,由于不同的语音是由人的口腔肌肉运动构成声道某种形状而产生的响应,而这种口腔肌肉运动相对于语音频率来说是非常缓慢的,所以从另一方面看,虽然语音倍号具有时变特性,但是在一个短时间范围内(一般认为在1030ms的短时间内),其特性基本保持不变即相对稳定,因可以将其看作是一个准稳态过程,即语音信号具有短时平稳性。所以任何语音信号的分析和处理必须建立在“短时”的基础上.即进行“短时分析”将语音信号分为一段一段来分析其特征参数,其中每一段称为一“帧”,帧长一般取为1030ms。这样,对于整体的语音信号来讲,分析出的是由每一帧特征参数组成的特征参数时间序列[4]

            根据所分析参数的性质的不同,可将语音信号分析分为时域分析、频域分析、倒领域分析等;时域分析方法具有简单、计算量小、物理意义明确等优点,但由于语音信号最重要的感知特性反映在功率谱中,而相位变化只起着很小的作用,所以相对于时域分析来说频域分析更为重要。

    1.1.2语音信号处理理论依据

        采样定理。在进行模拟/数字信号的转换过程中,当采样频率大于信号中最高频率的2倍时,采样之后的数字信号完整地保留了原始信号中的信息,一般实际应用中保证采样频率为信号最高频率的5~10倍。采样定理又称奈奎斯特定理。

            采样位数。采样位数即采样值或取样值,用来衡量声音波动变化的参数,是指声卡在采集和播放声音文件时所使用数字声音信号的二进制位数。

        采样频率。样频率是指计算机每秒钟采样多少个声音样本,是描述声音文件的音质、音调,衡量声卡、声音文件的质量标准。采样频率越高,即采样的间隔时间越短,则在单位时间内计算机得到的声音样本数据就越多,对声音波形的表示也越精确。采样频率与声音频率之间有一定的关系,根据奈奎斯特理论,只有采样频率高于声音信号最高频率的两倍时,才能把数字信号表示的声音还原成为原来的声音。这就是说采样频率是衡量声卡采集、记录和还原声音文件的质量标准。

            采样位数与采样频率的关系。采样位数和采样率对于音频接口来说是最为重要的两个指标,也是选择音频接口的两个重要标准。无论采样频率如何,理论上来说采样的位数决定了音频数据最大的力度,每增加一个采样位数相当于力度范围增加了6dB,采样位数越多则捕捉到的信号越精确,对于采样率来说你可以想象它类似于一个照相机,44.1khz意味着音频流进入计算机时计算机每秒会对其拍照达441000次。显然采样率越高,计算机提取的图片越多,对于原始音频的还原也越加精确。

    1.2 实现平台MATLAB 7.0介绍

    1.2.1 MatLab软件基本介绍

            MATLAB产生于1982年,是一种效率高、功能强的数值计算和可视化计算机高级语言,它将信号处理、数值分析和图形显示结合一体,形成了一个极其方便又强大的操作环境,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言的编辑模式,代表了当今国际科学计算软件的先进水平[7]

            MATLAB7.0是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境。MATLAB 7.0 的应用范围非常广,包括信号和图像处理、通讯、控制系统设计、测试和测量、财务建模和分析以及计算生物学等众多应用领域

    1.2.2 MatLab与语音处理的关系

            MATLAB软件以其强大的运算能力可以很好的完成对语音信号的处理。通过MATLAB可以对数字化的语音信号进行时频域分析,方便地展现语音信号的时域及频域曲线,并且根据语音的特性对语音进行分析。例如,请浊音的幅度差别、语音信号的端点、信号在频域中的共振峰频率、加不同窗和不同窗长对信号的影响、LPC分析、频谱分析等[3]

            同时,通过MATLAB可以对数字化的语音信号进行估计和判别。例如,根据语音信号的短时参数,一级不同语音信号的短时参数的性质对一段给定的信号进行有无声和请浊音的判断、对语音信号的基音周期进行估计等。另外,通过利用MATLAB编程可以对语音信号进行各种处理。由于MATLAB是一种面向科学和工程计算的高级语言,允许用数学形式的语言编程,又有大量的库函数,所以编程简单、编程效率高、易学易懂,我们可以对信号进行加噪去噪、滤波、截取语音等,也可进行语音编码、语音识别、语音合成的处理等。总之,对于语音信号进行分析处理,MATLAB软件是当今比较高效的平台。

    二、语音信号的特点与采集

    2.1语音信号的特点分析

            语音信号的特点可以分为时域方面和频域方面。

            在时域内,语音信号具有短时性的特点,即在总体上,语音信号的特征是随着时间而变化的,但在一段较短的时间间隔内,语音信号保持平稳。

            在频域内,语音信号的频谱分量主要集中在300~3400Hz的范围内。利用这个特点,可以按8kHz的采样率对语音信号进行采样,得到离散的语音信号。语音信号的这两种特点均可通过MATLAB软件表现出来,如图2.1和图2.2所示。


    图2.1 语音信号时域图


    图2.2 语音信号频域分析

    2.2语音信号的采集

    2.2.1语音信号的量化编码采样

            在将语音信号进行数字化前,必须先进行防混叠预滤波,预滤波的目的有两个,一是抑制输入信导各领域分量中频率超出/2的所有分量(为采样频率),以防止混叠干扰;二是抑制50Hz的电源工频干扰。这样,预滤波器必须是一个带通滤波器,设其上、下截止颜率分别是和,则对于绝人多数语音编译码器,=3400Hz、=60~100Hz、采样率为=8kHz;而对于语音识别而言,当用于电话用户时,指标与语音编译码器相同。当使用要求较高或很高的场合时=4500Hz或8000Hz、=60Hz、=10kHz或20kHz。

            为了将原始模拟语音信号变为数字信号,必须经过采样和量化两个步骤,从而得到时间和幅度上均为离散的数字语音信号。采样也称抽样,是信号在时间上的离散化,即按照一定时间间隔△t在模拟信号x(t)上逐点采取其瞬时值。采样时必须要注意满足奈奎斯特定理,即采样频率必须以高于受测信号的最高频率两倍以上的速度进行取样,才能正确地重建波它是通过采样脉冲和模拟信号相乘来实现的。

            在采样的过程中应注意采样间隔的选择和信号混淆:对模拟信号采样首先要确定采样间隔。如何合理选择△t涉及到许多需要考虑的技术因素。一般而言,采样频率越高,采样点数就越密,所得离散信号就越逼近于原信号。但过高的采样频率并不可取,对固定长度(T)的信号,采集到过大的数据量(N=T/△t),给计算机增加不必要的计算工作量和存储空间;若数据量(N)限定,则采样时间过短,会导致一些数据信息被排斥在外。采样频率过低,采样点间隔过远,则离散信号不足以反映原有信号波形特征,无法使信号复原,造成信号混淆。根据采样定理,当采样频率大于信号的两倍带宽时,采样过程不会丢失信息,利用理想滤波器可从采样信号中不失真地重构原始信号波形。量化是对幅值进行离散化,即将振动幅值用二进制量化电平来表示。量化电平按级数变化,实际的振动值是连续的物理量。具体振值用舍入法归到靠近的量化电平上。

            语音信号经过预滤波和采样后,由A/D变换器变换为二进制数字码。这种防混叠滤波通常与模数转换器做在一个集成块内,因此目前来说,语音信号的数字化的质量还是有保证的。市面上购买到的普通声卡在这方面做的都很好,语音声波通过话筒输入到声卡后直接获得的是经过防混叠滤波、A/D变换、量化处理的离散的数字信号。

    2.2.2利用Windows录音器采集语音信号

    在本次设计中,可以利用Windows自带的录音机录制语音文件,图2.3是基于PC机的语音信号采集过程,声卡可以完成语音波形的A/D转换,获得WAV文件,为后续的处理储备原材料。调节录音机保存界面的更改选项,可以存储各种格式的WAV文件。

      

    2.3 基于PC机的语音采集过程

    第三章 语音信号的分析

    3.1 语音信号的短时能量分析
            一定时宽的语音信号,其能量的大小随时间有明显的变化。清音信号和浊音信号之间的能量差别相当显著。其中清音段(以清音为主要成份的语音段),其能量比浊音段小得多[10]。因此,对语音的短时能量进行分析,可以描述语音的这种特征变化情况。定义短时能量为如式(3-1)所示。
                                                     (3-1)
    其中N为窗长。特殊地,当采用矩形窗时,可简化为如式(3-2)所示。
                                                            (3-2)
    也可以从另外一个角度来解释。令
                                                              (3-3)                                         
    则 可表示为如式(3-4)所示。
                                              (3-4)  
            可以理解为,首先语音信号各个样点值平方,然后通过一个冲击响应为h(n)的滤波器,输出为由短时能量构成的时间序列。
            短时能量的计算直接受冲击响应的选择即窗函数的选择的影响。如果冲击响应的幅度是恒定的,它的序列长度N(即窗长)会很长,将其等效为非常窄的低通滤波器,这时冲击响应对 产生的平滑的作用比较明显,使短时能量基本没有很大的变化,将不能表现出语音的时变的特性。相反,如果冲击响应的序列长度过于小,等效窗就不能提供出够用的平滑,以导致语音的振幅在瞬时的变化的许多细节仍被留了下来,进而不能看出振幅包络变化的规律,一般我们要求窗长是几个基音周期的数量级。
            图3.1为采样率8000kHZ,16位,单声道的一个语音信号(单词“earth”)在不同矩形窗长时的短时能量函数,我们会发现:语音信号的幅度变化在被短时能量所反映时,窗长的长短都有影响。
     
    图3.1 不同矩形窗长的短时能量函数
            我们知道,单词earth前半部分是浊音,后半部分是清音。由以上分析结果可知,浊音部分的能量较之清音部分要大得多,而清音部分的能量相当小,几乎为零。
            对语音信号进行短时能量函数运算,可实现以下三点应用:
    (1)可用于区分清音段与浊音段。En值大对应于浊音段,En值小对应于清音段。
    (2)可用于区分浊音变为清音或清音变为浊音的时间(根据En值的变化趋势)。
    (3)对高信噪比的语音信号,也可以用来区分有无语音(语音信号的开始点或终
    止点)。无信号(或仅有噪声能量)时,En值很小,有语音信号时,能量显著增大。
    3.2短时自相关分析
            对于确定性信号序列,自相关函数定义如式(3-5)所示。
                                                      (3-5)
            对于随机性信号序列或周期性信号序列,自相关函数的定义如式(3-6)所示。
                                                (3-6)
            自相关函数具有以下几项性质:
        (1)若序列是周期性的,假设序列周期为 ,那么其自相关函数也是具有相同周期的周期函数,即 
        (2)自相关函数是偶函数,即R(k)=R(-k);
        (3)当k=0时,自相关函数有极大值,即
        (4)R(0)为随机性序列的平均功率或确定性信号序列的能量。
            自相关函数的上述性质,完全可以适用于语音信号的时域分析中。例如,浊音语音波形序列具有周期性,因此可用自相关函数求出这个周期,即是基音周期。此外,自相关函数也可用在语音信号的线性预测分析中。
    短时自相关函数的定义如式(3-7)所示。 
                                        (3-7)
    令 ,并且 ,可以得到如下式子,如(3-8)所示。
                                  (3-8)
            如图3.2是在不同的矩形窗窗长条件下单词earth的语音自相关的函数的波形。
            对两图分析可得:清音信号的短时自相关函数的波形不具有周期性,也没有明显的峰值,且随着延时k的增大迅速变小,因此其接近于随机噪声;浊音是具有周期性的信号,浊音信号的周期为自相关函数的周期,由此可知,语音信号的性质是浊音还是清音,如果是浊音,还可以得出它的基音周期,它的基音周期可由自相关函数波形中的第一个峰值的位置来估计。所以,自相关函数常用作一下两种作用:
    (1) 区分语音信号是清音还是浊音;
    (2) 估计浊音语音信号的基音周期[4]。
     

    图3.2 不同的矩形窗窗长下短时自相关

    第四章 语音合成

    4.1 语音合成技术概述
    4.1.1 语音合成技术的意义                                                   
            语音合成技术涉及声学、语言学、数字信号处理技术、多媒体技术等多个领域, 是当今世界强国竞相研究的热门技术之一。语音合成技术可分为参数合成和波形拼接两种方法。早期的研究主要是采用参数合成方法, 它是计算发音器官的参数, 从而对人的发音进行直接模拟。语音合成已经在许多方面得到了实际应用,方便了人们的生活,创造了很好的经济效益和社会效益,如公共交通中的自动报站、各种场合的自动报警、电话自动查询服务、文本校对中的语音提示等[8]。
            本文主要利用载波调制技术进行语音合成。基于载波调制的语音信号合成是以语音信号处理技术、数字信号处理技术为基础,依托于电子计算机、Windows操作系统、MATLAB处理软件等工具将两个信号合成为一个信号。具有较强的实用性、可操作性等特点。
    4.1.2 基于载波调制语音合成的基本原理
                语音信号合成是一个“分析—存储—合成”的过程。一般是选择合适的基本单元,将基本单元用一定的参数编码方式或波形方式进行存储,形成一个语音库。合成时,根据待合成语音信号,从语音库中取出基本单元进行合成,并将其还原成语音信号。在语音合成中,为了便于存储和后续分析,必须先将语音信号进行预分析、预处理、波形变换等一系列操作。其中,基元是语音合成处理的最小单元,待合成的语音库就是所有语音基元的某中集合。根据基元的选择方式以及其存储形式的不同,可以将合成方法笼统的分为波形合成方法和参数合成方法。
            波形合成是一种相对简单的语音合成技术。它把人的发音波形直接存储或者进行进行简单的波形编码后存储,组成一个合成的语音库;合成时,根据待合成的信息,在语音库中取出相应单元的波形数据,拼接或编辑到一起,经过解码还原成语音。该语音合成技术具有一定的局限和不足,但对语音信号具有数据量庞大的特点,这种误差在某种范围内是可以接受的。
            基于载波调制的语音信号合成是基于信号的振幅调制原理而实现的。将低频信号加载到高频载波信号的过程,或者说把信息加载到信息载体上以便传输的处理过程,称为调制。所谓“加载”,其实质是使高频载波信号(信息载体)的某个特性参数随信息信号幅值的大小程线性变化。基于载波调制的语音信号合成是以语音一信号作为调制信号,语音二信号为载波信号来进行合成一种以语音二信号声色表述语音一内容的新信号。这种调制方式是用传递的低频信号(如代表语言、音乐、图像的电信号)去控制作为传送载体的高频振荡波(称为载波)的幅度,是已调波的幅度随调制信号的大小线性变化,而保持载波的角频率不变。
    4.2 基于载波调制的语音合成基本知识
    4.2.1 关键函数希尔伯特变换介绍
            本文语音合成的设计思路是用一个语音信号的包络去调制另一个语音信号,实现语音的合成。这就用到了一个关键的函数,希尔伯特变换。在数学与信号处理的领域中,一个实值函数的希尔伯特变换是将信号s(t)与1/(πt)做卷积,以得到s'(t)。因此,希尔伯特变换结果s'(t)可以被解读为输入是s(t)的线性时不变系统的输出,而此系统的脉冲响应为1/(πt)。这是一项有用的数学工具,用在描述一个以实数值载波做调制的信号之复数包络,出现在通讯理论中发挥着重要作用[9]。
            希尔伯特变换的频域数学表达式如式(4-1)所示。                       
                                                          (4-1)
    其中F是傅里叶变换,i是虚数单位,ω是角频率。
            希尔伯特变换等效于 π/2的相移,对正频率产生-π/2的相移,对负频率产生π/2相移,或者说,在时域信号每一频率成分移位1/4波长,因此,希尔伯特变换又称为90度移相器。
            MATLAB提供了计算Hilbert变换的函数,其格式为y=Hilbert(x)。但需注意的是,该函数计算出的结果是序列的解析信号,其虚部才是序列的Hilbert变换。
            希尔伯特变换在语音信号处理中具有两个性质: 序列x(n)通过Hilbert变换器后,信号频谱的幅度不发生变化,这是因为Hilbert变换器是全通滤波器,引起频谱变化的只是其相位; 序列x(n)与其Hilbert变换是正交的[6]。
    4.2.2 信号调制
            所谓调制,就是将调制信号加载在三个参数中的某一个参数上,或幅值、或频率、或相位,随调制信号大小成线性或非线性变化的过程。主要有三种基本调制方法,第一种是把调制信号加载在载波信号的幅值上,称为幅度调制 ,简称AM;第二种是把调制信号加载在载波的频率上,称为频率调制,简称FM。 第三种是把调制信号装载在载波的相位上,称为相位调制,简称PM[10]。 本设计采用的是第一种方法,用采集到的语音二信号去对语音一信号进行幅度调制,实现语音合成的目的。
            采用调幅调制是因为其以下特点在语音信号处理中得到很好的应用。一是调幅波的振幅(包络)随调制信号变化,而且包络的变化规律与调制信号波形一致,表明调制信号(信息)记载在调幅波的包络中;二是调制系数反应了调幅的强弱程度,一般情况下,调制系数越大调幅度越深。
            当调制系数为0时,表示未调幅,即无调幅作用;
            当调制系数为1时,此时包络的振幅最小值为0;
            当调制系数大于1时,已调波的包络与调制信号不一样,产生严重的包络失真,称为过量调幅。
    4.3 语音信号合成过程
    4.3.1 语音信号合成流程图
            用MATLAB 处理音频信号的基本流程是:先将WAV 格式音频信号经wavread 函数转换MATLAB 列数组变量;再用MATLAB 强大的运算能力进行数据分析和处理,如时域分析、频域分析、数字滤波、信号合成、信号变换、识别和增强等等;处理后的数据如是音频数据,则可用wavwrite函数 转换成WAV 格式文件或用sound、wavplay 等函数直接回放。本设计的语音合成流程图如图4.1所示。
     
    图4.1  语音信号合成流程图
    4.3.2 语音信号的采集
            分析和处理音频信号,首先要对声音信号进行采集,MATLAB 的数据采集工具箱提供了一整套命令和函数,通过调用这些函数和命令,可直接控制声卡进行数据采集。Windows 自带的录音机程序也可驱动声卡来采集语音信号,并能保存为WAV 格式文件,供MATLAB 相关函数直接读取、写入或播放。本文以WAV 格式音频信号作为分析处理的输入数据。
    4.3.3 语音信号的合成
            声音信号是一种非平稳信号,如果采用简单的时变系统的分析方法,将会产生很大的失真,但是在一小段时间内声音信号完全可以视为平稳信号。因此必须对语音信号做预处理。在本次语音信号合成中采用加窗截断,分帧处理将非平稳信号近似转换为平稳信号。
            声音信号特征量提取。声音信号特征量提取包括语音一声音信号声色(频率)的提取和语音二声音信号包络的提取。语音二声音信号包络的提取采用希尔伯特变换实现,得到语音二声音信号的复数包络。
            获取语音信号起始位置。在录音过程中控制两段声音从相同的起点开始录取并不是一件容易的事,但是如果不确定语音信号的起始位置直接对语音信号进行合成既存在数据量大又会带来较大的误差。本设计语音合成中拟定连续四个时间点的语音信号强度不为0,则认为语音信号开始,也即找到信号起始位置。
            语音信号合成。语音信号合成即是一个调幅载波的过程,是以语音一信号作为载波信号,语音二信号包络作为调幅信号来实现语音合成。实际的载波是一个物理可实现的复杂过程,本语音合成中采用语音一信号点乘包络信号,实际的载波是一个物理可实现的复杂过程,并非简单地乘积运算,然而,得到的合成声音信号效果并不理想,但其波形仍能反应载波过程的实质。
    4.4 语音信号合成结果及分析
    4.4.1 语音信号预处理结果及分析
            该处理过程以语音一信号和语音二声音信号为分析样本。使用Windows系统自带录音器分别录下语音一和语音二,分别命名为one和two,保存为WAV格式。通过MATLAB对所录语音进行采样,采样频率 为16000Hz,获取语音信号并进行加窗。语音一和语音二的时域波形图如图4.2所示,时域图反映出了语音信号的非平稳性。
            对采集到的语音信号分别做傅里叶变换进行频谱分析,并显示频谱图,观察各自的幅频谱特性。语音一和语音二的声音信号幅频特性如图4.3所示,语音一和语音二的声音FFT图如图4.2和图4.3。该频谱图横坐标并未进行对应关系处理,但仍不失其频谱特性的本质,由频谱图可清楚地看到样本声音主要以低频为主。人的语音信号频率一般集中在1kHz之前,从声音频谱的包络来看, 根据采样定理,信号宽度近似取为1kHz,重放语音后仍可较清晰的听出原声, 不存在声音混叠现象。
     
    图4.2  信号预处理之后时域图
     
    图4.3 信号预处理之后频域图
    4.4.2 合成语音信号结果及分析
            合成语音信号的实质是用语音二信号的包络调制语音一信号振幅的结果。语音二信号包络提取结果如图4.4,该图是语音二信号经希尔伯特—黄变换的虚部显示,因为希尔伯特—黄变换是一个时域信号与1/(πt)的卷积,其结果是载波做调制信号之复数包络,必然蕴含虚部成分,取其虚部的结果必然与时域信号有着直观上的差别,但仍是信号的包络成分。
     
    图4.4 语音二信号包络图
            合成信号的时域显示结果如图4.5所示,该合成信号是以语音一信号的特性和语音二信号的幅度变化的,由其快速傅里叶变换的结果更证实了这一点,其幅频特性与语音一信号的幅频特性更接近。
     
    图4.5 合成语音信号的时域波形
     
    图4.6 合成语音信号的幅频特性

     

    图4.7 合成语音信号快速傅里叶变换结果


    结  论

            随着语音技术的逐渐成熟,语音信号处理技术也在不断发展,不断完善。本文主要研究了通过对语音信号短时能量、短时自相关等特性参数的分析,使我进一步了解了语音信号的特性,明白了只有准确分析并提取出语音信号的特征参数,才能够利用这些参数进行语音编码、语音合成等处理。另外在语音处理方面,我选择了语音合成这一处理方式。基于载波调制的语音处理实现简单,运用广泛,研究这一语音合成方法及特性,对于更加深入地进行各种语音处理有着重要的意义。这次设计我是通过了MATLAB这一平台,MATLAB软件以其强大的运算能力可以很好的完成对语音信号的处理,因此,近一步的加强对MATLAB的研究对我以后的学习会起到很大的帮助。
            至此,设计基本符合要求。但是由于个人能力的有限,采集的语音信号清、浊音区分不明显,导致对语音进行短时自相关得出的波形特征不明显。考虑解决方案是通过专业的设备采集语音信号。除此之外,本设计必有其他欠妥之处,请各位老师给予指正!

    参考文献

    [1] 张雪英.数字语音处理[M].北京:电子工业出版社, 2010.
    [2] 郑君里,应启绗,杨为理.信号与系统[M].北京:高等教育出版社,2000.
    [3] 薛年喜.MATLAB在数字信号处理中的应用[M].北京:清华大学出版社,2003.
    [4] 胡航.语音信号处理[M].哈尔滨:哈尔滨工业大学出版社, 2000.
    [5] 易克初,田斌,付强.语音信号处理[M].北京:国防工业出版社, 2000.
    [6] 万永革.数字信号处理的MATLAB实现[M].北京:科学出版社,2007.
    [7] 刘卫国. MATLAB程序设计与应用[M].北京:高等教育出版社,2006.
    [8]王嘉梅.基于MATLAB的数字信号处理与时间开发[J].西安:西安电子科技大学出版社,2007:10-14.
    [9] 程佩青.数字信号处理教程(第二版)[M].北京:清华大学出版社,2010.
    [10] 韩纪庆 张磊 郑铁然.语音信号处理[M].北京:清华大学出版社,2004.
    [11] 徐明远,邵玉斌. Matlab仿真在通信与电子工程中的应用[M].西安:西安电子科技大学出版社,2005. 
    [12] 邓华. Matlab通信仿真及应用实例详解[M].北京:人民邮电出版社,2005. 
    [13] 张照明,刘政波,刘斌等. 应用Matlab实现信号分析处理[C].北京:科学出版社,2006.
    [14] 徐守时. 信号与系统理论方法和应用[M].合肥:中国科学技术大学出版,1999. 

    [15] 高俊斌. Matlab语言与程序设计[M].武汉:华中理工大学出版社,1998. 

    附  录

    附录A   语音信号特性分析程序

    %语音信号时域频域显示%
    [y,Fs,bits]=wavread('biye.wav');%读出信号、采样率和采样位数
    y=y(:,1);%取单声道
    sigLength=length(y);
    Y=fft(y,sigLength); 
    Pyy=Y.* conj(Y) / sigLength;
    halflength=floor(sigLength/2);
    f=Fs*(0:halflength)/sigLength;
    figure;plot(f,Pyy(1:halflength+1));
    xlabel('Frequency(Hz)');
    t=(0:sigLength-1)/Fs;
    figure;
    plot(t,y);
    xlabel('Time(s)');
    
    %语音信号短时能量%
    x=wavread('biye.wav');
    %x=fscanf(fid,'% f');
    %fclose(fid);
    s=fra(50,25,x)
    s2=s.^2;
    energy=sum(s2,2)
    subplot(2,2,1)
    plot(energy);
    xlabel('帧数')
    ylabel('短时能量 E')
    legend('N=50')
    %axis({0,1500,0,10*10^5})
    s=fra(100,50,x)
    s2=s.^2;
    energy=sum(s2,2)
    subplot(2,2,2)
    plot(energy);
    xlabel('帧数')
    ylabel('短时能量 E')
    legend('N=100')
    %axis({0,750,0,2*10^6}) 
    s=fra(400,200,x)
    s2=s.^2;
    energy=sum(s2,2)
    subplot(2,2,3)
    plot(energy);
    xlabel('帧数')
    ylabel('短时能量 E')
    legend('N=400')
    %axis({0,190,0,7*10^6})
    s=fra(800,400,x)
    s2=s.^2;
    energy=sum(s2,2)
    subplot(2,2,4)
    plot(energy);
    xlabel('帧数')
    ylabel('短时能量 E')
    legend('N=800') 
    %axis({0,95,0,14*10^6})
    
    %语音信号短时自相关%
    x=wavread('biye.wav');
    s1=x(1:320);
    N=320;   %选择的窗长,加N=320的矩形窗
    A=[];
    for k=1:320;
    sum=0;
    for m=1:N-(k-1);
    sum=sum+s1(m)*s1(m+k-1);   %计算自相关
    end
    A(k)=sum;
      end
    for k=1:320
    A1(k)=A(k)/A(1);        %归一化A(k)
       end
    N=160;                  %选择的窗长,%加N=160的矩形窗
    B=[];
    for k=1:320;
    sum=0;
    for m=1:N-(k-1);
    sum=sum+s1(m+k-1);   %计算自相关
    end
    B(k)=sum;
    end
    for k=1:320
    B1(k)=B(k)/B(1);      %归一化B(k)
    end
    N=70;                 %选择的窗长,加N=70的矩形窗
    C=[];
    for k=1:320;
    sum=0;
    for m=1:N-(k-1);
    sum=sum+s1(m)*s1(m+k-1);        %计算自相关
    end
    C(k)=sum;
    end
    for k=1:320
    C1(k)=C(k)/C(1);                %归一化C(k)
    end
    s2=s1/max(s1)
    figure(1)
    subplot(4,1,1)
    plot(s2)
    title('语音信号')
    xlabel('样点数')
    ylabel('幅值')
    axis([0,320,-2,2])
    subplot(4,1,2)
    plot(A1)
    xlabel('延时k')
    ylabel('R(k)')
    axis([1,320,-2,2]);
    legend('N=320')
    subplot(4,1,3)
    plot(B1);
    xlabel('延时k')
    ylabel('R(k)')
    axis([1,320,-2,2]);
    legend('N=160')
    subplot(4,1,4)
    plot(C1);
    xlabel('延时k')
    ylabel('R(k)')
    axis([0,320,-2,2]);
    legend('N=70')
    附录B  语音合成主程序
    [y1,fs,bits]=wavread('one');      %读取语音一信号
    [y2,fs,bits]=wavread('two');      %读取语音二信号
    L1=length(y1);                    %测定语音一信号长度
    L2=length(y2);                    %测定语音二信号长度
    a1=y1.*hamming(L1);               %加窗预处理
    a2=y2.*hamming(L2);               %加窗预处理
    L1=length(a1);                    %测定语音一信号长度
    L2=length(a2);                    %测定语音二信号长度
    %采样信号的时域显示
    figure(1);
    subplot(211);
    plot(a1);
    title('语音一载波信号时域波形');
    subplot(212);
    plot(a2);
    title('语音二调幅信号时域波形');
    %傅里叶频谱绘制
    F1=fft(a1,L1);                    
    F2=fft(a2,L2);
    AF1=abs(F1);
    AF2=abs(F2);
    figure(2);
    subplot(211);
    plot(AF1);
    title('语音一载波信号幅频特性显示');
    subplot(212);
    plot(AF2);
    title('语音二调幅信号幅频特性显示');
    figure(3);
    freqz(F1);
    title('语音一载波信号FFT频谱显示');
    figure(4);
    freqz(F2);
    title('语音二载波信号FFT频谱显示');
    %获取语音一信号的开始位置
    for i=1:L1-4
         g(i)=a1(i).*a1(i+1).*a1(i+2).*a1(i+3).*a1(i+4);%认为连续4个幅值不为0的信号即为开始
         if g(i)~=0
             break;
         else i=i+1;
         end
    end
    I=i;
     
    % 获取语音二信号开始位置
    for j=1:L2-4
         m(j)=a2(j).*a2(j+1).*a2(j+2).*a2(j+3).*a2(j+4);
         if m(j)~=0
             break;
         else j=j+1;
         end
    end
    J=j;
    %语音二信号hilbert变换
    H=hilbert(a2);
    figure(5);
    plot(abs(H));
    title('语音二信号包络显示');
    %信号对齐,语音二包络调制语音一振幅
    max1=max(I,J);
    for k=1:L1-max1
        N(k)=a1(i).*H(j);
        i=i+1;
        j=j+1;
    end
    %N=N';
    N = N/(max(abs(N)) * 1.05);
    wavwrite(N,16000,16,'HC.wav');
    figure(6);
    plot(imag(N));
    title('合成信号时域显示');
    pause(1);
    sound(10*N,fs);
    FN=fft(N);
    figure(7);
    freqz(FN);
    title('合成声音信号FFT显示');
    figure(8);
    plot(abs(FN));
    title('合成声音信号的幅频特性');
    

    展开全文
  • 语音信号分析(语音分

    万次阅读 多人点赞 2019-08-08 16:14:38
    不管是进行什么参数分析以及采用什么分析方法,都需要一些预先的处理,如语音信号的数字化、语音信号的端点检测、预加重、加窗和分等,这些也是不可忽视的语音信号分析的关键技术。贯穿于语音分析全过程的是“短时...

    语音分帧

    不管是进行什么参数分析以及采用什么分析方法,都需要一些预先的处理,如语音信号的数字化、语音信号的端点检测、预加重、加窗和分帧等,这些也是不可忽视的语音信号分析的关键技术。贯穿于语音分析全过程的是“短时分析技术”。
    语音分帧
    分帧一般采用交叠分段的方法,是为了使帧与帧之间平滑过渡,保持其连续性。前一帧和后一帧的交叠部分称为帧移,帧移与帧长的比值一般取为0-1/2。

    分帧是用可移动的有限长度窗口进行加权的方法来实现的,就是用一定的窗函数ω(n)来乘s(n),从而形成加窗语音信号Sω(n)=s(n)×ω(n)

    窗函数的要求:

    1. 在时域因为是语音波形乘以窗函数,所以要减小时间窗两端的坡度,使窗口边缘两端不引起急剧变化而平滑过渡到零,这样可以使截取出的语音波形缓慢降为零,减小语音帧的截断效应;
    2. 在频域要有较宽的3dB带宽以及较小的边带最大值。以典型的矩形窗和汉明窗为例进行比较如下。

    常用窗函数的比较:

    1. 窗函数的时域表达式:
      在这里插入图片描述
    2. 窗函数的时域对比:
      在这里插入图片描述
    3. 窗函数的频域对比:
      在这里插入图片描述

    窗函数的选择:

    1. 加窗函数时,应使窗函数频谱的主瓣宽度应尽量窄,以获得高的频率分辨能力;
    2. 旁瓣衰减应尽量大,以减少频谱泄漏(拖尾);
    3. 但二者矛盾需考虑折中,各种窗的差别主要在集中于主瓣的能量和分散在所有旁瓣的能量之比。
      对语音信号的短时分析来说,窗口的形状是至关重要的。选用不同的窗口将使时域分析参数的短时平均能量的平均结果不同。

    四种窗函数的频域特征:
    在这里插入图片描述
    我们可以看到汉明窗的主瓣宽度比矩形窗大1倍,即带宽约增加一倍,同时其带外衰减也比矩形窗大1倍多。矩形窗的谱平滑性能较好,但损失了高频成分,使波形细节丢失;而汉明窗则相反,从这一方面来看,汉明窗比矩形窗更为合适。汉明窗与汉宁窗对比,起始处小突变,但是副瓣平坦,很好的折中了突变小和平坦度,更适合。

    窗口的长度:
    采样周期Ts = 1/fs, 窗口长度N和频率分辨率Δf之间存在以下关系:
    在这里插入图片描述
    当采样周期一定时,Δf随着窗口的宽度N的增大而减小,即频谱分辨率能够相应的提高,但是时间分辨率会降低;如果窗口取短,频率分辨率下降,而时间分辨率提高。因而二者是矛盾的,应该根据不同的需要选择合适的窗口长度。

    有时窗口长度的选择,更重要的是要考虑语音信号的基音周期。通常认为在一个语音帧内应包含1~7个基音周期。然而不同人的基音周期变化很大,从女性和儿童的2ms到老年男子的14ms(即基音频率的变化范围为500~70Hz),所以N的选择比较困难。通常在8kHz取样频率下,N折中选择为80~160点为宜(即10~20ms持续时间)。

    经过上述的处理过程,语音信号就已经被分割成一帧一帧的加过窗函数的短时信号,然后再把每一个短时语音帧看成平稳的随机信号,利用数字信号处理技术来提取语音特征参数。在进行处理时,按帧从数据区中取出数据,处理完成后再取下一帧,等等,最后得到由每一帧参数组成的语音特征参数的时间序列

    展开全文
  • 语音信号处理中怎么理解分

    千次阅读 2020-11-30 09:10:07
    从宏观上看,它必须足够短来保证信号是平稳的。 前面说过,口型的变化是导致信号不平稳的原因,所以在一的期间内口型不能有明显变化,即一的长度应当小于一个音素的长度。 正常语速下,音素的持续时间大约是...

    在这里插入图片描述
    那么一帧有多长呢?帧长要满足两个条件:
    从宏观上看,它必须足够短来保证帧内信号是平稳的。
    前面说过,口型的变化是导致信号不平稳的原因,所以在一帧的期间内口型不能有明显变化,即一帧的长度应当小于一个音素的长度。
    正常语速下,音素的持续时间大约是 50~200 毫秒,所以帧长一般取为小于 50 毫秒。
    从微观上来看,它又必须包括足够多的振动周期,因为傅里叶变换是要分析频率的,只有重复足够多次才能分析频率。
    语音的基频,男声在 100 赫兹左右,女声在 200 赫兹左右,换算成周期就是 10 毫秒和 5 毫秒。既然一帧要包含多个周期,所以一般取至少 20 毫秒。

    这样,我们就知道了帧长一般取为 20 ~ 50 毫秒,20、25、30、40、50 都是比较常用的数值,甚至还有人用 32(在程序猿眼里,这是一个比较「整」的数字)。

    取出来的一帧信号,在做傅里叶变换之前,要先进行「加窗」的操作,即与一个「窗函数」相乘,如下图所示:

    在这里插入图片描述
    加窗的目的是让一帧信号的幅度在两端渐变到 0
    渐变对傅里叶变换有好处,可以让频谱上的各个峰更细,不容易糊在一起(术语叫做减轻频谱泄漏),具体的数学就不讲了。

    加窗的代价是一帧信号两端的部分被削弱了,没有像中央的部分那样得到重视。弥补的办法是,帧不要背靠背地截取,而是相互重叠一部分。相邻两帧的起始位置的时间差叫做帧移,常见的取法是取为帧长的一半,或者固定取为 10 毫秒。

    对一帧信号做傅里叶变换,得到的结果叫频谱,它就是下图中的蓝线:
    在这里插入图片描述
    图中的横轴是频率,纵轴是幅度。频谱上就能看出这帧语音在 480580 赫兹附近的能量比较强。
    语音的频谱,常常呈现出「精细结构」和「包络」两种模式。「精细结构」就是蓝线上的一个个小峰,它们在横轴上的间距就是基频,它体现了语音的音高——峰越稀疏,基频越高,音高也越高。
    「包络」则是连接这些小峰峰顶的平滑曲线(红线),它代表了口型,即发的是哪个音。
    包络上的峰叫共振峰,图中能看出四个,分别在 500170024503800 赫兹附近。
    有经验的人,根据共振峰的位置,就能看出发的是什么音。

    对每一帧信号都做这样的傅里叶变换,就可以知道音高和口型随时间的变化情况,也就能识别出一句话说的是什么了。

    在开始语音识别之前,有时需要把首尾端的静音切除,降低对后续步骤造成的干扰。这个静音切除的操作一般称为VAD,需要用到信号处理的一些技术。要对声音进行分析,需要对声音分帧,也就是把声音切开成一小段一小段,每小段称为一帧。分帧操作一般不是简单的切开,而是使用移动窗函数来实现,这里不详述。帧与帧之间一般是有交叠的,就像下图这样:

    图中,每帧的长度为25毫秒,每两帧之间有25-10=15毫秒的交叠。我们称为以帧长25ms、帧移10ms分帧。图中,每帧的长度为25毫秒,每两帧之间有25-10=15毫秒的交叠。我们称为以帧长25ms、帧移10ms分帧。
    在这里插入图片描述
    分帧后,语音就变成了很多小段。但波形在时域上几乎没有描述能力,因此必须将波形作变换。常见的一种变换方法是提取MFCC特征,根据人耳的生理特性,把每一帧波形变成一个多维向量,可以简单地理解为这个向量包含了这帧语音的内容信息。这个过程叫做声学特征提取。实际应用中,这一步有很多细节,声学特征也不止有MFCC这一种,具体这里不讲。

    至此,声音就成了一个12行(假设声学特征是12维)、N列的一个矩阵,称之为观察序列,这里N为总帧数。观察序列如下图所示,图中,每一帧都用一个12维的向量表示,色块的颜色深浅表示向量值的大小。
    在这里插入图片描述
    接下来就要介绍怎样把这个矩阵变成文本了。首先要介绍两个概念:

    音素:单词的发音由音素构成。对英语,一种常用的音素集是卡内基梅隆大学的一套由39个音素构成的音素集,参见The CMU Pronouncing Dictionary。汉语一般直接用全部声母和韵母作为音素集,另外汉语识别还分有调无调,不详述。

    状态:这里理解成比音素更细致的语音单位就行啦。通常把一个音素划分成3个状态。

    语音识别是怎么工作的呢?实际上一点都不神秘,无非是:

    第一步,把帧识别成状态(难点);

    第二步,把状态组合成音素;

    第三步,把音素组合成单词。

    如下图所示:
    在这里插入图片描述
    图中,每个小竖条代表一帧,若干帧语音对应一个状态,每三个状态组合成一个音素,若干个音素组合成一个单词。也就是说,只要知道每帧语音对应哪个状态了,语音识别的结果也就出来了。图中,每个小竖条代表一帧,若干帧语音对应一个状态,每三个状态组合成一个音素,若干个音素组合成一个单词。也就是说,只要知道每帧语音对应哪个状态了,语音识别的结果也就出来了。

    那每帧音素对应哪个状态呢?有个容易想到的办法,看某帧对应哪个状态的概率最大,那这帧就属于哪个状态。比如下面的示意图,这帧对应S3状态的概率最大,因此就让这帧属于S3状态。

    在这里插入图片描述

    展开全文
  • 语音信号加窗分及matlab实现

    千次阅读 2020-02-24 19:28:58
    解释:语音信号是时变信号,浊音的基音周期、清浊音信号幅度和声道参数均随时间变化,发声器官的惯性运动,可以认为具有短时平稳性。长10~30ms,交叠分段方式,为了之间平滑过渡,保持连续性,移/长范围在0-...
  • ID的所有信号RTE接口时,需要将信号属性为ComTransferProperty=TRIGGERED的RTE接口放在最后写,此时每调用一次属性ComTransferProperty = TRIGGERED为的RTE接口,都会触发该CANFrame_ID发送一次。 欢迎大家给我...
  • 利用小波变换消噪,和BD6小波分解,求取语音的基音周期
  • Date: 2019-5-11【Tag: Outsouring project】 1、参考 语音信号的分加窗 什么是窗函数? ...2、语音信号的分加窗 ...加窗主要是为了使时域信号似乎更好地满足FFT处理的周期性要求,减少泄漏。
  • 为了能够在大载波频偏、多径信道下快速可靠地捕获频分复用(OFDM)无线局域网(WLAN)系统帧信号,提出了一种低复杂性检测器,检测被等效为一个含未知参数(噪声功率、信道响应和载波频偏)的假设检验模型,对它...
  • matlab信号处理

    千次阅读 2016-08-31 12:00:57
    ////////////////////////////////matlab信号处理//////////////// 数字信号处理基本理论 在计算机中,所有的信号都是离散信号,因此在使用 MATLAB 进行信号处理之前,首 先要了解离散时间信号处理的相关理论。 ...
  • 语音增强算法研究系列笔记 - 语音信号加窗分处理为什么需要加窗分处理长的选择语音加窗窗函数的选取窗函数形状的选择窗函数宽度的选择移参考链接 为什么需要加窗分处理 语音信号属于一种非平稳时变信号...
  • 语音信号处理基础(五)——语音分与加窗

    万次阅读 多人点赞 2019-11-15 19:30:20
    一般而言语音处理的目的有两种: 一种是对语音信号进行分析,提取特征参数,用于后续处理; 提取的特征参数主要有语音的短时能量和平均幅度、短时平均过零率、短时自相关函数和短时平均幅度差函数等 另一种是...
  • 基音周期提取 matlab

    2021-03-02 19:30:18
    自己编写的用自相关法提取基音周期,最后得到的是平均基音周期 自己编写的用自相关法提取基音周期,最后得到的是平均基音周期
  • LTE概述

    千次阅读 2019-10-09 17:05:00
    的三个符号发送,辅同步信号(SSS)在子0/5的最后一个OFDM symbol 发送 主同步信号 一个小区中PSS三选一 3个序列 ← \leftarrow ← → \rightarrow → 物理层小区id组(3个物理层小区id) 一一对应 ...
  • OFDM完整仿真过程及解释(MATLAB)

    万次阅读 多人点赞 2019-04-19 17:03:45
    OFDM符号是N个并行符号的复合信号,若单个串行符号的传输时间(周期)是Ts,则一个OFDM符号的持续时间(周期)Tsym=N*Ts。 频域调制信号X[k]的频率为:fk=k/Tsym,子载波数量为N,则k=0,1,2.....N-1。(由DFT原理...
  • 1 引言  数字通信时,一般以一定数目的码元组成一个个“字”或“句”,即组成一个个“”进行传输,因此...所用的同步码为巴克码,巴克码是一种具有特殊规律的非周期序列,其局部自相关函数具有尖锐的单峰特性,
  • 音频信号处理——基音周期

    万次阅读 多人点赞 2015-07-02 16:23:47
    音频信号处理——基音周期
  • Part3 语音信号的短时时域分析一、和加窗的概念二、短时平均能量三、短时平均幅度函数四、短时平均过零率五、短时自相关分析六、基于能量和过零率的语音端点检测七、基音周期估值八、总结 一、和加窗的概念 1.短...
  • 基音周期估计
  • 1、 引言 数字通信时,一般以一定数目的码元组成一个个“字”或“句”,即组成一个个“”进行传输,因此...所用的同步码为巴克码,巴克码是一种具有特殊规律的非周期序列,其局部自相关函数具有尖锐的单峰特性,这
  • 先对语音信号进行分处理,然后再进行相关的短时时域分析,其中包括短时能量分析,短时自相关,短时修正子自相关,还有对基音周期的估计(采用的是中心削波法)。要用到的voicebox的函数也已经摘抄进去了,这样就...
  • 信号的条件

    千次阅读 2016-05-26 10:46:41
     一帧信号至少必须包含2个基本周期以上,才能够显示语音的特性。比如,对于已知人声的音高范围大约在50Hz和1000Hz之间,因此对于一个采样频率,如取采样频率为8000Hz,那么当音高f=50Hz(例如男低音的歌声)时,每...
  • 该类通过私有数据 __signal 维护有关网格信号的大部分信息。 这直接与 .hd5 接口以提供有效的磁盘/内存权衡。 请注意,这意味着如果在给定时间实例化了多个 SignalManger,那么它将修改相同的数据。 检查 hd5 或...
  • 5G NR结构

    万次阅读 多人点赞 2020-02-03 16:20:05
    本篇主要讲述5G的物理层基础知识,基础参数及结构。 5G物理层 子载波间隔 我们知道LTE中子载波间隔是固定的15kHz,但NR中采用了更加灵活的子载波间隔,如下图所示: 图1.1 NR支持的子载波间隔类型(频域上...
  • ,加窗和DFT

    2021-08-08 19:55:56
    我们知道语音信号特性是随时间变化的,是一个非平稳随机过程。但是,从另一方面来看,语音虽然具有时变的性质,在短时间内其特性可以...语音信号的目的是把若干个语音采样点分为一,在这一内,语音信号的特...
  • 1.我想知道为什么要抽处理,因为我觉得他设置一个范围要是有用的信号不在呢部分上不是不能提取么 2.设置基音搜索范围是什么意思,这个FS/500和FS/70是什么 3.设置门限,找到峰值位置是什么意思,这个0.08怎么来的

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,151
精华内容 10,460
关键字:

帧周期信号