数字调制仿真系统的设计与实现.docx
- 文档编号:15819372
- 上传时间:2023-07-08
- 格式:DOCX
- 页数:45
- 大小:891.52KB
数字调制仿真系统的设计与实现.docx
《数字调制仿真系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《数字调制仿真系统的设计与实现.docx(45页珍藏版)》请在冰点文库上搜索。
数字调制仿真系统的设计与实现
数字调制仿真系统的设计与实现
第1章绪 论
1.1课题意义
随着通信技术日新月异的发展,尤其是数字通信的快速发展越来越普及,研究人员对其相关技术投入了极大的兴趣。
为使数字信号能在带通信道中传输,必须用数字信号对载波进行调制,其调制方式与模拟信号调制相类似。
根据数字信号控制载波的参量不同也分为调幅、调频和调相三种方式。
因数字信号对载波参数的调制通常采用数字信号的离散值对载波进行键控,故这三种数字调制方式被称为振幅键控ASK(AmplitudeShiftKeying)、频移键控FSK(FrequencyShiftKeying)和相移键控PSK(PhaseShiftKeying)。
经调制后的信号,通过信道传输,在接收端解调后恢复成数字信号。
因此,调制解调技术是实现现代通信的重要手段,促进通信的快速发展[1]。
本文通过对数字调制仿真系统图形用户界面的设计,展示了MATLAB图形用户界面在通信仿真中的优点,人机交互式图形用户界面及其参数的可调性使得信号与系统的分析过程变得易于控制、直观可视化[2],因而更易于理解。
1.2选题目的
二进制数字调制方式虽然占用频带较宽使得频带利用不够经济,但实现起来比较容易,解调设备也比较简单,而且抗干扰和抗衰落性能较强,因此,在数字通信系统中得到了较为广泛的应用[3]。
通过此次的调制与解调仿真,使我们对2ASK、2FSK、2PSK、调制与解调的工作原理以及matlab软件有了比较深刻的认识和了解。
利用MATLAB可使通信系统的仿真能够用计算机模拟实现,免去了构建实验系统的不变,而且操作十分简便,只需要输入不同的参数就能得到不同情况下系统的性能,而且在结果的观测和数据的存储方面也比传统的方式有很多优势[4]。
本设计就是利用MATLAB仿真出数字信号的调制和解调,并建立图形用户界面实现人机交互。
1.3研究范围
在当代社会中,信息的交换日益频繁,随着通信技术和计算机技术的发展及它们的密切结合,通信能克服对空间和时间的限制,大量的、远距离的信息传递和存取已成为可能。
展望未来,通信技术正在向数字化、智能化、综合化、宽带化、个人化方向迅速发展,各种新的电信业务也应运而生,正沿着信息服务多种领域广泛延伸[3]。
本系统利用MATLAB对数字信号进行调制和解调的仿真,同时建立一个图形用户界面,用户可以通过该图形用户界面改变调制解调的相关参数。
系统研究的是2ASK、2FSK、2PSK系统调制解调仿真,以及在调制解调过程中使用的方法。
通过仿真结果充分解释2ASK、2FSK、2PSK的调制与解调的原理。
1.4通信仿真概述
系统仿真技术是随着微电子分析器在1946年的诞生而迅速发展起来的新兴综合性学科。
以相似原理、系统技术、信息技术及其应用领域相关专业知识和技术为基础,以计算机系统和各种相关的器件为工具,利用系统模型对实际存在的或是假想的系统进行动态研究的一门多学科的综合性技术。
随着系统仿真技术理论方法和应用技术研究的不断深入,计算机技术的突飞猛进,以及系统仿真本身具有的安全性、经济性等特点,应用计算机对系统进行仿真在科学技术领域发挥着越来越重要的作用。
需要特别指出的是,系统仿真使用系统模型代替实际系统来进行系统性能的分析和研究,因此使仿真更加具有意义。
近些年来,随着计算机技术、网络技术、信号处理、通信技术、自动控制技术等高薪技术的迅猛发展,系统仿真技术的研究力度也在不断加大,发展速度不断加快,应用领域不断扩大,系统仿真技术的应用已经从早期的航空航天、武器制造和发电部门,扩展到今天的军事、通信、控制、机械、经济、社会、交通与生态研究等众多领域,而且已经渗透到系统的规划、设计、运行、分析及改造的各个阶段[5]。
现代通信系统的复杂性促进了仿真的广泛使用。
这种复杂性源自现代通信系统的结构和系统允许时所处的环境。
现代通信系统要运行在功率和带宽有限的条件下,还要支持高速数据。
这些要求互相矛盾,导致了复杂的调制和脉冲成形技术,以及差错控制和接收端的高级信号处理技术。
在高数据率情况下,通同步要求变得更严格、因而接收机也更复杂。
加性高斯白噪声条件下的线性通信系统分析起来很简单,但多数现代通信系统运行在更恶劣的环境中。
出于效率方面的考虑,多跳系统经常用到非线性防盗器。
无线蜂窝系统往往遭受严重的干扰,还有多径和阴影,使得接收信号出现衰落。
由于系统复杂,再加上环境恶劣,设计和分析问题使用传统的(不基于仿真的)方法不再是易于解析处理的了[6]。
幸运的是,最近20年以来,数字计算机发展迅速。
现代计算机不仅功能强大,而且价格便宜,适合于桌面使用,有时可以进行数小时运算而不需要人工干预。
计算机的使用不见的很简单,在许多工作中,计算机资源的成本无关紧要了。
因此,计算机辅助设计与分析方法几乎可以供任何想用它们的人使用。
功能强大面向通信系统的软件包的开发,更加速了仿真方法在通信领域的应用。
因而,随着系统复杂度的增加,计算能力也在提高。
在许多情况下,可获得合适的计算能力,这直接导致了许多复杂的信号处理结构。
而这些信号处理结构,现在已经是现代通信系统的基本构成模块。
因此,并不只是运气好,在需要计算工具时它们就问世了,而是实用的计算能力(表现为微处理器的形式),作为保障技术,使现代通信系统变得很可能,也使强大的仿真引擎才有实现的可能。
随着接收机方法的发展,我们大致地称作仿真理论的领域也得到了迅速发展。
因此,和几十年前相比,现在更容易获得所需的仿真工具和方法,以成功用于解决设计和分析问题,对其理解也更透彻。
现有大量的技术论文和一些书籍,阐述如何使用这些工具解决通信系统的设计和分析。
使用仿真的一个重要动机在于,仿真是深入理解系统特性的有价值的工具。
一个开发得好的仿真跟在实验室实现一个系统很类似,可以很方便地对要研究的系统进行多点测量,也很容易做参数研究,因为可以任意改动滤波器带宽和信噪比(SNR)等参数,而且还能很快地观测到这些改变对系统性能的影响。
可以很容易产生时域波形、信号谱图、眼图、信号星座图、直方图和许多其他图形显示。
在有需要的时候,还可以将这些图形跟系统硬件产生的等效显示作比较。
比起实际系统硬件,仿真能更容易也更经济地对各种假设情况进行研究。
仿真的主要作用不在于获得数值而在于获得深入的理解。
第2章Matlab的简介与通信技术的历史和发展
2.1Matlab的简介
MATLAB是一种高效的工程计算语言,它将计算、可视化和编程等功能集中于一个易于使用的环境。
在MATLAB环境中描述问题及求解问题的程序时,用户可以按照符合人们科学思维的方式和数学表达习惯的语言形式来书写程序。
其典型应用主要包括以下几个方面:
数学计算、算法开发、数据采集、系统建模和仿真、数据分析和可视化、科学和工程绘图、应用软件开发(包括用户界面)[7]。
MATLAB是一个交互式系统(写程序与执行命令同步),其基本的数据元素是没有维数限制的阵列。
这使得用户可以解决许多工程技术上的问题,特别是那些包含了矩阵和向量的公式计算。
采用MATLAB编制解决上述问题的程序比采用只支持标量和非交互式的编程语言(如C语言和Fortan语言)更加方便。
MATLAB这个词代表“矩阵实验室”(matrixlaboratory),它是以线性代数软件包LINPACK和特征值计算软件包EISPACK中的子程序为基础发展起来的一种开发型程序设计语言。
20世纪80年代初期,CleveMoler和JohnLittle采用C语言改写了MATLAB的内核,不久他们便成立了Mathworks软件开发公司,并将MATLAB正式推向市场。
历经十几年的发展和竞争,MATLAB成为国际认可的最优化的科技应用软件。
在大学里,它是用于初等和高等数学、自然科学和工程学的标准教学工具;在工业界,它是一个高效的研究和分析的工具。
随着科技的发展,许多优秀的工程师不断地对MATLAB进行了完善,使其从一个简单的矩阵分析软件逐渐发展成为一个具有极高通用性,并带有众多实用工具的运算操作平台。
MATLAB的一个重要特色就是有一套程序扩展系统和一组称之为工具箱(toolboxes)的特殊应用子程序。
工具箱是MATLAB函数的子程序库,每一个工具箱都是为某一类学科专业和应用而定制的,主要包括信号处理、控制系统、神经网络、模糊逻辑、小波分析和系统仿真等方面的应用。
MATLAB系统由以下5个主要部分组成:
开发环境:
由一系列工具组成。
这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。
包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于浏览帮助、工作空间、文件的浏览器。
MATLAB数学函数库:
这是一个包含大量计算算法的集合,这些函数包括从最简单最基本的函数(如加、正弦等)到诸如矩阵的特征向量、快速傅立叶变换等较复杂的函数。
MATLAB语言:
这是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入输出和面向对象的编程特点。
用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。
图形处理:
用MATLAB可以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。
高层次的作图包括二维和三维数据可视化、图像处理、动画和表达式作图,低层次的作图包括定制图形的显示和为用户的MATLAB应用程序建立的图形用户界面。
MATLAB应用程序接口(APL):
这是一个库,它允许用户编写可以和MATLAB进行交互的C或Fortran语言程序。
2.2通信技术的历史和发展
2.2.1通信的概念
通信就是克服距离上的障碍,从一地向另一地传递和交换消息。
消息是信息源所产生的,是信息的物理表现,例如,语音、文字、数据、图形和图象等都是消息(Message)。
消息有模拟消息(如语音、图象等)以及数字消息(如数据、文字等)之分。
所有消息必须在转换成电信号(通常简称为信号)后才能在通信系统中传输。
所以,信号(Signal)是传输消息的手段,信号是消息的物质载体[8]。
相应的信号可分为模拟信号和数字信号,模拟信号的自变量可以是连续的或离散的,但幅度是连续的,如电话机、电视摄像机输出的信号就是模拟信号。
数字信号的自变量可以是连续的或离散的,但幅度是离散的,如电船传机、计算机等各种数字终端设备输出的信号就是数字信号。
通信的目的是传递消息,但对受信者有用的是消息中包含的有效内容,也即信息(Information)。
消息是具体的、表面的,而信息是抽象的、本质的,且消息中包含的信息的多少可以用信息量来度量。
通信系统就是传递信息所需要的一切技术设备和传输媒质的总和,包括信息源、发送设备、信道、接收设备和信宿(受信者),通信系统的一般模型如图2.1所示。
图2.1通信系统的一般模型
通信系统可分为数字通信系统和模拟通信系统。
数字通信系统是利用数字信号来传递消息的通信系统,其模型如图2.2所示,
图2.2数字通信系统模型
模拟通信系统是利用模拟信号来传递消息的通信系统,其模型如图2.3所示。
图2.3模拟通信系统模型
2.2.2通信的发展史简介
远古时代,远距离的传递消息是以书信的形式来完成的,这种通信方式明显具有传递时间长的缺点。
为了在尽量短的时间内传递尽量多的消息,人们不断地尝试所能找到的各种最新技术手段。
1837年发明的莫尔斯电磁式电报机标志着电通信的开始,之后,利用电进行通信的研究取得了长足的进步。
1866年利用海底电缆实现了跨大西洋的越洋电报通信。
1876年贝尔发明了电话,利用电信号实现了语音信号的有线传递,使信息的传递变的既迅速又准确,这标志着模拟通信的开始,由于它比电报更便于交流使用,所以直到20世纪前半叶这种采用模拟技术的电话通信技术比电报的到了更为迅速和广泛的发展。
1937年瑞威斯发明的脉冲编码调制标志数字通信的开始。
20世纪60年代以后集成电路、电子计算机的出现,使得数字通信迅速发展。
在70年代末在全球发展起来的模拟移动电话在90年代中期被数字移动电话所代替,现有的模拟电视也正在被数字电视所代替。
数字通信的高速率和大容量等各方面的优越性也使人们看到了它的发展前途。
2.2.3数字通信的发展现状和趋势
进入20世纪以来,随着晶体管、集成电路的出现与普及、无线通信迅速发展。
特别是在20世纪后半叶,随着人造地球卫星的发射,大规模集成电路、电子计算机和光导纤维等现代技术成果的问世,通信技术在以下几个不同方向都取得了巨大的成功。
(1) 微波中继通信使长距离、大容量的通信成为了现实。
(2) 移动通信和卫星通信的出现,使人们随时随地可通信的愿望可以实现。
(3) 光导纤维的出现更是将通信容量提高到了以前无法想象的地步。
(4) 电子计算机的出现将通信技术推上了更高的层次,借助现代电信网和计算机的融合,人们将世界变成了地球村。
(5) 微电子技术的发展,使通信终端的体积越来越小,成本越来越低,范围越来越广。
例如,2003年我国的移动电话用户首次超过了固定电话用户。
根据国家信息产业部的统计数据,到2005年底移动电话用户近4亿。
随着现代电子技术的发展,通信技术正向着数字化、网络化、智能化和宽带化的方向发展。
随着科学技术的进步,人们对通信的要求越来越高,各种技术会不断地应用于通信领域,各种新的通信业务将不断地被开发出来。
到那时人们的生活将越来越离不开通信。
第3章2ASK2FSK2PSK的原理及实现方法
3.1调制与解调技术的意义及基本概念
在通信系统中,从消息变换过来的原始信号所占的有效频带往往具有频率较低的频谱分量(例如语音信号),如果将这种信号直接在信道中进行传输.则会严重影响信息传送的有效性和可靠性。
因此这种信号在许多信道中均是不适宜直接进行传输的。
在通信系统的发射端通常需要有调制过程,将调制信号的频谱搬移到所希望的位置上,使之转换成适于信道传输或便于信道多路复用的已调信号;而在接收端则需要有解调过程,以恢复原来有用的信号。
调制解调方式常常决定了一个通信系统的性能。
随着数字化波形测量技术和计算机技术的发展,可以使用数字化方法实现调制与解调过程[2]。
调制即是用基带数字信号去控制某一较高频率的正弦或脉冲载波,使已调信号能通过带限信道传输。
那么,已调信号通过信道传输到接收端,在接收端通过解调器把频带数字信号还原成基带数字信号,这种数字信号的反变换称为数字解调。
通常,我们把数字调制与解调合起来称为数字调制,把包括调制和解调过程的传输系统叫做数字信号的频带传输系统。
数字调制技术可以分为两种类型:
(1)利用模拟方法进行数字调制,即把数字基带信号当作模拟信号的特殊情况来处理;
(2)利用数字信号的离散取值特点键控载波,从而实现数字调制。
第
(2)种技术通常称为键控法,比如对载波的振幅,频率以及相位进行键控,便可获得振幅键控(ASK),频移键控(FSK)及相移键控(PSK)调制方式。
键控法一般由数字电路实现,它具有调制变换速率快,调制测试方便,体积小和设备可靠性高的特点。
数字调制系统的基本结构如图3.1所示。
图3.1数字调制系统的基本结构
3.22ASK2FSK2PSK调制解调的原理
3.2.12ASK信号调制与解调的原理
3.2.1.12ASK信号调制一般原理与实现方法
振幅键控是正弦载波的幅度随数字基带信号而变化的数字调制。
当数字基带信号为二进制时,则为二进制振幅键控。
二进制数字振幅键控是一种古老的调制方式,也是各种数字调制的基础。
振幅键控(也称幅移键控),记作ASK(AmplitudeShiftKeying),或称其为开关键控(通断键控),记作OOK(OnOff Keying)。
二进制数字振幅键控通常记2ASK。
对于振幅键控这样的线性调制来说,在二进制里,2ASK是利用代表数字信息"0"或"1"的基带矩形脉冲去键控一个连续的载波,使载波时断时续地输出。
有载波输出时表示发送"1",无载波输出时表示发送"0"。
设发送的二进制符号序列为:
(3.1)
其中
(3.2)
其中,Ts是二进制基带信号序列(码元)的时间间隔,g(t)是调制信号的脉冲表达式。
(3.3)
由2ASK的定义可得其表达式为:
(3.4)
可见,2ASK信号可以表示为一个单极性矩形脉冲序列与一个正弦型载波相乘。
一个典型的2ASK信号时间波形如3.2图所示(图中载波频率在数值上是码元速率的3倍),从图中可以看出,2ASK信号的时间波形e2ASK(t)随二进制基带信号s(t)通断变化,所以称为通断键控信号(OOK信号)。
图3.22ASK信号时间波形
二进制振幅键控信号的产生方法,主要有两种。
第一种方法是采用相乘电路,如下图3.3(a)所示,用基带信号A(t)和载波cosω0相乘就得到已调信号2ASK输出。
第二种方法是采用开关电路,如图3.3(b)所示,这里的开关有输入基带信号A(t)控制,用这种方法可以得到同样的输出波形。
(a)相乘法
(b)开关法
图3.32ASK信号的产生方法
3.2.1.22ASK信号的解调
2ASK信号能够采用非相干解调(包络检波法)和相干解调(同步检测法)。
包络解调法的原理方框图如图3.4所示。
图中的整流器和低通滤波器构成一个包络检波器。
带通滤波器恰好使2ASK信号完整地通过,经包络检测后,输出其包络。
低通滤波器的作用是滤除高频杂波,使基带包络信号通过。
抽样判决器包括抽样、判决及码元形成,有时又称译码器。
不计噪声影响时,带通滤波器输出为2ASK信号,即y(t)=s(t),包络检波器输出为s(t),经过抽样、判决后将码元再生,即可恢复出数字序列。
2ASK信号非相干解调过程的时间波形如图3.5所示。
图3.42ASK信号的包络解调
图3.52ASK信号非相干解调过程的时间波形
相干解调原理方框图如图3.6所示。
相干解调就是同步解调,同步解调时,接收机要产生一个与发送载波同频同相的本地载波信号,称其为同步载波或相干载波,利用此载波与收到的已调载波相乘,这个相干载波必须从接受信号中提取。
由于噪声影响及传输特性的不理想低通滤波器输出波形有失真,经抽样、判决、整形后再生数字基带脉冲。
2ASK信号相干解调过程的时间波形如图3.7所示。
图3.6 2ASK信号的相干解调
图3.72ASK信号相干解调过程的时间波形
3.2.2FSK信号调制与解调的原理
3.2.2.12FSK信号调制一般原理与实现方法
数字频率调制又称为频移键控,记作FSK(FrequencyShiftKeying),二进制频移键控记作2FSK。
数字频移键控是用载波的频率来传送数字信息的,即用所传送的数字消息控制载波的频率,由于数字只有有限个取值。
那么,2FSK信号便是符号"1"对应与载波1的已调波形,而符号"0"对应于载波2 (与载波1不同的另一个载波)的已调波形。
若正弦载波的频率随二进制基带信号在f1和f2两个频率点之间变化,才产生二进制频移键控信号(2FSK信号)。
它的波形可以看作是两个不同载波的二进制振幅键控信号的叠加。
若二进制基带信号的1符号对应于载波频率的f1,0符号对应于载波频率的f2,则二进制频移键控信号的时域表达式为
(3.5)
(3.6)
(3.7)
,
是an的反码,
和
分别代表第n个信号码元的初始相位,通常可令
和
为零。
因此
(3.8)
2FSK信号的典型时间波形如图3.8所示
图3.8 2FSK信号的典型时间波形
从原理上讲调频可用模拟调频来实现,也可用键控法来实现,后者较为简便。
2FSK键控法就是利用受矩形脉冲序列控制的开关电路对两个不同的独立频率源进行选通的。
二进制移频键控信号的产生如图3.9所示,可以采用模拟调频电路如图3.9(a)来实现,也可以采用数字键控的方法如图3.9(b)来实现。
(a)模拟调频法
(b)键控法
图3.9二进制移频键控信号的产生方法
3.2.2.22FSK信号的解调
数字调频信号的解调方法很多,可以分为线性鉴频法和分离滤波法两大类。
线性鉴频法有模拟鉴频法、过零检测法、差分检测法,分离滤波法又包括相干检测法、非相干检测法以及动态滤波法等。
有非相干解调方法也有相干解调方法。
(1)包络检测法
2FSK信号的包络检测方框图如图3.10所示用两个窄带的分路滤波器分别滤出频率为w1和w2的高频脉冲,经包络检测后分别取出它们的包络。
把两路输出同时送到抽样判决器进行比较,从而判决输出基带数字信号。
2FSK非相干解调过程的时间波形如图3.11所示。
图3.102FSK信号的包络检测方框图
图3.112FSK非相干解调过程的时间波形
(2)同步检测波法
原理方框图如图3.12所示。
其中两个带通滤波器的作用同上,起到分路的作用,它们的输出分别与相应的同步载波相乘,再分别经过低通滤波器取出含基带数字信息的低频信号,滤掉二倍频信号,抽样判决器在抽样脉冲到来时对两个低频信号进行比较判决,即可还原出基带数字信号。
2FSK非相干解调过程的时间波形如图3.12所示。
图3.12 2FSK信号的相干检测方框图
3.2.32PSK信号调制与解调的原理
3.2.3.12PSK信号调制的一般原理与实现方法
数字相位调制又称相移键控,记作PSK(PhaseShiftKeying)。
二进制相移键控记作2PSK。
它们是利用载波振荡相位的变化来传送数字信息的。
在二进制数字解调中,当正弦载波的相位随二进制数字基带信号离散变化,则就产生二进制移相键控(2PSK)信号。
2PSK信号码元的“0”和“1”分别用两个不同的初始相位0和π来表示,而其振幅和频率保持不变。
二进制移相键控信号的时域表达式为
(3.9)
其中an应选择双极性的,即
(3.10)
若g(t)是脉宽为Ts高度为1的矩形脉冲时,则有
(3.11)
由上式可以看出,当发送二进制符号1时,已调信号取0°相位,发送二进制符号0时,已调信号取180°相位。
若用φn表示第n个符号的绝对相位,则有
(3.12)
这种以载波的不同相位直接表示相位二进制数字信号的调制方式,称为二进制绝对相移方式。
二进制移相键控信号的典型时间波形如图3.13所示。
图3.13 二进制移相键控信号的典型时间波形
二进制移相键控信号的产生方法主要有两种。
调制原理图如图3.14所示。
其中图(a)是采用模拟调制的方法产生2PSK信号,是利用二进制基带不归零矩形脉冲信号与载波相乘得到相位反相的两种码元。
图(b)是采用数字键控的方法产生2PSK信号。
是用此基带信号控制一个开关电路,以选择输入信号,开关电路的输入信号是相位相差π的同频载波。
这两种方法的复杂程度差不多,并且都可以用数字信号处理器实现。
(a)模拟调频法
(b)数字键控法
图3.14二进制移相键控信号的调制原理图
3.2.3.22PSK信号的解调
2PSK信号的解调方法是相干解调,由于PSK信号本身就是利用相位传递信息的,所以在接收端必须利用信号的相位来解调信号。
解调器原理图如图3.15所示。
在相干解调过程中需要用到与接收的2PSK信号同频同相的相干载波。
图中经过带通滤波的信号在相乘器中与本地载波相乘,然后用低通滤波器滤除高频分量,再进行抽样判决。
这种接收方法有两个难点。
第一,难于确定本地载波的相位。
因为通常在接收端从接收信号中提取载波的方法是用倍频-分频法,即将接收信号做全波整流,滤除信号载波的倍频分量,再进行分频,恢复出载频。
但是,在分频时存在相位不确定性,即分频得到的载波相位有两种可能性,它
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 调制 仿真 系统 设计 实现
![提示](https://static.bingdoc.com/images/bang_tan.gif)