




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第一章 課設基本內容1.1 課設題目 基于MATLAB環境下GUI的DPSK仿真演示系統設計1.2 實驗內容及要求基本要求: 實現DPSK解調,并顯示已調信號波形和解調輸出信號波形 提高要求: 顯示已調信號和解調輸出信號的頻譜設計內容:在MATLAB環境下制作一個GUI,從給定文件從讀出已調信號來進行解調(不允許直接調用系統的調制、解調函數)。第二章 方案選擇2.1 實現方案 2DPSK解調方法有兩種:一種是相干解調法(極性比較法),一種是差分相干解調法(相位比較法)方案一 相干解調相干解調的原理2DPSK信號先經過帶通濾波器,去除調制信號頻帶以外的在信道中混入的噪聲,再與本地載波相乘,去掉調
2、制信號中的載波成分,再經過低通濾波器去除高頻成分,得到包含基帶的低頻信號,將其送入抽樣判決器中進行抽樣判決的基帶信號的差分碼,再經過逆碼變換,得到基帶信號,原理框圖如圖2.1所示。圖 2.1 相干解調原理框圖方案二 差分相干解調 差分相干解調的解調原理是2DPSK信號先經過帶通濾波器,濾除調制信號頻帶以外的在信道中混入的噪聲,此后該信號為兩路,一路延時一個碼元的時間后與另一路信號相乘,再經過低通濾波器去除高頻成分,得到包含基帶信號的低頻成分,將其送入抽樣判決器中進行抽樣判決,得到基帶信號,原理框圖如圖2.2所示。圖2.2 差分相干解調原理框圖 圖2.3 各點波形2.2 方案選擇由圖2.1可知,
3、相干解調是建立在2PSK解調基礎之上的,較之多了一個逆碼變換,在解調過程中,若相干載波產生180度相位模糊,解調出的相對碼將產生倒置現象,但是經過碼反變換器后,輸出的絕對碼不會發生任何倒置現象,從而解決了載波相位模糊的問題。差分相干解調采用的是相位比較法,對延時單位的精度要求較高,很難實現,而采用相干解調方法,原理及電路比較容易實現,所以本課程設計采用相干解調方案對2DPSK信號進行解調 第3章 系統設計與實現3.1 系統框圖及工作原理 數字信號的傳輸方式分為基帶傳輸和帶通傳輸。數字帶通傳輸系統為包括調制,解調的數字傳輸系統。其中數字調制和模擬調制的原理相同,但是數字信號有離散取值的特點。鍵控
4、法是數字調制的其中一種方法。對載波振幅,頻率和相位分別進行控制,便可獲得振幅鍵控(Amplitude Shift Keying,ASK)、頻移鍵控(Frequancy Shift Keying,FSK)和相移監控三種基本的數字調制方式。在二進制數字調制中,載波的振幅、頻率和相位只有兩種變化狀態。相應的調制方式有二進制振幅鍵控(2ASK)、二進制頻移鍵控(2FSK)和二進制相移鍵控(2PSK)。2PSK信號載波恢復中相位有0、模糊性,為了克服這個缺點,因此提出了二進制差分相移鍵控(2DPSK)。它不是利用載波相位的絕對數值傳送數字信息,而是用前后碼元的相對載波相位值傳送數字信息。所謂相對載波相位
5、是只本碼元初相與前一碼元初相之差。2DPSK信號可以采用相干解調法(極性比較法)和差分相干解調法(相位比較法)。本課程設計采用相干解調法,圖2-1相干解調法,解調器原理圖和解調過程各點時間波形如圖所示。 圖 3.1 解調原理框圖由上圖所示,解調過程由帶通濾波器,載波相乘器,低通濾波器,抽樣判決以及碼反變換五個模塊組成,其功能如下:帶通濾波器: 圖3.2 帶通濾波器原理框圖由圖可知,帶通濾波器由低通濾波器與高筒濾波器組成,濾除基帶信號在信道中混入的帶外噪聲。載波相乘器:從帶通濾波器出來的信號與本地載波相乘,完成2DPSK調制過程低通濾波器:去掉高頻成分抽樣判決:用參考電平將經過低通濾波器的信號進
6、行判決得到相對碼字逆碼變換:按照前后碼元相位差的原則將相對碼變為絕對碼 圖3.3 逆碼變換原理框圖 圖 3.4 各點波形其解調原理是:先對2DPSK信號進行相干解調,恢復出相對碼,再通過碼反變換器變換為絕對碼,從而恢復出發送的二進制數字信息。在解調過程中,若相干載波產生180度相位模糊,解調出的相對碼將產生倒置現象,但是經過碼反變換器后,輸出的絕對碼不會發生任何倒置現象,從而解決了載波相位模糊的問題。2DPSK方式即是利用前后相鄰碼元的相對載波相位值去表示數字信息的一種方式。例如,假設相位值用相位偏移表示(定義為本碼元初相與前一碼元初相只差),并設:=數字信息1=0數字信息0則數字信息序列與2
7、DPSK信號的碼元相位關系可舉例表示如如下:數字信息: 0 0 1 1 1 0 0 1 0 12DPSK信號相位:0 0 0 0 0 0 或 0 0 0 0 03.2 調試及結果分析仿真結果:在edit1 編輯框中輸入調制信號碼元時間間隔Time_Hold_On=0.16時,單擊button按鈕,在GUI界面上出現如下波形:圖3.5仿真圖形1波形分析:如上圖所示,當在編輯框中輸入fs值3000時,單擊tiao zhi按鈕即可出現圖3.2,上圖分別為基帶信號,已調信號,恢復出的調制信號以及經過低通濾波器的信號。基帶信號為固定序列“01101001”,其相對碼則為“(0)01001110”,與第二
8、圖中波形跳變相吻合,遵循1變0不變的跳變原則。圖3.6 仿真圖形2波形分析:如上圖所示,分別為已調信號,解調信號的時域、頻譜圖。解調出來的信號為“01101001”,即基帶信號的信息碼,已調信號對應的絕對碼,相應的相對碼為“(0)01001110”。由已調信號的波形可知0碼對應的相位差為0,1碼對應的相位差為,符合2DPSK解調的原理,仿真圖形與理論圖形相同。第二幅圖即為已調信號的頻譜圖,已知載波頻率為35hz,由圖可以看出,頻譜圖為以頻率為中心進行線性的頻譜搬移。當改變Time_Hold_On參數值時,GUI界面上的圖形會有明顯的伸縮變化,0.16值為最好的觀察值,當給變其他參數時,如采樣頻
9、率fs、載波頻率w和振幅A,圖形也會有相應的變化。第4章 系統設計與實現 4.1 GUI界面設計:設計要求:系統參數從界面輸入并讀取進行解調,在界面上顯示已調信號,解調信號波形及頻譜界面設計: 根據設計要求可知應該在GUI界面上放置一個edit文件編輯框,一個button按鈕控件,四個示波器顯示控件,與設定變量的參數值從edit文件編輯框中輸入,單擊按鈕時示波器上分別顯示已調波形及恢復出的原始信號波形及其頻譜圖。界面布局設置如下圖所示。 圖4.1 GUI界面布局設計圖中的edit text 為靜態文本編輯框,從此可輸入所需數據,button按鈕控件為解調控制按鈕,tiao zhi與jie ti
10、ao兩個按鈕分別控制調制解調部分,當單擊button按鈕時會運行其click事件,讀取文本編輯框中數據并運行調制解調程序代碼,示波器控件則顯示程序代碼中需要顯示的波形。 4.2 m文件設計帶通濾波器:濾除已調信號帶外噪聲signal=awgn(st,20,'measured');%加噪b1,a1=ellip(4,0.1,40,999.9,1000.1*2/fs);%設計IIR帶通濾波器,階數為4,通帶紋波0.1,阻帶衰減40DBsa=filter(b1,a1,signal);%信號通過該濾波器相乘器:載波與已調信號相乘dt = sa .* cos ( 2 * pi * w *
11、t );sa為已調信號低通濾波器:去除頻率變化比較快的部分信號N,Wn = buttord( 2*pi*50, 2*pi*150,3,25,'s'); %臨界頻率采用角頻率表示b,a=butter(N,Wn,'s');bz,az=impinvar(b,a,fs); %映射為數字的dt = filter(bz,az,dt);抽樣判決及碼反變換:采樣并碼字判斷及由相對碼轉變為絕對碼for I = 1 : Lenth_Of_Sign if dt(2*I-1)*Num_Unit/2) < 0.25 sign_result( (I-1)*Num_Unit + 1 :
12、 I*Num_Unit) = High_Level; else sign_result( (I-1)*Num_Unit + 1 : I*Num_Unit) = Low_Level; endEnd當碼元電平低于設置的參考電平時判定為高電平,否則判定為低電平,判決后得到的是基帶信號的相對碼,再經過逆碼變換,按照變換原則,前后碼元按照相位差0對應0碼,對應1碼進行變換得到絕對碼即基帶信號第五章 結論2DPSK(差分相移鍵控)解調有兩種方法,相干解調和非相干解調,本實驗采用的是相干解調法。差分解調由帶通濾波器,相乘器,低通濾波器,抽樣判決組成,已調信號為由隨即生成的信號進行調制而成。由實驗結果可知,本
13、實驗方案及程序代碼正確,可以完成本課程設計的目的,滿足課程設計的要求,在GUI界面上通過從edit編輯框輸入fs參數值,即可調用callback函數完成解調,在示波器上顯示已調信號以及解調信號的時域,頻譜圖形!通過對仿真波形的分析,可知仿真結果符合2DPSK的解調原理,與理論值想對應。在整個電路設計過程中,關鍵是基帶信號與載波頻率的設置及帶通濾波器、低通濾波器的參數設置,應在掌握電路原理的基礎上進行設計。正確設置低通濾波器、帶通濾波器的參數后,通過示波器顯示的波形,電路設計基本正確。通過本次課程設計,對2DPSK的調制解調原理有了清楚的認識及很好的掌握,能比較輕易的分析其調制解調過程;對m文件
14、的編寫與GUI界面的設計也有了進一步的了解,可以進行簡單的GUI界面設計以及簡單的m程序代碼的編寫,當然,本設計方案還有一些不足之處,比如參數的設置上還不夠完善,若參數的選取能更精確,仿真結果也將更加理想,更加接近理論效果!實驗過程中出現的問題及解決方法:(1).使用的matlab版本無法獲取edit編輯框中內容,str2num函數被報錯解決:經分析、查閱資料可知,str2num()函數在程序中無法滿足數據轉換條件,需更換為與其匹配的函數str2doubel()。 (2).已調信號的頻譜圖無法顯示雙邊帶頻譜,示波器控件上只能顯示正半軸圖形解決:已知雙邊帶圖形是由上下邊帶組成,上下邊帶互為彼此的
15、鏡像圖形,正半軸、負半軸的圖形也是一個鏡像,所以在正半軸顯示出雙邊帶即可。參考文獻1 孫青卉,董廷山. 通信技術基礎m. 北京:人民郵電出版社,20082 John G.Proakis.通信系統工程(第二版)m. 北京:電子工業出版社,20073 達新宇,陳樹新,王瑜,林家薇.通信原理教程m.北京:北京郵電大學出版社,2005.4樊昌信,曹麗娜,通信原理(第六版),北京:國防工業出版社,2006.function varargout = AM_DSB_Experiment_Platform_base_on_Matlab(varargin) gui_Singleton = 1; gui_Stat
16、e = struct('gui_Name', mfilename, . 'gui_Singleton', gui_Singleton, . 'gui_OpeningFcn', AM_DSB_Experiment_Platform_base_on_Matlab_OpeningFcn, . 'gui_OutputFcn', AM_DSB_Experiment_Platform_base_on_Matlab_OutputFcn, . 'gui_LayoutFcn', , . 'gui_Callback',
17、 ); if nargin && ischar(varargin1) gui_State.gui_Callback = str2func(varargin1); end if nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:); else gui_mainfcn(gui_State, varargin:); end function AM_DSB_Experiment_Platform_base_on_Matlab_OpeningFcn(hObject, eventdata, handles, varar
18、gin) handles.output = hObject; guidata(hObject, handles); function varargout = AM_DSB_Experiment_Platform_base_on_Matlab_OutputFcn(hObject, eventdata, handles) varargout1 = handles.output; function pushbutton1_Callback(hObject, eventdata, handles) axes(handles.axes1) cla; global A0; %載波信號振幅 global w
19、0; global t 附 錄m文件程序代碼:function varargout = untitled(varargin)gui_Singleton = 1;gui_State = struct('gui_Name', mfilename, . 'gui_Singleton', gui_Singleton, . 'gui_OpeningFcn', untitled_OpeningFcn, . 'gui_OutputFcn', untitled_OutputFcn, . 'gui_LayoutFcn', , . &
20、#39;gui_Callback', );if nargin & isstr(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);endfunction untitled_OpeningFcn(hObject, eventdata, handles, varargin)handles.output = hO
21、bject;guidata(hObject, handles);function varargout = untitled_OutputFcn(hObject, eventdata, handles)function pushbutton1_Callback(hObject, eventdata, handles)xx=get(handles.edit1,'String'); %取edit1 text中的字符fs=str2num(xx) ; %- 2DPSK 調制與解調%-%>>>>>>>>>>>>>
22、>>>>>Initial_Part>>>>>>>>>>>>>>>>>>>>>%-Time_Hold_On =0.08;Num_Unit = fs * Time_Hold_On;High_Level = ones ( 1, Num_Unit );Low_Level = zeros ( 1, Num_Unit );w = 50;A = 1;%-%>>>>>>>>>>>>&g
23、t;>>>>>Initial_The_Signal>>>>>>>>>>>>>>>%-Sign_Set = 0,1,1,0,1,0,0,1Lenth_Of_Sign = length ( Sign_Set );st = zeros ( 1, Num_Unit * Lenth_Of_Sign );sign_orign = zeros ( 1, Num_Unit * Lenth_Of_Sign );sign_result = zeros ( 1, Num_Unit * Lenth_
24、Of_Sign );t = 0 : 1/fs : Time_Hold_On * Lenth_Of_Sign - 1/fs;%-%>>>>>>>>>>>產生基帶信號>>>>>>>>>>>>%-for I = 1 : Lenth_Of_Sign if Sign_Set(I) = 1 sign_orign( (I-1)*Num_Unit + 1 : I*Num_Unit) = High_Level; else sign_orign( (I-1)*Num_Unit
25、+ 1 : I*Num_Unit) = Low_Level; endend%-%>>>>>>>>>>>>>>>>>>調制部分>>>>>>>>>>>>>>>>>>%-for I = 1 : Lenth_Of_Sign if Sign_Set(I) = 1 st( (I-1)*Num_Unit + 1 : I*Num_Unit) = A * cos ( 2 * pi * w * t(
26、(I-1)*Num_Unit + 1 : I*Num_Unit ) + ( pi / 2 ) ); else st( (I-1)*Num_Unit + 1 : I*Num_Unit) = A * cos ( 2 * pi * w * t( (I-1)*Num_Unit + 1 : I*Num_Unit ) ); endendaxes(handles.axes1);plot ( t, st );axis(0,0.65,-1.5,1.5);title ( '調制后的信號' );gridz=fft(st);mah=fftshift(abs(z);axes(handles.axes2)
27、;plot(mah);axis(0,3200,0,400);xlabel('f');ylabel('H(w)');%-%>>>>>>>>>>>>>>>>>>相乘>>>>>>>>>>>>>>>>>>>>>>>>>>>>>%-dt = st .* cos ( 2 * pi * w * t
28、);%-%>>>>>>>>>>>>>>>>>>>低通濾波部分>>>>>>>>>>>>>>>>>>>>%-N,Wn = buttord( 2*pi*50, 2*pi*150,3,25,'s'); %臨界頻率采用角頻率表示b,a=butter(N,Wn,'s');bz,az=impinvar(b,a,fs); %映射為數字的dt = f
29、ilter(bz,az,dt);%-%>>>>>>>>>>>>>抽樣判決 & 逆碼變換部分>>>>>>>>>>>>>>>%-for I = 1 : Lenth_Of_Sign if dt(2*I-1)*Num_Unit/2) < 0.25 sign_result( (I-1)*Num_Unit + 1 : I*Num_Unit) = High_Level; else sign_result( (I-1)*Num_U
30、nit + 1 : I*Num_Unit) = Low_Level; endendaxes(handles.axes3);plot ( t, sign_result );axis( 0 , Time_Hold_On *( Lenth_Of_Sign + 1), - 3*(A / 2), 3*(A / 2) );title ( '逆碼變換后的波形' );gridy=fft(sign_result);mah=abs(y);axes(handles.axes4);plot(mah);axis(0,100,0,1000);xlabel('f');ylabel('
31、H(w)');if ispc set(hObject,'BackgroundColor','white');else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor');endfunction edit1_Callback(hObject, eventdata, handles)function varargout = AM_DSB_Experiment_Platform_base_on_Matlab(varargin) gui_Si
32、ngleton = 1; gui_State = struct('gui_Name', mfilename, . 'gui_Singleton', gui_Singleton, . 'gui_OpeningFcn', AM_DSB_Experiment_Platform_base_on_Matlab_OpeningFcn, . 'gui_OutputFcn', AM_DSB_Experiment_Platform_base_on_Matlab_OutputFcn, . 'gui_LayoutFcn', , .
33、39;gui_Callback', ); if nargin && ischar(varargin1) gui_State.gui_Callback = str2func(varargin1); end if nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:); else gui_mainfcn(gui_State, varargin:); end function AM_DSB_Experiment_Platform_base_on_Matlab_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObjec
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軍工合同技術協議
- 中級母嬰護理試題庫與答案
- 2025年浙江青田縣千峽湖投資開發有限公司招聘筆試參考題庫附帶答案詳解
- 2025年廣東省廣州九龍湖農業發展有限公司招聘筆試參考題庫含答案解析
- 構建母豬護理的考試知識體系題及答案
- 義烏廣電面試題及答案
- 大學匯編考試試題及答案
- 深度理解系統規劃與管理師考試中的行業實踐與職能優化目標試題及答案
- 幼資綜合素質試題及答案
- 康復理療三基試題及答案
- 2025年中鐵快運股份有限公司招聘(98人)筆試參考題庫附帶答案詳解
- 口腔科診斷證明書模板
- 小學數學問題解決(吳正憲)
- 第五節 胡靜-常用正頜外科手術
- 礦井開拓方案比較
- DB23-黑龍江省建設工程施工操作技術規程-城鎮道路工程.doc
- 小學數學專題講座小學數學計算能力的培養PPT
- VALOR基本操作步驟
- 建筑裝飾專業中級職稱理論考試題庫
- 江西省高等學校教學改革研究課題申報書
- 10kV油浸式變壓器技術規范
評論
0/150
提交評論