![基于SYSTEMVIEW的直序擴(kuò)頻通信系統(tǒng)仿真_第1頁(yè)](http://file4.renrendoc.com/view/8016256b30baa2536050823904db1d7c/8016256b30baa2536050823904db1d7c1.gif)
![基于SYSTEMVIEW的直序擴(kuò)頻通信系統(tǒng)仿真_第2頁(yè)](http://file4.renrendoc.com/view/8016256b30baa2536050823904db1d7c/8016256b30baa2536050823904db1d7c2.gif)
![基于SYSTEMVIEW的直序擴(kuò)頻通信系統(tǒng)仿真_第3頁(yè)](http://file4.renrendoc.com/view/8016256b30baa2536050823904db1d7c/8016256b30baa2536050823904db1d7c3.gif)
![基于SYSTEMVIEW的直序擴(kuò)頻通信系統(tǒng)仿真_第4頁(yè)](http://file4.renrendoc.com/view/8016256b30baa2536050823904db1d7c/8016256b30baa2536050823904db1d7c4.gif)
![基于SYSTEMVIEW的直序擴(kuò)頻通信系統(tǒng)仿真_第5頁(yè)](http://file4.renrendoc.com/view/8016256b30baa2536050823904db1d7c/8016256b30baa2536050823904db1d7c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
IV
題目基于SystemView的直序擴(kuò)頻通信系統(tǒng)仿真
摘要
擴(kuò)頻通信系統(tǒng)與常規(guī)的通信系統(tǒng)相比,具有很強(qiáng)的抗干擾能力,如抗人為干擾、抗窄帶干擾、抗多徑干擾等,并具有信息隱蔽、多址保密通信等特點(diǎn),已從軍事應(yīng)用向民用通信應(yīng)用迅速發(fā)展。
利用SystemView軟件作為平臺(tái),對(duì)擴(kuò)頻通信中最典型的擴(kuò)頻工作方式———直接序列擴(kuò)頻系統(tǒng)(DSSS)進(jìn)行了仿真分析;通過時(shí)域波形對(duì)比發(fā)送端和接收終端兩個(gè)波形圖,可明顯觀察到,解擴(kuò)后的信號(hào)與輸入的原始信號(hào)波形基本一致,并注意到接收端有一些毛刺,這是由于時(shí)間脈沖信號(hào)的脈寬有誤差而造成的。通過對(duì)頻譜波形的分析可知,擴(kuò)頻系統(tǒng)抗噪聲能力很強(qiáng),當(dāng)不斷加大噪聲的幅度,達(dá)到系統(tǒng)的干擾門限時(shí),則不能準(zhǔn)確地恢復(fù)原始信息。結(jié)果證明隨著擴(kuò)頻增益的增大,系統(tǒng)的誤碼率越小,同時(shí)擴(kuò)頻系統(tǒng)性能的好壞很大程度上還取決于擴(kuò)頻碼的特性。
關(guān)鍵詞擴(kuò)頻通信仿真SystemView
TitleBasedonTheSystemViewDirectSequenceSpread
SpectrumCommunicationSystemSimulation
Abstrac
Thespreadspectrumcommunicationsystemandtheconventionalcommunicationsystem,haveverystrongcomparedtheanti-interferenceability,suchasHIVhumaninterference,fightnarrowbandinterference,fightmultipathinterference,etc,andhastheinformationhiding,multipleaddresssecretcommunicationandothercharacteristics,alreadyfrommilitaryapplicationtocivilcommunicationapplicationdevelopingrapidly.
UseSystemViewsoftwareplatformtospreadspectrumcommunication,asthemosttypicalspreadspectrumwork--waydirectsequencespreadspectrumsystem(DSSS)areanalyzed;Throughthetimedomainwaveformcontrastthesendingendandreceivingterminaltwowaveformfigure,canobviouslyobservedaftertheexpansion,solutionandtheinputsignaloftheoriginalsignalwaveform,andpayattentiontothesameatthereceivingendhassomeburr,thisisduetothetimepulsesignalpulsewidthiscausedbytheerror.Throughtheanalysisofthewaveformoffrequencyspectrum,itisknownthatspreadspectrumsystemanti-noiseabilityisverystrong,whenrisingoftheamplitude,achievesystemnoiseinterferencethreshold,itcan'taccuratelyrestoredtheoriginalmessage.Resultsshowthatwiththeincreaseofspreadspectrumgain,thesystemberissmaller,andspreadspectrumsystemtheperformancetoalargeextentdependsonthecharacteristicsofthecodeisspreadspectrum.
KeywordspreadspectrumcommunicationsimulationSystemView
目錄
20784
1.前言
1.前言
1.1選題背景、意義
擴(kuò)頻通信(spreadspectrumcommunication)是近幾年內(nèi)迅速發(fā)展起來的一種通信技術(shù)。在早期研究這種技術(shù)的主要目的是為提高軍事通信的保密和抗干擾的性能,因此這種技術(shù)的開發(fā)和應(yīng)用一直是處于保密狀態(tài)。美國(guó)在20世紀(jì)50年代中期,就開始了對(duì)擴(kuò)頻通信的研究,當(dāng)時(shí)主要側(cè)重在空間探測(cè)、衛(wèi)星偵察和軍用通信等方面。以后,隨著民用通信的頻帶擁擠日益嚴(yán)重,又由于近代微電子技術(shù)、信號(hào)處理技術(shù)、大規(guī)模集成電路和計(jì)算機(jī)技術(shù)的快速發(fā)展,與擴(kuò)頻通信有關(guān)的器件的成本大大地降低,從而進(jìn)一步推動(dòng)了擴(kuò)頻通信在民用領(lǐng)域的發(fā)展金額應(yīng)用,而且也使擴(kuò)頻通信的理論和技術(shù)也得到了進(jìn)一步的發(fā)展。1990年1月,國(guó)際無線電咨詢委員會(huì)(CCIR,現(xiàn)為ITUR)在研究未來民用陸地移動(dòng)通信系統(tǒng)的計(jì)劃報(bào)告中已明確地建議采用擴(kuò)頻通信技術(shù)。
從擴(kuò)頻技術(shù)的歷史可以看出,每一次技術(shù)上的大發(fā)展都是由巨大的需求驅(qū)動(dòng)的。軍事通信抗干擾的驅(qū)動(dòng)以及個(gè)人通信業(yè)務(wù)的驅(qū)動(dòng)使得擴(kuò)頻技術(shù)的抗干擾性能和碼分多址能力得到最大限度的挖掘。展望未來,第四代移動(dòng)通信系統(tǒng)(4G)的驅(qū)動(dòng)無疑會(huì)使擴(kuò)頻技術(shù)傳輸高速數(shù)據(jù)的能力得到更大的拓展。
擴(kuò)頻通信,即擴(kuò)展頻譜通信(SpreadSpectrumCommunication),它與光纖通信、衛(wèi)星通信,一同被譽(yù)為進(jìn)入信息時(shí)代的三大高技術(shù)通信傳輸方式。擴(kuò)頻通信是將待傳送的信息數(shù)據(jù)被偽隨機(jī)編碼(擴(kuò)頻序列:SpreadSequence)調(diào)制,實(shí)現(xiàn)頻譜擴(kuò)展后再傳輸;接收端則采用相同的編碼進(jìn)行解調(diào)及相關(guān)處理,恢復(fù)原始信息數(shù)據(jù)。這種通信方式與常規(guī)的窄道通信方式是有區(qū)別的:一是信息的頻譜擴(kuò)展后形成寬帶傳輸;二是相關(guān)處理后恢復(fù)成窄帶信息數(shù)據(jù)。
1.2國(guó)內(nèi)外現(xiàn)狀
擴(kuò)頻通信技術(shù)誕生得較早,從20世紀(jì)40年代起,人們就開始了對(duì)擴(kuò)頻技術(shù)的研究,其抗干擾性、抗竊聽、自50年代中期美國(guó)軍方開始研究,擴(kuò)頻通信技術(shù)一直為軍事通信所獨(dú)占,廣泛應(yīng)用于軍事通信、電子對(duì)抗以及導(dǎo)航、測(cè)量等各個(gè)領(lǐng)域。進(jìn)入20世紀(jì)60年代后,隨著科學(xué)技術(shù)的迅猛發(fā)展,許多新型器件的出現(xiàn),特別是大規(guī)模、超大規(guī)模集成電路、微處理器、數(shù)字信號(hào)處理(DSP)器件、擴(kuò)頻專用集成電路(ASIC)以及FPGA等這樣的新型器件的問世,使擴(kuò)頻通信技術(shù)有了重大的突破和發(fā)展。到本世紀(jì)80年代初擴(kuò)頻通信技術(shù)開始被應(yīng)用于民用通信領(lǐng)域。為了滿足目益增長(zhǎng)的民用通信容量的需求和有效地利用頻譜資源,各國(guó)都紛紛提出在數(shù)字峰窩移動(dòng)通信、衛(wèi)星移動(dòng)通信和未來的個(gè)人通信中采用擴(kuò)頻技術(shù),擴(kuò)頻技術(shù)已廣泛應(yīng)用于蜂窩電話、無繩電話、微波通信、無線數(shù)據(jù)通信、遙測(cè)、監(jiān)控、報(bào)警等系統(tǒng)中。
從國(guó)內(nèi)來看,近十多年來,出于民用通信特別是陸地移動(dòng)通信的迅速發(fā)展,擴(kuò)頻通信的研究也在不斷深入。各大高校及一些科研機(jī)構(gòu)都在進(jìn)行這方面的工作,如清華大學(xué)、天津大學(xué)、北京郵電大學(xué)、西安電子科技大學(xué)、南京郵電大學(xué)等都在積極地開展擴(kuò)頻通信系統(tǒng)的研究。
從國(guó)外來看,軍事通信技術(shù)的進(jìn)步和發(fā)展,軍工產(chǎn)品向民用產(chǎn)品的轉(zhuǎn)化,直接推動(dòng)了擴(kuò)頻通信理論、方法、技術(shù)等方面的研究發(fā)展和應(yīng)用普及。
抗測(cè)向等方面的能力早己被人們熟知。但由于擴(kuò)頻系統(tǒng)的設(shè)備復(fù)雜等多方面的原因,致使擴(kuò)頻通信技術(shù)一直都發(fā)展得較為緩慢。
2.直序擴(kuò)頻通信系統(tǒng)
2.1定義
直接序列擴(kuò)頻系統(tǒng)是將要發(fā)送的信息用偽隨機(jī)碼(PN碼)擴(kuò)展到一個(gè)很寬的頻帶上去,在接收端,用與發(fā)端擴(kuò)展用的相同的偽隨機(jī)碼對(duì)接收到的擴(kuò)頻信號(hào)進(jìn)行相關(guān)處理,恢復(fù)出發(fā)送的信息。
DSSS局域網(wǎng)可在很寬的頻率范圍內(nèi)進(jìn)行通信,支持1~2Mb/s數(shù)據(jù)速率,在發(fā)送和接收端都以窄帶方式進(jìn)行,而傳輸過程中則以寬帶方式通信。
擴(kuò)頻技術(shù)在具體實(shí)施時(shí)由多種方案,但思路相同:把索引(也稱為碼或序列)加入到通信信道,插入碼的方式正好定義了所討論的擴(kuò)頻技術(shù)。術(shù)語“擴(kuò)頻”指將信號(hào)帶寬擴(kuò)展幾個(gè)數(shù)量級(jí),在信道中加入索引即可實(shí)現(xiàn)擴(kuò)頻。
擴(kuò)頻技術(shù)更加精確的定義是:擴(kuò)頻是通過注入一個(gè)更高頻率的信號(hào)將基帶信號(hào)擴(kuò)展到一個(gè)更寬的頻帶內(nèi)的射頻通信系統(tǒng),即發(fā)射信號(hào)的能量被擴(kuò)展到一個(gè)更寬的頻帶內(nèi)使其看起來如同噪聲一樣。擴(kuò)展帶寬與初始信號(hào)之比稱為處理增益(dB),典型的擴(kuò)頻處理增益可以從10dB到60dB。
采用擴(kuò)頻技術(shù),在天線之前發(fā)射鏈路的某處簡(jiǎn)單的引入相應(yīng)的擴(kuò)頻碼,這個(gè)過程稱為擴(kuò)頻處理,結(jié)果將信息擴(kuò)散到一個(gè)更寬的頻帶內(nèi)。在接收鏈路中數(shù)據(jù)恢復(fù)之前移去擴(kuò)頻碼,稱為解擴(kuò)。解擴(kuò)是在信號(hào)的原始帶寬上重新構(gòu)建信息。顯然,在信息傳輸通路的兩端需要預(yù)先知道擴(kuò)頻碼。
2.2基本原理
擴(kuò)展頻譜通信(SpreadSpectrumCommunication)簡(jiǎn)稱擴(kuò)頻通信。擴(kuò)頻通信的基本特征是使用比發(fā)送的信息數(shù)據(jù)速率高許多倍的偽隨機(jī)碼把載有信息數(shù)據(jù)的基帶信號(hào)的頻譜進(jìn)行擴(kuò)展,形成寬帶的低功率譜密度的信號(hào)來發(fā)射。香農(nóng)(Shannon)在信息論的研究中得出了信道容量的公式:
C=Blog2(1+S/N)式(2-1)
這個(gè)公式指示出:如果信息傳輸速率C不變,則帶寬B和信噪比S/N是可以互換的,就是說增加帶寬就可以在較低的信噪比的情況下以相同的信息率來可靠的傳輸信息,甚至在信號(hào)被噪聲淹沒的情況下,只要相應(yīng)的增加信號(hào)帶寬,仍然保持可靠的通信,也就是可以用擴(kuò)頻方法以寬帶傳輸信息來?yè)Q取信噪比上的好處。
2.3擴(kuò)頻通信系統(tǒng)的主要特點(diǎn)
擴(kuò)頻通信技術(shù)在發(fā)端以擴(kuò)頻編碼進(jìn)行擴(kuò)頻調(diào)制,在收端以相關(guān)解調(diào)技術(shù)收信,這一過程使其具有諸多優(yōu)良特性:
(1)抗干擾性強(qiáng)
抗干擾是擴(kuò)頻通信主要特性之一,比如信號(hào)擴(kuò)頻寬度為100倍,窄帶干擾基本上不起作用,而寬帶干擾的強(qiáng)度降低了100倍,如要保持原干擾強(qiáng)度,則需加大100倍總功率,這實(shí)質(zhì)上是難以實(shí)現(xiàn)的。因信號(hào)接收需要擴(kuò)頻編碼進(jìn)行相關(guān)解擴(kuò)處理才能得到,所以即使以同類型信號(hào)進(jìn)行干擾,在不知道信號(hào)的擴(kuò)頻碼的情況下,由于不同擴(kuò)頻編碼之間的不同的相關(guān)性,干擾也不起作用。正因?yàn)閿U(kuò)頻技術(shù)抗干擾性強(qiáng),美國(guó)軍方在海灣戰(zhàn)爭(zhēng)等處廣泛采用擴(kuò)頻技術(shù)的無線網(wǎng)橋來連接分布在不同區(qū)域的計(jì)算機(jī)網(wǎng)絡(luò)。
表示擴(kuò)頻通信特性的一個(gè)重要參數(shù)是擴(kuò)頻增益G(SpreadingGain),其定義為擴(kuò)頻前的信號(hào)帶寬B1與擴(kuò)頻后的信號(hào)帶寬B2之比。G=B2/B1擴(kuò)頻通信中,接收端對(duì)接收到的信號(hào)做擴(kuò)頻解調(diào),只提取擴(kuò)頻編碼相關(guān)處理后帶寬為B1的信號(hào)成份,而排除了擴(kuò)展到寬帶B2中的干擾、噪聲和其他用戶通信的影響,相當(dāng)于把接收信噪比提高了G倍??紤]到輸出端的信噪比和接收系統(tǒng)損耗,可以認(rèn)為實(shí)際的擴(kuò)頻增益帶來的信噪比的改善為:M=G-輸出端信噪比一系統(tǒng)損耗公式中的M叫做抗干擾容限。
(2)隱蔽性強(qiáng)、干擾小
因信號(hào)在很寬的頻帶上被擴(kuò)展,則單位帶寬上的功率很小,即信號(hào)功率譜密度很低。信號(hào)淹沒在白噪聲之中,別人難于發(fā)現(xiàn)信號(hào)的存在,再加之不知擴(kuò)頻編碼,就更難拾取有用信號(hào)。而極低的功率譜密度,也很少對(duì)其他電訊設(shè)備構(gòu)成干擾。
(3)易于實(shí)現(xiàn)碼分多址
擴(kuò)頻通信占用寬帶頻譜資源通信,改善了抗干擾能力,由于擴(kuò)頻通信要用擴(kuò)頻編碼進(jìn)行擴(kuò)頻調(diào)制發(fā)送,而信號(hào)接收需要用相同的擴(kuò)頻編碼之間的相關(guān)解擴(kuò)才能得到,這就給頻率復(fù)用和多址通信提供了基礎(chǔ)。充分利用不同碼型的擴(kuò)頻編碼之間的相關(guān)特性,分配給不同用戶不同的擴(kuò)頻編碼,就可以區(qū)別不同的用戶的信號(hào),眾多用戶,只要配對(duì)使用自己的擴(kuò)頻編碼,就可以互不干擾地同時(shí)使用同一頻率通信,從而實(shí)現(xiàn)了頻率復(fù)用,使擁擠的頻譜得到充分利用。發(fā)送者可用不同的擴(kuò)頻編碼,分別向不同接收者發(fā)送數(shù)據(jù);同樣,接收者用不同的擴(kuò)頻編碼,就可以收到不同的發(fā)送者送來的數(shù)據(jù),實(shí)現(xiàn)了多址通信。
(4)抗多徑干擾
在無線通信中,抗多徑干擾問題一直是難以解決的問題,利用擴(kuò)頻編碼之間的相關(guān)特性;在接收端可以用相關(guān)技術(shù)從多徑信號(hào)中提取分離出最強(qiáng)的有用信號(hào),也可把多個(gè)路徑來的同一碼序列的波形相加使之得到加強(qiáng),從而達(dá)到有效的抗多徑干擾。
2.4擴(kuò)頻通信的方式
擴(kuò)頻系統(tǒng)包括下面幾種擴(kuò)頻方式:
1)直接序列擴(kuò)頻,記為DS(DirectSequence);
2)跳頻,記為FH(FrequencyHopping);
3)跳時(shí),記為TH(TimeHopping);
4)線性調(diào)頻,記為Chirp。
除了上面四種基本方式外,還有這些擴(kuò)頻方式的組合方式,如FH/DS,TH/DS,F(xiàn)H/TH等[6]。本論文主要是針對(duì)直接序列擴(kuò)頻系統(tǒng)干擾性能的研究,下面對(duì)其進(jìn)行簡(jiǎn)單介紹。
2.5偽隨機(jī)序列-m序列
在擴(kuò)頻系統(tǒng)中,信號(hào)的頻譜擴(kuò)展是通過擴(kuò)頻碼實(shí)現(xiàn)的,擴(kuò)頻碼對(duì)整個(gè)系統(tǒng)的性能起著決定性的作用。系統(tǒng)的抗干擾、抗噪聲、抗衰落、抗截獲、信息的隱蔽和保密、多址通信以及實(shí)現(xiàn)同步與捕獲等都是與擴(kuò)頻碼的設(shè)計(jì)密切相關(guān)的[8]。能滿足上述要求的擴(kuò)頻編碼應(yīng)具有如下理想特性:
1)偽隨機(jī)碼應(yīng)必需具有尖銳的自相關(guān)函數(shù),而互相關(guān)函數(shù)應(yīng)接近于零;
2)具有足夠長(zhǎng)的碼周期,以確??箓善啤⒖垢蓴_的要求;
3)有足夠多的獨(dú)立地址數(shù),以實(shí)現(xiàn)碼分多址的要求;
4)工程上易于產(chǎn)生、加工、復(fù)制和控制。
理論上白噪聲具有瞬時(shí)值服從正態(tài)分布,功率譜在很寬頻帶內(nèi)都是均勻的。它具有優(yōu)良的相關(guān)特性,但是至今無法實(shí)現(xiàn)對(duì)白噪聲放大、調(diào)制、檢測(cè)、同步及控制等。因此,我們必需選用類似于帶限白噪聲統(tǒng)計(jì)特性的偽隨機(jī)碼信號(hào)來逼近它,并用做擴(kuò)頻系統(tǒng)的擴(kuò)頻碼。m序列是最長(zhǎng)線性移位寄存器序列,是偽隨機(jī)序列中最重要的一種。這種序列易于產(chǎn)生,有優(yōu)良的自相關(guān)特性[9-12]。它的產(chǎn)生是由移位寄存器加反饋形成的,其結(jié)構(gòu)如圖2-1所示。
圖2-1反饋移位寄存器結(jié)構(gòu)
A.m序列的性質(zhì)
主要有以下幾點(diǎn):
1)序列的平衡性:m序列一個(gè)周期中“1”的個(gè)數(shù)比“0”多1,且1的個(gè)數(shù)為2n-1,0的個(gè)數(shù)為2n-1-1。
2)移位可加性:某個(gè)m序列同相移為任意值的同一m序列的模2和是另一相移的m序列。
3)在周期為p=2-1的m序列中,總共有2個(gè)游程,有一個(gè)長(zhǎng)度為n的1游程,一個(gè)長(zhǎng)度為n-1的0游程。
B.m序列信號(hào)的產(chǎn)生
1)序列多項(xiàng)式與特征多項(xiàng)式
設(shè)線性移位寄存器產(chǎn)生的序列為
{a}=a,a,a,…
定義以二元有限域的元素a(n=0,1,2,…)為系數(shù)多項(xiàng)式叫序列多項(xiàng)式。
G(x)=a+ax+a2x2+…=(模2加)式(2-1)
式中a取0,1兩個(gè)值,符號(hào)x的冪次表示序列元素的位置。
若r級(jí)線性移位寄存器的初始狀態(tài)為
a,a,…,a
且滿足線性反饋邏輯
a=ca+ca+…+ca(模2加)式(2-2)
可得序列多項(xiàng)式G(x)與反饋邏輯函數(shù)關(guān)系:
G(x)=式(2-3)
如果把模2加法器反饋到第一級(jí)的連線c=1考慮進(jìn)去,式2-12的分母就是反饋邏輯。令
F(x)=1+=式(2-4)
為特征多項(xiàng)式。因c=1,所以上式變?yōu)?/p>
G(x)=1/F(x)式(2-5)
上式說明序列多項(xiàng)式是特征多項(xiàng)式的倒數(shù)。知道了特征多項(xiàng)式,通過長(zhǎng)除就可以求出G(x).
2)本原多項(xiàng)式
設(shè)F(x)=,c=1,c=1是F域上的特征多項(xiàng)式,以G(F)代表由特征多項(xiàng)式所產(chǎn)生的所有非零序列的集合。于是G(F)中之非零序列均為m序列的充要條件是F(x)為F上的本原多項(xiàng)式。
所謂本原多項(xiàng)式是指F(x)是不可約的,F(xiàn)(x)可整除1+x,p=2-1,F(xiàn)(x)除不盡1+x,q<p.
在實(shí)際應(yīng)用時(shí),常常是根據(jù)需要確定所要求的碼長(zhǎng),有p=2-1確定移位寄存器的級(jí)數(shù)r,查本原多項(xiàng)式表,確定F(x),由F(x)就可以決定線性移位寄存器的反饋連線。
2.6直接序列擴(kuò)頻通信系統(tǒng)
直接序列擴(kuò)頻系統(tǒng)是將要發(fā)送的信息用偽隨機(jī)(PN)序列擴(kuò)展到一個(gè)很寬的頻帶上去,在接收端,用與發(fā)端擴(kuò)展相同的偽隨機(jī)序列對(duì)接收到的擴(kuò)頻信號(hào)進(jìn)行相關(guān)處理,恢復(fù)出原來的信息[7]。圖2-2是直擴(kuò)系統(tǒng)的組成原理框圖。
圖2-2直擴(kuò)系統(tǒng)組成框圖
由信源輸出的信號(hào)。a(t)是碼元持續(xù)時(shí)間為Ta的信息流,偽隨機(jī)碼產(chǎn)生器產(chǎn)生的偽隨機(jī)碼為。c(t)每一偽隨機(jī)碼碼元寬度或切普(chip)寬度為Tc。將信息碼a(t)和c(t)進(jìn)行模2加,產(chǎn)生一速率與偽隨機(jī)碼速率相同的擴(kuò)頻序列,然后再用擴(kuò)頻序列去調(diào)制載波,這樣就得到已擴(kuò)頻調(diào)制的射頻信號(hào)。
在接收端,接收到的擴(kuò)頻信號(hào)經(jīng)高放和混頻后,用與發(fā)端同步的偽隨機(jī)序列對(duì)中頻的擴(kuò)頻調(diào)制信號(hào)進(jìn)行相關(guān)解擴(kuò),將信號(hào)的頻帶恢復(fù)為信息序列a(t)的頻帶,即為中頻調(diào)制信號(hào),然后再進(jìn)行解調(diào),恢復(fù)出所傳輸?shù)男畔(t),從而完成信息的傳輸。對(duì)于千擾和噪聲,由于和偽隨機(jī)序列不相關(guān),在相關(guān)解擴(kuò)器的作用下,相當(dāng)于進(jìn)行了一次擴(kuò)頻。從而千擾和噪聲的頻譜被擴(kuò)展,其譜密度降低,這樣就大大降低了進(jìn)入信號(hào)通頻帶內(nèi)的干擾功率,使調(diào)制解調(diào)器的輸入信噪比和信干比提高,提高系統(tǒng)的抗千擾能力。
直接序列擴(kuò)頻系統(tǒng)簡(jiǎn)稱直接擴(kuò)頻(DSS)系統(tǒng)或叫直接序列(DS)系統(tǒng),是目前使用最多,最典型的擴(kuò)頻工作方式,直擴(kuò)方式是在發(fā)端直接用具有高碼率的擴(kuò)頻編碼去擴(kuò)展信號(hào)的頻譜,而在收端用相同的擴(kuò)頻編碼進(jìn)行解擴(kuò)使擴(kuò)頻信號(hào)還原為原始信號(hào)。直接序列系統(tǒng)中用的編碼序列通常是偽隨機(jī)序列或叫偽噪聲(PN)碼。要傳送的信息經(jīng)數(shù)字化后變成二元數(shù)字序列,它和偽隨機(jī)序列模二相加后變成復(fù)合碼去調(diào)制載波。在直接序列系統(tǒng)中通常對(duì)載波進(jìn)行相依鍵控調(diào)制。當(dāng)擴(kuò)頻調(diào)制后由天線發(fā)射出去。在接收機(jī)中要有一個(gè)和發(fā)射機(jī)中的偽隨機(jī)碼同步的本地碼,對(duì)接收信號(hào)進(jìn)行解擴(kuò),解擴(kuò)后的信號(hào)送到解調(diào)器取出傳送的信息。
2.7直接序列擴(kuò)頻通信系統(tǒng)性能的分析
2.7.1抗干擾能力
直接擴(kuò)頻通信系統(tǒng)具有較強(qiáng)的抗干擾能力,通常工作在強(qiáng)干擾環(huán)境,這些干擾可分為自然干擾和人為干擾。自然干擾主要有多路徑干擾、雨雪干擾、信道衰落和多用戶干擾等。接收機(jī)內(nèi)部噪聲也歸于自然干擾。人為干擾是敵方故意施放的干擾,例如部分頻帶干擾、脈沖干擾、單頻連續(xù)波干擾等。
比較常見的是噪聲干擾,可以用高斯白噪聲作為其模型,其功率譜密度覆蓋擴(kuò)頻系統(tǒng)頻帶。本小節(jié)只討論這種情況。接收信號(hào)u(t)為:
u(t)=Ad(t)pn(t)cosω0t+n(t)式(2-6)
設(shè)n(t)是獨(dú)立的、0均值帶限f平穩(wěn)隨機(jī)過程,功率譜密度為S(f),噪聲功率為:
E(|n(t)|)==P式(2-7)
在系統(tǒng)同步后,基帶濾波器濾除ω0及以上的高頻分量,噪聲輸出成分為:
N(t)=式(2-8)
其中h(t)為基帶濾波器的傳輸函數(shù)。
由于擴(kuò)頻碼pn(t)和噪聲n(t)相互獨(dú)立,n(t)為0均值的隨機(jī)過程,所以噪聲輸出成分的均值為0。
而噪聲輸出成分的方差,即噪聲輸出成分的平均功率為:
=式(2-9)
式中,R(β-α)=E[n(α)n(β)],是噪聲的自相關(guān)函數(shù),等于它的功率譜密度S(f)的付氏變換。而Rpn=EPn(t-α)Pn(t-β],是擴(kuò)頻編碼的自相關(guān)函數(shù),為擴(kuò)頻編碼功率譜密度S(f)付氏變換。
=式(2-10)
這里,H(f)是理想基帶濾波器的頻率特性,h(t)付氏變換。因此,|H(f)|在基帶濾波器的通帶(-f,f)內(nèi)為1,其他頻帶范圍均為0。f為基帶信息的速率,這樣:
=式(2-11)
我們定義反映擴(kuò)頻通信特征的重要參數(shù)-擴(kuò)頻增益G,在擴(kuò)頻通信中,接收機(jī)作解擴(kuò)解調(diào)后,只提取偽隨機(jī)編碼相關(guān)處理后的帶寬為B1的信號(hào)成分,而排除掉擴(kuò)展到寬頻帶B2中的外部干擾、噪聲等其他影響。擴(kuò)頻增益G準(zhǔn)確反映了擴(kuò)頻通信的這種能力。所以根據(jù)G的定義,系統(tǒng)噪聲輸出功率可表示為:
PP=P/G式(2-12)
由上式可知,噪聲輸出功率與擴(kuò)頻增益成反比。因此系統(tǒng)擴(kuò)頻增益越大,對(duì)噪聲干擾的抑制能力越強(qiáng)。
對(duì)于式2-7,擴(kuò)頻碼pn(t)對(duì)噪聲n(t)在頻域上做卷積,實(shí)際上是擴(kuò)頻碼對(duì)基帶噪聲干擾作頻譜擴(kuò)展,擴(kuò)展后的噪聲功率譜密度既然明顯降低,為原譜密度的1/G,而能經(jīng)基帶濾波器輸出的噪聲功率也就僅為原噪聲功率的1/G,實(shí)現(xiàn)了對(duì)噪聲干擾的抑制,體現(xiàn)了擴(kuò)頻通信系統(tǒng)的抗干擾能力。
需要指出的是,上述結(jié)果是在噪聲干擾為基帶B1的廣義平穩(wěn)隨機(jī)過程,即噪聲功率譜分布在(-f,f)內(nèi)的情況下得出的??梢宰C明,當(dāng)噪聲帶寬非常寬時(shí),擴(kuò)頻通信系統(tǒng)對(duì)噪聲功率不再有明顯的抑制能力。因此,擴(kuò)頻通信系統(tǒng)對(duì)象熱噪聲這樣的帶寬無限寬的干擾是無能為力的。
2.7.2信噪比和誤碼率
信噪比和誤碼率是數(shù)據(jù)通信最重要的性能指標(biāo),它充分反映了數(shù)據(jù)通信的抗噪聲能力和傳輸數(shù)據(jù)的準(zhǔn)確性,這里開始分析直接擴(kuò)頻系統(tǒng)的信噪比和誤碼率?;鶐V波器是0->T的積分器和在T時(shí)刻的門限判決,載波信號(hào)和本地載波信號(hào)幅值在這里都用來表示,P是信號(hào)功率,T時(shí)刻為判決時(shí)刻。擴(kuò)頻通信系統(tǒng)的發(fā)射信號(hào):
S(t)=d(t)pn(t)cosω0t式(2-13)
忽略傳輸時(shí)延和衰減,其接收信號(hào)為:
u(t)=S(t)+n(t)式(2-14)
這里,n(t)是0均值的高斯白噪聲,在擴(kuò)頻通信的整個(gè)頻帶上有N/2的雙邊功率譜密度。在系統(tǒng)收發(fā)兩端已完全同步的情況下,并且積分器在積分期間,d(t)是不變的,要么是+1,要么是-1,仍用d表示,那么經(jīng)解調(diào)后的接收信號(hào)送往積分器輸出為:
v(t)=PT*d+式(2-15)
式中第一項(xiàng)是有用信號(hào),PT為在信息數(shù)據(jù)脈寬T內(nèi)的信號(hào)能量,d是信息數(shù)據(jù)的正、負(fù)狀態(tài),即發(fā)送來的信息數(shù)據(jù)。式中第二項(xiàng)為噪聲,在T時(shí)刻積分器的噪聲輸出為:
n(T)=式(2-16)
它的準(zhǔn)確積分結(jié)果很難給出,但n(t)是與pn(t)獨(dú)立的0均值高斯白噪聲,因此n(T)的統(tǒng)計(jì)特性為:
均值:E[n(T)]=0式(2-17)
方差:=式(2-18)
式中R(0)是噪聲自相關(guān),對(duì)N/2的雙邊功率譜密度的白噪聲,則R(0)=N/2。R(0)是擴(kuò)頻碼的自相關(guān),R(0)=1,R(0)是信號(hào)功率為P的載波自相關(guān),有R(0)=P。
作為通信技術(shù)標(biāo)準(zhǔn)參量的信噪比,是有用信號(hào)功率與噪聲功率之比。對(duì)隨機(jī)變量檢測(cè)的場(chǎng)合,信噪比也是該隨機(jī)變量的均值的平方與它的方差之比。因此,擴(kuò)頻通信系統(tǒng)的接收機(jī)對(duì)發(fā)送來的擴(kuò)頻信號(hào)作相關(guān)解調(diào)處理時(shí),當(dāng)與發(fā)送來的信號(hào)的擴(kuò)頻碼完全同步的情況下,積分器輸出的有用信號(hào)功率為(PT*d)=(PT),這也就是把v(t)作為隨機(jī)變量時(shí),它的均值的平方。積分器輸出的噪聲信號(hào)功率為,即v(t)的方差。因此,擴(kuò)頻通信的輸出信噪比為:
==式(2-19)
式中,P為接收的有用信號(hào)功率,T為信息數(shù)據(jù)脈碼寬度,PT=E為1bit信息數(shù)據(jù)的信號(hào)能量。
由于信道和接收機(jī)中的高斯白噪聲和通常來自信到外部的窄帶隨機(jī)過程是完全獨(dú)立的,在這兩種噪聲干擾存在的情況下,擴(kuò)頻通信的輸出信噪比為:
==
=式(2-20)
那么此時(shí),誤碼率為:
P=erfc式(2-21)
P
10
10
10
10
-1001020
圖2-3擴(kuò)頻通信系統(tǒng)誤碼率特性曲線
3.SystemView簡(jiǎn)介
通信技術(shù)的發(fā)展日新月異,通信系統(tǒng)也日趨復(fù)雜,因此,在通信系統(tǒng)的設(shè)計(jì)開發(fā)過程中,在進(jìn)行實(shí)際硬件系統(tǒng)試驗(yàn)之前,軟件仿真己成為必不可少的一部分。目前,電子設(shè)計(jì)自動(dòng)化EDA(ElectronicDesignAutomatic)技術(shù)已經(jīng)成為電子設(shè)計(jì)的潮流。為了使繁雜的電子設(shè)計(jì)過程更加便捷,出現(xiàn)了許多針對(duì)不同層次應(yīng)用的EDA軟件。美國(guó)Elanix公司推出的基于PC機(jī)Windwos平臺(tái)的SystemView動(dòng)態(tài)系統(tǒng)仿真軟件,是其中一個(gè)非常優(yōu)秀的EDA軟件。
3.1SystemView軟件介紹
SystemView是一個(gè)信號(hào)級(jí)的系統(tǒng)仿真軟件,主要用于電路與通信系統(tǒng)的設(shè)計(jì)、仿真,是一個(gè)強(qiáng)有力的動(dòng)態(tài)系統(tǒng)分析工具,能滿足從數(shù)字信號(hào)處理、濾波器設(shè)計(jì)、直到復(fù)雜的通信系統(tǒng)等不同層次的設(shè)計(jì)、仿真要求。SystemView以模塊化和交互式的界面,在大家熟悉的Windows窗口環(huán)境下,為用戶提供了一個(gè)嵌入式的分析引擎。使用SystemView你只需要關(guān)心項(xiàng)目的設(shè)計(jì)思想和過程,而不必花費(fèi)大量的時(shí)間去編程建立系統(tǒng)仿真模型。用戶只需使用鼠標(biāo)器點(diǎn)擊圖標(biāo)即可完成復(fù)雜系統(tǒng)的建模、設(shè)計(jì)和測(cè)試,而不會(huì)花費(fèi)過多的時(shí)間和精力通過編程來建立系統(tǒng)的仿真模型,也不必?fù)?dān)心程序中是否存在編程錯(cuò)誤.
SystemView是一個(gè)完整的動(dòng)態(tài)系統(tǒng)設(shè)計(jì)、分析和仿真的可視化開發(fā)環(huán)境它可以構(gòu)造各種復(fù)雜的模擬、數(shù)字、數(shù)模混合及多速率系統(tǒng),可用于各種線性、非線性控制系統(tǒng)的設(shè)計(jì)和仿真。尤具特色的是,它可以很方便地進(jìn)行各種濾波器的設(shè)計(jì)。系統(tǒng)備有通信、邏輯、數(shù)字信號(hào)處理(DSP)、射頻/模擬、碼分多址個(gè)人通信系統(tǒng)(CDMA/PCS)、數(shù)字視頻廣播(DVB)系統(tǒng)、自適應(yīng)濾波器、第三代無線移動(dòng)通信系統(tǒng)等專業(yè)庫(kù)可供選擇,適合于各種專業(yè)設(shè)計(jì)人員。該系統(tǒng)支持外部數(shù)據(jù)的輸入和輸出,支持用戶自己編寫代碼(C/C++),兼容Matlab軟件。同時(shí),提供了與硬件設(shè)計(jì)工具的接口,支持Xilinx公司的FPGA芯片和TI公司的DSP芯片,它已大量地應(yīng)用于現(xiàn)代數(shù)字信號(hào)處理、通信系統(tǒng)及控制系統(tǒng)設(shè)計(jì)與仿真等領(lǐng)域。
3.2SystemView主要特點(diǎn)
SystemView仿真軟件相對(duì)于其它軟件來說,具有如下主要優(yōu)點(diǎn):
(1)能仿真大量的應(yīng)用系統(tǒng)。能在DSP、通訊和控制系統(tǒng)應(yīng)用中構(gòu)造復(fù)雜的模擬、數(shù)字、混合和多速率系統(tǒng)。具有大量可選擇的庫(kù),允許用戶有選擇地增加通訊、邏輯、DSP和射頻/模擬功能模塊。特別適合無線電話(GSM、CDMA、FDMA、TDMA、DSSS)、無繩電話、尋呼機(jī)和調(diào)制解調(diào)器以及衛(wèi)星通信系統(tǒng)(GPS、DVBS、LEOS)等的設(shè)計(jì);能夠仿真DSP結(jié)構(gòu);各種系統(tǒng)時(shí)域/頻域分析和譜分析;對(duì)射頻/模擬電路(混合器,放大器,RLC電路和運(yùn)放電路)進(jìn)行理論分析和失真分析。
(2)快速方便的動(dòng)態(tài)系統(tǒng)設(shè)計(jì)與仿真。使用熟悉的Windows界面和功能鍵,SystemView可以快速建立和修改系統(tǒng),并在對(duì)話框內(nèi)快速訪問和調(diào)整參數(shù),實(shí)時(shí)修改實(shí)時(shí)顯示。不用寫一行代碼即可建立用戶習(xí)慣的子系統(tǒng)庫(kù)(MetaSystem)。SystemView圖標(biāo)庫(kù)包括幾百種信號(hào)源、接收端、操作符和功能塊。信號(hào)源和接收端圖標(biāo)允許在SystemView內(nèi)部生成和分析信號(hào),并提供可外部處理的各種文件格式和輸入/輸出數(shù)據(jù)接口。
(3)在報(bào)告中方便地加入SystemView的結(jié)論。SystemView通過Notes(注解)很容易在屏幕上描述系統(tǒng);生成的SystemView系統(tǒng)和輸出的波形圖可以很方便地使用復(fù)制和粘貼命令插入word等文字處理器。
(4)提供基于組織結(jié)構(gòu)圖方式的設(shè)計(jì)。通過利用SystemView中的圖符和MetaSystem(子系統(tǒng))對(duì)象的無限制分層結(jié)構(gòu)功能,SystemView能很容易地建立復(fù)雜的系統(tǒng)。首先可以定義一些簡(jiǎn)單的功能組,再通過對(duì)這些簡(jiǎn)單功能組的連接進(jìn)而實(shí)現(xiàn)一個(gè)大系統(tǒng)。這樣,單一的圖符就可以代表一個(gè)復(fù)雜系統(tǒng)。MetaSystem的連接使用也與系統(tǒng)提供的其他圖符同樣簡(jiǎn)單,它可以在另一窗口中單獨(dú)顯示,也可以展開到主窗口中。
(5)多速率系統(tǒng)和并行系統(tǒng)。SystemView允許合并多種數(shù)據(jù)采樣率輸入的系統(tǒng),以簡(jiǎn)化FIR濾波器的執(zhí)行。這種特性尤其適合于同時(shí)具有低頻和高頻部分的通信系統(tǒng)的設(shè)計(jì)與仿真,有利于提高整個(gè)系統(tǒng)的仿真速度,而在局部又不會(huì)降低仿真的精度。同時(shí)還可降低對(duì)計(jì)算機(jī)硬件配置的要求。
(6)完備的濾波器和線性系統(tǒng)設(shè)計(jì)。SystemView包含一個(gè)功能強(qiáng)大的、很容易使用的圖形模板設(shè)計(jì)模擬和數(shù)字以及離散和連續(xù)時(shí)間系統(tǒng)的環(huán)境,包含大量的FIR濾波類型和FFT類型,并提供易于用DSP實(shí)現(xiàn)濾波器或線性系統(tǒng)的參數(shù)。
(7)先進(jìn)的信號(hào)分析和數(shù)據(jù)塊處理。SystemView提供的分析窗口是一個(gè)能夠提供系統(tǒng)波形詳細(xì)檢查的交互式可視環(huán)境。分析窗口還提供一個(gè)能對(duì)仿真生成數(shù)據(jù)進(jìn)行先進(jìn)的塊處理操作的接收計(jì)算器。SystemView還提供了一個(gè)真實(shí)而靈活的窗口用以檢查系統(tǒng)波形。
(8)可擴(kuò)展性。SystemView允許用戶插入自己用C/C++寫的用戶代碼庫(kù),插入的用戶庫(kù)自動(dòng)集成到SystemView中,如同系統(tǒng)內(nèi)建的庫(kù)一樣使用。同時(shí),它兼容Matlab可以與Matlab進(jìn)行數(shù)據(jù)交換。
(9)完善的自我診斷功能。SystemView能自動(dòng)執(zhí)行系統(tǒng)連接檢查,通知用戶連接出錯(cuò)并通過顯示指出出錯(cuò)的圖符。這個(gè)特點(diǎn)對(duì)用戶系統(tǒng)的診斷是十分有效。
4.直擴(kuò)系統(tǒng)SystemView仿真
4.1直擴(kuò)系統(tǒng)的原理框圖
直接序列調(diào)制就是載波直接被偽隨機(jī)碼序列調(diào)制。在發(fā)射機(jī)端,要傳送的信息先轉(zhuǎn)換成二進(jìn)制數(shù)據(jù)或符號(hào),與偽隨機(jī)碼(PN碼)進(jìn)行模2和運(yùn)算后形成復(fù)合碼,再用該復(fù)合碼去直接調(diào)制載波。在接收機(jī)端,用與發(fā)射機(jī)端完全同步的PN碼對(duì)接收信號(hào)進(jìn)行解擴(kuò)后經(jīng)解調(diào)器還原輸出原始數(shù)據(jù)信息。調(diào)制方式可以是調(diào)幅、調(diào)頻、調(diào)相和其他任何形式的振幅或角度調(diào)制。因PSK性能最佳,現(xiàn)代DS-SS中載波調(diào)制一般都采用BPSK或DPSK。其基本原理如圖2-1所示。
(b)接收機(jī)
模2和加法器
PN碼
發(fā)生器
功率
放大器
載波
發(fā)生器
調(diào)制器
調(diào)制器
調(diào)制器
(a)發(fā)射機(jī)
混頻器
調(diào)頻器
調(diào)解調(diào)器
數(shù)據(jù)輸出
本振
中放
時(shí)鐘
PN碼
發(fā)生器
同步
圖4-1直序擴(kuò)頻系統(tǒng)原理圖
直序擴(kuò)頻通信系統(tǒng)仿真(無噪聲情況)
4.2.1系統(tǒng)模塊及主要模塊參數(shù)
Systemview是一個(gè)信號(hào)級(jí)的系統(tǒng)仿真軟件,主要用于電路與通信系統(tǒng)的設(shè)計(jì)和仿真,是一個(gè)強(qiáng)有力的動(dòng)態(tài)系統(tǒng)分析工具,能滿足從數(shù)字信號(hào)處理,濾波器設(shè)計(jì),到復(fù)雜的通信系統(tǒng)等不同層次的設(shè)計(jì)仿真要求。利用Systemview建立的直擴(kuò)系統(tǒng)的仿真原理圖,如4-2-1圖所示。
圖4-2直擴(kuò)系統(tǒng)仿真原理圖
為了對(duì)擴(kuò)頻通信有一個(gè)初步認(rèn)識(shí),直接序列擴(kuò)頻系統(tǒng)為例來進(jìn)行仿真,并進(jìn)一步說明擴(kuò)頻通信的優(yōu)點(diǎn)。直接序列擴(kuò)頻是目前應(yīng)用最廣的一種擴(kuò)頻技術(shù),圖4-2-2是直序擴(kuò)頻系統(tǒng)的仿真模型圖。
作為一個(gè)仿真來說明直序擴(kuò)頻在抗干擾方面的優(yōu)越性,所以直接采用了簡(jiǎn)單而直接的方式來構(gòu)造模型。數(shù)據(jù)信號(hào)源使用了一個(gè)低頻率(1KHz)的隨機(jī)序列(圖符0),通過一個(gè)1kHz的低通濾波器(圖符3)來代替。擴(kuò)頻用的PN碼采用10kHz的PN碼(圖符2),這樣,理論上可獲得10倍的擴(kuò)頻增益。擴(kuò)頻調(diào)制在本例中未使用通常的模2和加法運(yùn)算,而是通過乘法直接用PN碼調(diào)制數(shù)據(jù)信號(hào),合成后的擴(kuò)頻復(fù)合信號(hào)同樣也是直接用更高的載波(圖符12,100kHz)調(diào)制發(fā)射。為了觀察擴(kuò)頻系統(tǒng)的抗干擾性能,使用了一個(gè)干擾信號(hào)源。該干擾信號(hào)可以是單頻率窄帶干擾,也可以是寬帶的掃頻信號(hào),或是高斯噪聲。接收端,通過本地載波解調(diào)后的復(fù)合信號(hào)直接原擴(kuò)頻PN碼相乘后解擴(kuò),中間省略了有關(guān)本地PN發(fā)生器和相關(guān)的碼同步電路。因?yàn)橹苯邮褂迷璓N碼,所以理論上可認(rèn)為收發(fā)2端完全同步。需要說明的是,實(shí)際工程中的碼同步是一個(gè)十分復(fù)雜的問題,其復(fù)雜程度以及在此問題上付出的代價(jià)往往比擴(kuò)頻本身要多得多。
圖4-3直序擴(kuò)頻系統(tǒng)的仿真模型圖
部分主要參數(shù)設(shè)置:
采樣點(diǎn):16384個(gè),采樣頻率:1000MHz
Token0:基帶信號(hào)-PN碼序列(頻率=1KHz,電平=2Level,振幅=1V,偏移=0V)
Token1:乘法器
Token2:基帶信號(hào)—PN碼序列(頻率=10KHz,電平=2Level,振幅=1V,偏移=0V)
Token3:模擬低通濾波器(頻率=1000Hz,極點(diǎn)個(gè)數(shù)=3)
Token4:觀察窗
Token5:觀察窗
Token7:乘法器
Token8:掃頻信號(hào)(幅度=1.5V,開始頻率=90KHz,終值頻率120KHz,掃頻周期0.015s)
Token9:觀察窗
Token10:模擬低通濾波器(頻率=1000Hz,極點(diǎn)個(gè)數(shù)=3)
Token11:乘法器
Token12:正弦波(幅度=1V,頻率=100KHz,相位=0)
Token13:正弦波(幅度=1V,頻率=100KHz,相位=0)
Token14:乘法器
4.2.1主要輸出點(diǎn)波形
根據(jù)以上仿真模型,在設(shè)置好系統(tǒng)、模塊參數(shù)后運(yùn)行電路,借助SystemView分析視窗和接收計(jì)算器可直接給出各點(diǎn)信號(hào)的時(shí)域波形、功率譜等,并分析系統(tǒng)的抗噪聲能力。
調(diào)制以前的信號(hào)與調(diào)制以后波形信號(hào)比較:
圖4-4調(diào)制前后信號(hào)
如上圖所示,上面的波形為調(diào)制前即擴(kuò)頻后的信號(hào),下面的波形為解調(diào)后即解擴(kuò)前的信號(hào)。
2.調(diào)制后的信號(hào)功率譜密度。
圖4-5調(diào)制后信號(hào)功率譜密度
發(fā)送波形、低通濾波輸出波形、接收波形比較
圖4-6發(fā)送波形、接收波形、低通濾波器輸出波形
如上圖所示,第一個(gè)波形為發(fā)送信號(hào)(sink5),第二個(gè)波形為恢復(fù)出的信號(hào)(sink9),第三個(gè)波形為接收端低通濾波器輸出信號(hào)(sink19)。恢復(fù)出的信號(hào)和發(fā)送信號(hào)有一段時(shí)延。
4.3直接擴(kuò)頻通信系統(tǒng)抗干擾性分析
4.3.1加入高斯白噪聲后系統(tǒng)模型
圖4-7直接擴(kuò)頻通信系統(tǒng)(加入白噪聲后)
如上圖所示,(Token21)為高斯白噪聲,(Token24和26)是計(jì)算誤碼率的模塊。當(dāng)發(fā)送信息碼元和接收到的信息碼元對(duì)齊時(shí),(Token24)模塊統(tǒng)計(jì)在設(shè)定的時(shí)間內(nèi)的錯(cuò)誤的比特?cái)?shù)和總比特?cái)?shù)的比率,(Token24和26)模塊把所計(jì)算的誤碼率顯示出來。其他模塊與圖4-3對(duì)應(yīng)模塊相同。
4.3.2系統(tǒng)誤碼率的理論值與測(cè)量值的比較
直接擴(kuò)頻系統(tǒng)在高斯白噪聲的情況下的誤碼率為P=Q=Q,其中為系統(tǒng)輸出信噪比,P為信號(hào)功率,T為信息碼元的周期。N0/2為高斯白噪聲雙邊帶功率譜密度。
對(duì)于本設(shè)計(jì)的系統(tǒng)來說,接收端收到的信號(hào)幅度為1,所以信號(hào)功率為P=1/2,信息碼的速率為2K,所以T=1/2K。通過修改(Token21)模塊的參數(shù)來修改N0,計(jì)算誤碼率的理論值并運(yùn)行系統(tǒng)得到測(cè)量值。
下表即為在不同高斯白噪聲的情況下的各參數(shù):
表4-1參數(shù)表
N0/2
(S/N)out
10log(S/N)out
Pe1
logPe1
Pe2
logPe2
0.00001
25
14.0
2.87e-7
-6.5
3.69e-5
-4.4
0.00002
12.5
11
1.84e-4
-3.7
8.76e-4
-3.1
0.00003
8.33
9.2
1.93e-3
-2.7
5.84e-3
-2.2
0.00004
6.25
8.0
6.21e-3
-2.2
0.0112
-1.95
0.00005
5.00
7.0
0.0125
-1.9
0.0266
-1.6
0.00006
4.17
6.2
0.0207
-1.7
0.0333
-1.5
0.00007
3.53
5.5
0.0294
-1.5
0.0412
-1.4
0.00008
3.13
4.9
0.0384
-1.4
0.0499
-1.3
0.00009
2.78
4.4
0.0480
-1.3
0.0627
-1.2
0.0001
2.50
4.0
0.0571
-1.2
0.0758
-1.1
0.0002
1.25
0.97
0.1314
-0.88
0.1429
-0.84
0.0003
0.833
-0.80
0.1814
-0.74
0.1923
-0.71
0.0004
0.625
-2.0
0.2148
-0.67
0.2208
-0.66
0.0005
0.500
-3.0
0.2389
-0.62
0.2459
-0.61
0.0006
0.416
-3.8
0.2588
-0.59
0.2643
-0.58
0.0007
0.357
-4.5
0.2743
-0.56
0.2832
-0.55
0.0008
0.313
-5.1
0.2877
-0.54
0.2966
-0.53
0.0009
0.278
-5.6
0.2981
-0.53
0.3130
-0.50
0.001
0.250
-6.0
0.3085
-0.51
0.3200
-0.49
如上表所示,第一列N0/2為高斯白噪聲的雙邊帶功率譜密度。(S/N)out為系統(tǒng)輸出信噪比,由前面的討論可知(S/N)out=2PT/N0,Pe1為對(duì)應(yīng)高斯白噪聲的系統(tǒng)誤碼率的理論值,logPe1為其對(duì)數(shù)值。Pe2為運(yùn)行系統(tǒng)后的測(cè)量值,logPe2為其對(duì)數(shù)值。
根據(jù)表4-1可得誤碼率的理論值和測(cè)量值同系統(tǒng)輸出信噪比的關(guān)系如下:
圖4-8系統(tǒng)誤碼率的理論值和測(cè)量值
如圖4-8所示,橫坐標(biāo)為系統(tǒng)輸出信噪比分貝數(shù),其值從-6.0db到14.0db,縱坐標(biāo)為誤碼率的對(duì)數(shù)值。下面的曲線為誤碼率理論值和輸出信噪比的關(guān)系,上面的曲線為誤碼率測(cè)量值和輸出信噪比的關(guān)系。
由兩條曲線的分布可以得出,當(dāng)誤碼率比較高的時(shí)候,兩曲線基本重合,說明測(cè)量值和理論值很接近;當(dāng)誤碼率比較低的時(shí)候,兩曲線差別很大。因?yàn)槔碚撝凳谴a元錯(cuò)誤接收的概率值,而測(cè)量值只是一個(gè)統(tǒng)計(jì)值,而仿真系統(tǒng)只是在所設(shè)定的時(shí)間內(nèi)計(jì)算誤碼率,這個(gè)設(shè)定時(shí)間包含的碼元周期是有限的,只有在取無限長(zhǎng)的周期的情況下,計(jì)算出來的誤碼率才是理論值,由于計(jì)算機(jī)內(nèi)存容量的限制,這樣做是不可能的。
當(dāng)誤碼率越低的時(shí)候,系統(tǒng)所要求的取樣周期就越長(zhǎng),計(jì)算出的誤碼率和理論值差別就越大,但從兩曲線的走向是大致相同的,總體來說測(cè)量值要比理論值要大一些,這是因?yàn)橄到y(tǒng)設(shè)計(jì)的不完整性造成的,所以仿真得出的數(shù)據(jù)和理論值有差別是難免的。
5.總結(jié)
直接序列擴(kuò)頻通信系統(tǒng)是一個(gè)復(fù)雜的通信系統(tǒng),憑個(gè)人能力無法完成如此繁重的工作,從本設(shè)計(jì)目的出發(fā),只是從實(shí)驗(yàn)的角度完成了一個(gè)功能實(shí)現(xiàn)演示系統(tǒng)。
直接擴(kuò)頻系統(tǒng),在發(fā)送端的設(shè)計(jì)一般都采用先擴(kuò)頻后調(diào)制,既先用擴(kuò)頻碼和信息碼進(jìn)行模2運(yùn)算,產(chǎn)生擴(kuò)頻信號(hào),然后用此信號(hào)去調(diào)制載波,采用二相移頻鍵控(BPSK)方式。而在接收端為了恢復(fù)出原信號(hào),也要分兩步進(jìn)行,可以先解擴(kuò)后解調(diào),也可以先解調(diào)后解擴(kuò)。但為了和發(fā)送端相對(duì)應(yīng),本設(shè)計(jì)采用后者,但在解擴(kuò)之前不能把解調(diào)器輸出信號(hào)恢復(fù)成數(shù)字信號(hào)。用SystemView仿真了設(shè)計(jì)的系統(tǒng),比較詳細(xì)的分析了系統(tǒng)的誤碼性能,并與理論值進(jìn)行了比較,同時(shí)簡(jiǎn)單分析了系統(tǒng)的多址能力。
通過這次畢業(yè)設(shè)計(jì),收益頗豐。首先對(duì)直接序列擴(kuò)頻通信系統(tǒng)的原理有了比較深刻的理解,因?yàn)橐粋€(gè)完整的通信系統(tǒng)包括了很多方面的知識(shí),充分利用和鞏固了以前所學(xué)的各種知識(shí)和相關(guān)理論。在軟件方面,學(xué)會(huì)了用SystemView仿真并分析系統(tǒng)??傊?,這次畢業(yè)設(shè)計(jì)使自己獲得了很大的鍛煉。
致謝
本項(xiàng)研究工作是在我的導(dǎo)師門愛東副教授的悉心指導(dǎo)下完成的,在四年的學(xué)習(xí)中,特別是在我進(jìn)行課題選擇和課題實(shí)驗(yàn)階段中,門老師用其深厚的專業(yè)理論知識(shí)和豐富的實(shí)踐經(jīng)驗(yàn)給了我多方面的指導(dǎo),使我能夠順利的完成課題相關(guān)工作;在論文寫作過程中,門老師又從繁忙的教學(xué)工作和日常管理工作中抽出寶貴的時(shí)間來認(rèn)真審閱和修改論文;同時(shí)在日常生活中,門老師又給我熱情的關(guān)心和照顧,使我減輕了學(xué)習(xí)的壓力。門老師嚴(yán)于律己、寬于待人的生活作風(fēng)、認(rèn)真勤奮、孜孜不倦的敬業(yè)精神和一絲不茍、嚴(yán)謹(jǐn)務(wù)實(shí)的治學(xué)態(tài)度,深深影響和感動(dòng)了我,使我感受到一個(gè)從事幾十年高校教學(xué)工作的教師對(duì)工作的認(rèn)真負(fù)責(zé)、對(duì)學(xué)習(xí)的不斷追求和對(duì)我這樣的年輕學(xué)子的殷切希望,這將是我今后工作和生活的動(dòng)力。
在這里還要感謝北京郵電大學(xué)世紀(jì)學(xué)院的其他老師對(duì)我學(xué)習(xí)和生活上給予的關(guān)心和幫助。
感謝各位評(píng)委對(duì)論文評(píng)審并提出寶貴意見。
參考文獻(xiàn)
[1]童成意.?dāng)U頻通信技術(shù)應(yīng)用研究[J].湘潭師范學(xué)院學(xué)報(bào)(自然科學(xué)版),2003:13~27
[2]許麗艷,李雪梅,于瑞濤.?dāng)U展頻譜通信系統(tǒng)的仿真[J].青島大學(xué)學(xué)報(bào)(工程技術(shù)版),2000:15~28
[3]白木,周潔.?dāng)U頻通信的原理、工作方式、特點(diǎn)和應(yīng)用[J].電力系統(tǒng)通信,
2000:15~28
[4]羅衛(wèi)兵,張捷.SystemView動(dòng)態(tài)系統(tǒng)分析及通信系統(tǒng)仿真設(shè)計(jì)[M].西安:西安電子科技大學(xué)出版社,2000:16~33
[5]孫鵬勇.直接序列擴(kuò)頻通信處理增益的分析[J].遼寧工程技術(shù)大學(xué)學(xué)報(bào)(自然科學(xué)版),2000:19~20
[6]曾興雯.乃安.獻(xiàn)璞.擴(kuò)展頻譜通信及其多址技術(shù)[M].西安:西安電子科技大
學(xué)出版社,2000:18~20
[7]MarvinK.Simon,KimK.Omura,RobertA.Scholtz,BarryK.Levitt.SPREADSPECTRU.CommunicationsHandbook[J].McGraw-HillCompanies,Inc.2000:16~33
[8]查光明,熊賢祚.擴(kuò)頻通信[M].西安:西安電子科技大學(xué)出版社,2000:15~
33
[9]青松,岱松,建華.通信系統(tǒng)的SystemView仿真與分析[M].北京:北京
航空航天大學(xué)出版社,2001:25~50
[10]吳明捷,景蘭偉.直序系列擴(kuò)頻通信中的偽隨機(jī)碼[J].工礦自動(dòng)化,2000:
18~50
[11]ByrneAJ.Thevirtualcorporation[J].Businessweek,1993.14~16
[12]李東生.SystemView系統(tǒng)設(shè)計(jì)及仿真入門與應(yīng)用[M].北京:電子工業(yè)出版社,2000:16~33
[13]潘松,繼業(yè).EDA技術(shù)實(shí)用教程[M].北京:科學(xué)出版社,2000:24~66
[16]吳怡,陳俊.SystemView仿真軟件在通信原理課程教學(xué)中的應(yīng)用[J].福建
師范大學(xué)出版社,2004:19~33
附錄
附錄1直擴(kuò)系統(tǒng)仿真模型圖(無噪聲)
附錄2直擴(kuò)系統(tǒng)仿真模型圖(有噪聲)
附錄資料:不需要的可以自行刪除
C語言圖形模式速成
第一節(jié)
圖形模式的初始化
TurboC提供了非常豐富的圖形函數(shù),所有圖形函數(shù)的原型均在graphics.h中,本節(jié)主要介紹圖形模式的初始化、獨(dú)立圖形程序的建立、基本圖形功能、圖形窗口以及圖形模式下的文本輸出等函數(shù)。
另外,使用圖形函數(shù)時(shí)要確保有顯示器圖形驅(qū)動(dòng)程序*.BGI,同時(shí)將集成開發(fā)環(huán)境options/Linker中的Graphicslib選為on,只有這樣才能保證正確使用圖形函數(shù)。
不同的顯示器適配器有不同的圖形分辨率。即是同一顯示器適配器,在不同模式下也有不同分辨率。因此,在屏幕作圖之前,必須根據(jù)顯示器適配器種類將顯示器設(shè)置成為某種圖形模式,在未設(shè)置圖形模式之前,微機(jī)系統(tǒng)默認(rèn)屏幕為文本模式(80列,25行字符模式),此時(shí)所有圖形函數(shù)均不能工作。設(shè)置屏幕為圖形模式,可用下列圖形初始化函數(shù):
voidfarinitgraph(intfar*gdriver,intfar*gmode,char*path);
其中g(shù)driver和gmode分別表示圖形驅(qū)動(dòng)器和模式,path是指圖形驅(qū)動(dòng)程序所在的目錄路徑。有關(guān)圖形驅(qū)動(dòng)器、圖形模式的符號(hào)常數(shù)及對(duì)應(yīng)的分辨率見graphics.h。
圖形驅(qū)動(dòng)程序由TurboC出版商提供,文件擴(kuò)展名為.BGI。根據(jù)不同的圖形適配器有不同的圖形驅(qū)動(dòng)程序。例如對(duì)于EGA、VGA圖形適配器就調(diào)用驅(qū)動(dòng)程序EGAVGA.BGI。
#include"stdio.h"
#include"graphics.h"
intmain()
{
intgdriver,gmode;
gdriver=VGA;
gmode=VGAHI;
initgraph(&gdriver,&gmode,"C:\\TC2.0\\BGI");
bar3d(100,100,300,250,50,1);/*畫一長(zhǎng)方體*/
getch();
closegraph();
return0;
}
有時(shí)編程者并不知道所用的圖形顯示器適配器種類,或者需要將編寫的程序用于不同圖形驅(qū)動(dòng)器,TurboC提供了一個(gè)自動(dòng)檢測(cè)顯示器硬件的函數(shù),其調(diào)用格式為:
voidfardetectgraph(int*gdriver,*gmode);
其中g(shù)driver和gmode的意義與上面相同。
自動(dòng)進(jìn)行硬件測(cè)試后進(jìn)行圖形初始化:
#include"stdio.h"
#include"graphics.h"
intmain()
{
intgdriver,gmode;
detectgraph(&gdriver,&gmode);/*自動(dòng)測(cè)試硬件*/
printf("thegraphicsdriveris%d,modeis%d\n",gdriver,gmode);/*輸出測(cè)試結(jié)果*/
getch();
initgraph(&gdriver,&gmode,"C:\\TC2.0\\BGI");
/*根據(jù)測(cè)試結(jié)果初始化圖形*/
bar3d(100,100,300,250,50,1);/*畫一長(zhǎng)方體*/
getch();
closegraph();
return0;
}
上例程序中先對(duì)圖形顯示器自動(dòng)檢測(cè),然后再用圖形初始化函數(shù)進(jìn)行初始化設(shè)置,但TurboC提供了一種更簡(jiǎn)單的方法,即用gdriver=DETECT語句后再跟initgraph()函數(shù)就行了。
采用這種方法后,上例可改為:
#include"stdio.h"
#include"graphics.h"
intmain()
{
intgdriver=DETECT,gmode;
initgraph(&gdriver,&gmode,"C:\\TC2.0\\BGI");
bar3d(50,50,150,30,50,1);
getch();
closegraph();
return0;
}
另外,TurboC提供了退出圖形狀態(tài)的函數(shù)closegraph(),其調(diào)用格式為:
voidfarclosegraph(void);
第二節(jié)
屏幕顏色的設(shè)置和清屏函數(shù)
對(duì)于圖形模式的屏幕顏色設(shè)置,同樣分為背景色的設(shè)置和前景色的設(shè)置。在TurboC中分別用下面兩個(gè)函數(shù):
設(shè)置背景色:
voidfarsetbkcolor(intcolor);
設(shè)置作圖色:
voidfarsetcolor(intcolor);
其中color為圖形方式下顏色的規(guī)定數(shù)值,對(duì)EGA,VGA顯示器適配器,有關(guān)顏色的符號(hào)常數(shù)及數(shù)值見graphics.h。
清除圖形屏幕內(nèi)容但不清除圖形背景使用清屏函數(shù),其調(diào)用格式如下:
voidefarcleardevice(void);
#include"stdio.h"
#include"graphics.h"
intmain()
{
intgdriver,gmode,i,aa;
gdriver=DETECT;
initgraph(&gdriver,&gmode,"C:\\TC2.0\\BGI");/*圖形初始化*/
setbkcolor(0);/*設(shè)置圖形背景*/
cleardevice();
for(i=0;i<=15;i++)
{
setcolor(i);/*設(shè)置不同作圖色*/
circle(320,240,20+i*10);/*畫半徑不同的圓*/
getch();
}
for(i=0;i<=15;i++)
{
setbkcolor(i);/*設(shè)置不同背景色*/
cleardevice();
circle(320,240,20+i*10);
getch();
}
aa=getmaxcolor();
printf("maxcolor=%d",aa);
getch();
closegraph();
return0;
}
另外,TURBOC也提供了幾個(gè)獲得現(xiàn)行顏色設(shè)置情況的函數(shù)。
intfargetbkcolor(void);
返回現(xiàn)行背景顏色值。
intfargetcolor(void);
返回現(xiàn)行作圖顏色值。
intfargetmaxcolor(void);
返回最高可用的顏色值。
第三節(jié)
基本畫圖函數(shù)
基本圖形函數(shù)包括畫點(diǎn),線以及其它一些基本圖形的函數(shù)。本節(jié)對(duì)這些函數(shù)作一全面的介紹。
1、畫點(diǎn)
I.畫點(diǎn)函數(shù)
voidfarputpixel(intx,inty,intcolor);
該函數(shù)表示有指定的象元畫一個(gè)按color所確定顏色的點(diǎn)。對(duì)于顏色color的值可從表3中獲得而對(duì)x,y是指圖形象元的坐標(biāo)。
在圖形模式下,是按象元來定義坐標(biāo)的。對(duì)VGA適配器,它的最高分辨率為640x480,其中640為整個(gè)屏幕從左到右所有象元的個(gè)數(shù),480為整個(gè)屏幕從上到下所有象元的個(gè)數(shù)。屏幕的左上角坐標(biāo)為(0,0),右下角坐標(biāo)為(639,479),水平方向從左到右為x軸正向,垂直方向從上到下為y軸正向。TURBOC的圖形函數(shù)都是相對(duì)于圖形屏幕坐標(biāo),即象元來說的。
關(guān)于點(diǎn)的另外一個(gè)函數(shù)是:
intfargetpixel(intx,inty);
它獲得當(dāng)前點(diǎn)(x,y)的顏色值。
II、有關(guān)坐標(biāo)位置的函數(shù)
intfargetmaxx(void);
返回x軸的最大值。
intfargetmaxy(void);
返回y軸的最大值。
intfargetx(void);
返回游標(biāo)在x軸的位置。
voidfargety(void);
返回游標(biāo)有y軸的位置。
voidfarmoveto(intx,inty);
移動(dòng)游標(biāo)到(x,y)點(diǎn),不是畫點(diǎn),在移動(dòng)過程中亦畫點(diǎn)。
voidfarmoverel(intdx,intdy);
移動(dòng)游標(biāo)從現(xiàn)行位置(x,y)移動(dòng)到(x+dx,y+dy)的位置,移動(dòng)過程中不畫點(diǎn)。
2、畫線
I.畫線函數(shù)
TURBOC提供了一系列畫線函數(shù):
voidfarline(intx0,inty0,intx1,inty1);
畫一條從點(diǎn)(x0,y0)到(x1,y1)的直線。
voidfarlineto(intx,inty);
畫一作從現(xiàn)行游標(biāo)到點(diǎn)(x,y)的直線。
voidfarlinerel(intdx,intdy);
畫一條從現(xiàn)行游標(biāo)(x,y)到按相對(duì)增量確定的點(diǎn)(x+dx,y+dy)的直線。
voidfarcircle(intx,inty,intradius);
以(x,y)為圓心,radius為半徑,畫一個(gè)圓。
voidfararc(intx,inty,intstangle,intendangle,intradius);
以(x,y)為圓心,radius為半徑,從stangle開始到endangle結(jié)束(用度表示)畫一段圓弧線。
在TURBOC中規(guī)定x軸正向?yàn)?度,逆時(shí)針方向旋轉(zhuǎn)一周,依次為90,180,270和360度(其它有關(guān)函數(shù)也按此規(guī)定,不再重述)。
voidellipse(intx,inty,intstangle,intendangle,intxradius,intyradius);
以(x,y)為中心,xradius,yradius為x軸和y軸半徑,從角stangle開始到endangle結(jié)束畫一段橢圓線,當(dāng)stangle=0,endangle=360時(shí),畫出一個(gè)完整的橢圓。
voidfarrectangle(intx1,inty1,intx2,inty2);
以(x1,y1)為左上角,(x2,y2)為右下角畫一個(gè)矩形框。
voidfardrawpoly(intnumpoints,intfar*polypoints);
畫一個(gè)頂點(diǎn)數(shù)為numpoints,各頂點(diǎn)坐標(biāo)由polypoints給出的多邊形。polypoints整型數(shù)組必須至少有2倍頂點(diǎn)數(shù)個(gè)無素。每一個(gè)頂點(diǎn)的坐標(biāo)都定義為x,y,并且x在前。值得注意的是當(dāng)畫一個(gè)封閉的多邊形時(shí),numpoints的值取實(shí)際多邊形的頂點(diǎn)數(shù)加一,并且數(shù)組polypoints中第一個(gè)和最后一個(gè)點(diǎn)的坐標(biāo)相同。
下面舉一個(gè)用drawpoly()函數(shù)畫箭頭的例子。
#include"stdio.h"
#include"graphics.h"
intmain()
{
intgdriver,gmode,i;
intarw[16]={200,102,300,102,300,107,330,
100,300,93,300,98,200,98,200,102};
gdriver=DETECT;
initgraph(&gdriver,&gmode,"C:\\TC2.0\\BGI");
setbkcolor(BLUE);
cleardevice();
setcolor(12);/*設(shè)置作圖顏色*/
drawpoly(8,arw);/*畫一箭頭*/
getch();
closegraph();
return0;
}
II、設(shè)定線型函數(shù)
在沒有對(duì)線的特性進(jìn)行設(shè)定之前,TURBOC用其默認(rèn)值,即一點(diǎn)寬的實(shí)線,但TURBOC也提供了可以改變線型的函數(shù)。
線型包括:寬度和形狀。其中寬度只有兩種選擇:一點(diǎn)寬和三點(diǎn)寬。而線的形狀則有五種。
下面介紹有關(guān)線型的設(shè)置函數(shù)。
voidfarsetlinestyle(intlinestyle,unsignedupattern,intthickness);
該函數(shù)用來設(shè)置線的有關(guān)信息,其中l(wèi)inestyle是線形狀的規(guī)定,見graphics.h。
對(duì)于upattern,只有l(wèi)inestyle選USERBIT_LINE時(shí)才有意義(選其它線型,uppattern取0即可)。此時(shí)uppattern的16位二進(jìn)制數(shù)的每一位代表一個(gè)象元,如果那位為1,則該象元打開,否則該象元關(guān)閉。
voidfargetlinesettings(structlinesettingstypefar*lineinfo);
該函數(shù)將有關(guān)線的信息存放到由lineinfo指向的結(jié)構(gòu)中,表中l(wèi)inesettingstype的結(jié)構(gòu)如下:
structlinesettingstype{
intlinestyle;
unsignedupattern;
intthickness;
}
例如下面兩句程序可以讀出當(dāng)前線的特性
structlinesettingstype*info;
getlinesettings(info);
voidfarsetwritemode(intmode);
該函數(shù)規(guī)定畫線的方式。如果mode=0,則表示畫線時(shí)將所畫位置的原來信息覆蓋了(這是TURBOC的默認(rèn)方式)。如果mode=1,則表示畫線時(shí)用現(xiàn)在特性的線與所畫之處原有的線進(jìn)行異或(XOR)操作,實(shí)際上畫出的線是原有線與現(xiàn)在規(guī)定的線進(jìn)行異或后的結(jié)果。因此,當(dāng)線的特性不變,進(jìn)行兩次畫線操作相當(dāng)于沒有畫線。
有關(guān)線型設(shè)定和畫線函數(shù)的例子如下所示。
#include"stdio.h"
#include"graphics.h"
intmain()
{
intgdriver,gmode,i;
gdriver=DETECT;
initgraph(&gdriver,&gmode,"C:\\TC2.0\\BGI");
setbkcolor(BLUE);
cleardevice();
setcolor(GREEN);
circle(320,240,98);
setlinestyle(0,0,3);/*設(shè)置三點(diǎn)寬實(shí)線*/
setcolor(2);
rectangle(220,140,420,340);
setcolor(WHITE);
setlinestyle(4,0xaaaa,1);/*設(shè)置一點(diǎn)寬用戶定義線*/
line(220,240,420,240);
line(320,140,320,340);
getch();
closegraph();
return0;
}
第四節(jié)
基本圖形的填充
填充就是用規(guī)定的顏色和圖模填滿一個(gè)封閉圖形。一般是先畫輪廓再填充。
TURBOC提供了一些先畫出基本圖形輪廓,再按規(guī)定圖模和顏色填充整個(gè)封閉圖形的函數(shù)。在沒有改變填充方式時(shí),TURBOC以默認(rèn)方式填充。
voidfarbar(intx1,inty1,intx2,inty2);
確定一個(gè)以(x1,y1)為左上角,(x2,y2)為右下角的矩形窗口,再按規(guī)定圖模和顏色填充。說明:此函數(shù)不畫出邊框,所以填充色為邊框。
voidfarbar3d(intx1,inty1,intx2,inty2,intdepth,inttopflag);
當(dāng)topflag為非0時(shí),畫出一個(gè)三維的長(zhǎng)方體。當(dāng)topflag為0時(shí),三維圖形不封頂,實(shí)際上很少這樣使用。說明:bar3d()函數(shù)中,長(zhǎng)方體第三維的方向不隨任何參數(shù)而變,即始終為45度的方向。
voidfarpieslice(intx,inty,intstangle,intendangle,intradius);
畫一個(gè)以(x,y)為圓心,radius為半徑,stangle為起始角度,endangle為終止角度的扇形,再按規(guī)定方式填充。當(dāng)stangle=0,endangle=360時(shí)變成一個(gè)實(shí)心圓,并在圓內(nèi)從圓點(diǎn)沿X軸正向畫一條半徑。
voidfarsector(intx,inty,intstanle,intendangle,intxradius,intyradius);
畫一個(gè)以(x,y)為圓心分別以xradius,yradius為x軸和y軸半徑,stangle為起始角,endangle為終止角的橢圓扇形,再按規(guī)定方式填充。
第五節(jié)
設(shè)定填充方式
TURBOC有四個(gè)與填充方式有關(guān)的函數(shù)。下面分別介紹:
voidfarsetfillstyle(intpattern,intcolor);
color的值是當(dāng)前屏幕圖形模式時(shí)顏色的有效值。pattern的值及與其等價(jià)的符號(hào)常數(shù)見graphics.h。
除USER_FILL(用戶定義填充式樣)以外,其它填充式樣均可由setfillstyle()函數(shù)設(shè)置。當(dāng)選用USER_FILL時(shí),該函數(shù)對(duì)填充圖模和顏色不作任何改變。之所以定義USER_FILL主要因?yàn)樵讷@得有關(guān)填充信息時(shí)用到此項(xiàng)。
voidfarsetfillpattern(char*upattern,intcolor);
設(shè)置用戶定義的填充圖模的顏色以供對(duì)封閉圖形填充。其中upattern是一個(gè)指向8個(gè)字節(jié)的指針。這8個(gè)字節(jié)定義了8x8點(diǎn)陣的圖形。每個(gè)字節(jié)的8位二進(jìn)制數(shù)表示水平8點(diǎn),8個(gè)字節(jié)表示8行,然后以此為模型向個(gè)封閉區(qū)域填充。
voidfargetfillpattern(char*upattern);
該函數(shù)將用戶定義的填充圖模存入upattern指針指向的內(nèi)存區(qū)域。
voidfargetfillsetings(structfillsettingstypefar*fillinfo);
獲得現(xiàn)行圖模的顏色并將存入結(jié)構(gòu)指針變量fillinfo中。其中fillsettingstype結(jié)構(gòu)定義如下:
structfillsettingstype{
intpattern;/*現(xiàn)行填充模式*/
intcolor;/*現(xiàn)行填充模式*/
};
有關(guān)圖形填充圖模的顏色的選擇,請(qǐng)看下面例程。
#include"stdio.h"
#include"graphics.h"
main()
{
charstr[8]={10,20,30,40,50,60,70,80};/*用戶定義圖模*/
intgdriver,gmode,i;
structfillsettingstypesave;
/*定義一個(gè)用來存儲(chǔ)填充信息的結(jié)構(gòu)變量*/
gdriver=DETECT;
initgraph(&gdriver,&gmode,"C:\\TC2.0\\BGI");
setbkcolor(BLUE);
cleardevice();
for(i=0;i<13;i++)
{
setcolor(i+3);
setfillstyle(i,2+i);/*設(shè)置填充類型*/
bar(100,150,200,50);/*畫矩形并填充*/
bar3d(300,100,500,200,70,1);/*畫長(zhǎng)方體并填充*/
pieslice(200,300,90,180,90);/*畫扇形并填充*/
sector(500,300,180,270,200,100);/*畫橢圓扇形并填充*/
getch();
}
cleardevice();
setcolor(14);
setfillpattern(str,RED);
bar(100,150,200,50);
bar3d(300,100,500,200,70,0);
pieslice(200,300,0,360,90);
sector(500,300,0,360,100,50);
getch();
getfillsettings(&save);
/*獲得用戶定義的填充模式信息*/
closegraph();
clrscr();
printf("Thepatternis%d,Thecoloroffillingis%d",
save.pattern,save.color);
/*輸出目前填充圖模和顏色值*/
getch();
}
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑合同補(bǔ)充協(xié)議書
- 房地產(chǎn)行業(yè)員工勞動(dòng)合同
- 2025年包頭駕校考試貨運(yùn)從業(yè)資格證考試
- 2025年黃石貨運(yùn)從業(yè)資格證模擬考試下載什么軟件
- 2024-2025學(xué)年高中語文課時(shí)作業(yè)2鳥啼含解析蘇教版必修2
- 大學(xué)團(tuán)支部年終工作總結(jié)
- 珠寶營(yíng)業(yè)員工作計(jì)劃
- 聘用人員勞務(wù)合同范本
- 昆明理工大學(xué)《攝影技術(shù)》2023-2024學(xué)年第二學(xué)期期末試卷
- 車輛抵押擔(dān)保借款合同范本
- 自卸車司機(jī)實(shí)操培訓(xùn)考核表
- 教師個(gè)人基本信息登記表
- 2022年江蘇對(duì)口單招市場(chǎng)營(yíng)銷試卷剖析
- 法律職業(yè)倫理(第二版)完整版教學(xué)課件全書電子講義(最新)
- ESD測(cè)試作業(yè)指導(dǎo)書-防靜電手環(huán)
- 高一(4)班分科后第一次班會(huì)課件ppt課件(PPT 29頁(yè))
- 春季開學(xué)安全第一課PPT、中小學(xué)開學(xué)第一課教育培訓(xùn)主題班會(huì)PPT模板
- JJG30-2012通用卡尺檢定規(guī)程
- 部編版人教版二年級(jí)上冊(cè)語文教材分析
- APR版制作流程
- 《C++程序設(shè)計(jì)》完整教案
評(píng)論
0/150
提交評(píng)論