• 947.78 KB
  • 27页

符合fcc辐射掩蔽的超宽带脉冲设计项目报告

  • 27页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'符合FCC辐射掩蔽的超宽带脉冲设计项目报告20149120孙渴望 一、项目目的1.掌握超宽带脉冲设计方法。2.掌握FCC辐射掩蔽条件。3.掌握利用MATLAB中的.m语言设计符合FCC辐射掩蔽的超宽带脉冲的方法。4.掌握MATLABGUI设计方法。二、项目原理1.超宽带无线电的定义现在的超宽带己经不局限于早期的脉冲形式的无线电,任何无线电系统,只要它满足下面的条件之一就称为超宽带系统:2(fHfL)20%(21)fHfLfHfL500MHz(22)fH、fL是信号功率谱密度在-10dB处测量的值。也就是说,只要无线通信系统的相对带宽不低于20%或绝对带宽不低于500MHz,就是超宽带无线通信系统。2.超宽带的特点(1)小的干扰,共享频谱资源信息被扩展到很宽的频谱上,故UWB系统发射的功率谱密度可以非常低,甚至低于FCC规定的电磁兼容背景噪声电平(-41.3dBm—FCCPart15),所以对其他通信系统的干扰小,可以与其他无线通信系统共享频谱资源。(2)固有的保密性由于功率谱密度非常低,几乎被湮没在各种电磁干扰和噪声中,具有隐蔽性好、低截获率、保密性好等优点。(3)地理定位能力好在严重的多径环境下,定位精度大约为C/B,C是光速,B是信号带宽。(4)高的数据传输速度 UWB的传输速率可达几十Mbps~几Gbps。(5)其单位区域内通信容量高,可超过每平方米1000Kbps。IEEE802.11b仅为每平方米1Kbps,蓝牙技术为每平方米30Kbps,IEEE802.11a也只为每平方米83Kbps。(6)低功耗超宽带技术在实现同样传输速率时,功率消耗仅有传统技术的1/10~1/100。3.超宽带信号的辐射掩蔽通常来说,超宽带无线电信号是与其他的无线电信号同时存在的,因此,可能对其他通信系统的干扰必须要限定在某一范围内,这就意味着在任一给定频率上的空中接口都必须有一个最大允许功率,这个功率的值一般由辐射掩蔽(emissionmask)来确定。由辐射掩蔽设定的功率极限值是相对于有效辐射功率而言的,即某一频率范围内的有效全向辐射功率(EIRP),它等于发射机的最大可用功率PTX(即发射机能够提供给天线的最大功率)和发射天线增益GAT的乘积:EIRPPTXGAT(23)我们通常用dBm来表示EIRP的大小,即10lgEIRPmWatts。如果发射机的输出阻抗ZoTX与天线的输入阻抗ZAT相匹配,即Z*Z,oTXAT则满足最大功率传输条件,即发射机的最大可用功率可以有效地传递到天线。另一种控制辐射功率的方法是对场强Vs加以限制。场强是指传播一定距离D后,等于自由空间的特征阻抗ZFS的某一阻抗要获得功率值PTX时所需要的电压值。ZFS跟自由空间的磁导率和介电常数有关,大约等于377Ω。通常,ZFS与频率无关。场强与功率关系如下:V2EIRPs4D2(24)377式(2-4)定义的功率是平均功率。在二进制IR系统中,平均功率要在比特间隔Tb内进行计算。假设单个脉冲的能量为Ep,则代表一个比特的所有脉冲的总能量为NsEp,在Tb=NsTs假设下的平均功率Pav为:NsEpNsEpEpPav(25)TbNsTsTs 式中,1/Ts指脉冲的重复频率。从式(2-5)我们可以看出,即使脉冲能量Ep不同,不同的信号还是可以通过改变脉冲的重复频率而具有相同的平均功率Pav。平均功率相同,脉冲重复频率低的信号脉冲能量Ep较大,即,当脉冲持续时间相同时,对于平均功率相当的信号,其最大瞬时功率却可能有明显的差别。辐射掩蔽对辐射信号的功率谱密度加以限制,即对EIRP的频谱密度加以限制,功率谱密度的单位通常是dBm/Hz或dBm/MHz。但一般来说,在某一给定的频率处,辐射掩蔽是以功率值而不是以功率密度值给出的。事实上,在某一频率fc处辐射掩蔽的取值,表明了中心频率fc附近的测量带宽范围内的最大允许EIRP。这个功率我们用EIRPmb表示,只有当传输信号的带宽B等于测量带宽mb时,该功率才等于总的可允许EIRP。对于带宽大于测量带宽mb的信号,最大允许EIRP等于EIRPmb值的总和,此处的EIRPmb由信号占用带宽上的辐射掩蔽所确定。特殊情况下,如果在整个带宽B范围内,由掩蔽所确定的EIRPmb值为一常数,则可以得到:BV2BV2EIRPmbEIRP4D(2(62)6)mb377式(2-6)给出了EIRPmb作为带宽B=mb的信号的最大容许EIRP的一个正式定义。目前,UWB无线电通信中我们可用的有关辐射掩蔽的标准之一是由美国FCC制定的。对于室内UWB系统,掩蔽限制是针对3.1GHz到10.6GHz范围内的-10dB带宽,对于带外的辐射掩蔽也有严格的限制。辐射掩蔽的具体值如图2-1所示。此外,FCC制定的标准中还对中心频率fM附近50MHz频率范围内辐射信号峰值给出了限制指标,这个极限值为0dBm/50MHz,即对中心频率fM附近50MHz频率范围内计算的功率应限定在0dBm/内。 图2-1FCCUWB辐射掩蔽4.超宽带系统的脉冲(1)超宽带脉冲的设计原则①脉冲宽度纳秒级,确保占用超宽的频谱。②为了保证脉冲能量的有效辐射,希望其直流分量为零。这一点不是绝对的,当脉冲直流分量不为零时,可以采用双极性调制,使总的发射脉冲的直流分量为零。③满足FCC的频谱掩蔽要求。对于发射脉冲信号的超宽带系统,其发射信号的功率谱主要由发射的脉冲波形的功率谱决定,因此超宽带系统的脉波形冲的频谱应满足FCC的功率谱密度辐射限制(即频谱掩蔽),避免对其他通信系统造成干扰。④频谱利用率高所设计的脉冲越能充分利用FCC给定的频率范围3.1GHz~10.6GHz,即占用的频带越宽,超宽的频带所带来的优点就越明显。脉冲频谱对FCC的频谱掩蔽匹配得越好,则系统的频谱利用率越高。⑤便于实现有些脉冲性能非常好,理想化,但物理上不可实现。所设计脉冲应该容易实 现,且产生信号稳定、可控。⑥使整个系统的性能好主要是误码率和多址容量。脉冲的互相关函数和自相关函数会影响匹配检测的准确率。(2)高斯脉冲及其导数在超宽带通信系统中,对脉冲形成器的滤波器单位冲激响应的选择是至关重要的,因为它会影响传输信号的功率谱密度(PSD)。脉冲产生器最易产生的脉冲波形是一个钟形,类似于高斯函数波形。最早被提出来用作超宽带脉冲波形的是高斯脉冲及其各阶导数函数脉冲,原因就是因为高斯函数的时域波形和频谱形状都是钟形,符合超宽带脉冲既是时限又是频限的要求,同时高斯脉冲函数容易实现。一个高斯脉冲p(t)可以用下列表达式描述:22r2t()12222p(t)ee(27)22其中,22是脉冲形成因子,2为方差。4为了有效辐射,产生的脉冲应具备一个基本条件:无直流分量。在满足该条件的前提下,有多种脉冲波形可供考虑。高斯函数的各阶导函数表示的波形都满足该条件。实际中,最普遍采用的脉冲波形是高斯函数的二阶导函数。人们也提出了其他一些脉冲波形。例如,拉普拉斯脉冲,将若干长度相同、幅度相反的高斯脉冲按照固定的间隔组合叠加的脉冲波形,以及Hermite脉冲。通过改变脉冲波形来获得频谱形成是IR的一个有趣的特性。频谱形成主要可以采取三种不同的方法:改变脉冲宽度、对脉冲进行微分和对基函数的组合。(3)脉冲宽度的改变和脉冲微分脉冲宽度取决于脉冲形成因子。减小的值将会使脉冲宽度压缩,从而扩展传输信号的带宽。因此,同一波形可以通过改变脉冲形成因子的值来得到不同的带宽。对高斯脉冲微分也会影响其能量谱密度。峰值频率和脉冲带宽都会随微分阶数的增加而改变。观察k阶导数的傅氏变换性质:22fX"(f)fke2(28)k 我们可以得到关于峰值频率fpeak、导函数的阶k和脉冲形成因子三者之间的一般关系式:1fpeakk(29)式(2-9)表明,随着高斯导函数阶数的增高,其峰值频率也相应提高。因此,微分是一种将能量搬移至更高频段的方法。为了分析微分在时域的影响,这里介绍两个MATLAB函数:函数2.1,用来画出高斯波形和它的前15阶导函数的波形;函数2.2对函数2.1画出的所有波形给出相应的解析表达式。函数2.1先将高斯脉冲及其前15阶导函数的幅度归一化,然后将它们同时画出。该函数仅有一个输入值alpha(即脉冲形成因子),没有输出值,的参考取值为0.714ns。执行函数2.1的命令如下:cp0201_Gaussian_derivatives(alpha);函数2.2产生高斯脉冲的前15阶导函数。该函数的输入参数为:矢量t定义时间轴;高斯脉冲导函数的阶数k,取值范围[1,15];脉冲形成因子alpha。函数2.2将返回一个矢量deriv,这个变量是在时间轴t上计算得到的k阶高斯脉冲导函数的若干数值。调用函数2.2的命令如下:[derive]=cp0202_analytical_waveforms(t,k,alpha);函数2.3近似计算并画出高斯脉冲的前15阶导函数的ESD。该函数仅把脉冲形成因子作为输入参数,且没有输出。函数2.3的调用如下:cp0203_Gaussian_derivatives_ESD(alpha);(4)满足辐射掩蔽微分和改变脉冲宽度都可以影响高斯脉冲的能量谱密度,二者都可以用来形成发射波形。但是,在很多情况下,单个脉冲波形所具备的频谱形成的灵活性并不足以满足某些特定要求。脉冲形成的首要任务是使得波形逼近管理权威所制定的辐射掩蔽。FCC关于超宽带器件的这些辐射掩蔽标准的公布,进一步刺激和推动了超宽带脉冲形成技术的研究发展,使脉冲形成技术能够尽量接近于上述的辐射掩蔽,使得传输功 率在低于FCC限定的条件下取得最大值。我们分析通过合并少许单个的参考脉冲波形(例如,高斯脉冲及其各阶导函数)来调节脉冲的能量谱密度使之逼近辐射掩蔽的可行性。在这里,我们默认所要产生的脉冲波形能被变成一个单独的脉冲而不是多个脉冲,这种假设在近似计算中是合理的。只要单个脉冲能逼近辐射掩蔽,那么其经过调制和编码后的脉冲也能够较好地逼近辐射掩蔽。这就更进一步说明了这种方法的有效性。在最新的基于高斯波形的方法中,提出了一种选择最佳脉冲微分阶数和最佳脉冲形成因子,并使之能逼近3.1~10.6GHz范围内的辐射掩蔽的算法。但是,这种方法有一个缺陷:仅仅用单个脉冲很难满足上述带宽之外的辐射掩蔽要求。因此,我们考虑通过高斯脉冲的不同导函数来组合得到最优波形。这种最优波形能在全频段逼近辐射掩蔽标准。一种可能的办法就是利用N个高斯导函数的线性组合,每个导函数由给定的值表征(不同的导函数可以有不同的值),它们可以被认为是N维空间中独立的基函数。对线性组合的权重系数的选择依赖于设计的要求,例如,要满足给定的功率谱密度。选择权重系数的过程可以描述如下:①选择一组基函数。②随机产生一组权重系数,记为S。③检验S加权线性组合的功率谱密度是否满足辐射掩蔽。④如果在前面满足了辐射掩蔽的要求,并且S是第一组满足条件的系数,则设SB=S进行初始化。如果在前面满足了辐射掩蔽的要求但过程已经初始化,则进行S与SB的比较。根据预先设定的距离度量,如果S产生的波形比SB产生的好,则置SB=S。⑤反复进行①~③,直到所产生波形的功率谱密度与辐射掩蔽之间的距离在一个固定门限值之下。我们看到,N个导函数的线性组合及其选择不同值的可能性,给脉冲波形的产生带来了很大的灵活性。但是,为了保证合成函数与目标函数的差异在要求的范围之内,上述算法需要经过很多次迭代。为了分析用高斯导函数的组合来近似达到辐射掩蔽的问题,考虑前15个导 函数的组合并通过以下两种方法来近似:一种是所有导函数都有相同的脉冲形成因子,另一种则是具有不同的值。下面我们将为这15个导函数定义一组值作为一个“矢量”。为了选择合适的高斯导函数的组合系数,我们介绍一个MATLAB函数,函数2.4。该函数通过调用MATLAB子函数2.5,2.6和2.7来实现随机系数选择过程。函数2.4应用一种简化形式来实现上述过程,也就是通过固定迭代次数的方式来实现。我们事先假设已有若干不同的在选择过程中可行的矢量,通过输入参数i来给定每一次运算中考虑的矢量。此外,函数2.4的输入还有脉冲重复周期Ts和允许的最大迭代次数attempts两个变量。调用函数命令如下:cp0204_random_pulse_combination(i,Ts,attempts);函数2.5为函数2.4产生导函数提供所需的值。该函数指针i作为输入参数,它指明要用的一组,返回输出矢量alphavector。函数2.5命令如下:Alphavector=cp0205_get_alpha_value(i);函数2.6产生辐射掩蔽。函数将fs和N作为输入参数,其中N代表在间隔为[-fs/2,fs/2]的频域上信号点的个数。函数返回一个有N/2个元素的矢量,用来表示在频域范围[0,fs/2]的辐射掩蔽。这个辐射掩蔽的产生由下列命令实现:[emissionmask]=cp0206_emission_mask(N,fs);函数2.7选择导函数组合的系数。它将以下参数作为输入参数:迭代次数attempts,基函数组basefunction,抽样周期dt,时域抽样点数smp,脉冲重复周期Ts,频率平滑因子freqsmoothfactor,要求的辐射掩蔽emissionmask和两个代表导函数阶数范围的整数lowerbasefunction和higherbasefunction。函数将返回一组最佳系数矢量c和一个标志符result。该标志符用来指示是否至少获得一组有效的系数。函数2.7使用下面的命令调用:[c,result]=cp0207_random_coefficients(attempts,basefunction,dt,smp,Ts,…freqsmoothfactor,emissionmask,lowerbasefunction,higherbasefunction);例如,我们来考虑高斯脉冲的前15个导函数。可以使用存储在函数2.5的第一组值(即调用参数i=1),该组值中的所有元素均为0.714ns,Ts=1e-7,attempts=100。 采用不同的矢量可以改进性能。函数2.5的第二组矢量中,一阶导函数有大的值(1.5ns),而其他各阶导函数有较小的值(0.314ns)。可以通过设置参数i=2来获得这个矢量。三、项目内容1、符合FCC辐射掩蔽的超宽带脉冲MATLABGUI程序如下functionvarargout=fcc(varargin)%FCCMATLABcodeforfcc.fig%FCC,byitself,createsanewFCCorraisestheexisting%singleton*.%%H=FCCreturnsthehandletoanewFCCorthehandleto%theexistingsingleton*.%%FCC("CALLBACK",hObject,eventData,handles,...)callsthelocal%functionnamedCALLBACKinFCC.Mwiththegiveninputarguments.%%FCC("Property","Value",...)createsanewFCCorraisesthe%existingsingleton*.Startingfromtheleft,propertyvaluepairsare%appliedtotheGUIbeforefcc_OpeningFcngetscalled.An%unrecognizedpropertynameorinvalidvaluemakespropertyapplication%stop.Allinputsarepassedtofcc_OpeningFcnviavarargin.%%*SeeGUIOptionsonGUIDE"sToolsmenu.Choose"GUIallowsonlyone%instancetorun(singleton)".%%Seealso:GUIDE,GUIDATA,GUIHANDLES%Edittheabovetexttomodifytheresponsetohelpfcc%LastModifiedbyGUIDEv2.529-Mar-201514:50:14%Begininitializationcode-DONOTEDITgui_Singleton=1;gui_State=struct("gui_Name",mfilename,..."gui_Singleton",gui_Singleton,..."gui_OpeningFcn",@fcc_OpeningFcn,... "gui_OutputFcn",@fcc_OutputFcn,..."gui_LayoutFcn",[],..."gui_Callback",[]);ifnargin&&ischar(varargin{1})gui_State.gui_Callback=str2func(varargin{1});endifnargout[varargout{1:nargout}]=gui_mainfcn(gui_State,varargin{:});elsegui_mainfcn(gui_State,varargin{:});end%Endinitializationcode-DONOTEDIT%---Executesjustbeforefccismadevisible.functionfcc_OpeningFcn(hObject,eventdata,handles,varargin)%Thisfunctionhasnooutputargs,seeOutputFcn.%hObjecthandletofigure%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%varargincommandlineargumentstofcc(seeVARARGIN)%Choosedefaultcommandlineoutputforfcchandles.output=hObject;%Updatehandlesstructureguidata(hObject,handles);%UIWAITmakesfccwaitforuserresponse(seeUIRESUME)%uiwait(handles.figure1);%---Outputsfromthisfunctionarereturnedtothecommandline.functionvarargout=fcc_OutputFcn(hObject,eventdata,handles)%varargoutcellarrayforreturningoutputargs(seeVARARGOUT);%hObjecthandletofigure%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%Getdefaultcommandlineoutputfromhandlesstructurevarargout{1}=handles.output; functionedit1_Callback(hObject,eventdata,handles)%hObjecthandletoedit1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%Hints:get(hObject,"String")returnscontentsofedit1astext%str2double(get(hObject,"String"))returnscontentsofedit1asadoubleglobalalpha;alpha=str2double(get(hObject,"String"));guidata(hObject,handles);%---Executesduringobjectcreation,aftersettingallproperties.functionedit1_CreateFcn(hObject,eventdata,handles)%hObjecthandletoedit1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled%Hint:editcontrolsusuallyhaveawhitebackgroundonWindows.%SeeISPCandCOMPUTER.ifispc&&isequal(get(hObject,"BackgroundColor"),get(0,"defaultUicontrolBackgroundColor"))set(hObject,"BackgroundColor","white");endfunctionedit2_Callback(hObject,eventdata,handles)%hObjecthandletoedit2(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%Hints:get(hObject,"String")returnscontentsofedit2astext%str2double(get(hObject,"String"))returnscontentsofedit2asadoubleglobali;i=str2double(get(hObject,"String"));guidata(hObject,handles);%---Executesduringobjectcreation,aftersettingallproperties.functionedit2_CreateFcn(hObject,eventdata,handles)%hObjecthandletoedit2(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled %Hint:editcontrolsusuallyhaveawhitebackgroundonWindows.%SeeISPCandCOMPUTER.ifispc&&isequal(get(hObject,"BackgroundColor"),get(0,"defaultUicontrolBackgroundColor"))set(hObject,"BackgroundColor","white");endfunctionedit3_Callback(hObject,eventdata,handles)%hObjecthandletoedit3(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%Hints:get(hObject,"String")returnscontentsofedit3astext%str2double(get(hObject,"String"))returnscontentsofedit3asadoubleglobalattempts;attempts=str2double(get(hObject,"String"));guidata(hObject,handles);%---Executesduringobjectcreation,aftersettingallproperties.functionedit3_CreateFcn(hObject,eventdata,handles)%hObjecthandletoedit3(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled%Hint:editcontrolsusuallyhaveawhitebackgroundonWindows.%SeeISPCandCOMPUTER.ifispc&&isequal(get(hObject,"BackgroundColor"),get(0,"defaultUicontrolBackgroundColor"))set(hObject,"BackgroundColor","white");endfunctionedit4_Callback(hObject,eventdata,handles)%hObjecthandletoedit4(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%Hints:get(hObject,"String")returnscontentsofedit4astext%str2double(get(hObject,"String"))returnscontentsofedit4asadouble globalTs;Ts=str2double(get(hObject,"String"));guidata(hObject,handles);%---Executesduringobjectcreation,aftersettingallproperties.functionedit4_CreateFcn(hObject,eventdata,handles)%hObjecthandletoedit4(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled%Hint:editcontrolsusuallyhaveawhitebackgroundonWindows.%SeeISPCandCOMPUTER.ifispc&&isequal(get(hObject,"BackgroundColor"),get(0,"defaultUicontrolBackgroundColor"))set(hObject,"BackgroundColor","white");end%---Executesonbuttonpressinpushbutton1.functionpushbutton1_Callback(hObject,eventdata,handles)%hObjecthandletopushbutton1(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalalpha;globalg;cp0201_Gaussian_derivatives(alpha,g);%---Executesonbuttonpressinpushbutton2.functionpushbutton2_Callback(hObject,eventdata,handles)%hObjecthandletopushbutton2(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globalalpha;globalg;cp0203_Gaussian_derivatives_ESD(alpha,g);%---Executesonbuttonpressinpushbutton3.functionpushbutton3_Callback(hObject,eventdata,handles)%hObjecthandletopushbutton3(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globali; globalattempts;globalTs;globalg;cp0204_random_pulse_combination(i,Ts,attempts,g);functionedit5_Callback(hObject,eventdata,handles)%hObjecthandletoedit5(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%Hints:get(hObject,"String")returnscontentsofedit5astext%str2double(get(hObject,"String"))returnscontentsofedit5asadoubleglobalg;g=str2double(get(hObject,"String"));guidata(hObject,handles);%---Executesduringobjectcreation,aftersettingallproperties.functionedit5_CreateFcn(hObject,eventdata,handles)%hObjecthandletoedit5(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled%Hint:editcontrolsusuallyhaveawhitebackgroundonWindows.%SeeISPCandCOMPUTER.ifispc&&isequal(get(hObject,"BackgroundColor"),get(0,"defaultUicontrolBackgroundColor"))set(hObject,"BackgroundColor","white");end%---Executesonbuttonpressinpushbutton4.functionpushbutton4_Callback(hObject,eventdata,handles)%hObjecthandletopushbutton4(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)globali;globalattempts;globalTs;%globalg;cp0209_compare(i,Ts,attempts); functionedit6_Callback(hObject,eventdata,handles)%hObjecthandletoedit6(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)%Hints:get(hObject,"String")returnscontentsofedit6astext%str2double(get(hObject,"String"))returnscontentsofedit6asadouble%---Executesduringobjectcreation,aftersettingallproperties.functionedit6_CreateFcn(hObject,eventdata,handles)%hObjecthandletoedit6(seeGCBO)%eventdatareserved-tobedefinedinafutureversionofMATLAB%handlesempty-handlesnotcreateduntilafterallCreateFcnscalled%Hint:editcontrolsusuallyhaveawhitebackgroundonWindows.%SeeISPCandCOMPUTER.ifispc&&isequal(get(hObject,"BackgroundColor"),get(0,"defaultUicontrolBackgroundColor"))set(hObject,"BackgroundColor","white");end运行fcc.fig文件得到如下所示的GUI界面图3-1符合FCC辐射掩蔽的超宽带脉冲GUI界面 2、数据记录设置参数g=10,alpha=0.714e-9得到高斯脉冲和它的前10阶导函数波形如图3-2所示。图3-2高斯脉冲和它的前10阶导函数波形图设置参数g=10,alpha=0.714e-9点击按键二,得到高斯脉冲的前10阶导函数脉冲的ESD如图3-3所示图3-3高斯脉冲的前10阶导函数脉冲的ESD 设置参数g=10,i=1,Ts=1e-7,attempts=100,点击第三个按钮,如图3-4所示。生成FCC辐射掩蔽的室内极限,如图3-5所示,和满足FCCUWB室内辐射掩蔽的高斯脉冲前10阶导函数脉冲的PSD,满足FCCUWB室内辐射掩蔽的组合脉冲的PSD如图3-6所示。图3-4GUI窗口图3-5FCC辐射掩蔽的室内标准 图3-6生成模式一显然十阶高斯导函数用模式一生成频带利用率不高,将生成模式换成2,再次实验,观察其性能优劣。图3-7生成模式2 如图3-7所示,采用生成模式2合成的UWB脉冲波形性能明显优于生成模式1,因为生成模式2,一阶脉冲形成因子=1.5e-9,有利于抬升合成脉冲低频部分,其他各阶脉冲形成因子选0.314e-9,有利于提高其中高频部分的频带利用率。将一阶脉冲形成因子改为2.0e-9,得到如图3-8所示的新波形,可见其在低频阶段更加贴合FCC标准。图3-8提高一阶形成因子再考察不同阶数对最终形成的合成脉冲的影响,编写新的.m文件0209_compare.m在gui中使用button4调用它function[coefficients,singlederivativecoeff,...derivative,validresult,df]=...cp0209_compare(i,Ts,attempts,g)%-----------------------------------------------%Stepone-定义变量,初始化个参数,并画出FCC辐射掩蔽室内标准%-----------------------------------------------%lowertimelimitTmin=-4e-9;%uppertimelimit Tmax=4e-9;%numberofsamplessmp=1024;%samplingperioddt=(Tmax-Tmin)/smp;%samplingfrequencyfs=1/dt;frequencysmoothingfactor=8;%numberofsamples(i.e.sizeoftheFFT)N=frequencysmoothingfactor*smp;%fundamentalfrequencydf=1/(N*dt);%initializationofthepositivefrequencyaxispositivefrequency=linspace(0,(fs/2),N/2);%initializationofthetimeaxist=linspace(Tmin,Tmax,smp);%loadingthealphavectordependingontheinput"i"j=i;alpha=cp0205_get_alpha_value(i);%loadingtheemissionmaskonNpointsemissionmask=cp0206_generate_mask(N,fs);figure(5);plot(positivefrequency/1e6,...emissionmask,"r","Linewidth",[1]);holdon;AX=gca;set(AX,"FontSize",12);T=title("¸÷½×¸ß˹Âö³åÏßÐÔ×éºÏÐÔÄܶԱÈͼ");set(T,"FontSize",14);X=xlabel("Frequency[MHz]");set(X,"FontSize",14);Y=ylabel("PSD[dBm/MHz]");set(Y,"FontSize",14);axis([012e3-4000]);switch(j)case1alphavalue="alpha=0.714ns";text(8e3,-100,alphavalue,"BackgroundColor",[111]);case2alphavalue="alpha=variable"; text(8e3,-100,alphavalue,"BackgroundColor",[111]);endtext(2e3,-300,..."normalizedderivatives","BackgroundColor",[111]);text(7e3,-150,"randomcombination",..."BackgroundColor",[111]);text(5e3,-25,"FCCUWBindooremissionmask",..."BackgroundColor",[111]);forg=10:15fori=1:g%---------------------------------------------%Steptwo-生成在时域的脉冲波形%---------------------------------------------%determinationofthei-thderivativederivative(i,:)=cp0202_analytical_waveforms(t,i,...alpha(i));%amplitudenormalizationofthei-thderivativederivative(i,:)=derivative(i,:)/max(abs(derivative(i,:)));endfori=1:g%determinationofcoefficientsforeachsingle%derivativeconsideredasastand-aloneset[i_th_derivative_coeff,validresult]=...cp0207_random_coefficients(attempts,derivative,...dt,smp,Ts,frequencysmoothingfactor,...emissionmask,i,i,g);%applicationofcoefficienttothei-thderivativenormalizedderivative(i,:)=i_th_derivative_coeff(i)...*derivative(i,:);%recordingcoefficientforthefunctionoutputsinglederivativecoeff(i)=i_th_derivative_coeff(i);if(validresult)%-----------------------------------------------------%Stepthree-对归一化波形数据的分析%-----------------------------------------------------%double-sidedMATLABamplitudespectrumX=fft(normalizedderivative(i,:),N); %conversionfromMATLABspectrumtoFourier%spectrumX=X/N;%double-sidedESDE=fftshift(abs(X).^2/(df^2));%single-sidedESDEss=2.*E((N/2+1):N);%PSDofthei-thnormalizedderivativeindBm/MHzsinglederivativePSD(i,:)=10*log10((1/Ts)...*Ess/377)+90;end%endofsectiondedicatedtomaskfittingthroughsingle%derivativesend%---------------------------------------------------------%Stepfour–画出10到15阶拟合波形与辐射掩蔽标准做对比%---------------------------------------------------------[coefficients,validresult]=...cp0207_random_coefficients(attempts,derivative,...dt,smp,Ts,frequencysmoothingfactor,...emissionmask,1,g,g);if(validresult)%double-sidedMATLABamplitudespectrumX=fft(coefficients*derivative,N);%¿ìËÙ¸µÀïÒ¶±ä»»%conversionfromMATLABspectrumtoFourierspectrumX=X/N;%double-sidedESDE=fftshift(abs(X).^2/(df^2));%single-sidedESDEss=2.*E((N/2+1):N);%PSDofthecombinationindBm/MHzPSD=10*log10((1/Ts)*Ess/377)+90;switch(g)case10plot(positivefrequency/1e6,PSD,"b");%10½×À¶É«case11plot(positivefrequency/1e6,PSD,"y");%11½×»ÆÉ«case12plot(positivefrequency/1e6,PSD,"g");%12½×ÂÌÉ«case13plot(positivefrequency/1e6,PSD,"m");%13½×·ÛºìÉ«case14 plot(positivefrequency/1e6,PSD,"k");%14½×ºÚÉ«case15plot(positivefrequency/1e6,PSD,"c");%15½×ÁÁÀ¶É«holdon;endendend程序运行大约2分钟后会出现如图3-9所示的结果图3-9前10阶到前15阶高斯脉冲线性组合的UWB脉冲对比图对图形进行分析,低频表现最好的是前10阶和前12阶高斯脉冲拟合的UWB脉冲如图3-10所示;中频部分性能最好的是前十阶和前十三阶的拟合,如图3-10所示;高频部分性能前14阶和前15阶性能最好,如图3-11所示 图3-10低频部分性能分析图3-11中频部分性能分析 图3-11高频部分性能分析四、项目结论与心得体会UWB由于其抗干扰能力强,共享频谱资源,固有的保密性,地理定位能力好,数据传输速度高,单位区域内通信容量高,低功耗等特点在未来有着巨大的发展潜力,本项目利用高斯函数的各阶导函数拟合出满足FCC室内标准的UWB脉冲。经过具体实验得到一些结论,拟合阶数并非越高越好,因为随着阶数的增加会拉低低频部分的拟合功率图3-10表明低频性能最好的并非是阶数高的脉冲合成的拟合脉冲。并且一阶高斯脉冲的形成因子alpha对低频有着重要影响,其数值大小与拟合的脉冲在低频功率高低成正比。高阶的高斯脉冲形成因子alpha与拟合脉冲高频部分有着重要联系,其值的大小与拟合脉冲在高频部分的功率成反比。在设计该项目的matlabgui时也遇到了很多难题,如edittext文本框中值读取不出来,读取后无法传递到函数中等等,最后通过 str2double(get(hObject,"String"))语句成功读取出文本框中的数值,在文本框函数后加guidata(hObject,handles);使数据得到实时更新,在设置参数为global型变量,在接下来的函数中就可以成功调用了。最终成功完成该项目的GUI设计。通过这次实验,虽然遇到困难,但是只有我们敢于钻研,方法总比困难多,在遇到困难后成功解决困难才能使我们能力得到锻炼,学习内容得到夯实,也锻炼了我们面对困难的心态,使我们能够更加坚忍不拔的面对未来的各种挑战。也感谢老师的悉心指导,这次实验虽然小,却让我们收获很大。'