畢業(yè)設計---基于cpld的移動通信調(diào)制編碼技術(shù)的研究_第1頁
已閱讀1頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、<p><b>  目 錄</b></p><p><b>  第一章 緒論1</b></p><p>  1.1 研究背景1</p><p>  1.2 研究思路和方案分析1</p><p>  1.3 論文的主要工作3</p><p>  第2章

2、可編程片上系統(tǒng)開發(fā)技術(shù)4</p><p>  2.1可編程邏輯器件簡介4</p><p>  2.2可編程片上系統(tǒng)開發(fā)軟件4</p><p>  2.3硬件描述語言VHDL簡介6</p><p>  第三章 系統(tǒng)的組成及工作原理7</p><p>  3.1 M序列產(chǎn)生器7</p><

3、p>  3.2 QPSK調(diào)制解調(diào)8</p><p>  3.2.1多進制相移鍵控基本原理8</p><p>  3.2.2 QPSK 調(diào)制9</p><p>  3.2.3 QPSK解調(diào)13</p><p>  3.2.4 調(diào)制解調(diào)系統(tǒng)14</p><p>  3.3 卷積碼編碼譯碼15</p&

4、gt;<p>  3.3.1糾錯編碼基礎15</p><p>  3.3.2卷積碼編碼15</p><p>  3.3.3卷積碼的解碼17</p><p>  3.3.4 卷積碼編碼譯碼系統(tǒng)22</p><p>  3.4小型移動通信系統(tǒng)23</p><p>  第四章 硬件部分24</

5、p><p><b>  第五章 總結(jié)27</b></p><p><b>  參考文獻28</b></p><p><b>  致 謝29</b></p><p><b>  附錄130</b></p><p><b&g

6、t;  附錄239</b></p><p><b>  第一章 緒論</b></p><p><b>  1.1 研究背景</b></p><p>  近年來,隨著半導體工藝技術(shù)和設計方法的迅速發(fā)展,系統(tǒng)級芯片SOC( System-on-Chip)的設計得以高速發(fā)展。但是,由于SOC產(chǎn)品設計具有開發(fā)周期相對

7、較長、高成本和高風險等特點,對市場的變化非常敏感,這使得SOC在消費電子、汽車電子、工業(yè)設計領域的發(fā)展進程仍然緩慢。與此同時,當今的制造工藝能夠提供更多更高速的邏輯、更快的I/O和更低價位的新一代可編程邏輯器件,現(xiàn)場可編程門陣列CPLD (Complex Programmable Logic Device)己然進入嵌入式應用領域,高性能CPLD也不再局限于引進系統(tǒng)粘合邏輯,也可作為SOC平臺。由于CPLD的現(xiàn)場可編程特征,它己成為更具靈

8、活性和廣泛性發(fā)展前景的工業(yè)設計平臺 。</p><p>  與傳統(tǒng)電路設計方法相比,CPLD具有功能強大、開發(fā)過程投資小、周期短、便于修改及開發(fā)工具智能化等特點。使用CPLD器件設計數(shù)字電路,不僅可以簡化設計過程,而且可以降低整個系統(tǒng)的體積和成本,增加系統(tǒng)的可靠性。CPLD可輕易地被修改變更、修復缺陷,或在用戶需要升級和配合市場發(fā)展時去創(chuàng)制未來的衍生產(chǎn)品。它們無需花費傳統(tǒng)意義下制造集成電路所需大量時間和精力,避免

9、了投資風險,成為電子器件行業(yè)中發(fā)展最快的一族。</p><p>  1.2 研究思路和方案分析</p><p>  設計調(diào)制解調(diào)器,可以考慮用通用DSP芯片的方案。這種方案的通用DSP具備靈活的可編程性和高效的性能,有的甚至還集成了通用微控制器。方框圖如圖1-1所示:</p><p>  圖1-1 通用DSP方案</p><p>  通用DS

10、P都是按程序循序執(zhí)行,即串行構(gòu)架,這限制了通用DSP不能達到很高的速度。但是調(diào)制和編碼單元中往往用到濾波器,乘法器,直接頻率合成器等需要高速時鐘的器件。雖然通用DSP具有哈佛結(jié)構(gòu),多重總線,超標量流水線,分支預測等先進的技術(shù),但是都不可能從本質(zhì)上改變程序循序執(zhí)行的缺點,在需要高速應用的場合通用DSP往往不能勝任。而使用專用 DSP雖然能解決好速度的問題但是可編程能力有限。</p><p>  下面我們用CPLD代

11、替上面方案中的通用DSP和變頻器。方框圖如圖1-2所示:</p><p>  圖1-2 CPLD方案</p><p>  CPLD內(nèi)部有豐富的資源能配置成各種形式的電路。用CPLD代替通用DSP后不僅靈活性沒有降低,性能卻有極大的提高。CPLD內(nèi)部能被編成將所有的功能以并行方式執(zhí)行大大加快了速度。對于要求更高性能使還能使用流水線設計進一步提高數(shù)據(jù)吞吐量。CPLD可以設計多個并行模塊的系統(tǒng),

12、速度高,同時具有高度靈活甚至能改變系統(tǒng)構(gòu)架。</p><p>  前一種通用DSP方案主要是指目前己廣泛使用的DSP處理器的解決方案,包括一系列軟硬件技術(shù)與開發(fā)技術(shù)。采用DSP處理器(如TI的TMS32OC系列)的解決方案日益面臨著不斷增加的巨大挑戰(zhàn),而自身的技術(shù)瓶頸(如運行速度、吞吐量、總線結(jié)構(gòu)的可變性、系統(tǒng)結(jié)構(gòu)的可重配置性、硬件可升級性等等)致使這種解決方案在DSP的許多新的應用領域中的道路越走越窄;后一種C

13、PLD方案則是基于SOPC(可編程片上系統(tǒng))技術(shù)、EDA技術(shù)與CPLD實現(xiàn)方式的DSP技術(shù),是現(xiàn)代電子技術(shù)發(fā)展的產(chǎn)物,它有效地克服了傳統(tǒng)DSP技術(shù)中的諸多技術(shù)瓶頸,在許多方面顯示了突出的優(yōu)勢,如高速與實時性,高可靠性,自主知識產(chǎn)權(quán)化,系統(tǒng)的重配置與硬件可重構(gòu)性,單片系統(tǒng)的可實現(xiàn)性,以及開發(fā)技術(shù)的標準化和高效率。</p><p>  因此我們采用后面一種方案完成系統(tǒng)設計,進行數(shù)字調(diào)制解調(diào)和編碼譯碼技術(shù)的研究,使用V

14、HDL硬件描述語言可以快速高效地設計出具有復雜結(jié)構(gòu)和算法的系統(tǒng),同時優(yōu)化算法和結(jié)構(gòu)達到節(jié)省硬件資源和高效率開發(fā)的特點。</p><p>  1.3 論文的主要工作</p><p>  本文的調(diào)制解調(diào)和編碼譯碼方法的是基于CPLD的開發(fā)技術(shù),利用CPLD完成調(diào)制解調(diào)和編碼譯碼的過程。開發(fā)手段是Quartus II工具軟件的應用。</p><p><b>  

15、論文安排如下:</b></p><p>  第1章:概括了調(diào)制解調(diào)器的研究背景,明確了本文的研究思路和所用方案,對本文的主要工作和文章安排進行了介紹。</p><p>  第2章:介紹了可編程邏輯器CPLD、可編程片上系統(tǒng)開發(fā)軟件Quartus II及硬件描述語言VHDL。</p><p>  第3章:介紹了系統(tǒng)的理論基礎及一般原理,整個系統(tǒng)采用模塊化設

16、計,詳細介紹M序列、調(diào)制、解調(diào)、編碼、譯碼五個模塊的設計。</p><p>  第4章:硬件部分,畫出了整個系統(tǒng)的硬件原理圖,顯示并分析了測試到的波形。</p><p>  第5章:總結(jié)全文內(nèi)容,提出了本課題有待于進一步深入研究的問題。</p><p>  第2章 可編程片上系統(tǒng)開發(fā)技術(shù)</p><p>  2.1可編程邏輯器件簡介</

17、p><p>  可編程邏輯器PLD(Progr~ableLogicDeviees)從20世紀70年代發(fā)展到現(xiàn)在,己形成了許多類型的產(chǎn)品,其結(jié)構(gòu)、工藝、集成度、速度和性能都在不斷的改進和提高。PLD又可分為簡單低密度PLD和復雜高密度PLD。</p><p>  可編程陣列邏輯器件PAL(ProgranunableArrayLogic)和通用陣列邏輯器件GAL(GenerioArrayLogic

18、)都屬于簡單PLD,結(jié)構(gòu)簡單,設計靈活,對開發(fā)軟件的要求低,但規(guī)模小,難以實現(xiàn)復雜的邏輯功能。隨著技術(shù)的發(fā)展,簡單PLD在集成度和性能方面的局限性也暴露出來。其寄存器、I/O引腳、時鐘資源的數(shù)目有限,沒有內(nèi)部互連,因此包括復雜可編程邏輯器件CPLD(ComPlexPLD)和現(xiàn)場可編程門陣列器件FPLD(Field Programmable Gate Array)在內(nèi)的復雜PLD迅速發(fā)展起來,并向著高密度、高速度、低功耗以及結(jié)構(gòu)體系更靈活

19、、適用范圍更廣闊的方向發(fā)展。CPLD具備陣列型 PLD的特點,結(jié)構(gòu)又類似掩膜可編程門陣列,因而具有更高的集成度和更強大的邏輯實現(xiàn)功能,使設計變得更加靈活和易實現(xiàn)。相對于CPLD,它還可以將配置數(shù)據(jù)存儲在片外的EPROM或者計算機上,設計人員可以控制加載過程,在現(xiàn)場修改器件的邏輯功能,即所謂的現(xiàn)場可編程。所以CPLD得到了更普遍的應用。</p><p>  使用CPLD器件設計數(shù)字電路,不僅可以簡化設計過程,而且可

20、以降低整個系統(tǒng)的體積和成本,增加系統(tǒng)的可靠性。它們無需花費傳統(tǒng)意義下制造集成電路所需大量時間和精力,避免了投資風險,成為電子器件行業(yè)中發(fā)展最快的一族。</p><p>  2.2可編程片上系統(tǒng)開發(fā)軟件</p><p>  Altera的Quartus II開發(fā)平臺,它囊括了從設計輸入、綜合、布局布線、仿真、時序分析、下載驗證等所有設計流程,是一個完整的開發(fā)平臺,能滿足多種設計的需要,是SO

21、PC設計的綜合環(huán)境和SOPC開發(fā)的基本設計工具,并為 Altera DSP開發(fā)包進行系統(tǒng)模型設計提供了集成綜合環(huán)境。Quartus II設計工具完全支持VHDL,Verilog的設計流程,其內(nèi)部嵌有VHDL,Verilog邏輯綜合器。Quartus II可以進行基于CPLD的DSP系統(tǒng)開發(fā),是DSP硬件系統(tǒng)實現(xiàn)的關(guān)鍵EDA工具。</p><p>  Quartusll包括模塊化的編譯器。編譯器包括的功能模塊有分析

22、綜合器、適配器、裝配器、時序分析器、設計輔助模塊、EDA網(wǎng)表文件生成器、編輯數(shù)據(jù)接口等。以通過選擇start ComPilation來運行所有的編譯器模塊,或通過選擇 ComPilerTool,在 ComPilerTool窗口中運行該模塊來啟動編譯器模塊。</p><p>  此外,Quartus II還包含許多十分有用的LPM(Library of parameterized Modules)模塊,他們是復雜或

23、高級系統(tǒng)構(gòu)建的重要組成部分,在SOPC設計中被大量應用,也可與Quartus II普通文件一起使用。Altera提供的可參數(shù)化宏功能模塊和LPM函數(shù)均基于Altera器件的結(jié)構(gòu)作了優(yōu)化設計。在許多使用情況中,必須使用宏功能模塊才可以使用某些特定器件硬件功能,如DSP模塊,片上存儲器,PLL等。這可以通過Quartus II中的Mega wizard Plug-in Manager來建立Altera宏功能模塊、LPM函數(shù)和IP函數(shù),用于Q

24、uartus II綜合工具中的設計。一般設計流程如圖2-1所示</p><p>  圖2-1 Quartus II 一般設計流程</p><p>  2.3硬件描述語言VHDL簡介</p><p>  硬件描述語言VHDL(Very High Speed Integrated Cireuit Hardware Description Language)是一種用于設計

25、硬件電子系統(tǒng)的計算機語言,它用軟件編程的方式來描述電子系統(tǒng)的邏輯功能、電路結(jié)構(gòu)和連接形式。與傳統(tǒng)的門級描述方式相比,它更適合于大規(guī)模集成電路系統(tǒng)的設計。</p><p>  VHDL是一種全方位的硬件描述語言,包括系統(tǒng)行為級、寄存器傳輸級和邏輯門級多個設計層次,支持結(jié)構(gòu)、數(shù)據(jù)流、行為三種描述形式的混合描述,因此VHDL幾乎覆蓋了以往各種硬件描述語言的功能。</p><p>  VHDL主要

26、用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,非常適用于可編程邏輯芯片的應用設計。與其它的HDL相比,VHDL具有更強大的行為描述能力,從而決定了它稱為系統(tǒng)設計領域最佳的硬件描述語言。強大的行為描述能力是避開具體的器件結(jié)構(gòu),從邏輯行為上描述和設計大規(guī)模電子系統(tǒng)的重要保證利用VHDL語言設計數(shù)字系統(tǒng)硬件電路,一般采用的是自頂向下(TOP-DOWN)的設計方法。自頂向下是指從系統(tǒng)總體要求出發(fā),在頂層進行功能方框圖的劃分和結(jié)構(gòu)設計。在方框圖一級進

27、行仿真、糾錯,并用硬件描述語言對高層次的系統(tǒng)行為進行描述,在系統(tǒng)一級進行驗證。然后利用綜合優(yōu)化工具生成具體門電路的網(wǎng)表,其對應的物理實現(xiàn)級可以是CPLD電路或?qū)S眉呻娐?。由于設計的主要仿真和調(diào)試過程是在高層次上完成的,這一方面有利于早期發(fā)現(xiàn)結(jié)構(gòu)設計上的失誤,避免設計工作的浪費,同時減少了邏輯功能仿真的工作量,提高了設計的一次成功率。</p><p>  第三章 系統(tǒng)的組成及工作原理</p><

28、;p>  本課題是在QuartusII環(huán)境下,進行移動通信中常用調(diào)制解調(diào)方法、信道編譯碼方法研究。系統(tǒng)總原理框圖如圖3-1所示:</p><p>  3.1 M序列產(chǎn)生器</p><p>  M序列是最長線性反饋移位寄存器序列的簡稱。它是由帶線性的移存器產(chǎn)生的周期最長的序列。</p><p>  文中的m序列是由一個4級線性反饋移存器產(chǎn)生的。設其初始狀態(tài)為(

29、b3,b2,b1,b0)=(1,0,1,0),則移位一次時,由b1和b0模2相加產(chǎn)生新的輸入b4=1⊕0=1,新的狀態(tài)變?yōu)椋╞3,b2,b1,b0)=(1,1,0,0).這樣移位15次后又回到初始狀態(tài)(1,0,1,0)。因為4級移存器共有24=16種可能的狀態(tài)。除全“0”狀態(tài)外,只剩15種狀態(tài)可用。這就是說,由任何4級反饋移存器產(chǎn)生的序列的周期最長為15.</p><p>  圖3-2 M序列產(chǎn)生原理圖<

30、/p><p>  生成的頂層文件如圖3-3所示:</p><p>  圖3-3 產(chǎn)生M序列程序的頂層文件</p><p>  基于quartus II的仿真</p><p>  M序列時序仿真結(jié)果如圖3-4所示:</p><p>  圖3-4 M序列時序仿真結(jié)果</p><p>  由圖3-4可以

31、看出產(chǎn)生的M序列為“111100010011010”,與理論相符,其碼元速率為1kb/s。</p><p>  3.2 QPSK調(diào)制解調(diào)</p><p>  3.2.1多進制相移鍵控基本原理</p><p>  在2PSK信號的表示中一個碼元的載波初始相位可以等于0或。將其推廣到多進制,可以取多個可能值。所以,一個MPSK信號碼元可以表示為</p>&

32、lt;p><b>  (式3-1)</b></p><p>  式中:A為常數(shù);為一組間隔均用的受調(diào)制相位,其值決定與基帶碼元的取值。所以它可以寫為</p><p><b> ?。ㄊ?-2)</b></p><p>  通常M取2的某次冪:</p><p><b>  K=正整數(shù)&l

33、t;/b></p><p>  對多進制PSK信號,不能簡單的采用一個相干載波進行解調(diào)。例如,若cos作為相干載波時,因為,使解調(diào)存在模糊。只有在2PSK中才可以使用一個相干載波進行解調(diào)。這是需要兩個正交的相干載波進行解調(diào)。MSPSK信號的碼元表示展開寫成</p><p><b> ?。ㄊ?-3)</b></p><p><b>

34、;  式中,</b></p><p>  上式表明,MPSK信號碼元sk(t)可以看作是由正弦和余弦兩個正交分量合成的信號,他們的振幅分別是ak和bk,并且ak2 + bk2 = 1 。這就是說,MPSK信號碼元可以看作是兩個特定的MASK信號碼元之和。因此,其帶寬和MASK信號的帶寬相同。</p><p>  4PSK常稱為正交相移鍵控(Quadrature Phase Sh

35、ift Keying,QPSK)。它的每個碼元含有2b的信息,現(xiàn)用ab代表這兩個比特。發(fā)送碼元序列在編碼時需要先將每兩個比特分成一組,然后用4種相位之一 k去表示它。兩個比特有4種組合,即00、01、10和11。</p><p>  在碼元的表示式(3-1)中,k稱為初始相位,常簡稱為相位,而把(0t + k)稱為信號的瞬時相位。當碼元中包含整數(shù)個載波周期時,初始相位相同的相鄰碼元的波形和瞬時相位才是連續(xù)的。若每

36、個碼元中的載波周期數(shù)不是整數(shù),則即使初始相位相同,波形和瞬時相位也可能不連續(xù),或者波形連續(xù)而相位不連續(xù)。在碼元邊界,當相位不連續(xù)時,信號的頻譜將展寬,包絡也將出現(xiàn)起伏。</p><p>  3.2.2 QPSK 調(diào)制</p><p>  QPSK即四相相移鍵控,就是四相相移調(diào)制。將360度分成4份,各個相位角相差90度,所以又稱正交相移調(diào)制。常用的初始相位角可以是0或者45度, 一般QPS

37、K可以看成正交的兩路傳播,一路I支路,一路為Q支路。正交相移調(diào)制(QPSK)特點:調(diào)制效率高,傳輸?shù)念l帶利用率高,要求傳送途徑的信噪比低。</p><p>  QPSK信號的產(chǎn)生方法可以有兩種方法。第一種是用相乘電路,如圖3-5所示。</p><p>  圖3-5 QPSK信號產(chǎn)生方法</p><p>  圖中輸入基帶信號A(t)是二進制不歸零碼元,它被“串/并轉(zhuǎn)換

38、”電路變成兩路碼元a和b后,其每個碼元的持續(xù)時間是輸入碼元的兩倍,這兩路并行碼元序列分別用以和兩路正交載波相乘。</p><p>  第二種方法是選擇法,其原理方框圖如圖3-6所示。這是輸入基帶信號經(jīng)過串/并轉(zhuǎn)換后用以控制一個相位選擇電路,按照當時輸入的雙比特ab,決定選擇哪個相位的載波輸出。</p><p>  圖3-6 QPSK信號鍵控產(chǎn)生法</p><p> 

39、 本文設計采用的是第二種設計方案,即鍵控法。這種方法實現(xiàn)簡單。基于CPLD的Qpsk的調(diào)制原理框圖如圖3-7所示。</p><p>  圖3-7 QPSK調(diào)制原理圖</p><p>  首先是對輸入的串行碼進行串并轉(zhuǎn)換,轉(zhuǎn)換后的碼元速率應是串入是的一半,從而達到同步輸入輸出。將外部時鐘進行分頻的同時產(chǎn)生四種相位,最后通過一個四選一數(shù)據(jù)選擇器對并行碼選擇相應相位的載波進行調(diào)制。</p

40、><p>  基于VHDL的QPSK調(diào)制器設計如圖3-8所示</p><p>  圖3-8 基于VHDL的QPSK調(diào)制器設計</p><p>  調(diào)制程序生成的頂層文件如圖3-9所示:</p><p>  圖3-9 QPSK 調(diào)制程序的頂層文件</p><p>  3.2.3 QPSK解調(diào)</p><

41、p>  由于是方波調(diào)制,所以解調(diào)時用調(diào)制時相匹配的時鐘信號找出調(diào)制波高電平或低電平對應的位置,即可確定其不同的相位,從而解調(diào)出對應的碼元。解調(diào)原理圖如圖3-10所示:</p><p>  圖3-10 QPSK 解調(diào)原理圖</p><p>  首先是做一個加法器,加法器的四個值對應四種相位,其他情況以對應零相位處理。然后通過一數(shù)據(jù)分配器將對應的并行碼輸出,最后經(jīng)過并串轉(zhuǎn)換輸出解調(diào)后的

42、基帶信號。由于在每個周期內(nèi)輸出兩個碼元,所以輸出的基帶信號為歸零碼。</p><p>  解調(diào)程序生成的頂層文件如圖3-11所示:</p><p>  圖3-11 QPSK 解調(diào)程序的頂層文件</p><p>  3.2.4 調(diào)制解調(diào)系統(tǒng)</p><p>  將M序列、QPSK調(diào)制、QPSK解調(diào)模塊連成一個調(diào)制解調(diào)系統(tǒng),該系統(tǒng)完成了M序列的產(chǎn)

43、生,然后對M序列進行了調(diào)制和解調(diào)。其結(jié)構(gòu)如圖3-12所示:</p><p>  圖3-12 調(diào)制解調(diào)系統(tǒng)結(jié)構(gòu)圖</p><p>  基于quartus II的仿真</p><p>  調(diào)制解調(diào)系統(tǒng)的時序仿真結(jié)果如圖3-13所示:</p><p>  圖3-13 調(diào)制解調(diào)系統(tǒng)的時序仿真結(jié)果</p><p>  圖中y0是

44、M序列的波形,y1是對M序列調(diào)制的輸出波形,y2是解調(diào)的輸出波形。其中y0和y2的波形是一樣的,只是有少許的時延,因此,該系統(tǒng)完成了對M序列的調(diào)制和解調(diào)。</p><p>  3.3 卷積碼編碼譯碼</p><p>  3.3.1糾錯編碼基礎</p><p>  信道編碼的編碼對象是信源編碼器輸出的數(shù)字序列(信息序列)。信道編碼按照一定的規(guī)則給數(shù)字序列M增加一些冗余

45、的碼元,使不具有規(guī)律性的信息序列M變換為具有某種規(guī)律性的數(shù)字序列Y(碼序列)。也就是說,碼序列中信息序列的諸碼元與冗余碼元之間是相關(guān)的。在接收端,信道譯碼器利用這種預知的編碼規(guī)則來譯碼,或者說檢測接收到的數(shù)字序列R是否符合既定的規(guī)則,從而發(fā)現(xiàn)R中是否有誤碼,進而糾正其中的差錯。根據(jù)相關(guān)性來檢測和糾正傳輸過程中產(chǎn)生的差錯就是信道編碼的基本思想。</p><p>  通常數(shù)字序列M總是以k個碼元為一組來進行傳輸?shù)?。?/p>

46、們稱這k個碼元的碼組為信息碼組,信道編碼器按照一定的規(guī)則對每個信息碼組附加一些冗余的碼元,構(gòu)成了n個碼元的碼組。這n個碼元之間是相關(guān)的。即,附加的n一k個碼元稱為該碼組的監(jiān)督碼元。從信息傳輸?shù)慕嵌葋碚f,監(jiān)督碼元不載有任何信息,所以是冗余的。這種冗余度使碼字具有一定的檢錯和糾錯能力,提高了傳輸?shù)目煽啃?,降低了誤碼率。另一方面,如果我們要求信息傳輸?shù)乃俾什蛔?,在附加了監(jiān)督碼元之后,就必須減少碼組中每個碼元符號的持續(xù)時間,對二進制碼就是減少脈

47、沖寬度,若編碼前每個碼元脈沖的歸一化寬度為l,則編碼后的歸一化寬度為招h,因此信道帶寬必須展寬可k倍。在這種情況下,我們是以帶寬的兀余度換取了信道傳輸?shù)目煽啃?。如果信息傳輸速率允許降低,則編碼后每個碼元的持續(xù)時間可以不變。此時我們以信息傳輸速度的冗余度或稱時間的冗余度換取了傳輸?shù)目煽啃浴?lt;/p><p>  3.3.2卷積碼編碼</p><p>  卷積碼(convolutional co

48、de)是由伊利亞斯發(fā)明的一種非分組碼。通常它更適用于前向糾錯,因為對于許多時間情況它的性能優(yōu)于分組碼,而且運算較簡單。</p><p>  在分組碼中,編碼器產(chǎn)生的n個碼元的一個碼組,完全決定于這段時間中k比特輸入信息。這個碼組中監(jiān)督位僅監(jiān)督本碼組中k個信息位。卷積碼則不同。卷積碼在編碼時雖然也是把k比特的信息段編成n個比特的碼組,但是監(jiān)督碼元不僅和當前的k鼻涕信息段有關(guān),而且還同前面m=(N-1)個信息段有關(guān)。

49、所以一個碼組中的監(jiān)督碼元監(jiān)督者N個信息段。通常將N稱為編碼約束度,并將nN稱為編碼約束長度。一般說來,對于卷積碼,k和n的值是比較小的整數(shù)。通常將卷積碼記作(n,k,N)。</p><p>  圖3-14示出卷積碼編碼的一般原理方框圖。編碼器由三種主要元件構(gòu)成,包括Nk級移存器、n個模2加法器和一個旋轉(zhuǎn)開關(guān)。每個模2加法器的輸入端數(shù)目可以不同,他連接到一些移存器的輸出端。模2加法器的輸出端接到旋轉(zhuǎn)開關(guān)上。將時間分

50、成等間隔的時隙,在每個時隙中有k比特從左端進入移存器,并且移存器各級暫存的信息向右移k位。旋轉(zhuǎn)開關(guān)每時隙旋轉(zhuǎn)一周,輸出n比特(n>k)。</p><p>  圖3-14 卷積碼編碼一般原理方框圖</p><p>  卷積編碼可以用來糾正隨機差錯經(jīng)卷積編碼后的碼元不僅與當前的碼元信息有關(guān), 還與前面的碼元信息有關(guān)。</p><p>  本文中的編碼是一個(2,1

51、,6)的卷積碼編碼。如圖3-15所示</p><p>  圖3-15 (2,1,6)卷積碼編碼原理方框圖</p><p>  當初始輸入序列為b1 b2 b3 b4 …時,則監(jiān)督位為: </p><p><b>  C1=b1</b></p><p><b>  C2=b2</b></p>

52、;<p>  C3=b3 (式3-4)</p><p><b>  C4=b1+b4</b></p><p>  C5=b1+b2+b5</p><p>  C6=b1+b2+b3+b5</p><p>  卷積碼編碼程序的頂層文件如圖3-16所示

53、:</p><p>  圖3-16 卷積碼編碼程序的頂層文件</p><p>  3.3.3卷積碼的解碼</p><p>  卷積碼的解碼方法可以分為兩類:代數(shù)解碼和概率解碼。代數(shù)解碼是利用編碼本身的代數(shù)結(jié)構(gòu)進行解碼,不考慮信道的統(tǒng)計特性。大數(shù)邏輯解碼,又稱門限解碼,是卷積碼代數(shù)解碼的最主要一種方法,而且設備較簡單。概率解碼(又稱最大似然解碼)則是基于信道的統(tǒng)計特性

54、和卷積碼的特點進行計算。首先由沃曾克拉夫特針對無記憶信道提出的序貫解碼就是概率解碼方法之一;另一種概率解碼方法是維特比(Viterbi)算法。當碼的約束長度較短時,它比序貫解碼算法的效率更高、速度更快、目前得到廣泛的應用。</p><p><b>  大數(shù)邏輯解碼:</b></p><p>  卷積碼的大數(shù)邏輯解碼是基于卷積碼的代數(shù)表述運算的,其一般工作原理示于3-1

55、7中。卷積碼是一種線性碼。線性碼有可能用校正子指明接收碼組中的錯碼位置,從而糾正錯碼。圖3-6中即利用此監(jiān)督位計算校正子。然后,將計算得出的校正子暫存,并用它來檢測錯碼的位置。在信息位移存器輸出端,接有一個模2加電路;當檢測到輸出的信息位有錯時,在輸出的信息位上加“1”,從而糾正之。</p><p>  圖3-17 大數(shù)邏輯解碼一般工作原理</p><p>  這里的錯碼檢測是采用二進制制

56、碼的大數(shù)邏輯解碼算法。它利用一組正交校驗方程進行計算。這里的“正交”是有特殊定義的。其定義式:若被校驗的那個信息位出現(xiàn)在檢驗方程組的每一個方程中,而其他的信息位至多在一個方程中出現(xiàn),則稱這組方程為正交校驗方程。這樣就可以根據(jù)被錯碼影響了的方程數(shù)目在方程組中是否占多數(shù)來判斷該信息位是否錯了。</p><p>  參照式(3-4),得到監(jiān)督關(guān)系式如下:</p><p><b>  S

57、1=C1+b1</b></p><p><b>  S2=C2+b2</b></p><p>  S3=C3+b3 (式3-5)</p><p>  S4=C4+b1+b4</p><p>  S5=C5+b1+b2+b5</p>&l

58、t;p>  S6=C6+b1+b2+b3+b5</p><p>  式3-5中的Si(i=1~6)稱為校正子,經(jīng)過簡單線性變換后,可以得出如下正交校驗方程組:</p><p><b>  S1=C1+b1</b></p><p>  S4=C4+b1+b4</p><p>  S5=C5+b1+b2+b5

59、 (式3-6)</p><p>  S2+S6=C6+b1+b2+b3+b5</p><p>  在(式3-6)中,只有信息位b1出現(xiàn)在每個方程中,監(jiān)督位和其他信息位均最多只出現(xiàn)一次。因此,在接收端解碼時,考察b1、c1至b6、c6等12個碼元,僅當b1出錯時,式4-3中才可能有3個或3個以上方程等于“1”。從而能夠糾正b1的錯誤。按照這一原理畫出的此(

60、2,1,6)卷積碼解碼原理方框圖示于圖4-12中。由此圖可見,當信息位出現(xiàn)一個錯碼是,僅當它位于信息位移存器的第6、3、2和1級時,才使校正子等于“1”。因此,這是的校正子序列為100111;反之,當監(jiān)督位出現(xiàn)一個錯碼是,校正子序列將為100000.。由此可見,當校正子序列中出現(xiàn)第一個“1”時,表示已經(jīng)檢出一個錯碼。后面的幾個校正子則指出是信息位錯了,還是監(jiān)督位錯了。圖中門限電路的輸入為代表式4-3的4個方程的4個電壓。門限電路將這4個

61、電影(非模2)相加。當相加結(jié)果大于或等于3時,門限電路輸出“1”,它除了送到輸出端的模2加法器上糾正輸出碼元b1的錯碼外,還送到校正子移存器糾正其中錯誤。</p><p>  文中卷積碼解碼原理方框圖如圖3-18所示:</p><p>  圖3-18 (2,1,6)卷積碼解碼原理方框圖</p><p>  基于VHDL卷積碼解碼器的設計如圖3-19所示:</p

62、><p>  圖3-19 基于VHDL卷積碼解碼器的設計</p><p>  卷積碼譯碼編程的頂層文件如圖3-20所示:</p><p>  圖3-20 卷積碼譯碼編程的頂層文件</p><p>  3.3.4 卷積碼編碼譯碼系統(tǒng)</p><p>  將M序列、卷積碼編碼、大數(shù)邏輯譯碼模塊連成一個編碼譯碼系統(tǒng),該系統(tǒng)完成了

63、M序列的產(chǎn)生,然后對M序列進行了編碼和譯碼。其結(jié)構(gòu)如圖3-21所示:</p><p>  圖3-21 卷積碼編碼譯碼系統(tǒng)結(jié)構(gòu)圖</p><p>  基于quartus II的仿真</p><p>  編碼譯碼系統(tǒng)的時序仿真結(jié)果如圖3-22所示:</p><p>  圖3-22 卷積碼編碼譯碼系統(tǒng)的時序仿真結(jié)果</p><p

64、>  圖中pn_15是M序列的波形,bm_out是對M序列編碼的輸出波形,ym_out是譯碼的輸出波形。其中pn_15和ym_out的波形是一樣的,只是有少許的時延,因此,該系統(tǒng)完成了對M序列的編碼和譯碼。</p><p>  3.4小型移動通信系統(tǒng)</p><p>  將前面的M序列,QPSK調(diào)制、解調(diào),卷積碼編碼、譯碼模塊,全部鏈接起來,組成一個小型的通信系統(tǒng)。該系統(tǒng)先產(chǎn)生M序列

65、,然后對M序列卷積碼編碼,QPSK調(diào)制,解調(diào),大數(shù)邏輯譯碼。其結(jié)構(gòu)如圖3-23所示:</p><p>  圖3-23 移動通信系統(tǒng)結(jié)構(gòu)圖</p><p>  基于Quartus II的仿真</p><p>  移動通信系統(tǒng)的時序仿真結(jié)果如圖3-24所示:</p><p>  圖3-24 移動通信系統(tǒng)的時序仿真結(jié)果</p><

66、;p><b>  第四章 硬件部分</b></p><p>  硬件總原理圖如圖4-1所示:</p><p>  圖4-1硬件原理總圖</p><p>  系統(tǒng)的硬件部分主要是CPLD芯片EPM7128S和少許外圍電路組成。外圍電路產(chǎn)生了系統(tǒng)時鐘信號和Start信號作為輸入信號,M序列、調(diào)制解調(diào)、編碼譯碼都是在芯片EPM7128S中完成的

67、。</p><p>  根據(jù)原理圖,畫出pcb板圖,然后做出硬件板。最后用數(shù)字示波器測量各測試點的波形如下所示:</p><p>  圖4-2 輸入的時鐘信號與分頻后的時鐘信號</p><p>  在圖4-2中,上面波形是通過晶振產(chǎn)生的4M的時鐘信號,輸入,下面的波形是經(jīng)過4分頻輸出的信號。圖中下面的波形比上面的波形拓寬了4倍,得到了預期的結(jié)果。</p>

68、<p>  圖4-3 M序列的信號與最后的譯碼輸出信號</p><p>  在圖4-3中,上面的波形是M序列的信號波形,下面的波形是M序列信號經(jīng)過卷積編碼,QPSK調(diào)制,解調(diào),卷積譯碼后輸出的信號波形。圖中兩個波形是一樣的,只是下面波形有一些拓寬。因此,得到了預期的結(jié)果。</p><p>  圖4-4 編碼輸出信號與解調(diào)輸出信號</p><p>  在

69、圖4-4中,上面的波形是M序列編碼后的輸出信號波形,下面的波形是M序列經(jīng)過編碼,調(diào)制,解調(diào)后輸出的信號波形。圖中兩個波形是一樣的,只是有一些延時。因此,得到了預期的結(jié)果。</p><p>  下圖是所做的硬件板的實物圖,上面白色的方塊是一個4M的晶振,中間是CPLD的芯片EPM7128SLC84-15。左下角是電源的輸入線,紅的是正極,黑的是負極。右邊是分頻時鐘、M序列、編碼、調(diào)制、解調(diào)、譯碼的測試端口。<

70、/p><p>  圖4-5 硬件實物圖</p><p><b>  第五章 總結(jié)</b></p><p>  本文介紹了可編程邏輯器CPLD、可編程片上系統(tǒng)開發(fā)軟件Quartus II及硬件描述語言VHDL。調(diào)制編碼是數(shù)字通信系統(tǒng)中的一個重要部分,文中敘述了調(diào)制解調(diào)、編碼譯碼技術(shù)的理論基礎和實現(xiàn)方案。</p><p>  本

71、文始終采用的是模塊化得設計方法,這樣大大縮短了系統(tǒng)的開發(fā)周期,同時也方便調(diào)制。將每一個模塊的程序封裝成一個器件,這樣有很好的移植性,每一個模塊都可以方便的應用到其他系統(tǒng)中。</p><p>  系統(tǒng)設計雖然滿足最初的設計要求,但由于時間有限,本文的研究工作還不夠完善,本設計只是一個孤立的系統(tǒng),還需要通過實驗箱把程序下載到芯片中,然后自己焊制的硬件板才能完成對M序列調(diào)制解調(diào)、編碼譯碼的全部功能。</p>

72、<p><b>  參考文獻</b></p><p>  [1] 毋杰 康丙寅 王昭婧等,基于CPLD的片上系統(tǒng)的無線保密通信終端[M], 電子科技大學.2009</p><p>  [2] 施保華,金曉波,用CPLD構(gòu)成液晶顯示控制器[M],電子產(chǎn)品世界.2000(10)</p><p>  [3] 譚進,陳勇,查光明, 無線電

73、臺中DS/D-MPSK調(diào)制解調(diào)器的CPLD實現(xiàn)[M],現(xiàn)代電子技術(shù)</p><p>  [4] 陳浩.基于CPLD的調(diào)制解調(diào)器的研究和設計[D],華中師范大學,2007(12)</p><p>  [5] 晏堅,馬正新,楊寶國等,一種參數(shù)可變的BPSK/QPSK數(shù)字突發(fā)調(diào)制器的ASIC實現(xiàn)[J].無線電工程,2001(5) </p><p>  [6] Hong

74、Y.Chung and StePhen G..Wilson.Multimode Modulation and Coding of QAM[J].IEEE Trans.on Commun,Vol.41,No.1,pp.1-6.January 1993.</p><p>  [7] 鄒詡,匡鏡明.利用CPLD技術(shù)實現(xiàn)數(shù)字通信中的交織器和解交織器[J].電子技術(shù)應用.2000(10)</p><p&

75、gt;  [8] 王誠,吳繼華等著.Altera FPGA/CPLD設計(基礎篇)[M].北京;人民郵電出版社,2005(7)</p><p>  [9] uweMcyer-Baese.數(shù)字信號處理的CPLD實現(xiàn)[M].北京:清華大學出版社,2003.</p><p>  [10] 任曉東,文博.FPGA/CPLD高級應用開發(fā)指南[M].北京:電子工業(yè)出版社,2003</p>

76、<p>  [11] 柯煒,殷奎喜.基于CPLD的連續(xù)相位耐DQPSK調(diào)制器和解調(diào)器[J].南京師范大學學報.2004(3):41-44</p><p>  [12] 趙海潮,周榮花,沈業(yè)兵.基于CPLD的QPSK解調(diào)器的設計與實現(xiàn)[J].微計算機信息.2004(7):76-77</p><p>  [13] 孟慶海,張洲.VHDL基礎及經(jīng)典實例開發(fā)[M].西安大學出版社,20

77、08(4)</p><p>  [14] Darron. May. Advanced High-level HDL Programmable logic[J]. USA:Synplicity,Inc.Design Techniques for 2001:39-38</p><p><b>  致 謝</b></p><p>  在論文即將完成

78、之際,首先要感謝我的指導老師***老師,在完成畢業(yè)設計撰寫論文的過程中,***老師都用自己專業(yè)的知識對我進行悉心的教導和無私的幫助,他豐富的專業(yè)知識、開闊的視野和敏銳的思維對我在整個畢業(yè)設計和撰寫論文過程中,起了非常大的影響。 </p><p>  在此,還要感謝和我們班的同學。在設計過程中,通過同學的幫助,解決了許多自己無法解決的難題,他們并時常給我一些相關(guān)的信息對我的設計進行比較大的幫助。在此,我非常感謝他們

79、!</p><p>  此外還要感謝大學四年來所有的電子信息工程學院的老師們,在他們的教誨下,我掌握電子信息工程專業(yè)所需要學習的基礎和專業(yè)知識,為我以后的工作打下了堅實的基礎。</p><p><b>  附錄1</b></p><p>  系統(tǒng)部分VHDL源代碼如下:</p><p>  --QPSK調(diào)制程序:<

80、/p><p>  library ieee;</p><p>  use ieee.std_logic_arith.all;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_unsigned.all;</p><p>  entity

81、PL_PSK is</p><p>  port(clk :in std_logic; --系統(tǒng)時鐘</p><p>  start :in std_logic; --開始調(diào)制信號</p><p>  x :in std_logic; --基帶信號</p>

82、<p>  y :out std_logic); --調(diào)制信號</p><p>  end PL_PSK;</p><p>  architecture behav of PL_PSK is</p><p>  signal q:integer range 0 to 7; --計數(shù)器</p>

83、<p>  signal xx:std_logic_vector(1 downto 0); --中間寄存器</p><p>  signal yy:std_logic_vector(1 downto 0); --2位并行碼寄存器</p><p>  signal f:std_logic_vector(3 downto 0); --載波f</p>&

84、lt;p><b>  begin</b></p><p>  process(clk) --通過對clk分頻,得到4種相位;并完成基帶信號的串并轉(zhuǎn)換</p><p><b>  begin</b></p><p>  if clk'event and clk='1' then <

85、/p><p>  if start='0' then q<=0; </p><p>  elsif q=0 then q<=1;f(3)<='1'; f(1)<='0'; xx(1)<=x;yy<=xx;</p><p>  elsif q=2 then q<=3;f(2)&

86、lt;='0'; f(0)<='1';</p><p>  elsif q=4 then q<=5;f(3)<='0'; f(1)<='1'; xx(0)<=x;</p><p>  elsif q=6 then q<=7;f(2)<='1'; f(0)<=

87、9;0';</p><p>  elsif q=7 then q<=0;</p><p>  else q<=q+1;</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end p

88、rocess; </p><p>  --if yy="11" then y<=f(0);</p><p>  --elsif yy="10" then y<=f(1);</p><p>  --elsif yy="01" then y<=f(2);</p><p>

89、;  --else y<=f(3);</p><p><b>  --end if;</b></p><p>  y<=f(0) when yy="11" else --根據(jù)yy寄存器數(shù)據(jù),輸出對應的載波</p><p>  f(1) when yy="10" else&

90、lt;/p><p>  f(2) when yy="01" else</p><p>  f(3); </p><p>  end behav;</p><p>  --QPSK解調(diào)程序:</p><p>  --說明:解調(diào)信號說明如下表所示

91、。將一個信號周期分成4份,高電平權(quán)值分別為0、0、0、0,低電平權(quán)值分別為1、1、2、3。</p><p>  library ieee;</p><p>  use ieee.std_logic_arith.all;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_

92、logic_unsigned.all; </p><p>  entity MPSK is</p><p>  port(clk_0 :in std_logic; --系統(tǒng)時鐘</p><p>  clk_1 :in std_logic;</p><p>  start :in std_logic;

93、 --同步信號 </p><p>  x :in std_logic; --已調(diào)信號</p><p>  y :out std_logic); --基帶信號</p><p><b>  end MPSK;</b></p><p>  arch

94、itecture behav of MPSK is</p><p>  signal q:integer range 0 to 7; --計數(shù)器</p><p>  signal xx:std_logic_vector(2 downto 0); --加法器</p><p>  signal yyy:std_logic_vector(1 do

95、wnto 0); --2位并行基代信號寄存器</p><p>  signal yy:std_logic_vector(2 downto 0); --寄存xx數(shù)據(jù)</p><p><b>  begin</b></p><p>  process(clk_1)</p><p><b>  begin<

96、;/b></p><p>  if clk_1'event and clk_1='1' then </p><p>  if start='0' then q<=0;</p><p>  elsif q=0 then q<=1;yy<=xx; y<=yyy(0);</p><p

97、>  elsif q=1 then q<=2; --把加法計數(shù)器的數(shù)據(jù)送入yy寄存器</p><p>  if x='0' then xx<="001"; --調(diào)制信號x為低電平時,送入加法器的數(shù)據(jù)“001”</p><p>  else xx<="000";</p>

98、;<p><b>  end if; </b></p><p>  elsif q=2 then q<=3;</p><p>  elsif q=3 then q<=4; </p><p>  if x='0' then xx<=xx+"001";

99、 --調(diào)制信號x為低電平時,送入加法器的數(shù)據(jù)“001”</p><p><b>  end if;</b></p><p>  elsif q=4 then q<=5; y<=yyy(1);</p><p>  elsif q=5 then q<=6; </p><p>  if x=&

100、#39;0' then xx<=xx+"010"; --調(diào)制信號x為低電平時,送入加法器的數(shù)據(jù)“010”</p><p><b>  end if; </b></p><p>  elsif q=6 then q<=7;</p><p>  elsif q=7 then q<=0;<

101、;/p><p>  if x='0' then xx<=xx+"011"; --調(diào)制信號x為低電平時,送入加法器的數(shù)據(jù)“011”</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>&

102、lt;b>  end if;</b></p><p>  end process;</p><p>  process(clk_0,yy) --此進程根據(jù)yy寄存器里的數(shù)據(jù)進行譯碼</p><p><b>  begin</b></p><p>  if clk_0&

103、#39;event and clk_0='1' then</p><p>  if yy="101" then yyy<="00"; --yy寄存器“101”對應基帶碼“00”</p><p>  elsif yy="011" then yyy<="01"; -

104、-yy寄存器“011”對應基帶碼“01”</p><p>  elsif yy="010" then yyy<="10"; --yy寄存器“010”對應基帶碼“10”</p><p>  elsif yy="100" then yyy<="11"; --yy寄存器“100”對應基帶碼

105、“11”</p><p>  else yyy<="00";</p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  end process;</p><p>  end behav

106、;</p><p>  --卷積碼編碼程序:</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_logic_arith.all;</p><p>  use ieee.std_logic_unsig

107、ned.all;</p><p>  entity bm is</p><p>  port(start :in std_logic; --使能信號</p><p>  clk :in std_logic; --時鐘入口</p><p>  bm_i

108、n :in std_logic; --輸入數(shù)據(jù)</p><p>  bm_out :out std_logic); --輸出數(shù)據(jù)</p><p><b>  end bm;</b></p><p>  architecture rtl of bm is<

109、;/p><p>  signal registerb1 :std_logic; --定義8個寄存器</p><p>  signal registerb2 :std_logic;</p><p>  signal registerb3 :std_logic;</p><p>  s

110、ignal registerb4 :std_logic;</p><p>  signal registerb5 :std_logic;</p><p>  signal registerb6 :std_logic;</p><p>  signal registery :std_logic;</p&g

111、t;<p>  signal q :integer range 0 to 1;</p><p><b>  begin</b></p><p>  process(clk,start)</p><p><b>  begin</b></p><p>  

112、if(start='0')then --復位信號為1時,清零</p><p>  bm_out<='0';</p><p><b>  q<=0;</b></p><p>  registery<='0';</p&g

113、t;<p>  registerb1<='0';</p><p>  registerb2<='0';</p><p>  registerb3<='0';</p><p>  registerb4<='0';</p><p>  regis

114、terb5<='0';</p><p>  registerb6<='0';</p><p><b>  else</b></p><p>  if(clk'event and clk='1') then</p><p>  --------移位寄存器移

115、位操作</p><p>  registerb1<=registerb2;</p><p>  registerb2<=registerb3;</p><p>  registerb3<=registerb4;</p><p>  registerb4<=registerb5;</p><p>

116、  registerb5<=registerb6;</p><p>  registerb6<=bm_in;</p><p>  --------根據(jù)生成多項式進行模2相加運算</p><p>  registery<=registerb6 xor registerb3 xor registerb2 xor registerb1;--并串轉(zhuǎn)換&l

117、t;/p><p>  if (q=0) then</p><p>  bm_out<=registerb6;</p><p><b>  q<=1;</b></p><p><b>  else</b></p><p>  bm_out<=registery;&

118、lt;/p><p><b>  q<=0;</b></p><p><b>  end if;</b></p><p><b>  end if;</b></p><p><b>  end if;</b></p><p>  e

119、nd process;</p><p><b>  end rtl;</b></p><p>  --大數(shù)邏輯譯碼程序:</p><p>  library ieee;</p><p>  use ieee.std_logic_1164.all;</p><p>  use ieee.std_lo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論