通信原理實(shí)驗(yàn)報(bào)告-LABVIEW2.1_第1頁(yè)
通信原理實(shí)驗(yàn)報(bào)告-LABVIEW2.1_第2頁(yè)
通信原理實(shí)驗(yàn)報(bào)告-LABVIEW2.1_第3頁(yè)
通信原理實(shí)驗(yàn)報(bào)告-LABVIEW2.1_第4頁(yè)
通信原理實(shí)驗(yàn)報(bào)告-LABVIEW2.1_第5頁(yè)
已閱讀5頁(yè),還剩19頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

通信原理實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)項(xiàng)目:實(shí)驗(yàn)1 掌握用Labview 產(chǎn)主隨機(jī)數(shù)的方法實(shí)驗(yàn)2 統(tǒng)計(jì)隨機(jī)數(shù)的概率分布密度函數(shù)及相關(guān)函數(shù)特性實(shí)驗(yàn)3產(chǎn)生m序列信號(hào)源,驗(yàn)證m序列的偽隨機(jī)性以及偽隨機(jī)序列的自相關(guān)函數(shù)的雙值特性。實(shí)驗(yàn)4 模擬產(chǎn)生 AWGN 及ISI信道,添加到數(shù)字通信仿真系統(tǒng)中實(shí)驗(yàn)1隨機(jī)數(shù)產(chǎn)生及直方圖統(tǒng)計(jì)實(shí)驗(yàn)1 隨機(jī)數(shù)產(chǎn)生及直方圖統(tǒng)計(jì)一、實(shí)驗(yàn)?zāi)康?1)掌握在一般微型計(jì)算機(jī)上產(chǎn)主隨機(jī)數(shù)的方法。(2)統(tǒng)計(jì)隨機(jī)數(shù)的概率分布密度函數(shù)。二、實(shí)驗(yàn)內(nèi)容1.用計(jì)算機(jī)產(chǎn)生 [0,1]均勻分布的(偽)隨機(jī)數(shù)。2.由[0,1]均勻分布隨機(jī)數(shù)產(chǎn)生其它分布的隨機(jī)數(shù),例:正態(tài) N(0,l)分布的隨機(jī)數(shù)。3.用直方圖統(tǒng)計(jì)隨機(jī)數(shù)的分布密度。三、實(shí)驗(yàn)設(shè)備微型計(jì)算機(jī)及其高級(jí)程序語(yǔ)言編譯環(huán)境,例 C++、FORTRAN、PASCAL等,也可以應(yīng)用工程計(jì)算工具軟件如 MATLAB等。四、實(shí)驗(yàn)原理計(jì)算機(jī)產(chǎn)生均勻分布隨機(jī)數(shù)在計(jì)算機(jī)算法中,為實(shí)現(xiàn)方便,通常使用偽隨機(jī)數(shù)(序列)來(lái)代替(真)隨機(jī)數(shù)。偽隨機(jī)序列是有周期性的數(shù)值序列,當(dāng)其周期N相對(duì)很大時(shí),統(tǒng)計(jì)特性一定程度上逼近隨機(jī)序列,故效果與(真)隨機(jī)數(shù)相近。高斯分布隨機(jī)數(shù)的獲得實(shí)際研究當(dāng)中,高斯(正態(tài))分布是經(jīng)常被使用到的數(shù)學(xué)模型,可以近似描述很多隨機(jī)事件的統(tǒng)計(jì)特性。,我們可以采用非線性變換法,對(duì)比較容易產(chǎn)生的均勻分布隨機(jī)序列進(jìn)行變換,(近似)得到高斯分布隨機(jī)序列。Xc (2lnR1)1/2cos2R2公式中,若R1和R2是[0,1]區(qū)間兩個(gè)均勻分布隨機(jī)變量,理論上可以證明XC是標(biāo)準(zhǔn)正態(tài)分布(均值為0,方差為1的高斯分布)的隨機(jī)變量。直方圖對(duì)于一個(gè)隨機(jī)變量,假如我們知道它是正態(tài)的(或其它分布形式)我們可以從隨機(jī)變量的抽樣估計(jì)它的均值和方差,從而得到它的分布密度函數(shù)。預(yù)先對(duì)一個(gè)隨機(jī)變量分布一無(wú)所知,要估計(jì)它的分布密度函數(shù)可借助于直方圖統(tǒng)計(jì)方法:fx(x)20 1 2 3 x1實(shí)驗(yàn)1隨機(jī)數(shù)產(chǎn)生及直方圖統(tǒng)計(jì)設(shè)有圖1所示密度函數(shù)fx(x)把隨機(jī)變量X的取值量化,量化階為2ε,例如對(duì)于以x=2為中心的量化階內(nèi),如果ε足夠小。有2fx(2)P[2X2]當(dāng)X抽樣X(jué)1,X2,??,XN,是獨(dú)立且同分布時(shí),則P[2XX1,X2,...,XN中落在(2,2)中的個(gè)數(shù)2]2N當(dāng)N較大能用頻率代替概率。所以可以得到概率密度的估計(jì)值Xk在(2,2)中的個(gè)數(shù)k=1,?,Nfx(2)2N顯然x=2并不特殊,可以重復(fù)進(jìn)行其它x值上的密度估計(jì)。這樣我們就得到密度函數(shù)fx(x)的離散估計(jì)值。這就是直方圖方法。這種直方圖估計(jì)的準(zhǔn)確度可以進(jìn)行專門分析。分析它的方差可以知道,N和ε的選擇有一定的要求。顯然,數(shù)據(jù)樣點(diǎn)數(shù)N越大越好,而區(qū)間密度ε選擇與N值相適應(yīng)為好。有表1可供參考。表1樣點(diǎn)數(shù)與直方單元數(shù)N50010002000500010000K2230395674N-數(shù)據(jù)樣點(diǎn)數(shù); K-隨機(jī)變量取值范圍量化的單元數(shù)。實(shí)驗(yàn)中要求用計(jì)算機(jī)對(duì)所產(chǎn)生的隨機(jī)數(shù)用直方圖估計(jì)其概率密度函數(shù),井打印出分布函數(shù)的圖形五、實(shí)驗(yàn)步驟弄懂實(shí)驗(yàn)原理,設(shè)計(jì)結(jié)構(gòu)框圖:計(jì)算機(jī)產(chǎn)生偽隨機(jī)數(shù)列 1正態(tài)分布隨機(jī)數(shù)列計(jì)算機(jī)產(chǎn)生偽隨機(jī)數(shù)列 2隨機(jī)變量取值范 圍量化的單元數(shù) K隨機(jī)數(shù)列長(zhǎng)度N分布密度直方圖利用LabVIEW編寫程序:2實(shí)驗(yàn)1隨機(jī)數(shù)產(chǎn)生及直方圖統(tǒng)計(jì)六、實(shí)驗(yàn)結(jié)果3實(shí)驗(yàn)1隨機(jī)數(shù)產(chǎn)生及直方圖統(tǒng)計(jì)4實(shí)驗(yàn)2相關(guān)噪聲模型和相關(guān)函數(shù)計(jì)算實(shí)驗(yàn)2 相關(guān)噪聲模型和相關(guān)函數(shù)計(jì)算一、實(shí)驗(yàn)?zāi)康氖煜は嚓P(guān)噪聲模型,掌握相關(guān)函數(shù)的計(jì)算方法。二、實(shí)驗(yàn)內(nèi)容計(jì)算一下白噪聲模型的相關(guān)函數(shù)。計(jì)算相關(guān)噪聲的相關(guān)函數(shù),它應(yīng)是指數(shù)型的。計(jì)算正弦信號(hào)加噪聲的相關(guān)函數(shù),期望得到指數(shù)與余弦迭加的波形。三、實(shí)驗(yàn)設(shè)備微型計(jì)算機(jī)及其它外圍設(shè)備。四、實(shí)驗(yàn)原理各態(tài)遍歷的平穩(wěn)隨機(jī)過(guò)程 x(t)自相關(guān)函數(shù)可表示為1T)dtR()limx(t)x(tT0而對(duì)于周期性信號(hào),自相關(guān)函數(shù)可表示為1T0R(x(t)x(t)dt)0T0其中T0為周期。自相關(guān)函數(shù)的離散數(shù)值計(jì)算公式1Nrxkxkrr=0,1,2,?,mm<NR()rk1N如果我們有N個(gè)數(shù)據(jù)記錄,上式就可以在數(shù)字計(jì)算機(jī)上進(jìn)行相關(guān)函數(shù)的估計(jì)。實(shí)驗(yàn)內(nèi)容中的三個(gè)模型:1.白噪聲模型:產(chǎn)生的[0,1]均勻分布隨機(jī)序列,都強(qiáng)調(diào)要求它的分布均勻性要好,獨(dú)立性要強(qiáng)。這獨(dú)立性要求指的是前后相鄰數(shù)據(jù)不相關(guān)。實(shí)際上這就是一種白噪聲模型,如果把它變換為[-112,2]均勻分布,則就是一種零均值的白噪聲模型。我們記理想的白噪聲序列為{wk},則其自相關(guān)函數(shù)可表示為RW(i,j)E{wi,wj}21ijWij其中ijij0計(jì)算機(jī)產(chǎn)生的均勻分布隨機(jī)數(shù)具有白噪聲性質(zhì),就應(yīng)該有尖峰自相關(guān)函數(shù)。反過(guò)來(lái)說(shuō),這相關(guān)函數(shù)的尖峰形狀能用來(lái)檢驗(yàn)隨機(jī)數(shù)獨(dú)立性的好壞。2.相關(guān)噪聲模型5實(shí)驗(yàn)2相關(guān)噪聲模型和相關(guān)函數(shù)計(jì)算wi nia 單位延時(shí)對(duì)于相應(yīng)的數(shù)據(jù)序列來(lái)說(shuō),可由白噪聲模型變換出相關(guān)噪聲的模型,白噪聲 wi,經(jīng)圖示裝置處理,產(chǎn)生的輸出為 ni wi ani1(0<a<1)我們看到ni與其前面幾個(gè)值(ni-1,ni-2,??,)有依賴關(guān)系。這相關(guān)性的強(qiáng)弱取決于系數(shù)a的取值,這樣得到的數(shù)據(jù)序列{ni}就是一個(gè)相關(guān)噪聲模型。相關(guān)噪聲的相關(guān)函數(shù)應(yīng)是指數(shù)型的。3.正弦信號(hào)加噪聲這是加噪聲模型,用一個(gè)正弦信號(hào)與相關(guān)噪聲迭加,得到xi ni bcos(2i/T)其中正弦信號(hào)初相為零,當(dāng)然也可隨意指定一個(gè)初相,這隨機(jī)相位正弦信號(hào)的數(shù)據(jù)樣值只要利用函數(shù)賦值就可得到。正弦信號(hào)加噪聲的相關(guān)函數(shù)應(yīng)該是指數(shù)與余弦迭加的波形。五、實(shí)驗(yàn)步驟弄懂實(shí)驗(yàn)原理,設(shè)計(jì)結(jié)構(gòu)框圖:計(jì)算機(jī)產(chǎn)生偽 數(shù)據(jù)樣本總數(shù) N隨機(jī)數(shù)列白噪聲序列{wi}白噪聲自相關(guān)函數(shù)系數(shù)a(0.8<a<0.9)自相關(guān)函數(shù)離散數(shù)值計(jì)算相關(guān)噪聲序列{ni}相關(guān)噪聲自相關(guān)函數(shù)系數(shù)b(0.3<b<0.4);正弦信號(hào)周期T正弦信號(hào)加噪聲序列{xi}正弦信號(hào)加噪聲自相關(guān)函數(shù)利用LabVIEW編寫程序(由于程序框圖太大,這里分成部分貼出):白噪聲及其自相關(guān)函數(shù)6實(shí)驗(yàn)2相關(guān)噪聲模型和相關(guān)函數(shù)計(jì)算相關(guān)噪聲及正弦信號(hào)與相關(guān)噪聲迭加相關(guān)噪聲的自相關(guān)函數(shù)及正弦信號(hào)與相關(guān)噪聲迭加的自相關(guān)函數(shù)7實(shí)驗(yàn)2相關(guān)噪聲模型和相關(guān)函數(shù)計(jì)算8實(shí)驗(yàn)2相關(guān)噪聲模型和相關(guān)函數(shù)計(jì)算六、實(shí)驗(yàn)結(jié)果9實(shí)驗(yàn)2相關(guān)噪聲模型和相關(guān)函數(shù)計(jì)算10實(shí)驗(yàn)3常量信號(hào)檢測(cè)的計(jì)算機(jī)模擬(新版)11實(shí)驗(yàn)4偽隨機(jī)序列產(chǎn)生及其特性研究實(shí)驗(yàn)3 偽隨機(jī)序列產(chǎn)生及其特性研究一、實(shí)驗(yàn)?zāi)康?.了解偽隨機(jī)序列產(chǎn)生的方法,觀察其變換的不同碼型。2.研究m序列本原多項(xiàng)式與線性移位寄存器的反饋方式間的關(guān)系。3.驗(yàn)證m序列的偽隨機(jī)性。4.驗(yàn)證偽隨機(jī)序列的自相關(guān)函數(shù)的雙值特性。二、實(shí)驗(yàn)內(nèi)容1.選擇合適的 m序列本原多項(xiàng)式,設(shè)計(jì)n級(jí)(n=3~8)線性反饋移位寄存器,產(chǎn)生m序列。n3.討論m序列的性質(zhì)和相關(guān)函數(shù)特性。三、實(shí)驗(yàn)設(shè)備1.直流穩(wěn)壓電源2.示波器3.單片計(jì)算機(jī)實(shí)驗(yàn)電路裝置四、實(shí)驗(yàn)原理1. m序列在通信系統(tǒng)中,為了研究隨機(jī)噪聲對(duì)系統(tǒng)的影響,往往需要人為生成隨機(jī)噪聲。而在 20世紀(jì) 60年代,人們發(fā)明了“偽隨機(jī)噪聲” ,才真正滿足了研究的需要。偽隨機(jī)噪聲具有類似于隨機(jī)噪聲的某些統(tǒng)計(jì)特性,同時(shí)又能夠重復(fù)產(chǎn)生,避免了隨機(jī)噪聲不可重現(xiàn)的缺點(diǎn),因而獲得了廣泛的應(yīng)用。而偽隨機(jī)噪聲是由周期性數(shù)字序列經(jīng)濾波等處理后得到的,這種周期性數(shù)字序列就是“偽隨機(jī)序列” ,有時(shí)也被稱作偽隨機(jī)信號(hào)或偽隨機(jī)碼。至今,最廣為人知的二進(jìn)制偽隨機(jī)序列是 “最長(zhǎng)線性反饋移位寄存器序列” ,簡(jiǎn)稱m序列。序列因其隨機(jī)特性和預(yù)先可確定性及可重復(fù)實(shí)現(xiàn)的優(yōu)點(diǎn),在實(shí)際領(lǐng)域中得到廣泛應(yīng)用。2. m序列產(chǎn)生原理m序列是由帶線性反饋的移存器產(chǎn)生的周期最長(zhǎng)的序列。 圖4-1為一般的線性反饋移存器產(chǎn)生m序列的原理飯框圖。圖4-1線性反饋移位寄存器原理方框圖由于帶有線性反饋,在移位脈沖作用下,線性移位寄存器各級(jí)的狀態(tài)將不斷變化,通常12實(shí)驗(yàn)4偽隨機(jī)序列產(chǎn)生及其特性研究移位寄存器的最后一級(jí)做輸出,當(dāng)移位寄存器的級(jí)數(shù)及時(shí)鐘一定時(shí),輸出序列就由初始狀態(tài)和反饋邏輯完全確定。輸出序列為 {ak} a0a1...an1...,是一個(gè)周期序列。經(jīng)一次移位線性反饋,左端新得到的輸入 an為nanc1nn1c2an2cna0ciani(模2)i1因此,一般說(shuō)來(lái),對(duì)于任意一個(gè)輸入ak,有nakciakii1上式稱為“遞推方程”,它給出移位輸入與移位前各級(jí)狀態(tài)的關(guān)系。按照遞推方程,就可以用軟件產(chǎn)生m序列。當(dāng)初始狀態(tài)為全零狀態(tài)是,移位寄存器輸出全零序列,因此,因避免設(shè)置全0電路。在遞推方程中, ci的取值決定了序列的結(jié)構(gòu),所以 ci是一個(gè)很重要的參量。 ci的取值情況可以用特征多項(xiàng)式(或特征方程) f(x)描述:nf(x) c0 c1x ... cnxn cixii0對(duì)于n階m序列,最大能產(chǎn)生的周期為 2n 1。其中能滿足此要求的最簡(jiǎn) f(x)也稱“本源多項(xiàng)式”。其中3~8階序列的本源多項(xiàng)式如表4-1所示。表4-1本源多項(xiàng)式表級(jí)數(shù)n8進(jìn)制表示f(x)代數(shù)式313x3+x+1423x4+x+1545x5+x2+16103x6+x+17211x7+x3+18435x8+x4+x3+x2+1m序列的性質(zhì)序列具有幾個(gè)有趣的性質(zhì)和統(tǒng)計(jì)特性。1.對(duì)n級(jí)m序列周期為P 2n 12.在一個(gè)周期中,“0”出現(xiàn)2n1 1次,“1”出現(xiàn)2n1次3.在一個(gè)周期中,共有 2n1個(gè)游程,其中:13實(shí)驗(yàn)4偽隨機(jī)序列產(chǎn)生及其特性研究長(zhǎng)度為k的游程有 1個(gè),1kn2;2k長(zhǎng)度為n 1的有1個(gè)“0”游程;長(zhǎng)度為n的有1個(gè)“1”游程。4.歸一化自相關(guān)函數(shù)為1 (j 0)(j)1/P (1 j P 1)且 (j)的周期為P五、設(shè)計(jì)要求1.利用單片機(jī)編程實(shí)現(xiàn),設(shè)計(jì) n級(jí)(n=3~8)m序列的發(fā)生器,每級(jí)可選擇實(shí)現(xiàn) 1種序列碼型。2.序列碼元速率:(推薦)100Baud。3.為便于示波器觀測(cè)m序列波形,給出序列周期同步信號(hào)作為示波器觸發(fā)源,如圖4-2示意。以n=3為例:m序列m序列輸出11100101110010發(fā)生器序列周期同步脈沖圖4-2m序列發(fā)生和序列周期同步信號(hào)六、實(shí)驗(yàn)內(nèi)容1.m序列生成本次試驗(yàn)由MCS51系列的AT89S52單片機(jī)完成m序列機(jī)器周期同步脈沖的生成。其主要部分的程序設(shè)計(jì)如下:m序列的移位寄存器生成法m序列由移位寄存器法產(chǎn)生(詳細(xì)原理見(jiàn)上面“實(shí)驗(yàn)原理”部分) ,反饋環(huán)路的設(shè)置采用了表4-1中的本源多項(xiàng)式的取值方法。 每當(dāng)定時(shí)器 T0中斷輸出 m序列的一個(gè)二進(jìn)制位,便把全局變量 v置零。在主程序中,每當(dāng)檢測(cè)到 v的值為零,則根據(jù)當(dāng)前要求的階數(shù)移位產(chǎn)生新的位,將 v置1,并等待定時(shí)器中斷輸出。為保證在 3~8階都可生成,并避免移位寄存器出現(xiàn)全零狀態(tài),移存器(實(shí)際上是一個(gè)數(shù)組)的初值設(shè)置為 {1,0,1,0,1,0,1,0},n階m序列則取其前n個(gè)作為m序列的初值。(詳見(jiàn)“程序清單”主程序中無(wú)限循環(huán)部分)定時(shí)中斷輸出m序列我們選擇m序列的波特率為400Baud,而單片機(jī)晶振為12.0592MHz,所以定時(shí)器的計(jì)數(shù)量為pwm_time=11059200/12/400=2304。我們采用定時(shí)器T0作為m序列輸出定時(shí)器,工作于模式1(即16位定時(shí)器)。中斷服務(wù)程序如下:timer0()interrupt1using1//T0 中斷,發(fā)送 m序列{EA=0;TH0=vth0;TL0=vtl0;14實(shí)驗(yàn)4偽隨機(jī)序列產(chǎn)生及其特性研究TR0=1;pwm_out=pwm_status;sync=sync_sta;v=0;EA=1;}2.實(shí)驗(yàn)結(jié)果及 m序列性質(zhì)驗(yàn)證實(shí)驗(yàn)結(jié)果實(shí)驗(yàn)觀察到的 m序列為:n=3級(jí)m序列:1010011n=4級(jí)m序列:n=5級(jí)m序列:n=6級(jí)m序列:?n=7級(jí)m序列:?n=8級(jí)m序列:?序列性質(zhì)1.M序列的周期由表一可得生成的 M序列的周期 p 2n 1,如n=3時(shí),p=7;n=4時(shí),p=15??.M序列的游程由上表所得的M序列所得,當(dāng)n=4時(shí),共有2418個(gè)游程,分別為1111,0,1,0,11,00,1,000;其中長(zhǎng)度為4的游程有1個(gè)(1111),長(zhǎng)度為3的游程有1個(gè)(000),長(zhǎng)度為2的游程有2個(gè)(11,00),長(zhǎng)度為1的游程有4個(gè)(0,1,0,1)綜上長(zhǎng)度為1(k=1)的游程占了總游程數(shù)的一半(1/2),長(zhǎng)度為2(k=2)的游程占了113(n-1)的游程是連續(xù)0的游程(000),長(zhǎng)度為4(n)的游程為連續(xù)1的2*k,長(zhǎng)度為4游程(1111)。同理分析n=3,5,6,7,8時(shí)得到結(jié)論:m序列的一個(gè)周期(p=2n-1)中,游程總數(shù)為2n-1。其中長(zhǎng)度為1的游程個(gè)數(shù)占游程總數(shù)的1/2;長(zhǎng)度為2的游程個(gè)數(shù)占游程總數(shù)的1/22=1/4;長(zhǎng)度為3的游程個(gè)數(shù)占游程總數(shù)的1/23=1/8;??一般地,長(zhǎng)度為k的游程個(gè)數(shù)占游程總數(shù)的1/2k=2-k,其中1≤k≤(n-2)。而且,在長(zhǎng)度為k游程中,連1游程與連0游程各占一半,長(zhǎng)為(n-1)的游程是連0游程,長(zhǎng)為n的游程是連1游程。七、程序清單#include<absacc.h>#include<reg51.h>/*///////////////////////////////////////////////////*//*/ 常量定義 /*//*///////////////////////////////////////////////////*//*定時(shí)器初值 */#defineV_TH1 0xee /* ~5ms, !notice:crystal11.0592MHz*/15實(shí)驗(yàn)4偽隨機(jī)序列產(chǎn)生及其特性研究#defineV_TL10x00/*數(shù)碼管段驅(qū)動(dòng)寄存器地址 */#defineADDR_8SEG XBYTE[0x2000]/*數(shù)碼管位驅(qū)動(dòng)和指示燈驅(qū)動(dòng)寄存器地址 */#defineADDR_SEL XBYTE[0x4000]/*按鍵 */sbitKEY1= P1^0;sbitKEY2= P1^1;sbitKEY3= P1^2;sbitKEY4= P1^3;/*///////////////////////////////////////////////////*//*/ 變量定義 /*//*//////////////////////////////////////////////////*//*數(shù)碼管位驅(qū)動(dòng)和指示燈驅(qū)動(dòng)信號(hào)輸出緩存,定義了一個(gè)可位尋址的變量 */unsignedcharbdataoutput_sel;sbitled_1=output_sel^5;sbitled_2=output_sel^6;sbitled_3=output_sel^7;sbitled_4=output_sel^4;/*數(shù)碼管掃描驅(qū)動(dòng)指針,為測(cè)試外部存儲(chǔ)器( U36264),特使用xdata類型 */unsignedcharxdatadigi_scaner;/*測(cè)試用計(jì)數(shù)值十進(jìn)制表示,為測(cè)試外部存儲(chǔ)器( U36264),特使用xdata類型 */unsignedcharxdatadigi[4]={0,0,0,3};unsignedchartemp4;//按鍵消抖/*pwm控制的變量*/unsignedintpwm_time;unsignedcharvth0,vtl0;bitpwm_status;//信號(hào)bitsync_sta;//同步intpower;//2的乘方的結(jié)果,等于 2的n次方unsignedcharj;//用于for循環(huán)intprd;//period,由于序列周期的計(jì)數(shù)sbitpwm_out=P3^5;//m序列輸出16實(shí)驗(yàn)4偽隨機(jī)序列產(chǎn)生及其特性研究sbitsync=P3^4;//序列周期同步信號(hào)unsignedcharv=0;//發(fā)送完一位置零/*///////////////////////////////////////////////////*//*/ 函數(shù)定義 /*//*///////////////////////////////////////////////////*//****7 段數(shù)碼顯示譯碼參數(shù):DATA:需要顯示的數(shù)字或符號(hào);返回值: 7段譯碼結(jié)果 (D7~0=PGFEDCBA)*****/unsignedcharNUMTOSEG7(unsignedcharDATA){unsignedcharAA;switch(DATA){case0:AA=0xc0;break;/* ‘0’*/case1:AA=0xf9;break;/* ‘1’*/case2:AA=0xa4;break;/* ‘2’*/case3:AA=0xb0;break;/* ‘3’*/case4:AA=0x99;break;/* ‘4’*/case5:AA=0x92;break;/* ‘5’*/case6:AA=0x82;break;/* ‘6’*/case7:AA=0xf8;break;/* ‘7’*/case8:AA=0x80;break;/* ‘8’*/case9:AA=0x90;break;/* ‘9’*/case10:AA=0x88;break;/* ’*/‘Acase11:AA=0x83;break;/* ‘B’*/case12:AA=0xc6;break;/* ‘C’*/case13:AA=0xa1;break;/* ‘D’*/case14:AA=0x86;break;/* ‘E’*/case15:AA=0x8e;break;/* ‘F’*/case'-':AA=0xbf;break;/* 破折號(hào),此處原誤為 0xdf,系04級(jí)王資凱同學(xué)指正 */case'_':AA=0xf7;break;/* 下劃線*/case'':AA=0xff;break;/* 消隱*/default:AA=0xff;}return(AA);}/****T1 時(shí)鐘中斷服務(wù)程序 在本例中,每 5ms被執(zhí)行一次*****/17實(shí)驗(yàn)4偽隨機(jī)序列產(chǎn)生及其特性研究timer1()interrupt3using0{EA=0; /*關(guān)中斷*//*重新對(duì)計(jì)數(shù)器賦初值,并啟動(dòng)定時(shí)計(jì)數(shù) */TH1=V_TH1;TL1=V_TL1;TR1=1;EA=1;output_sel=0xf0;/*初值,令數(shù)碼管驅(qū)動(dòng)位無(wú)效,指示燈全滅 *//*按鍵4消抖和按鍵 4確認(rèn)的處理*/if(KEY4==0){led_4=0; temp4++;}if(temp4>20&&KEY4==1) {temp4=0;if(++digi[3]>8)digi[3]=3;power=1;prd=1;for(j=0;j<digi[3];j++){power*=2;}}/*數(shù)碼管掃描驅(qū)動(dòng)指針值從 1到4重復(fù)變換,每 5ms間隔對(duì)一個(gè)數(shù)碼管進(jìn)行驅(qū)動(dòng), 20ms一個(gè)輪回 */if(++digi_scaner>=5)digi_scaner=1;switch(digi_scaner){case1:/*驅(qū)動(dòng)第一個(gè)數(shù)碼管 */output_sel|=0x01;ADDR_8SEG=NUMTOSEG7(pwm_status);/* 輸出到鎖存器 U5(在電路圖中找) */break;case2:/*驅(qū)動(dòng)第二個(gè)數(shù)碼管 */output_sel|=0x02;ADDR_8SEG=0xff;/* 輸出到鎖存器 U5*/break;case3:/*驅(qū)動(dòng)第三個(gè)數(shù)碼管 */output_sel|=0x04;ADDR_8SEG=0xff;/* 輸出到鎖存器 U5*/break;case4:/*驅(qū)動(dòng)第四個(gè)數(shù)碼管 */output_sel|=0x08;ADDR_8SEG=NUMTOSEG7(digi[3]);/* 輸出到鎖存器 U5*/break;18實(shí)驗(yàn)4偽隨機(jī)序列產(chǎn)生及其特性研究}ADDR_SEL=output_sel; /*輸出到鎖存器 U6(在電路圖中找) */}timer0()interrupt1using1//T0 中斷,發(fā)送 m序列{EA=0;TH0=vth0;TL0=vtl0;TR0=1;pwm_out=pwm_status;sync=sync_sta;v=0;EA=1;}/**** 主程序*****/main(){intn;inti;intcount=0;inttemp;intyd[8]={1,0,1,0,1,0,1,0};/*單片機(jī)系統(tǒng)初始化 */P1=0XFF;P3=0XFF;/** 中斷工作寄存器初始化 **/IE=0X80;//EA=1IP=0;PT0=1;PT1=0;/** 定時(shí)器工作寄存器初始化 **/TMOD=0X11;//T0/1workas16btimerTCON=0;/*定時(shí)器1的寄存器初始化 */TH1=V_TH1;TL1=V_TL1;/** 全局變量賦初值 **/digi_scaner=1;//數(shù)碼管計(jì)數(shù)19實(shí)驗(yàn)4偽隨機(jī)序列產(chǎn)生及其特性研究pwm_time=2304;//機(jī)器周期數(shù),對(duì)應(yīng) 400Hzvth0=(0xffff-pwm_time)>>8;vtl0=(0xffff-pwm_time);prd=1;power=8;TH0=vth0;TL0=vtl0;/** 開(kāi)定時(shí)器,定時(shí)器 0中斷允許 **/TR0=1;TR1=1;ET0=1;ET1=1;output_sel=0xf0;temp4=0;/*主循環(huán),本例中,在 T1中斷服務(wù)程序未被執(zhí)行的空余時(shí)間里,處理機(jī)在以下程序中不斷循環(huán) */while(1){n=digi[3]-1;//隨機(jī)碼的級(jí)數(shù)-1if(n==2||n==3||n==5||n==6){if(v==0){if(prd==1){sync_sta=1;}else{sync_sta=0;}prd+=1;if(prd>=power){prd=1;}temp=(yd[0]+yd[n])%2;// 取最低位與修高位異或運(yùn)算for(i=0;i<n;i++){yd[i]=yd[i+1]; //其余數(shù)字全部向前移動(dòng)一位}yd[n]=temp;//新的數(shù)據(jù)加入隊(duì)列最末pwm_status=temp;//輸入剛得到的新數(shù)據(jù)v=1;}}elseif(n==4){20實(shí)驗(yàn)4偽隨機(jī)序列產(chǎn)生及其特性研究if(v==0){if(prd==1){sync

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論