基于SYSTEMVIEW的直序擴(kuò)頻通信系統(tǒng)仿真_第1頁(yè)
基于SYSTEMVIEW的直序擴(kuò)頻通信系統(tǒng)仿真_第2頁(yè)
基于SYSTEMVIEW的直序擴(kuò)頻通信系統(tǒng)仿真_第3頁(yè)
基于SYSTEMVIEW的直序擴(kuò)頻通信系統(tǒng)仿真_第4頁(yè)
基于SYSTEMVIEW的直序擴(kuò)頻通信系統(tǒng)仿真_第5頁(yè)
已閱讀5頁(yè),還剩54頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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)行了仿真分析;通過(guò)時(shí)域波形對(duì)比發(fā)送端和接收終端兩個(gè)波形圖,可明顯觀(guān)察到,解擴(kuò)后的信號(hào)與輸入的原始信號(hào)波形基本一致,并注意到接收端有一些毛刺,這是由于時(shí)間脈沖信號(hào)的脈寬有誤差而造成的。通過(guò)對(duì)頻譜波形的分析可知,擴(kuò)頻系統(tǒng)抗噪聲能力很強(qiáng),當(dāng)不斷加大噪聲的幅度,達(dá)到系統(tǒng)的干擾門(mén)限時(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ā)展起來(lái)的一種通信技術(shù)。在早期研究這種技術(shù)的主要目的是為提高軍事通信的保密和抗干擾的性能,因此這種技術(shù)的開(kāi)發(fā)和應(yīng)用一直是處于保密狀態(tài)。美國(guó)在20世紀(jì)50年代中期,就開(kāi)始了對(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ó)際無(wú)線(xiàn)電咨詢(xún)委員會(huì)(CCIR,現(xiàn)為ITUR)在研究未來(lái)民用陸地移動(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ù)的抗干擾性能和碼分多址能力得到最大限度的挖掘。展望未來(lái),第四代移動(dòng)通信系統(tǒng)(4G)的驅(qū)動(dòng)無(wú)疑會(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年代起,人們就開(kāi)始了對(duì)擴(kuò)頻技術(shù)的研究,其抗干擾性、抗竊聽(tīng)、自50年代中期美國(guó)軍方開(kāi)始研究,擴(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ò)頻專(zhuān)用集成電路(ASIC)以及FPGA等這樣的新型器件的問(wèn)世,使擴(kuò)頻通信技術(shù)有了重大的突破和發(fā)展。到本世紀(jì)80年代初擴(kuò)頻通信技術(shù)開(kāi)始被應(yīng)用于民用通信領(lǐng)域。為了滿(mǎn)足目益增長(zhǎng)的民用通信容量的需求和有效地利用頻譜資源,各國(guó)都紛紛提出在數(shù)字峰窩移動(dòng)通信、衛(wèi)星移動(dòng)通信和未來(lái)的個(gè)人通信中采用擴(kuò)頻技術(shù),擴(kuò)頻技術(shù)已廣泛應(yīng)用于蜂窩電話(huà)、無(wú)繩電話(huà)、微波通信、無(wú)線(xiàn)數(shù)據(jù)通信、遙測(cè)、監(jiān)控、報(bào)警等系統(tǒng)中。

從國(guó)內(nèi)來(lái)看,近十多年來(lái),出于民用通信特別是陸地移動(dòng)通信的迅速發(fā)展,擴(kuò)頻通信的研究也在不斷深入。各大高校及一些科研機(jī)構(gòu)都在進(jìn)行這方面的工作,如清華大學(xué)、天津大學(xué)、北京郵電大學(xué)、西安電子科技大學(xué)、南京郵電大學(xué)等都在積極地開(kāi)展擴(kuò)頻通信系統(tǒng)的研究。

從國(guó)外來(lái)看,軍事通信技術(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)行,而傳輸過(guò)程中則以寬帶方式通信。

擴(kuò)頻技術(shù)在具體實(shí)施時(shí)由多種方案,但思路相同:把索引(也稱(chēng)為碼或序列)加入到通信信道,插入碼的方式正好定義了所討論的擴(kuò)頻技術(shù)。術(shù)語(yǔ)“擴(kuò)頻”指將信號(hào)帶寬擴(kuò)展幾個(gè)數(shù)量級(jí),在信道中加入索引即可實(shí)現(xiàn)擴(kuò)頻。

擴(kuò)頻技術(shù)更加精確的定義是:擴(kuò)頻是通過(guò)注入一個(gè)更高頻率的信號(hào)將基帶信號(hào)擴(kuò)展到一個(gè)更寬的頻帶內(nèi)的射頻通信系統(tǒng),即發(fā)射信號(hào)的能量被擴(kuò)展到一個(gè)更寬的頻帶內(nèi)使其看起來(lái)如同噪聲一樣。擴(kuò)展帶寬與初始信號(hào)之比稱(chēng)為處理增益(dB),典型的擴(kuò)頻處理增益可以從10dB到60dB。

采用擴(kuò)頻技術(shù),在天線(xiàn)之前發(fā)射鏈路的某處簡(jiǎn)單的引入相應(yīng)的擴(kuò)頻碼,這個(gè)過(guò)程稱(chēng)為擴(kuò)頻處理,結(jié)果將信息擴(kuò)散到一個(gè)更寬的頻帶內(nèi)。在接收鏈路中數(shù)據(jù)恢復(fù)之前移去擴(kuò)頻碼,稱(chēng)為解擴(kuò)。解擴(kuò)是在信號(hào)的原始帶寬上重新構(gòu)建信息。顯然,在信息傳輸通路的兩端需要預(yù)先知道擴(kuò)頻碼。

2.2基本原理

擴(kuò)展頻譜通信(SpreadSpectrumCommunication)簡(jiǎn)稱(chēng)擴(kuò)頻通信。擴(kuò)頻通信的基本特征是使用比發(fā)送的信息數(shù)據(jù)速率高許多倍的偽隨機(jī)碼把載有信息數(shù)據(jù)的基帶信號(hào)的頻譜進(jìn)行擴(kuò)展,形成寬帶的低功率譜密度的信號(hào)來(lái)發(fā)射。香農(nóng)(Shannon)在信息論的研究中得出了信道容量的公式:

C=Blog2(1+S/N)式(2-1)

這個(gè)公式指示出:如果信息傳輸速率C不變,則帶寬B和信噪比S/N是可以互換的,就是說(shuō)增加帶寬就可以在較低的信噪比的情況下以相同的信息率來(lái)可靠的傳輸信息,甚至在信號(hào)被噪聲淹沒(méi)的情況下,只要相應(yīng)的增加信號(hào)帶寬,仍然保持可靠的通信,也就是可以用擴(kuò)頻方法以寬帶傳輸信息來(lái)?yè)Q取信噪比上的好處。

2.3擴(kuò)頻通信系統(tǒng)的主要特點(diǎn)

擴(kuò)頻通信技術(shù)在發(fā)端以擴(kuò)頻編碼進(jìn)行擴(kuò)頻調(diào)制,在收端以相關(guān)解調(diào)技術(shù)收信,這一過(guò)程使其具有諸多優(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ò)處理才能得到,所以即使以同類(lèi)型信號(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ú)線(xiàn)網(wǎng)橋來(lái)連接分布在不同區(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中的干擾、噪聲和其他用戶(hù)通信的影響,相當(dāng)于把接收信噪比提高了G倍??紤]到輸出端的信噪比和接收系統(tǒng)損耗,可以認(rèn)為實(shí)際的擴(kuò)頻增益帶來(lái)的信噪比的改善為:M=G-輸出端信噪比一系統(tǒng)損耗公式中的M叫做抗干擾容限。

(2)隱蔽性強(qiáng)、干擾小

因信號(hào)在很寬的頻帶上被擴(kuò)展,則單位帶寬上的功率很小,即信號(hào)功率譜密度很低。信號(hào)淹沒(méi)在白噪聲之中,別人難于發(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)特性,分配給不同用戶(hù)不同的擴(kuò)頻編碼,就可以區(qū)別不同的用戶(hù)的信號(hào),眾多用戶(hù),只要配對(duì)使用自己的擴(kuò)頻編碼,就可以互不干擾地同時(shí)使用同一頻率通信,從而實(shí)現(xiàn)了頻率復(fù)用,使擁擠的頻譜得到充分利用。發(fā)送者可用不同的擴(kuò)頻編碼,分別向不同接收者發(fā)送數(shù)據(jù);同樣,接收者用不同的擴(kuò)頻編碼,就可以收到不同的發(fā)送者送來(lái)的數(shù)據(jù),實(shí)現(xiàn)了多址通信。

(4)抗多徑干擾

在無(wú)線(xiàn)通信中,抗多徑干擾問(wèn)題一直是難以解決的問(wèn)題,利用擴(kuò)頻編碼之間的相關(guān)特性;在接收端可以用相關(guān)技術(shù)從多徑信號(hào)中提取分離出最強(qiáng)的有用信號(hào),也可把多個(gè)路徑來(lái)的同一碼序列的波形相加使之得到加強(qiáng),從而達(dá)到有效的抗多徑干擾。

2.4擴(kuò)頻通信的方式

擴(kuò)頻系統(tǒng)包括下面幾種擴(kuò)頻方式:

1)直接序列擴(kuò)頻,記為DS(DirectSequence);

2)跳頻,記為FH(FrequencyHopping);

3)跳時(shí),記為T(mén)H(TimeHopping);

4)線(xiàn)性調(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ò)展是通過(guò)擴(kuò)頻碼實(shí)現(xiàn)的,擴(kuò)頻碼對(duì)整個(gè)系統(tǒng)的性能起著決定性的作用。系統(tǒng)的抗干擾、抗噪聲、抗衰落、抗截獲、信息的隱蔽和保密、多址通信以及實(shí)現(xiàn)同步與捕獲等都是與擴(kuò)頻碼的設(shè)計(jì)密切相關(guān)的[8]。能滿(mǎn)足上述要求的擴(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)特性,但是至今無(wú)法實(shí)現(xiàn)對(duì)白噪聲放大、調(diào)制、檢測(cè)、同步及控制等。因此,我們必需選用類(lèi)似于帶限白噪聲統(tǒng)計(jì)特性的偽隨機(jī)碼信號(hào)來(lái)逼近它,并用做擴(kuò)頻系統(tǒng)的擴(kuò)頻碼。m序列是最長(zhǎng)線(xiàn)性移位寄存器序列,是偽隨機(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è)線(xiàn)性移位寄存器產(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í)線(xiàn)性移位寄存器的初始狀態(tài)為

a,a,…,a

且滿(mǎn)足線(xiàn)性反饋邏輯

a=ca+ca+…+ca(模2加)式(2-2)

可得序列多項(xiàng)式G(x)與反饋邏輯函數(shù)關(guān)系:

G(x)=式(2-3)

如果把模2加法器反饋到第一級(jí)的連線(xiàn)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)

上式說(shuō)明序列多項(xiàng)式是特征多項(xiàng)式的倒數(shù)。知道了特征多項(xiàng)式,通過(guò)長(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)就可以決定線(xiàn)性移位寄存器的反饋連線(xiàn)。

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ù)出原來(lái)的信息[7]。圖2-2是直擴(kuò)系統(tǒng)的組成原理框圖。

圖2-2直擴(kuò)系統(tǒng)組成框圖

由信源輸出的信號(hào)。a(t)是碼元持續(xù)時(shí)間為T(mén)a的信息流,偽隨機(jī)碼產(chǎn)生器產(chǎn)生的偽隨機(jī)碼為。c(t)每一偽隨機(jī)碼碼元寬度或切普(chip)寬度為T(mén)c。將信息碼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)稱(chēng)直接擴(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)制后由天線(xiàn)發(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)境,這些干擾可分為自然干擾和人為干擾。自然干擾主要有多路徑干擾、雨雪干擾、信道衰落和多用戶(hù)干擾等。接收機(jī)內(nèi)部噪聲也歸于自然干擾。人為干擾是敵方故意施放的干擾,例如部分頻帶干擾、脈沖干擾、單頻連續(xù)波干擾等。

比較常見(jiàn)的是噪聲干擾,可以用高斯白噪聲作為其模型,其功率譜密度覆蓋擴(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ī)過(guò)程,功率譜密度為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ī)過(guò)程,所以噪聲輸出成分的均值為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ī)過(guò)程,即噪聲功率譜分布在(-f,f)內(nèi)的情況下得出的??梢宰C明,當(dāng)噪聲帶寬非常寬時(shí),擴(kuò)頻通信系統(tǒng)對(duì)噪聲功率不再有明顯的抑制能力。因此,擴(kuò)頻通信系統(tǒng)對(duì)象熱噪聲這樣的帶寬無(wú)限寬的干擾是無(wú)能為力的。

2.7.2信噪比和誤碼率

信噪比和誤碼率是數(shù)據(jù)通信最重要的性能指標(biāo),它充分反映了數(shù)據(jù)通信的抗噪聲能力和傳輸數(shù)據(jù)的準(zhǔn)確性,這里開(kāi)始分析直接擴(kuò)頻系統(tǒng)的信噪比和誤碼率?;鶐V波器是0->T的積分器和在T時(shí)刻的門(mén)限判決,載波信號(hào)和本地載波信號(hào)幅值在這里都用來(lái)表示,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ā)送來(lái)的信息數(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ā)送來(lái)的擴(kuò)頻信號(hào)作相關(guān)解調(diào)處理時(shí),當(dāng)與發(fā)送來(lái)的信號(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ī)中的高斯白噪聲和通常來(lái)自信到外部的窄帶隨機(jī)過(guò)程是完全獨(dú)立的,在這兩種噪聲干擾存在的情況下,擴(kuò)頻通信的輸出信噪比為:

==

=式(2-20)

那么此時(shí),誤碼率為:

P=erfc式(2-21)

P

10

10

10

10

-1001020

圖2-3擴(kuò)頻通信系統(tǒng)誤碼率特性曲線(xiàn)

3.SystemView簡(jiǎn)介

通信技術(shù)的發(fā)展日新月異,通信系統(tǒng)也日趨復(fù)雜,因此,在通信系統(tǒng)的設(shè)計(jì)開(kāi)發(fā)過(guò)程中,在進(jìn)行實(shí)際硬件系統(tǒng)試驗(yàn)之前,軟件仿真己成為必不可少的一部分。目前,電子設(shè)計(jì)自動(dòng)化EDA(ElectronicDesignAutomatic)技術(shù)已經(jīng)成為電子設(shè)計(jì)的潮流。為了使繁雜的電子設(shè)計(jì)過(guò)程更加便捷,出現(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)分析工具,能滿(mǎn)足從數(shù)字信號(hào)處理、濾波器設(shè)計(jì)、直到復(fù)雜的通信系統(tǒng)等不同層次的設(shè)計(jì)、仿真要求。SystemView以模塊化和交互式的界面,在大家熟悉的Windows窗口環(huán)境下,為用戶(hù)提供了一個(gè)嵌入式的分析引擎。使用SystemView你只需要關(guān)心項(xiàng)目的設(shè)計(jì)思想和過(guò)程,而不必花費(fèi)大量的時(shí)間去編程建立系統(tǒng)仿真模型。用戶(hù)只需使用鼠標(biāo)器點(diǎn)擊圖標(biāo)即可完成復(fù)雜系統(tǒng)的建模、設(shè)計(jì)和測(cè)試,而不會(huì)花費(fèi)過(guò)多的時(shí)間和精力通過(guò)編程來(lái)建立系統(tǒng)的仿真模型,也不必?fù)?dān)心程序中是否存在編程錯(cuò)誤.

SystemView是一個(gè)完整的動(dòng)態(tài)系統(tǒng)設(shè)計(jì)、分析和仿真的可視化開(kāi)發(fā)環(huán)境它可以構(gòu)造各種復(fù)雜的模擬、數(shù)字、數(shù)模混合及多速率系統(tǒng),可用于各種線(xiàn)性、非線(xiàn)性控制系統(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)濾波器、第三代無(wú)線(xiàn)移動(dòng)通信系統(tǒng)等專(zhuān)業(yè)庫(kù)可供選擇,適合于各種專(zhuān)業(yè)設(shè)計(jì)人員。該系統(tǒng)支持外部數(shù)據(jù)的輸入和輸出,支持用戶(hù)自己編寫(xiě)代碼(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ì)于其它軟件來(lái)說(shuō),具有如下主要優(yōu)點(diǎn):

(1)能仿真大量的應(yīng)用系統(tǒng)。能在DSP、通訊和控制系統(tǒng)應(yīng)用中構(gòu)造復(fù)雜的模擬、數(shù)字、混合和多速率系統(tǒng)。具有大量可選擇的庫(kù),允許用戶(hù)有選擇地增加通訊、邏輯、DSP和射頻/模擬功能模塊。特別適合無(wú)線(xiàn)電話(huà)(GSM、CDMA、FDMA、TDMA、DSSS)、無(wú)繩電話(huà)、尋呼機(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ì)話(huà)框內(nèi)快速訪(fǎng)問(wèn)和調(diào)整參數(shù),實(shí)時(shí)修改實(shí)時(shí)顯示。不用寫(xiě)一行代碼即可建立用戶(hù)習(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通過(guò)Notes(注解)很容易在屏幕上描述系統(tǒng);生成的SystemView系統(tǒng)和輸出的波形圖可以很方便地使用復(fù)制和粘貼命令插入word等文字處理器。

(4)提供基于組織結(jié)構(gòu)圖方式的設(shè)計(jì)。通過(guò)利用SystemView中的圖符和MetaSystem(子系統(tǒng))對(duì)象的無(wú)限制分層結(jié)構(gòu)功能,SystemView能很容易地建立復(fù)雜的系統(tǒng)。首先可以定義一些簡(jiǎn)單的功能組,再通過(guò)對(duì)這些簡(jiǎn)單功能組的連接進(jìn)而實(shí)現(xiàn)一個(gè)大系統(tǒng)。這樣,單一的圖符就可以代表一個(gè)復(fù)雜系統(tǒng)。MetaSystem的連接使用也與系統(tǒng)提供的其他圖符同樣簡(jiǎn)單,它可以在另一窗口中單獨(dú)顯示,也可以展開(kāi)到主窗口中。

(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)完備的濾波器和線(xiàn)性系統(tǒng)設(shè)計(jì)。SystemView包含一個(gè)功能強(qiáng)大的、很容易使用的圖形模板設(shè)計(jì)模擬和數(shù)字以及離散和連續(xù)時(shí)間系統(tǒng)的環(huán)境,包含大量的FIR濾波類(lèi)型和FFT類(lèi)型,并提供易于用DSP實(shí)現(xiàn)濾波器或線(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允許用戶(hù)插入自己用C/C++寫(xiě)的用戶(hù)代碼庫(kù),插入的用戶(hù)庫(kù)自動(dòng)集成到SystemView中,如同系統(tǒng)內(nèi)建的庫(kù)一樣使用。同時(shí),它兼容Matlab可以與Matlab進(jìn)行數(shù)據(jù)交換。

(9)完善的自我診斷功能。SystemView能自動(dòng)執(zhí)行系統(tǒng)連接檢查,通知用戶(hù)連接出錯(cuò)并通過(guò)顯示指出出錯(cuò)的圖符。這個(gè)特點(diǎn)對(duì)用戶(hù)系統(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)仿真(無(wú)噪聲情況)

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)分析工具,能滿(mǎn)足從數(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)為例來(lái)進(jìn)行仿真,并進(jìn)一步說(shuō)明擴(kuò)頻通信的優(yōu)點(diǎn)。直接序列擴(kuò)頻是目前應(yīng)用最廣的一種擴(kuò)頻技術(shù),圖4-2-2是直序擴(kuò)頻系統(tǒng)的仿真模型圖。

作為一個(gè)仿真來(lái)說(shuō)明直序擴(kuò)頻在抗干擾方面的優(yōu)越性,所以直接采用了簡(jiǎn)單而直接的方式來(lái)構(gòu)造模型。數(shù)據(jù)信號(hào)源使用了一個(gè)低頻率(1KHz)的隨機(jī)序列(圖符0),通過(guò)一個(gè)1kHz的低通濾波器(圖符3)來(lái)代替。擴(kuò)頻用的PN碼采用10kHz的PN碼(圖符2),這樣,理論上可獲得10倍的擴(kuò)頻增益。擴(kuò)頻調(diào)制在本例中未使用通常的模2和加法運(yùn)算,而是通過(guò)乘法直接用PN碼調(diào)制數(shù)據(jù)信號(hào),合成后的擴(kuò)頻復(fù)合信號(hào)同樣也是直接用更高的載波(圖符12,100kHz)調(diào)制發(fā)射。為了觀(guān)察擴(kuò)頻系統(tǒng)的抗干擾性能,使用了一個(gè)干擾信號(hào)源。該干擾信號(hào)可以是單頻率窄帶干擾,也可以是寬帶的掃頻信號(hào),或是高斯噪聲。接收端,通過(guò)本地載波解調(diào)后的復(fù)合信號(hào)直接原擴(kuò)頻PN碼相乘后解擴(kuò),中間省略了有關(guān)本地PN發(fā)生器和相關(guān)的碼同步電路。因?yàn)橹苯邮褂迷璓N碼,所以理論上可認(rèn)為收發(fā)2端完全同步。需要說(shuō)明的是,實(shí)際工程中的碼同步是一個(gè)十分復(fù)雜的問(wèn)題,其復(fù)雜程度以及在此問(wèn)題上付出的代價(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:觀(guān)察窗

Token5:觀(guān)察窗

Token7:乘法器

Token8:掃頻信號(hào)(幅度=1.5V,開(kāi)始頻率=90KHz,終值頻率120KHz,掃頻周期0.015s)

Token9:觀(guān)察窗

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ì)算的誤碼率顯示出來(lái)。其他模塊與圖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)來(lái)說(shuō),接收端收到的信號(hào)幅度為1,所以信號(hào)功率為P=1/2,信息碼的速率為2K,所以T=1/2K。通過(guò)修改(Token21)模塊的參數(shù)來(lái)修改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ù)值。下面的曲線(xiàn)為誤碼率理論值和輸出信噪比的關(guān)系,上面的曲線(xiàn)為誤碼率測(cè)量值和輸出信噪比的關(guān)系。

由兩條曲線(xiàn)的分布可以得出,當(dāng)誤碼率比較高的時(shí)候,兩曲線(xiàn)基本重合,說(shuō)明測(cè)量值和理論值很接近;當(dāng)誤碼率比較低的時(shí)候,兩曲線(xiàn)差別很大。因?yàn)槔碚撝凳谴a元錯(cuò)誤接收的概率值,而測(cè)量值只是一個(gè)統(tǒng)計(jì)值,而仿真系統(tǒng)只是在所設(shè)定的時(shí)間內(nèi)計(jì)算誤碼率,這個(gè)設(shè)定時(shí)間包含的碼元周期是有限的,只有在取無(wú)限長(zhǎng)的周期的情況下,計(jì)算出來(lái)的誤碼率才是理論值,由于計(jì)算機(jī)內(nèi)存容量的限制,這樣做是不可能的。

當(dāng)誤碼率越低的時(shí)候,系統(tǒng)所要求的取樣周期就越長(zhǎng),計(jì)算出的誤碼率和理論值差別就越大,但從兩曲線(xiàn)的走向是大致相同的,總體來(lái)說(shuō)測(cè)量值要比理論值要大一些,這是因?yàn)橄到y(tǒng)設(shè)計(jì)的不完整性造成的,所以仿真得出的數(shù)據(jù)和理論值有差別是難免的。

5.總結(jié)

直接序列擴(kuò)頻通信系統(tǒng)是一個(gè)復(fù)雜的通信系統(tǒng),憑個(gè)人能力無(wú)法完成如此繁重的工作,從本設(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)的多址能力。

通過(guò)這次畢業(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)師門(mén)愛(ài)東副教授的悉心指導(dǎo)下完成的,在四年的學(xué)習(xí)中,特別是在我進(jìn)行課題選擇和課題實(shí)驗(yàn)階段中,門(mén)老師用其深厚的專(zhuān)業(yè)理論知識(shí)和豐富的實(shí)踐經(jīng)驗(yàn)給了我多方面的指導(dǎo),使我能夠順利的完成課題相關(guān)工作;在論文寫(xiě)作過(guò)程中,門(mén)老師又從繁忙的教學(xué)工作和日常管理工作中抽出寶貴的時(shí)間來(lái)認(rèn)真審閱和修改論文;同時(shí)在日常生活中,門(mén)老師又給我熱情的關(guān)心和照顧,使我減輕了學(xué)習(xí)的壓力。門(mén)老師嚴(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)審并提出寶貴意見(jiàn)。

參考文獻(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ì)及仿真入門(mén)與應(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)仿真模型圖(無(wú)噪聲)

附錄2直擴(kuò)系統(tǒng)仿真模型圖(有噪聲)

附錄資料:不需要的可以自行刪除

C語(yǔ)言圖形模式速成

第一節(jié)

圖形模式的初始化

TurboC提供了非常豐富的圖形函數(shù),所有圖形函數(shù)的原型均在graphics.h中,本節(jié)主要介紹圖形模式的初始化、獨(dú)立圖形程序的建立、基本圖形功能、圖形窗口以及圖形模式下的文本輸出等函數(shù)。

另外,使用圖形函數(shù)時(shí)要確保有顯示器圖形驅(qū)動(dòng)程序*.BGI,同時(shí)將集成開(kāi)發(fā)環(huán)境options/Linker中的Graphicslib選為on,只有這樣才能保證正確使用圖形函數(shù)。

不同的顯示器適配器有不同的圖形分辨率。即是同一顯示器適配器,在不同模式下也有不同分辨率。因此,在屏幕作圖之前,必須根據(jù)顯示器適配器種類(lèi)將顯示器設(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)的分辨率見(jiàn)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);/*畫(huà)一長(zhǎng)方體*/

getch();

closegraph();

return0;

}

有時(shí)編程者并不知道所用的圖形顯示器適配器種類(lèi),或者需要將編寫(xiě)的程序用于不同圖形驅(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);/*畫(huà)一長(zhǎng)方體*/

getch();

closegraph();

return0;

}

上例程序中先對(duì)圖形顯示器自動(dòng)檢測(cè),然后再用圖形初始化函數(shù)進(jìn)行初始化設(shè)置,但TurboC提供了一種更簡(jiǎn)單的方法,即用gdriver=DETECT語(yǔ)句后再跟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ù)值見(jiàn)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);/*畫(huà)半徑不同的圓*/

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é)

基本畫(huà)圖函數(shù)

基本圖形函數(shù)包括畫(huà)點(diǎn),線(xiàn)以及其它一些基本圖形的函數(shù)。本節(jié)對(duì)這些函數(shù)作一全面的介紹。

1、畫(huà)點(diǎn)

I.畫(huà)點(diǎn)函數(shù)

voidfarputpixel(intx,inty,intcolor);

該函數(shù)表示有指定的象元畫(huà)一個(gè)按color所確定顏色的點(diǎn)。對(duì)于顏色color的值可從表3中獲得而對(duì)x,y是指圖形象元的坐標(biāo)。

在圖形模式下,是按象元來(lái)定義坐標(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),即象元來(lái)說(shuō)的。

關(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),不是畫(huà)點(diǎn),在移動(dòng)過(guò)程中亦畫(huà)點(diǎn)。

voidfarmoverel(intdx,intdy);

移動(dòng)游標(biāo)從現(xiàn)行位置(x,y)移動(dòng)到(x+dx,y+dy)的位置,移動(dòng)過(guò)程中不畫(huà)點(diǎn)。

2、畫(huà)線(xiàn)

I.畫(huà)線(xiàn)函數(shù)

TURBOC提供了一系列畫(huà)線(xiàn)函數(shù):

voidfarline(intx0,inty0,intx1,inty1);

畫(huà)一條從點(diǎn)(x0,y0)到(x1,y1)的直線(xiàn)。

voidfarlineto(intx,inty);

畫(huà)一作從現(xiàn)行游標(biāo)到點(diǎn)(x,y)的直線(xiàn)。

voidfarlinerel(intdx,intdy);

畫(huà)一條從現(xiàn)行游標(biāo)(x,y)到按相對(duì)增量確定的點(diǎn)(x+dx,y+dy)的直線(xiàn)。

voidfarcircle(intx,inty,intradius);

以(x,y)為圓心,radius為半徑,畫(huà)一個(gè)圓。

voidfararc(intx,inty,intstangle,intendangle,intradius);

以(x,y)為圓心,radius為半徑,從stangle開(kāi)始到endangle結(jié)束(用度表示)畫(huà)一段圓弧線(xiàn)。

在TURBOC中規(guī)定x軸正向?yàn)?度,逆時(shí)針?lè)较蛐D(zhuǎn)一周,依次為90,180,270和360度(其它有關(guān)函數(shù)也按此規(guī)定,不再重述)。

voidellipse(intx,inty,intstangle,intendangle,intxradius,intyradius);

以(x,y)為中心,xradius,yradius為x軸和y軸半徑,從角stangle開(kāi)始到endangle結(jié)束畫(huà)一段橢圓線(xiàn),當(dāng)stangle=0,endangle=360時(shí),畫(huà)出一個(gè)完整的橢圓。

voidfarrectangle(intx1,inty1,intx2,inty2);

以(x1,y1)為左上角,(x2,y2)為右下角畫(huà)一個(gè)矩形框。

voidfardrawpoly(intnumpoints,intfar*polypoints);

畫(huà)一個(gè)頂點(diǎn)數(shù)為numpoints,各頂點(diǎn)坐標(biāo)由polypoints給出的多邊形。polypoints整型數(shù)組必須至少有2倍頂點(diǎn)數(shù)個(gè)無(wú)素。每一個(gè)頂點(diǎn)的坐標(biāo)都定義為x,y,并且x在前。值得注意的是當(dāng)畫(huà)一個(gè)封閉的多邊形時(shí),numpoints的值取實(shí)際多邊形的頂點(diǎn)數(shù)加一,并且數(shù)組polypoints中第一個(gè)和最后一個(gè)點(diǎn)的坐標(biāo)相同。

下面舉一個(gè)用drawpoly()函數(shù)畫(huà)箭頭的例子。

#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);/*畫(huà)一箭頭*/

getch();

closegraph();

return0;

}

II、設(shè)定線(xiàn)型函數(shù)

在沒(méi)有對(duì)線(xiàn)的特性進(jìn)行設(shè)定之前,TURBOC用其默認(rèn)值,即一點(diǎn)寬的實(shí)線(xiàn),但TURBOC也提供了可以改變線(xiàn)型的函數(shù)。

線(xiàn)型包括:寬度和形狀。其中寬度只有兩種選擇:一點(diǎn)寬和三點(diǎn)寬。而線(xiàn)的形狀則有五種。

下面介紹有關(guān)線(xiàn)型的設(shè)置函數(shù)。

voidfarsetlinestyle(intlinestyle,unsignedupattern,intthickness);

該函數(shù)用來(lái)設(shè)置線(xiàn)的有關(guān)信息,其中l(wèi)inestyle是線(xiàn)形狀的規(guī)定,見(jiàn)graphics.h。

對(duì)于upattern,只有l(wèi)inestyle選USERBIT_LINE時(shí)才有意義(選其它線(xiàn)型,uppattern取0即可)。此時(shí)uppattern的16位二進(jìn)制數(shù)的每一位代表一個(gè)象元,如果那位為1,則該象元打開(kāi),否則該象元關(guān)閉。

voidfargetlinesettings(structlinesettingstypefar*lineinfo);

該函數(shù)將有關(guān)線(xiàn)的信息存放到由lineinfo指向的結(jié)構(gòu)中,表中l(wèi)inesettingstype的結(jié)構(gòu)如下:

structlinesettingstype{

intlinestyle;

unsignedupattern;

intthickness;

}

例如下面兩句程序可以讀出當(dāng)前線(xiàn)的特性

structlinesettingstype*info;

getlinesettings(info);

voidfarsetwritemode(intmode);

該函數(shù)規(guī)定畫(huà)線(xiàn)的方式。如果mode=0,則表示畫(huà)線(xiàn)時(shí)將所畫(huà)位置的原來(lái)信息覆蓋了(這是TURBOC的默認(rèn)方式)。如果mode=1,則表示畫(huà)線(xiàn)時(shí)用現(xiàn)在特性的線(xiàn)與所畫(huà)之處原有的線(xiàn)進(jìn)行異或(XOR)操作,實(shí)際上畫(huà)出的線(xiàn)是原有線(xiàn)與現(xiàn)在規(guī)定的線(xiàn)進(jìn)行異或后的結(jié)果。因此,當(dāng)線(xiàn)的特性不變,進(jìn)行兩次畫(huà)線(xiàn)操作相當(dāng)于沒(méi)有畫(huà)線(xiàn)。

有關(guān)線(xiàn)型設(shè)定和畫(huà)線(xiàn)函數(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í)線(xiàn)*/

setcolor(2);

rectangle(220,140,420,340);

setcolor(WHITE);

setlinestyle(4,0xaaaa,1);/*設(shè)置一點(diǎn)寬用戶(hù)定義線(xiàn)*/

line(220,240,420,240);

line(320,140,320,340);

getch();

closegraph();

return0;

}

第四節(jié)

基本圖形的填充

填充就是用規(guī)定的顏色和圖模填滿(mǎn)一個(gè)封閉圖形。一般是先畫(huà)輪廓再填充。

TURBOC提供了一些先畫(huà)出基本圖形輪廓,再按規(guī)定圖模和顏色填充整個(gè)封閉圖形的函數(shù)。在沒(méi)有改變填充方式時(shí),TURBOC以默認(rèn)方式填充。

voidfarbar(intx1,inty1,intx2,inty2);

確定一個(gè)以(x1,y1)為左上角,(x2,y2)為右下角的矩形窗口,再按規(guī)定圖模和顏色填充。說(shuō)明:此函數(shù)不畫(huà)出邊框,所以填充色為邊框。

voidfarbar3d(intx1,inty1,intx2,inty2,intdepth,inttopflag);

當(dāng)topflag為非0時(shí),畫(huà)出一個(gè)三維的長(zhǎng)方體。當(dāng)topflag為0時(shí),三維圖形不封頂,實(shí)際上很少這樣使用。說(shuō)明:bar3d()函數(shù)中,長(zhǎng)方體第三維的方向不隨任何參數(shù)而變,即始終為45度的方向。

voidfarpieslice(intx,inty,intstangle,intendangle,intradius);

畫(huà)一個(gè)以(x,y)為圓心,radius為半徑,stangle為起始角度,endangle為終止角度的扇形,再按規(guī)定方式填充。當(dāng)stangle=0,endangle=360時(shí)變成一個(gè)實(shí)心圓,并在圓內(nèi)從圓點(diǎn)沿X軸正向畫(huà)一條半徑。

voidfarsector(intx,inty,intstanle,intendangle,intxradius,intyradius);

畫(huà)一個(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ù)見(jiàn)graphics.h。

除USER_FILL(用戶(hù)定義填充式樣)以外,其它填充式樣均可由setfillstyle()函數(shù)設(shè)置。當(dāng)選用USER_FILL時(shí),該函數(shù)對(duì)填充圖模和顏色不作任何改變。之所以定義USER_FILL主要因?yàn)樵讷@得有關(guān)填充信息時(shí)用到此項(xiàng)。

voidfarsetfillpattern(char*upattern,intcolor);

設(shè)置用戶(hù)定義的填充圖模的顏色以供對(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ù)將用戶(hù)定義的填充圖模存入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};/*用戶(hù)定義圖模*/

intgdriver,gmode,i;

structfillsettingstypesave;

/*定義一個(gè)用來(lái)存儲(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è)置填充類(lèi)型*/

bar(100,150,200,50);/*畫(huà)矩形并填充*/

bar3d(300,100,500,200,70,1);/*畫(huà)長(zhǎng)方體并填充*/

pieslice(200,300,90,180,90);/*畫(huà)扇形并填充*/

sector(500,300,180,270,200,100);/*畫(huà)橢圓扇形并填充*/

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);

/*獲得用戶(hù)定義的填充模式信息*/

closegraph();

clrscr();

printf("Thepatternis%d,Thecoloroffillingis%d",

save.pattern,save.color);

/*輸出目前填充圖模和顏色值*/

getch();

}

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論