版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第12章基于MATLABAppDesigner的通信原理系統(tǒng)本章要點(diǎn)
Simulink是MATLAB軟件的擴(kuò)展模塊,提供了強(qiáng)大的可視化建模環(huán)境,用于仿真、建立和分析動(dòng)態(tài)系統(tǒng)模型,具有圖形化建模界面、豐富的模型庫、仿真和調(diào)試等特性。本章節(jié)將實(shí)現(xiàn)MATLABAppDesigner與Simulink交互,兩者優(yōu)勢互補(bǔ),實(shí)現(xiàn)基于MATLABAppDesigner的通信原理系統(tǒng)設(shè)計(jì)。
本章要點(diǎn):⑴MATLABAppDesigner與Simulink的交互。⑵通信原理系統(tǒng)總界面設(shè)計(jì)。⑶模擬調(diào)制解調(diào)。⑷模擬角度調(diào)制。⑸數(shù)字基帶信號。⑹二進(jìn)制數(shù)字調(diào)制。
學(xué)習(xí)目標(biāo):⑴了解基本模擬調(diào)制解調(diào)方法。⑵了解數(shù)字基帶信號。⑶了解基本數(shù)字調(diào)制方法。⑷掌握MATLABAppDesigner與Simulink的交互方法。⑸掌握在更多的通信原理實(shí)驗(yàn)中應(yīng)用MATLABAppDesigner的界面設(shè)計(jì)方法。12.1MATLABAppDesigner與Simulink的交互
MATLABAppDesigner與Simulink進(jìn)行交互有以下兩種方式:
第一種方式,即MATLABAppDesigner通過load_system加載Simulink模塊,并在其控件的回調(diào)函數(shù)中,通過set_param和get_param函數(shù)設(shè)置和獲取Simulink模塊中的相關(guān)參數(shù)。Simulink模塊回調(diào)函數(shù)StartFcn可以注冊監(jiān)聽事件,事件在每個(gè)周期都會(huì)更新一次,進(jìn)而實(shí)現(xiàn)兩者之間的交互通信,如圖12-1所示。圖12-1
MATLABAppDesigner與Simulink交互方式一示意圖12.1MATLABAppDesigner與Simulink的交互
第二種方式,與上述方式不同的是,Simulink將數(shù)據(jù)存放于工作空間,然后MATLABAppDesigner從工作空間讀取數(shù)據(jù)。Simulink可通過添加Toworkspace模塊和使用Scope示波器模塊等方法,將導(dǎo)出數(shù)據(jù)到工作空間,如圖12-2所示。圖12-2MATLABAppDesigner與Simulink交互方式二示意圖
本小節(jié)以第二種方式為例,分別演示如何通過Toworkspace模塊和使用Scope示波器模塊,實(shí)現(xiàn)MATLABAppDesigner與Simulink的交互。12.1MATLABAppDesigner與Simulink的交互【例12-1】搭建如圖12-3所示仿真模型,實(shí)現(xiàn)將示波器波形顯示于MATLABAppDesigner的坐標(biāo)區(qū)控件上。圖12-3仿真模型12.1MATLABAppDesigner與Simulink的交互第一步:根據(jù)需求設(shè)計(jì)MATLABAppDesigner界面布局。添加2個(gè)面板、4個(gè)編輯字段(數(shù)值)、1個(gè)按鈕和3個(gè)坐標(biāo)區(qū)組件,如圖12-4所示。圖12-4
MATLABAppDesigner界面布局12.1MATLABAppDesigner與Simulink的交互
第二步:利用set_param函數(shù)設(shè)置Simulink中模塊的相關(guān)參數(shù)
利用4個(gè)編輯字段分別設(shè)置Simulink中SineWave和SineWave1模塊的Amplitude和Frequency參數(shù),set_param函數(shù)調(diào)用方法如下:set_param(object,parameter1,value1,...,parameterN,valueN)
其中,object為目標(biāo)對象,目標(biāo)對象可以是模型、子系統(tǒng)、庫、模塊、信號線、端口或總線元素端口元素。即將目標(biāo)對象object的參數(shù)parameter設(shè)置為指定值value。
例如,設(shè)置文件名為testsim_model.slx仿真模型的SineWave模塊中的Amplitude參數(shù),將其參數(shù)值設(shè)置為MATLABAppDesigner中編輯字段EditField_A1的Value值,程序命令如下:A1=app.EditField_A1.Value;set_param('testsim_model/SineWave','Amplitude',num2str(A1));12.1MATLABAppDesigner與Simulink的交互
第三步:將simulink數(shù)據(jù)傳遞給工作空間。
在simulink中,雙擊scope模塊,打開菜單view中的ConfigurationProperties窗口。勾選logging中Logdatatoworkspace選項(xiàng),即先把波形信息存入MATLAB工作區(qū)中,可通過Variablename修改數(shù)據(jù)變量名,默認(rèn)變量名為Dataset,例如修改為aa。若要存成矩陣形式可將Saveformat改為Array,對于一個(gè)在示波器中用多個(gè)坐標(biāo)系顯示波形的情況,可將存儲(chǔ)形式改為StructureWithTime。
運(yùn)行simulink仿真文件,可在工作空間得到simulink仿真模型傳遞的變量名為aa的數(shù)據(jù),如圖12-5所示。圖12-5
MATLAB工作空間12.1MATLABAppDesigner與Simulink的交互在命令行窗口輸入如下命令:out.aaans=包含以下字段的struct:time:[51×1double]signals:[1×3struct]blockName:'testsim_model/Scope'out.aa.signalsans=包含以下字段的1×3struct數(shù)組:valuesdimensionslabeltitleplotStyleout.aa.signals(1)12.1MATLABAppDesigner與Simulink的交互ans=包含以下字段的struct:values:[51×1double]dimensions:1label:'波形1'title:''plotStyle:0out.aa.signals(1).valuesans=00.19870.3894......-0.544012.1MATLABAppDesigner與Simulink的交互第四步:MATLABAppDesigner通過工作空間數(shù)據(jù)繪制波形右擊【Start】按鈕,選擇【回調(diào)】,選擇【添加StartButtonPushed回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:load_system('testsim_model');A1=app.EditField_A1.Value;A2=app.EditField_A2.Value;f1=app.EditField_f1.Value;f2=app.EditField_f2.Value;set_param('testsim_model/SineWave','Amplitude',num2str(A1));set_param('testsim_model/SineWave','Frequency',num2str(f1));set_param('testsim_model/SineWave1','Amplitude',num2str(A2));set_param('testsim_model/SineWave1','Frequency',num2str(f2));out=sim('testsim_model');%simulink仿真模型名稱為testsim_model.slx12.1MATLABAppDesigner與Simulink的交互plot(app.axes1,out.aa.time,out.aa.signals(1).values);legend(app.axes1,'波形1');plot(app.axes2,out.aa.time,out.aa.signals(2).values);legend(app.axes2,'波形2');plot(app.axes3,out.aa.time,out.aa.signals(3).values);legend(app.axes3,'相乘后波形');12.1MATLABAppDesigner與Simulink的交互
運(yùn)行程序,單擊【Start】按鈕,運(yùn)行結(jié)果如圖12-6所示,與Simulink仿真模型的Scope運(yùn)行結(jié)果相同,如圖12-7所示。圖12-6
運(yùn)行結(jié)果界面
圖12-7
Scope顯示波形12.1MATLABAppDesigner與Simulink的交互
【例12-2】修改例12-1,搭建如圖12-8所示仿真模型,實(shí)現(xiàn)將示波器波形顯示于MATLABAppDesigner的坐標(biāo)區(qū)控件上。圖12-8仿真模型12.1MATLABAppDesigner與Simulink的交互
與例12-1類似,本例中需借助ToWorkspace模塊將數(shù)據(jù)傳遞至工作空間。雙擊ToWorkspace模塊,打開如圖12-9所示窗口,修改Variablename,例如修改為s1,即可將波形1數(shù)據(jù)存放于工作空間的s1變量中,運(yùn)行Simulink仿真文件后,工作空間出現(xiàn)s1、s2和s3變量,如圖12-10所示。圖12-9
ToWorkspace模塊參數(shù)設(shè)置窗口
圖12-10
MATLAB工作空間12.1MATLABAppDesigner與Simulink的交互回調(diào)函數(shù)中只需要將例12-1中的變量名稱修改即可,部分程序命令如下:plot(app.axes1,out.s1.time,out.s1.Data);legend(app.axes1,'波形1');plot(app.axes2,out.s2.Time,out.s2.Data);legend(app.axes2,'波形2');plot(app.axes3,out.s3.Time,out.s3.Data);legend(app.axes3,'相乘后波形');12.2基于MATLABAppDesigner的通信原理系統(tǒng)總界面設(shè)計(jì)
通信原理系統(tǒng)共分為4個(gè)模塊,包括模擬調(diào)制解調(diào)、模擬角度調(diào)制、數(shù)字基帶信號和二進(jìn)制數(shù)字調(diào)制,采用樹組件實(shí)現(xiàn)各個(gè)模塊的子級設(shè)置,可通過單擊某模塊的某選項(xiàng)進(jìn)入相應(yīng)的界面,界面布局設(shè)計(jì)如圖12-11所示。也可通過菜單欄進(jìn)入各個(gè)子界面,菜單欄設(shè)置如圖12-12所示。圖12-11
通信原理系統(tǒng)總界面運(yùn)行結(jié)果圖12-12
通信原理系統(tǒng)總界面菜單欄
右擊樹組件添加回調(diào)函數(shù),通過switch語句實(shí)現(xiàn)跳轉(zhuǎn)到各個(gè)子模塊,同時(shí)關(guān)閉當(dāng)前界面,也就是關(guān)閉主界面。并在各個(gè)子界面設(shè)置菜單項(xiàng),實(shí)現(xiàn)從子界面跳轉(zhuǎn)到主界面的功能。12.3模擬調(diào)制解調(diào)
模擬調(diào)制方式是載頻信號的幅度、頻率或相位隨著欲傳輸?shù)哪M輸入基帶信號的變化而相應(yīng)發(fā)生變化的調(diào)制方式,包括常規(guī)幅度調(diào)制(AM)、雙邊帶調(diào)制(DSB)和單邊帶調(diào)制(SSB),所得的已調(diào)信號分別稱為調(diào)幅波信號、雙邊帶信號和單邊帶信號。12.3.1常規(guī)幅度信號的調(diào)制與解調(diào)(AM)圖12-13
AM調(diào)制模型12.3模擬調(diào)制解調(diào)12.3.1常規(guī)幅度信號的調(diào)制與解調(diào)(AM)圖12-14AM信號的相干解調(diào)模型12.3模擬調(diào)制解調(diào)12.3.1常規(guī)幅度信號的調(diào)制與解調(diào)(AM)Am=app.A_mEditField.Value;fm=app.wmEditField.Value;fc=app.wcEditField.Value;A0=app.A_0EditField.Value;Fs=10*fc;h=1/Fs;%采樣頻率,仿真步長T=10/fm;%仿真運(yùn)行時(shí)間t=0:h:T;m=Am*cos(2*pi*fm*t);%基帶信號c=cos(2*pi*fc*t);%載波s=(A0+m).*c;%AM信號(點(diǎn)乘)
第一步:設(shè)置布局及屬性。添加2個(gè)標(biāo)簽、4個(gè)編輯字段(數(shù)值)、2個(gè)按鈕和3個(gè)坐標(biāo)區(qū)。
第二步:添加回調(diào)函數(shù)。右擊【繪圖】按鈕,選擇【回調(diào)】,選擇【添加ButtonPushed回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:12.3模擬調(diào)制解調(diào)12.3.1常規(guī)幅度信號的調(diào)制與解調(diào)(AM)plot(app.UIAxes,t,m,'--r',t,c,'k');legend(app.UIAxes,'基帶信號','載波');plot(app.UIAxes_2,t,s,"Color",'r');legend(app.UIAxes_2,'AM信號');%%解調(diào)x=s.*c;%相乘[b,a]=butter(2,[2*pi*200,2*pi*fm]/Fs/pi);y=filter(b,a,x);%濾波plot(app.UIAxes_3,t,y,'m');xlabel(app.UIAxes_3,'時(shí)間/s');legend(app.UIAxes_3,'相干解調(diào)輸出');12.3模擬調(diào)制解調(diào)12.3.1常規(guī)幅度信號的調(diào)制與解調(diào)(AM)右擊【重置】按鈕,選擇【回調(diào)】,選擇【添加Button_2Pushed回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:app.A_0EditField.Value=0;app.wcEditField.Value=0;app.wmEditField.Value=0;app.A_mEditField.Value=0;delete(allchild(app.UIAxes_3));delete(allchild(app.UIAxes_2));delete(allchild(app.UIAxes));12.3模擬調(diào)制解調(diào)12.3.1常規(guī)幅度信號的調(diào)制與解調(diào)(AM)運(yùn)行程序,單擊【繪圖】按鈕,運(yùn)行結(jié)果如圖12-15所示。圖12-15
AM調(diào)制與相干解調(diào)12.3模擬調(diào)制解調(diào)12.3.2抑制載波雙邊帶調(diào)幅信號的調(diào)制與解調(diào)(DSB-SC)12.3模擬調(diào)制解調(diào)12.3.2抑制載波雙邊帶調(diào)幅信號的調(diào)制與解調(diào)(DSB-SC)【例12-4】利用Simulink搭建如圖12-16所示仿真模型,對DSB信號調(diào)制解調(diào)過程進(jìn)行仿真,并將結(jié)果顯示于MATLABAppDesigner的坐標(biāo)區(qū)控件上。圖12-16
DSB調(diào)制解調(diào)系統(tǒng)12.3模擬調(diào)制解調(diào)12.3.2抑制載波雙邊帶調(diào)幅信號的調(diào)制與解調(diào)(DSB-SC)其中BPF子系統(tǒng)如圖12-17所示,解調(diào)子系統(tǒng)如圖12-18所示。圖12-17BPF子系統(tǒng)圖12-18解調(diào)子系統(tǒng)12.3模擬調(diào)制解調(diào)12.3.2抑制載波雙邊帶調(diào)幅信號的調(diào)制與解調(diào)(DSB-SC)
第一步:設(shè)置布局及屬性。添加2個(gè)標(biāo)簽、3個(gè)編輯字段(數(shù)值)、1個(gè)按鈕和4個(gè)坐標(biāo)區(qū)。
第二步:添加回調(diào)函數(shù)。右擊【繪圖】按鈕,選擇【回調(diào)】,選擇【添加ButtonPushed回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:Am=app.A_mEditField.Value;fm=app.wmEditField.Value;%基帶信號頻率fc=app.wcEditField.Value;%載波頻率load_system('DSBsim');set_param('DSBsim/基帶信號','Amplitude',num2str(Am));set_param('DSBsim/基帶信號','Frequency',num2str(fm));set_param('DSBsim/載波','Frequency',num2str(fc));out=sim('DSBsim');t=out.tout;s1_d=out.s1.Data;s2_d=out.s2.Data;s3_d=out.s3.Data;s4_d=out.s4.Data;12.3模擬調(diào)制解調(diào)12.3.2抑制載波雙邊帶調(diào)幅信號的調(diào)制與解調(diào)(DSB-SC)plot(app.UIAxes,t,s1_d);plot(app.UIAxes_2,t,s2_d);plot(app.UIAxes_3,t,s3_d);i_max=size(s4_d,3);result=[];%創(chuàng)建空的一維數(shù)組fori=1:i_maxs=s4_d(:,:,i);result=[results(:)'];%矩陣s展開成行向量,并添加到result末尾endplot(app.UIAxes_4,t,result);12.3模擬調(diào)制解調(diào)12.3.2抑制載波雙邊帶調(diào)幅信號的調(diào)制與解調(diào)(DSB-SC)運(yùn)行程序,單擊【繪圖】按鈕,運(yùn)行結(jié)果如圖12-19所示。圖12-19
雙邊帶調(diào)制解調(diào)運(yùn)行結(jié)果12.3模擬調(diào)制解調(diào)12.3.3單邊帶調(diào)幅信號的調(diào)制與解調(diào)(SSB)
在AM信號和DSB-SC信號中,都含有上下兩個(gè)邊帶,這兩個(gè)邊帶分別是由基帶信號中的正負(fù)頻率部分搬移到載頻位置而得到的,而在實(shí)際系統(tǒng)中,其頻譜的正負(fù)頻率部分完全對稱,因此,考慮在調(diào)制傳輸時(shí),可以只傳輸其中的一個(gè)邊帶,也就是單邊帶調(diào)制(SSB)。
利用濾波器將DSB-SC信號中的一個(gè)邊帶濾除,而保留另一個(gè)邊帶,即可得到單邊帶信號。如果采用低通濾波器,得到的SSB信號只包含下邊帶,稱為下邊帶調(diào)制(LSB)。如果采用高通濾波器,得到的SSB信號只包含上邊帶,稱為上邊帶調(diào)制(USB)。12.3模擬調(diào)制解調(diào)12.3.3單邊帶調(diào)幅信號的調(diào)制與解調(diào)(SSB)
【例12-5】利用Simulink搭建如圖12-20所示仿真模型,對SSB信號調(diào)制解調(diào)過程進(jìn)行仿真,并將結(jié)果顯示于MATLABAppDesigner的坐標(biāo)區(qū)控件上。
其中調(diào)制子系統(tǒng)如圖12-21所示,解調(diào)子系統(tǒng)如圖12-22所示。圖12-20
SSB調(diào)制解調(diào)系統(tǒng)圖12-21
調(diào)制子系統(tǒng)
圖12-22
解調(diào)子系統(tǒng)12.3模擬調(diào)制解調(diào)12.3.3單邊帶調(diào)幅信號的調(diào)制與解調(diào)(SSB)第一步:設(shè)置布局及屬性。添加2個(gè)標(biāo)簽、3個(gè)編輯字段(數(shù)值)、2個(gè)按鈕和4個(gè)坐標(biāo)區(qū)。第二步:添加回調(diào)函數(shù)。右擊【繪圖】按鈕,選擇【回調(diào)】,選擇【添加ButtonPushed回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:load_system('SSBsim');Am=app.A_mEditField.Value;fm=app.wmEditField.Value;%基帶信號頻率fc=app.wcEditField.Value;%載波頻率set_param('SSBsim/SineWave','Amplitude',num2str(Am));set_param('SSBsim/SineWave','Frequency',num2str(fm));set_param('SSBsim/調(diào)制子系統(tǒng)/調(diào)制載波','Frequency',num2str(fc));out=sim('SSBsim');plot(app.UIAxes,out.tout,out.ScopeData.signals(1).values);legend(app.UIAxes,'調(diào)制波形');s1=out.ScopeData.signals(2).values;plot(app.UIAxes_2,out.tout,s1);legend(app.UIAxes_2,'USB信號');s2=reshape(out.ScopeData.signals(3).values,[],1);12.3模擬調(diào)制解調(diào)12.3.3單邊帶調(diào)幅信號的調(diào)制與解調(diào)(SSB)plot(app.UIAxes_3,out.ScopeData.time,s2);legend(app.UIAxes_3,'解調(diào)波形');%%fft運(yùn)算N1=length(s1);N2=length(s2);X1=fft(s1);X2=fft(s2);f1=(-N1/2:N1/2-1)*(1/N2);f2=(-N2/2:N2/2-1)*(1/N2);Xshifted1=fftshift(X1);Xshifted2=fftshift(X2);plot(app.UIAxes_4,f1,abs(Xshifted1),'r',f2,abs(Xshifted2),'k');legend(app.UIAxes_4,'USB信號頻譜','解調(diào)波形頻譜');12.3模擬調(diào)制解調(diào)12.3.3單邊帶調(diào)幅信號的調(diào)制與解調(diào)(SSB)運(yùn)行程序,單擊【繪圖】,運(yùn)行結(jié)果如圖12-23所示。圖12-23
單邊帶調(diào)幅信號的調(diào)制與解調(diào)12.4模擬角度調(diào)制12.4.1調(diào)頻信號(FM)12.4模擬角度調(diào)制12.4.2調(diào)相信號(PM)12.4模擬角度調(diào)制12.4.3基于MATLABAppDesigner的模擬角度調(diào)制【例12-6】實(shí)現(xiàn)通過調(diào)整相關(guān)參數(shù),繪制FM調(diào)制信號和PM調(diào)制信號。第一步:設(shè)置布局及屬性。添加1個(gè)標(biāo)簽、1個(gè)單選按鈕組、1個(gè)面板、4個(gè)編輯字段(數(shù)值)、1個(gè)按鈕和2個(gè)坐標(biāo)區(qū)。第二步:添加回調(diào)函數(shù)。右擊【繪圖】按鈕,選擇【回調(diào)】,選擇【添加ButtonPushed回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:selectedButton=app.ButtonGroup.SelectedObject;fc=app.fcEditField.Value;fm=app.fmEditField.Value;Am=app.A_mEditField.Value;Kf=app.kfEditField.Value;switchselectedButton.Textcase'調(diào)頻信號(FM)'T=5;dt=0.001;t=0:dt:T;mt=cos(2*pi*fm*t);
12.4模擬角度調(diào)制12.4.3基于MATLABAppDesigner的模擬角度調(diào)制A=sqrt(2);mti=1/2/pi/fm*sin(2*pi*fm*t);%mt的積分st=A*cos(2*pi*fc*t+2*pi*Kf*mti);%FM調(diào)制plot(app.UIAxes,t,mt,'-k');legend(app.UIAxes,'調(diào)制信號');plot(app.UIAxes_2,t,st,'-m');legend(app.UIAxes_2,'調(diào)頻信號');case'調(diào)相信號(PM)'t0=1;ts=0.001;t=[-t0/2:ts:t0/2];m=Am*cos(2*pi*fm*t);%調(diào)制信號int_m(1)=0;fori=1:length(t)-1int_m(i+1)=int_m(i)+m(i)*ts;end
12.4模擬角度調(diào)制12.4.3基于MATLABAppDesigner的模擬角度調(diào)制u=cos(2*pi*fc*t+2*pi*Kf*int_m);%PM調(diào)制plot(app.UIAxes,t,m,'-k');legend(app.UIAxes,'調(diào)制信號');plot(app.UIAxes_2,t,u);legend(app.UIAxes_2,'調(diào)相信號');end12.4模擬角度調(diào)制12.4.3基于MATLABAppDesigner的模擬角度調(diào)制運(yùn)行程序命令,選擇單選按鈕【調(diào)頻信號】,單擊【繪圖】按鈕,運(yùn)行結(jié)果如圖12-24所示。選擇單選按鈕【調(diào)相信號】,單擊【繪圖】按鈕,運(yùn)行結(jié)果如圖12-25所示。圖12-24
調(diào)頻信號(FM)圖12-25
調(diào)相信號(PM)12.5數(shù)字基帶信號12.5.1基本碼型在數(shù)字電路系統(tǒng)中,數(shù)字代碼1和0的基本表示方法是用標(biāo)準(zhǔn)矩形脈沖的高、低電平或正、負(fù)電平表示,根據(jù)具體波形特點(diǎn)和表示形式可以分為單極性、雙極性、歸零碼和非歸零碼等。1.單極型非歸零碼單極型非歸零(Non-Return-to-Zero,NRZ)碼,用高、低電平脈沖表示數(shù)字代碼中的1碼或0碼,并且每個(gè)脈沖都持續(xù)一個(gè)碼元間隔。2.雙極型非歸零碼在雙極性非歸零碼中,用幅度相同但極性相反的兩個(gè)矩形脈沖表示1碼或0碼,并且各脈沖的寬度都等于一個(gè)碼元間隔。3.單極型歸零碼單極型歸零(Return-to-Zero,RZ)碼與單極型非歸零碼類似,單極型RZ碼也是用脈沖的有無表示信息,不同的是單極型歸零碼的脈沖寬度小于碼元間隔,也就是說,在傳輸1碼期間,高電平脈沖只持續(xù)一段時(shí)間(如Ts/2)。4.雙極型歸零碼與單極型RZ碼類似,脈沖的正負(fù)電平持續(xù)一段時(shí)間后回到零電平。12.5數(shù)字基帶信號12.5.1基本碼型【例12-7】基于MATLABAppDesigner實(shí)現(xiàn)上述四種基本碼型的繪制。第一步:設(shè)置布局及屬性。添加1個(gè)標(biāo)簽、1個(gè)單選按鈕組、1個(gè)編輯字段(數(shù)值)、2個(gè)按鈕和4個(gè)坐標(biāo)區(qū)。第二步:添加回調(diào)函數(shù)。右擊【繪圖】按鈕,選擇【回調(diào)】,選擇【添加Button_huituPushed回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:selectedButton=app.ButtonGroup.SelectedObject;switchselectedButton.Textcase'自行鍵入'wave=str2num(app.EditField.Value);%獲取輸入的原始代碼M=length(wave);%獲取碼元數(shù)case'隨機(jī)生成'M=10;%碼元數(shù)Mwave=round(rand(1,M));%產(chǎn)生M個(gè)二進(jìn)制隨機(jī)碼app.EditField.Value=num2str(wave);end12.5數(shù)字基帶信號12.5.1基本碼型Ts=1;L=100;dt=Ts/L;TotalT=M*Ts;%采樣間隔dt,總時(shí)間TotalTt=0:dt:TotalT-dt;%%單極性非歸零波(單極型NRZ碼)fz=ones(1,L);x1=wave(fz,:);dnrz=reshape(x1,1,L*M);plot(app.UIAxes_D_NRZ,t,dnrz);legend(app.UIAxes_D_NRZ,'單極型NRZ碼');%%單極性歸零波(單極型RZ碼)N=M*L;%總點(diǎn)數(shù)zkb=0.5;%占空比drz=zeros(1,N);fori=1:zkb*Ldrz(i+[0:M-1]*L)=wave;end12.5數(shù)字基帶信號12.5.1基本碼型plot(app.UIAxes_D_RZ,t,drz);legend(app.UIAxes_D_RZ,'單極型RZ碼');%%雙極性非歸零波(雙極型NRZ碼)snrz=dnrz*2-1;%單極性NRZ碼轉(zhuǎn)換雙極性NRZ碼plot(app.UIAxes_S_NRZ,t,snrz);legend(app.UIAxes_S_NRZ,'雙極型NRZ碼');%%雙極性歸零波(雙極型RZ碼)srz=zeros(1,N);fori=1:zkb*Lsrz(i+[0:M-1]*L)=snrz(i+[0:M-1]*L);%雙極型NRZ碼轉(zhuǎn)換雙極型RZ碼endplot(app.UIAxes_S_RZ,t,srz);legend(app.UIAxes_S_RZ,'雙極型RZ碼');12.5數(shù)字基帶信號12.5.1基本碼型右擊單選按鈕組組件,選擇【回調(diào)】,選擇【轉(zhuǎn)至ButtonGroupSelectionChanged回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:selectedButton=app.ButtonGroup.SelectedObject;switchselectedButton.Textcase'自行鍵入'app.EditField.Value='';app.EditField.Enable='on';case'隨機(jī)生成'app.EditField.Value='';app.EditField.Enable='off';end12.5數(shù)字基帶信號12.5.1基本碼型運(yùn)行程序命令,選擇【自行鍵入】單選按鈕,輸入序列“110011100110”,單擊【繪圖】按鈕,運(yùn)行結(jié)果如圖12-26所示。圖12-26
基本碼型運(yùn)行界面12.5數(shù)字基帶信號12.5.2常用碼型在基帶信號傳輸時(shí),不同傳輸媒介具有不同的傳輸特性,需要使用不同的接口線路碼型(傳輸碼),下面介紹常用的幾種傳輸碼。1.數(shù)字雙相碼數(shù)字雙相碼又稱為曼徹斯特碼,這種碼型中,用寬度等于碼元間隔、相位完全相反的兩個(gè)方波分別表示數(shù)字信息中的1碼和0碼,兩個(gè)方波都是雙極性脈沖。2.密勒碼在密勒碼中,1碼用碼元間隔中間的正跳變或負(fù)跳變表示,碼元的起始邊界上無跳變,0碼用寬度等于一個(gè)碼元間隔的正負(fù)電平表示,連續(xù)0碼,則在后續(xù)0碼的每個(gè)起始邊界上跳變一次。3.信號反轉(zhuǎn)碼在信號反轉(zhuǎn)(CodedMarkInversion,CMI)碼中,1碼交替地用寬度等于碼元間隔的正、負(fù)電平表示,稱為傳號,而0碼固定用碼元間隔中間的正跳變表示,稱為空號。4.極性交替碼(AMI)極性交替碼也稱為AMI碼,其0碼用零電平表示,1碼用正、負(fù)脈沖交替表示。12.5數(shù)字基帶信號12.5.2常用碼型5.HDBn碼碼是階高密度雙極性碼的簡稱,當(dāng)信息代碼中連“0”個(gè)數(shù)大于時(shí),“1”碼用正負(fù)脈沖交替表示,當(dāng)連“0”個(gè)數(shù)大于時(shí),將每個(gè)連“0”串的最后一個(gè)“0”編碼為前一非零碼同極性的正脈沖或負(fù)脈沖,該脈沖稱為破壞碼或V碼。其中碼是AMI碼的改進(jìn)碼,其編碼規(guī)則為:⑴原始代碼中每4個(gè)連續(xù)0碼用取代節(jié)B00V或000V代替,其中V碼為破壞點(diǎn)。⑵當(dāng)前一個(gè)破壞碼后有奇數(shù)個(gè)1碼時(shí),當(dāng)前破壞碼選用000V,當(dāng)前一個(gè)破壞碼后偶數(shù)個(gè)1碼時(shí),當(dāng)前破壞碼選用B00V。⑶將原始代碼中的1碼和B碼一起作類似AMI碼的極性交替。⑷所有V碼的極性與前面最近一個(gè)1碼或B碼的極性相同,從而破壞極性交替規(guī)律。12.5數(shù)字基帶信號12.5.2常用碼型【例12-8】基于MATLABAppDesigner實(shí)現(xiàn)上述常用5種碼型繪制。第一步:設(shè)置布局及屬性。添加1個(gè)標(biāo)簽、1個(gè)單選按鈕組、1個(gè)編輯字段(數(shù)值)、2個(gè)按鈕和5個(gè)坐標(biāo)區(qū)。第二步:添加回調(diào)函數(shù)。右擊【繪圖】按鈕,選擇【回調(diào)】,選擇【添加Button_huituPushed回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:selectedButton=app.ButtonGroup.SelectedObject;switchselectedButton.Textcase'自行鍵入'm=str2num(app.EditField.Value);%獲取輸入的原始代碼M=length(m);%獲取碼元數(shù)case'隨機(jī)生成'M=10;%碼元數(shù)Mm=round(rand(1,M));%產(chǎn)生M個(gè)二進(jìn)制隨機(jī)碼app.EditField.Value=num2str(m);end12.5數(shù)字基帶信號12.5.2常用碼型Ts=1;%碼元數(shù)ML=100;dt=Ts/L;TotalT=M*Ts;%采樣間隔dt,總時(shí)間TotalTt=0:dt:TotalT-dt;down_pulse=zeros(L,1)-1;down_pulse(1:L/2)=ones(L/2,1);up_pulse=flipud(down_pulse);%數(shù)字雙相碼(曼徹斯特碼)m_tmp=[m,~m]';m1=m_tmp(:);s1=filter(ones(L/2,1),1,upsample(m1*2-1,L/2));plot(app.UIAxes_D_NRZ_man,t,s1);legend(app.UIAxes_D_NRZ_man,'曼徹斯特碼');12.5數(shù)字基帶信號12.5.2常用碼型%密勒碼bph=[m,~m]';bph=bph(:);m2=zeros(M*2,1);tmp=0;fori=1:M*2ifisequal([tmp,bph(i)],[1,0])m2(i)=~m2(i-1);elseifi==1m2(i)=tmp;elsem2(i)=m2(i-1);endendtmp=bph(i);end12.5數(shù)字基帶信號12.5.2常用碼型s2=filter(ones(L/2,1),1,upsample(m2*2-1,L/2));plot(app.UIAxes_D_NRZ_mile,t,s2);legend(app.UIAxes_D_NRZ_mile,'密勒碼');%信號反轉(zhuǎn)碼(CMI)s3=zeros(TotalT,1);flag=1;fori=1:Mifm(i)==1ifflag==1s3((1:L)+(i-1)*L)=1;elses3((1:L)+(i-1)*L)=-1;endflag=~flag;elses3((1:L)+(i-1)*L)=up_pulse;endend12.5數(shù)字基帶信號12.5.2常用碼型plot(app.UIAxes_D_NRZ_CMI,t,s3);legend(app.UIAxes_D_NRZ_CMI,'信號反轉(zhuǎn)碼(CMI)');%極性交替碼(AMI)s4=zeros(TotalT,1);flag=1;fori=1:Mifm(i)==1ifflag==1s4((1:L)+(i-1)*L)=1;elses4((1:L)+(i-1)*L)=-1;endflag=~flag;elses4((1:L)+(i-1)*L)=0;endend12.5數(shù)字基帶信號12.5.2常用碼型plot(app.UIAxes_D_NRZ_AMI,t,s4);legend(app.UIAxes_D_NRZ_AMI,'極性交替碼(AMI)');%HDB3碼m10=zeros(M,1);flagb=0;flagv=1;fori=1:Mifm(i)==1flagb=~flagb;ifflagb==1m10(i)=1;elsem10(i)=-1;endelsem10(i)=0;12.5數(shù)字基帶信號12.5.2常用碼型ifi>3&&isequal(m10(i-3:i),zeros(4,1))ifflagv==flagbifflagv==1m10(i)=1;elsem10(i)=-1;endelseifflagv==1m10(i-3:i)=[1;0;0;1];elsem10(i-3:i)=[-1;0;0;-1];endflagb=~flagb;endflagv=~flagv;end12.5數(shù)字基帶信號12.5.2常用碼型endends5=filter(ones(L,1),1,upsample(m10,L));plot(app.UIAxes_D_NRZ_HDB3,t,s5);legend(app.UIAxes_D_NRZ_HDB3,'HDB3碼');12.5數(shù)字基帶信號12.5.2常用碼型單選按鈕組組件的回調(diào)函數(shù),與基本碼型界面同理。運(yùn)行程序命令,選擇【隨機(jī)生成】單選按鈕,單擊【繪圖】,運(yùn)行結(jié)果如圖12-27所示。圖12-27
常用碼型運(yùn)行界面12.6二進(jìn)制數(shù)字調(diào)制
二進(jìn)制數(shù)字調(diào)制有數(shù)字調(diào)幅、數(shù)字調(diào)頻和數(shù)字調(diào)相這3種基本類型,實(shí)際系統(tǒng)中廣泛采用簡單的電子開關(guān)電路實(shí)現(xiàn)數(shù)字調(diào)制,因此稱為鍵控,相應(yīng)地稱為二進(jìn)制幅度鍵控(2ASK)、二進(jìn)制頻移鍵控(2FSK)和二進(jìn)制相移鍵控(2PSK)。12.6.1二進(jìn)制數(shù)字幅度調(diào)制(2ASK)對于二進(jìn)制數(shù)字幅度調(diào)制(2ASK),當(dāng)發(fā)送數(shù)字代碼1和0時(shí),已調(diào)信號中載波的振幅分別為A和0,而載波的頻率和相位都保持不變。12.6二進(jìn)制數(shù)字調(diào)制12.6.1二進(jìn)制數(shù)字幅度調(diào)制(2ASK)【例12-9】實(shí)現(xiàn)二進(jìn)制數(shù)字幅度調(diào)制與解調(diào)(2ASK),顯示基帶信號、載波信號、已調(diào)信號和解調(diào)信號的波形第一步:設(shè)置布局及屬性。添加1個(gè)標(biāo)簽、1個(gè)單選按鈕組、1個(gè)面板、2個(gè)編輯字段、4個(gè)按鈕和4個(gè)坐標(biāo)區(qū)。第二步:添加回調(diào)函數(shù)。右擊單選按鈕組件,選擇【回調(diào)】,選擇【轉(zhuǎn)至ButtonGroupSelectionChanged回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:selectedButton=app.ButtonGroup.SelectedObject;switchselectedButton.Textcase'自行鍵入'app.EditField.Value='';app.EditField.Enable='on';case'隨機(jī)生成'app.EditField.Value='';app.EditField.Enable='off';end12.6二進(jìn)制數(shù)字調(diào)制12.6.1二進(jìn)制數(shù)字幅度調(diào)制(2ASK)右擊【基帶信號】按鈕,選擇【回調(diào)】,選擇【添加Button_3Pushed回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:globaltstiselectedButton=app.ButtonGroup.SelectedObject;switchselectedButton.Textcase'自行鍵入'x=str2num(app.EditField.Value);%獲取輸入的原始代碼i=length(x);%獲取碼元數(shù)case'隨機(jī)生成'i=5;%碼元數(shù)x=round(rand(1,i));%rand函數(shù)產(chǎn)生隨機(jī)數(shù)app.EditField.Value=num2str(x);endj=i*1000;t=linspace(0,i,j);a=round(x);st=t;12.6二進(jìn)制數(shù)字調(diào)制12.6.1二進(jìn)制數(shù)字幅度調(diào)制(2ASK)forn=1:iifa(n)<1form=j/i*(n-1)+1:j/i*nst(m)=0;endelseform=j/i*(n-1)+1:j/i*nst(m)=1;endendendplot(app.UIAxes_11,t,st)legend(app.UIAxes_11,'基帶信號');12.6二進(jìn)制數(shù)字調(diào)制12.6.1二進(jìn)制數(shù)字幅度調(diào)制(2ASK)右擊【已調(diào)信號】按鈕,選擇【回調(diào)】,選擇【添加Button_5Pushed回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:globalts1fcfc=app.EditField_f.Value;%載波頻率s1=cos(2*pi*fc*t);plot(app.UIAxes_12,t,s1);legend(app.UIAxes_12,'載波信號');右擊【載波信號】按鈕,選擇【回調(diào)】,選擇【添加ButtonPushed回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:globaltsts1e_2aske_2ask=st.*s1;plot(app.UIAxes_21,t,e_2ask);legend(app.UIAxes_21,'已調(diào)信號');12.6二進(jìn)制數(shù)字調(diào)制12.6.1二進(jìn)制數(shù)字幅度調(diào)制(2ASK)右擊【相干解調(diào)后信號】按鈕,選擇【回調(diào)】,選擇【添加Button-2Pushed回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:globaltfce_2askifm=i/4;%碼元速率at=e_2ask.*cos(2*pi*fc*t);at=at-mean(at);[f,af]=T2F(t,at);%低通濾波器[t,at]=lpf(f,af,2*fm);%抽樣判決form=0:i-1ifat(1,m*1000+500)+0.5<0.5forj=m*1000+1:(m+1)*1000at(1,j)=0;endelse12.6二進(jìn)制數(shù)字調(diào)制12.6.1二進(jìn)制數(shù)字幅度調(diào)制(2ASK)forj=m*1000+1:(m+1)*1000at(1,j)=1;endendendplot(app.UIAxes_22,t,at);legend(app.UIAxes_22,'相干解調(diào)后波形');12.6二進(jìn)制數(shù)字調(diào)制12.6.1二進(jìn)制數(shù)字幅度調(diào)制(2ASK)運(yùn)行程序命令,選擇【隨機(jī)生成】單選按鈕,分別單擊【基帶信號】、【載波信號】、【已調(diào)信號】和【相干解調(diào)后信號】按鈕,運(yùn)行結(jié)果如圖12-28所示。圖12-28
二進(jìn)制數(shù)字振幅調(diào)制與解調(diào)(2ASK)運(yùn)行界面12.6二進(jìn)制數(shù)字調(diào)制12.6.2二進(jìn)制數(shù)字頻率調(diào)制(2FSK)對于二進(jìn)制數(shù)字頻率調(diào)制(2FSK),已調(diào)信號的幅度保持不變,在發(fā)送數(shù)字代碼1和0時(shí),載波的頻率分別為和?!纠?2-10】實(shí)現(xiàn)二進(jìn)制數(shù)字頻率調(diào)制與解調(diào)(2FSK),顯示基帶信號、載波信號1、載波信號2、已調(diào)信號和解調(diào)信號的波形。第一步:設(shè)置布局及屬性。添加1個(gè)標(biāo)簽、1個(gè)單選按鈕組、1個(gè)面板、3個(gè)編輯字段、5個(gè)按鈕和5個(gè)坐標(biāo)區(qū)。第二步:添加回調(diào)函數(shù)。右擊【基帶信號】按鈕,選擇【回調(diào)】,選擇【添加Button1Pushed回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:globaltst1st2iselectedButton=app.ButtonGroup.SelectedObject;switchselectedButton.Textcase'自行鍵入'a=str2num(app.EditField.Value);%獲取輸入的原始代碼i=length(a);%獲取碼元數(shù)case'隨機(jī)生成'i=10;%碼元數(shù)a=round(rand(1,i));%rand函數(shù)產(chǎn)生隨機(jī)數(shù)12.6二進(jìn)制數(shù)字調(diào)制12.6.2二進(jìn)制數(shù)字頻率調(diào)制(2FSK)app.EditField.Value=num2str(a);endj=5000;t=linspace(0,5,j);%%產(chǎn)生基帶信號st1=t;forn=1:iifa(n)<1form=j/i*(n-1)+1:j/i*nst1(m)=0;endelseform=j/i*(n-1)+1:j/i*nst1(m)=1;endendend12.6二進(jìn)制數(shù)字調(diào)制12.6.2二進(jìn)制數(shù)字頻率調(diào)制(2FSK)st2=t;%%基帶信號求反forn=1:jifst1(n)>=1st2(n)=0;elsest2(n)=1;endendplot(app.UIAxes_1,t,st1);legend(app.UIAxes_1,'基帶信號');12.6二進(jìn)制數(shù)字調(diào)制12.6.2二進(jìn)制數(shù)字頻率調(diào)制(2FSK)右擊【載波信號1】按鈕,選擇【回調(diào)】,選擇【添加Button21Pushed回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:globalts1f1=app.EditField_f1.Value;%載波1頻率s1=cos(2*pi*f1*t);plot(app.UIAxes_21,t,s1);legend(app.UIAxes_21,'載波信號1');右擊【載波信號2】按鈕,選擇【回調(diào)】,選擇【添加Button22Pushed回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:globalts2f2=app.EditField_f2.Value;%載波2頻率s2=cos(2*pi*f2*t);plot(app.UIAxes_22,t,s2);legend(app.UIAxes_22,'載波信號2');12.6二進(jìn)制數(shù)字調(diào)制12.6.2二進(jìn)制數(shù)字頻率調(diào)制(2FSK)右擊【2FSK信號】按鈕,選擇【回調(diào)】,選擇【添加FSKButton_31Pushed回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:globalts1s2st1st2fskF1=st1.*s1;%加入載波1F2=st2.*s2;%加入載波2fsk=F1+F2;plot(app.UIAxes_31,t,fsk);legend(app.UIAxes_31,'2FSK信號');右擊【抽樣判決后波形】按鈕,選擇【回調(diào)】,選擇【添加Button_32Pushed回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:globaltst1st2s1s2fskifm=i/5;%基帶信號頻率st1=fsk.*s1;%與載波1相乘[f,sf1]=T2F(t,st1);%通過低通濾波器[t,st1]=lpf(f,sf1,2*fm);12.6二進(jìn)制數(shù)字調(diào)制12.6.2二進(jìn)制數(shù)字頻率調(diào)制(2FSK)st2=fsk.*s2;%與載波2相乘[f,sf2]=T2F(t,st2);%通過低通濾波器[t,st2]=lpf(f,sf2,2*fm);%%抽樣判決form=0:i-1ifst1(1,m*500+250)<st2(1,m*500+250)forj=m*500+1:(m+1)*500at(1,j)=0;endelseforj=m*500+1:(m+1)*500at(1,j)=1;endendendplot(app.UIAxes_32,t,at);legend(app.UIAxes_32,'抽樣判決后波形');12.6二進(jìn)制數(shù)字調(diào)制12.6.2二進(jìn)制數(shù)字頻率調(diào)制(2FSK)運(yùn)行程序命令,選擇【自行鍵入】單選按鈕,并輸入載波頻率,分別單擊坐標(biāo)區(qū)對應(yīng)的按鈕,運(yùn)行結(jié)果如圖12-29所示。圖12-29
二進(jìn)制數(shù)字頻率調(diào)制(2FSK)運(yùn)行結(jié)果12.6二進(jìn)制數(shù)字調(diào)制12.6.3二進(jìn)制數(shù)字相位調(diào)制(2PSK)對于二進(jìn)制數(shù)字相位調(diào)制(2PSK),已調(diào)信號的幅度和頻率都恒定不變,在發(fā)送數(shù)字代碼1和0時(shí),載波相位分別為0和?!纠?2-11】實(shí)現(xiàn)二進(jìn)制數(shù)字相位調(diào)制與解調(diào)(2PSK),顯示基帶信號、載波信號、2PSK信號、低通濾波后信號和抽樣判決后波形。第一步:設(shè)置布局及屬性。添加1個(gè)標(biāo)簽、1個(gè)單選按鈕組、1個(gè)面板、2個(gè)編輯字段、5個(gè)按鈕和5個(gè)坐標(biāo)區(qū)。第二步:添加回調(diào)函數(shù)。右擊【基帶信號】按鈕,選擇【回調(diào)】,選擇【添加Button1Pushed回調(diào)】,界面自動(dòng)跳轉(zhuǎn)到代碼視圖,在光標(biāo)定位處,輸入程序命令如下:globaltst1jiselectedButton=app.ButtonGroup.SelectedObject;switchselectedButton.Textcase'自行鍵入'a=str2num(app
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版環(huán)保物流綠色包裝運(yùn)輸合同規(guī)范3篇
- 二零二五版?zhèn)€人房產(chǎn)抵押貸款債權(quán)轉(zhuǎn)讓合同3篇
- 二零二五版財(cái)務(wù)會(huì)計(jì)崗位聘用合同9篇
- 二零二五版智能家居股份制合作合同范本3篇
- 二零二五年度鋼結(jié)構(gòu)工程鋼筋加工與配送合同范本3篇
- 二零二五版工業(yè)4.0工廠生產(chǎn)承包服務(wù)合同模板3篇
- 二零二五年房產(chǎn)共有權(quán)份額轉(zhuǎn)讓產(chǎn)權(quán)買賣合同范本含份額調(diào)整方案3篇
- 二零二五版?zhèn)€人承包公司物流運(yùn)輸合作合同書6篇
- 二零二五版安徽省勞動(dòng)合同解除爭議調(diào)解服務(wù)合同2篇
- 二零二五年度能源股權(quán)轉(zhuǎn)讓居間服務(wù)合同范本2篇
- 大型活動(dòng)聯(lián)合承辦協(xié)議
- 工程項(xiàng)目采購與供應(yīng)鏈管理研究
- 2024年吉林高考語文試題及答案 (2) - 副本
- 拆除電纜線施工方案
- 搭竹架合同范本
- Neo4j介紹及實(shí)現(xiàn)原理
- 焊接材料-DIN-8555-標(biāo)準(zhǔn)
- 工程索賠真實(shí)案例范本
- 重癥醫(yī)學(xué)科運(yùn)用PDCA循環(huán)降低ICU失禁性皮炎發(fā)生率品管圈QCC持續(xù)質(zhì)量改進(jìn)成果匯報(bào)
- 個(gè)人股權(quán)證明書
- 醫(yī)院運(yùn)送工作介紹
評論
0/150
提交評論