




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
MATLAB編程與系統(tǒng)仿真重慶交通大學(xué)信息科學(xué)與工程學(xué)院通信工程系主講教師:譚晉
Mobilemail:tanjin1122@
2009年10月ContentMatlab編程基礎(chǔ)□變量及其賦值□運(yùn)算符與表達(dá)式□程序控制流程□自定義函數(shù)□基本繪圖方法□M文件及其調(diào)試Matlab在信號(hào)處理中的應(yīng)用□信號(hào)及其表示、基本運(yùn)算□系統(tǒng)的響應(yīng)□傅里葉變換□數(shù)字濾波器設(shè)計(jì)通信系統(tǒng)仿真□編譯碼□模擬調(diào)制與解調(diào)□數(shù)字調(diào)制與解調(diào)□性能仿真Simulink應(yīng)用基礎(chǔ)課程考核方式考核方式□上機(jī)實(shí)驗(yàn)(實(shí)驗(yàn)報(bào)告)
30分□平時(shí)成績(考勤+作業(yè))10分□上機(jī)考試
60分上機(jī)考試兩道題:25分+35分上機(jī)考試時(shí)間:上機(jī)課中最后一次上機(jī)時(shí)間Matlab編程基礎(chǔ)變量及其賦值□標(biāo)識(shí)符號(hào)與數(shù)據(jù)格式標(biāo)識(shí)符號(hào)是標(biāo)志變量名、常量名、函數(shù)名和文件名的字符串的總稱。雙精度數(shù)據(jù)格式,64位二進(jìn)制?!蹙仃嚰捌湓氐馁x值賦值語句:變量=表達(dá)式(數(shù))Matlab中變量都代表矩陣,其階數(shù)為M×N賦值要求:整個(gè)矩陣的值應(yīng)在[]中;同一行中各元素之間以逗號(hào)“,”或空格分開;不同行的元素以“;”隔開。例[P15-16]Matlab編程基礎(chǔ)矩陣元素的索引訪問向量的元素只要使用相應(yīng)元素的索引即可賦值技巧利用冒號(hào)“:”給全行的元素賦值例:a=eye(5);a(2,:)=ones(1,5)a利用行、列標(biāo)注構(gòu)成新的矩陣?yán)篵=a([2,3,4],[1,2,3])零矩陣與空矩陣的區(qū)別??Matlab編程基礎(chǔ)利用小矩陣組成大矩陣?yán)篴=ones(2,3)b=zeros(3,2)c=[a;a;a]d=[b;b]e=[c,d]常用生成矩陣的方法利用生成矩陣的函數(shù)(P17-18)利用“:”運(yùn)算符冒號(hào)運(yùn)算符創(chuàng)建了具有10個(gè)元素的向量。利用冒號(hào)運(yùn)算符創(chuàng)建向量的基本語法如下:X
=
J:INC:KMatlab編程基礎(chǔ)Matlab內(nèi)部的特殊變量和常數(shù)例:anssepssrealmaxsrealminspisInf
sisjNaN復(fù)數(shù)的賦值方式可將矩陣元素逐個(gè)賦予復(fù)數(shù);將矩陣的實(shí)部和虛部分別賦值。Matlab編程基礎(chǔ)運(yùn)算符與數(shù)學(xué)表達(dá)式□算術(shù)運(yùn)算符(P20表2.2)矩陣加減:“+”、“-”功能:兩矩陣對(duì)應(yīng)元素相加/減。A、B矩陣的階數(shù)必須相等或其中之一為標(biāo)量,標(biāo)量可與任意大小的矩陣相加/減。矩陣相乘:“*”矩陣元素相乘:“.*”功能:矩陣A、B對(duì)應(yīng)元素相乘。A、B行列必相同或其中之一為標(biāo)量。Matlab編程基礎(chǔ)矩陣右除B/A與左除A\C如果A為一非奇異矩陣,則右除:B/A=B*inv(A)如果A為一非奇異矩陣,則左除:A\C=inv(A)*C矩陣元素右除A./B與左除A.\BA,B兩矩陣必同行列,或其中之一為標(biāo)量。矩陣冪“^”及矩陣元素冪“.^”矩陣轉(zhuǎn)置“’”及矩陣非共軛轉(zhuǎn)置“.’”Matlab編程基礎(chǔ)□關(guān)系運(yùn)算符<、<=、>、>=、==、~=Matlab關(guān)系運(yùn)算符用來比較兩個(gè)同樣大小的數(shù)組,或用來比較一個(gè)數(shù)組和一個(gè)標(biāo)量;當(dāng)數(shù)組和標(biāo)量進(jìn)行比較時(shí),結(jié)果與數(shù)組大小一樣;關(guān)系比較的結(jié)果只有兩種可能,即1或0。例:比較下面兩段語句的結(jié)果x=(-3:3)/3sin(x)./xx=x+(x==0)*epssin(x)./x例:統(tǒng)計(jì)數(shù)組A中值大于5.5元素的個(gè)數(shù)Matlab編程基礎(chǔ)□邏輯運(yùn)算符&(與)
|(或)
~(非)真值表(P24)□其他邏輯函數(shù)(P25表2.6,2.7)□數(shù)學(xué)表達(dá)式的MATLAB描述(P25)不要忽略數(shù)乘不能調(diào)用系統(tǒng)中不存在的函數(shù)Matlab編程基礎(chǔ)流程控制□if語句格式:格式1If表達(dá)式語句組AEnd例1_1:隨機(jī)生成一個(gè)(0,1)之間的數(shù),如果該數(shù)大于于0.5則輸出該數(shù).Matlab編程基礎(chǔ)格式2If表達(dá)式語句組AElse語句組BEnd例1_2:隨機(jī)生成一個(gè)(0,1)之間的數(shù),如果該數(shù)大于等0.5,則將該數(shù)變?yōu)?,否則將該數(shù)變成-1.例1_3:隨機(jī)生成100個(gè)(0,1)之間的數(shù),將大于等于0.5為1,小于0.5的變?yōu)?.Matlab編程基礎(chǔ)格式3If表達(dá)式1語句組AElseif表達(dá)式2語句組BElse語句組CEnd例1_4:隨機(jī)生成一個(gè)(0,1)之間的數(shù),如果該數(shù)所處區(qū)為(0,0.3)則將該數(shù)變成0,如果該數(shù)所處區(qū)間為(0.3,則將該數(shù)變成1,否則將該數(shù)變成2.Matlab編程基礎(chǔ)□Switch語句Switch語句稱為條件選擇語句,其中關(guān)鍵字包括:switch,otherwise以及end.主要用于有選擇性的程序設(shè)計(jì),實(shí)現(xiàn)序的多分支選擇.格式:Switch選擇表達(dá)式case情況表達(dá)式1語句組1case情況表達(dá)式2語句組2……otherwise語句組nend例1_5:隨機(jī)生成一個(gè)1到12之間的整數(shù),按如下規(guī)則進(jìn)行轉(zhuǎn)換:如果該數(shù)在1~4之間,轉(zhuǎn)換成-1;如果該數(shù)在5~8之間,轉(zhuǎn)換成0;如果該數(shù)在9~12之間,轉(zhuǎn)換成1。Matlab編程基礎(chǔ)□While語句While語句為條件循環(huán)語句,循環(huán)次數(shù)不確定,取決于邏輯表達(dá)式。格式:While表達(dá)式語句組AEnd例1_6:生成一個(gè)具有100個(gè)元素的1,-1隨機(jī)序列。例1_7:生成一個(gè)具有100個(gè)元素的1,0隨機(jī)序列。例1_8:輸入一個(gè)N值,求1+2+3+……+N的值。例1_9:輸入若干個(gè)同學(xué)的成績,求大于等于平均成績的同學(xué)人數(shù)。Matlab編程基礎(chǔ)□For語句是一種循環(huán)次數(shù)確定的循環(huán)語句。格式:for
V=初值:增量:終值語句組Aend功能:將語句組A循環(huán)執(zhí)行N次,其中:
N=1+(終值-初值)/增量Matlab編程基礎(chǔ)□For循環(huán)注意事項(xiàng)不能通過在循環(huán)體內(nèi)重新賦值給循環(huán)變量來終止FOR循環(huán),只能使用Break語句;例:Matlab編程基礎(chǔ)循環(huán)被執(zhí)行前,應(yīng)預(yù)先分配數(shù)組;當(dāng)有一個(gè)等效的數(shù)組方法來解答給定的問題時(shí),應(yīng)避使用循環(huán);循環(huán)可按需要進(jìn)行嵌套;例:(前面while循環(huán)的例子)Matlab編程基礎(chǔ)
例:隨機(jī)生成0—1000之間的隨機(jī)數(shù)100個(gè),并按從小到大的順序輸出.
例:隨機(jī)生成51—100之間的隨機(jī)數(shù)50個(gè),請(qǐng)輸出序列中不存在的51—100之間的數(shù).
例:請(qǐng)驗(yàn)證兩個(gè)正交的復(fù)噪聲信號(hào)之和的包絡(luò)服從
Rayleigh分布Matlab編程基礎(chǔ)數(shù)據(jù)的輸入/輸出及文件的讀寫(P31)□save,load命令基本數(shù)學(xué)函數(shù)(P42)基本繪圖方法□圖形窗口控制命令figure[(N)]功能:新創(chuàng)建一個(gè)圖形窗口,并自動(dòng)[/N編號(hào)]圖形窗口內(nèi)容保持命令hold
on(off)功能:保持當(dāng)前圖形窗口的內(nèi)容,或取消holdon功能,恢復(fù)系統(tǒng)默認(rèn)狀態(tài).圖形窗口劃分命令格式:sumplot(m,n,p)功能:將圖形窗口分成n*m個(gè)子圖形窗口,并選擇第p個(gè)子圖形窗口作為當(dāng)前圖形窗口,供繪圖函數(shù)作圖使用.Matlab編程基礎(chǔ)□二維圖形的繪制二維圖形繪制命令plot格式一:plot(y)功能:輸入一個(gè)數(shù)據(jù)的情況.如果y是一個(gè)數(shù)組,函數(shù)plo給出笛卡兒坐標(biāo)下的二維圖.以y中元素的下標(biāo)為X坐標(biāo),以y中元素值為Y坐標(biāo).例:給出一個(gè)周期的sin(x)的圖形格式二:plot(x,y)功能:以x數(shù)組中元素值為橫坐標(biāo),以y元素值為縱坐標(biāo)作圖.例1_10:給出一個(gè)從(-pi,pi)的cos(x)圖形Matlab編程基礎(chǔ)線型,標(biāo)記符及顏色的設(shè)置(P50)格式一:plot(y,’字符串’)格式二:plot(x,y,’字符串’)其中:字符串中是關(guān)于線形,顏色及標(biāo)記符號(hào)的說明圖形的標(biāo)注、網(wǎng)格及圖例說明
(1)添加圖形標(biāo)題命令title格式:title(‘string’)功能:在當(dāng)前坐標(biāo)系的頂部加一個(gè)文本串string,作為該的標(biāo)題.(2)添加坐標(biāo)軸標(biāo)志函數(shù)xlabel,ylabel,zlabel格式:xlabel(‘string’)ylabel(‘string’)zlabel(‘string’)Matlab編程基礎(chǔ)(3)設(shè)置網(wǎng)格線命令grid格式:grid
on(off)功能:對(duì)當(dāng)前坐標(biāo)圖加上網(wǎng)格式或撤銷網(wǎng)格線.(4)圖形標(biāo)注函數(shù)legend格式:legend(string1,string2,string3,….)功能:在當(dāng)前圖中添加圖例.□坐標(biāo)軸刻度設(shè)置格式:axis([xmin,xmax,ymin,ymax,…])功能:對(duì)x,y,…,等坐標(biāo)軸進(jìn)行標(biāo)定.Matlab編程基礎(chǔ)□多條曲線的繪制格式:plot(x1,y1,x2,y2,x3,y3,…)功能:為每一對(duì)X-Y繪制一條圖線.可以在每個(gè)xi,yi后加形,標(biāo)記和顏色控制.例1_11:在一張圖中畫出sin(t),cos(t),sin(t)+cos(Matlab編程基礎(chǔ)M文件命令語句構(gòu)成的程序文件,可分為兩種:□主程序文件由用戶為解決特定問題,而將命令語句序列放到m文件中而形成的文件主程序文件結(jié)構(gòu)有關(guān)程序的功能,使用方法等內(nèi)容的注釋部分以”%”開始直至行末的部分為注釋部分程序主體√由若干條命令語句組成,實(shí)現(xiàn)程序設(shè)計(jì)功能,通常用clearclose
all開始主程的運(yùn)行方式[例1_12]編寫程序畫出sin(6pix),cos(2pix)以及兩函數(shù)之各線.Matlab編程基礎(chǔ)□函數(shù)文件結(jié)構(gòu)函數(shù)定義行function[變量列表]=函數(shù)名(參數(shù))H1行注釋行,主要說明該函數(shù)的功能,可以在help命令中顯示函數(shù)幫助文本注釋行,用來比較詳細(xì)地說明函數(shù)的相關(guān)信息,可在help命令中顯示函數(shù)體用來完成函數(shù)功能的語句序列,并以end語句為結(jié)束標(biāo)志[例1_13]生成四個(gè)長度為64的序列,分別為s1,s2,s3,s每個(gè)序列乘上[1,-1,j,-j]中的任意一個(gè)因子后求和.有可能的和序列中峰均功率比最低的序列及相應(yīng)的因子.系統(tǒng)仿真基礎(chǔ)通信系統(tǒng)仿真發(fā)射機(jī)接收機(jī)信道干擾發(fā)射機(jī)抽樣量化編碼信源編碼信道編碼調(diào)制信源線性分組碼循環(huán)碼BCH
RS卷積碼TurboASKFSKPSKMSKGMSKQAM抽樣量化編碼信源編碼信源編碼信源function
signal=informationSource(t)function
sampleSignal=sampling()function
quantizeData=quantizing(sampleSifunction
bitstream=sourceCoding(quantizeD信源function
signal=informationSource(t) signal=sin(2*pi*t)+cos(4*pi*t);end抽樣function
sampleSignal=sampling() t=0:0.01:1sampleSignal=informationSource(t)end量化function
quantizeData=quantizing(sampleSingal) dv=2*a/(M-1); quantizeData=sign(sampleSignal).*fix(abs(sampleSignal+dv/2)/dv)*dvend編碼function
bitstream=sourceCoding(quantizeData,dv,M)N=length(quantizeData);bitstream=[];N1=fix(log2(M));for
i=1:NNData=fix(abs(quantizeData(i))/dv);
bindata=convert2bin(NData,N1);if
(quantizeData(i)>=0)bindata(1)=0;elsebindata(1)=1;endbitstream=[bitstream,bindata];
endend找到量化電平編號(hào)將該編碼轉(zhuǎn)換成二進(jìn)制加上符號(hào)位處理下一個(gè)量化電平編碼將一個(gè)整數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)
function
bindata=convert2bin(NData,N)bindata=zeros(1,N);i=N;while
(NData~=0)bindata(i)=rem(NData,2);NData=fix(NData/2);i=i-1;endif
(NData(1)==1)NData=[0,ones(1,N-1)];endend信道編碼信道編碼線性分組碼循環(huán)碼BCH
RS卷積碼Turbo為方便,使用奇偶校驗(yàn)碼將原比特流,每7位一組,添加校驗(yàn)位1位.采用偶校驗(yàn).該碼不具糾錯(cuò)功能,但具檢一位錯(cuò)的功能.信道編碼function
datastream=channelcodingEV(bitstream)N=fix(length(bitstream)/7);datastream=[];for
i=1:Ntemp=bitstream((i-1)*7+1:i*7);datastream=[datastream,temp,rem(sum(temp),2)endend調(diào)制調(diào)制ASKFSKPSKMSKGMSKQAM本例采用2ASK調(diào)制方式,其它調(diào)制方式可以類似進(jìn)行仿真.Bit速率為1000bps;載波頻率為10000Hz;由每一位bit占用時(shí)間:1/1000=1ms;載波的一個(gè)周期所占用時(shí)間:1/10000=0.1ms因此,一個(gè)bit位有10個(gè)完整的載波周期.載波的一個(gè)周期以16點(diǎn)抽樣.即
t=2*pi/16:2*pi/16:2*pi; carrier=cos(t);調(diào)制時(shí):1)如果某位為1,則復(fù)制10次carrier;2)如果某位為0,則復(fù)制10*16個(gè)0.調(diào)制function
transmittedSignal=BAskModu(signal,bitRate,carrierFrequency
M=carrierFrequency/bitRate;t=(2*pi/N1):(2*pi/N1):2*pi;carrier=[];for
j=1:Mcarrier=[carrier,cos(t)];endtransmittedSignal=[];for
i=1:length(signal)if
(signal(i)==1)transmittedSignal=[transmittedSignal,carrier];elsetransmittedSignal=[transmittedSignal,zeros(1,length(carrier)
endendend發(fā)射機(jī)Transmitter信源編碼 信道編碼 調(diào)制function
transmittedSignal=transmitter()sampleSignal=sampling()a=2;M=256;[quantizeData,dv]=quantizing(sampleSignal,a,M);bitstream=sourceCoding(quantizeData,dv,M);
datastream=channelcodingEV(bitstream)
bitRate=1000;carrierFrequency=10000;N1=16;transmittedSignal=BAskModu(datastream,bitRate,carrierFrequency,end信道仿真本例使用加性高斯白噪聲□直接疊加平均功率為sig的噪聲信號(hào)如:signalnoise=sqrt(sig2)*1/sqrt(2)*randn(1,length(signal=signal+noise;□利用awgn函數(shù)
signal=sqrt(2)*signal;signal=awgn(signal,20,0)信道仿真function
signal=gussianChannel(transmittedSignalN=length(transmittedSignal);noise=sqrt(sig)*1/sqrt(2)*randn(1,N);signal=transmittedSignal+noise;end接收機(jī)設(shè)計(jì)譯碼反量化再現(xiàn)線性分組碼譯碼循環(huán)碼譯碼BCH譯碼
RS譯碼卷積碼譯碼Turbo譯碼ASK解調(diào)
FSK解調(diào)
PSK解調(diào)
MSK解調(diào)
GMSK解調(diào)
QAM解調(diào)bitstream=demoASK(receivedSignal,bitRate,carrierFrequency,N);
datastream=deEVChannelCoding(bitstream);restoreOriginalSignal=D2A(datastream,dv);解調(diào) 信道譯碼 信源譯碼ASK解調(diào)在仿真時(shí)假設(shè)能精確同步!!ASK解調(diào)BPF整流LPF抽樣判決數(shù)據(jù)速率=1000bps;載波頻率=10000Hz;抽樣頻率=載波頻率*16;信號(hào)0點(diǎn)帶寬(單邊)=2π/τ=2
π/(1/1000)=1000Hz信號(hào)的通帶=[9000Hz,11000Hz]根據(jù)信號(hào)速率可得:基帶信號(hào)的帶寬=[0,1000Hz]假設(shè)所有同步有能精確同步!!濾波器設(shè)計(jì)幾個(gè)基本概念□通帶、通帶截止頻率、通帶容限□阻帶、阻帶容限、阻帶截止頻率□過渡帶□通帶最大衰減□阻帶最小衰減濾波器設(shè)計(jì)方法FDAToolIIR(MATLAB直接設(shè)計(jì))□利用IIR濾波器階次估計(jì)函數(shù)求最小階數(shù)和截止頻率(P162,P163)FIR(MATLAB直接設(shè)計(jì))□fir1□fir2ASK解調(diào)function
bitstream=demoASK(receivedSignal,bitRate,carrierFrequency,
load
mypassden=1;signal1=filter(bandpassNum,den,receivedSignal);
signal1=abs(signal1);signal1=filter(lowpassNum,den,signal1);IN=fix(length(lowpa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45231-2025智能床
- 全新合伙人合同:創(chuàng)始股東權(quán)利與義務(wù)
- 雙方戒煙合同責(zé)任書
- 船舶所有權(quán)變更合同
- 合同離婚改革:軍人家庭權(quán)益保障
- 5電磁鐵(教學(xué)設(shè)計(jì))-2024-2025學(xué)年六年級(jí)上冊(cè)科學(xué)教科版
- 項(xiàng)目融資及還款合同書范例
- 住宅租賃安全責(zé)任合同條款
- 知識(shí)產(chǎn)權(quán)保護(hù)及商業(yè)秘密合同范本
- 租賃合同模板范本:貨物運(yùn)輸設(shè)備
- 2024-2025年第二學(xué)期學(xué)校教導(dǎo)處工作計(jì)劃(二)
- 2025年蘇州衛(wèi)生職業(yè)技術(shù)學(xué)院高職單招職業(yè)技能測(cè)試近5年??及鎱⒖碱}庫含答案解析
- 二零二五年度博物館場(chǎng)地租賃與文物保護(hù)合作協(xié)議3篇
- 2025年春新人教版歷史七年級(jí)下冊(cè)全冊(cè)課件
- 2024年鐘山職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 駱駝祥子-(一)-劇本
- 魏晉南北朝時(shí)期中外文化的交流
- 漁業(yè)行業(yè)智能化海洋牧場(chǎng)養(yǎng)殖方案
- 《工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)》(2002年修訂本)
- 《債權(quán)法教學(xué)》課件
- 太傻天書(完整版)
評(píng)論
0/150
提交評(píng)論