導航:首頁 > 源碼編譯 > 軟判決演算法有哪些

軟判決演算法有哪些

發布時間:2022-04-26 08:46:48

⑴ 自適應均衡原理是什麼

自適應均衡
________________________________________
【文章名】:自適應均衡
【內容】: DFE自適應均衡器的FPGA設計 孫洪標 碩士 自適應均衡器;DFE;FPGA; 通信與信息系統 南開大學; 採用可編程邏輯器件設計電子線路是現代電子技術發展的一種趨勢,它能大大縮短產品研製時間,現在國內外各大公司都採用可編程邏輯器件來設計電子線路.該論文是以數字可編程邏輯器件來設計DFE自適應均衡器.設計一個系統,不僅要實現它的演算法功能,還需提高系統性能,如滿足一定的頻率要求等.作者在對如何用可編程邏輯器件來設計高速電子線路進行深入的了解和研究基礎上,根據DFE自適應均衡器的原理、結構和功能要求以及所採用的器件的結構特點,提出了自己的合理設計思想,完成了DFE自適應均衡器的系統設計,時鍾頻率達到了51.4MHz,具有很好的性能.該設計採用的軟體是Altera公司的MAX+plusⅡ和Synplicity公司的Synplify,採用的器件是Altera公司的FLEX10k系列.

盲均衡技術在水聲信道高速率數據傳輸中的應用 石傑 碩士 水聲信道;自適應均衡;盲均衡; 水聲工程 西北工業大學; 在水聲數字通信系統中,聲波傳播的多途效應會引起嚴重的碼間干擾,使水下數據傳輸的可靠性和數據傳輸速率都大大的降低.為解決此問題,一個有效的方法是在接收端採用信道均衡技術.但是由於水聲信道的隨機時變性,傳統的均衡技術需要周期性的發送收端已知的訓練碼來跟蹤信道的變化,這樣做雖然提高了數據傳輸的可靠性,但是系統的重復訓練大大的降低了通信效率,在水聲信道高速率數據傳輸中並不適用.針對傳統的信道均衡技術的缺陷,該論文研究了不需要訓練碼就能直接進行信道均衡的盲均衡技術.該論文對幾種應用比較廣泛的盲均衡演算法進行了研究,對它們的原理和結構進行了描述,並且分別對其在特定的水聲信道中的性能進行了理論模擬,得到了滿意的結果,並且對這幾種演算法進行了比較.

小波分析及其在自適應均衡中的應用 王軍鋒 碩士 小波分析;自適應均衡;自適應濾波;多址干擾; 應用數學 西安電子科技大學; 該論文對小波分析在自適應均衡中的應用問題進行了研究,利用小波變換的優點來提高自適應均衡的收斂速度.論文在分析小波的特性和傳統自適應均衡演算法性能的基礎上,從用小波級數表示線性均衡器出發,給出了基於正交小波變換的自適應線性均衡演算法、判決反饋均衡演算法和常數模演算法,並分析了各種演算法的性能和模擬結果.另外,該論文還初步探討了小波分析在抑制CDMA中多址干擾的應用.提出了基於正交小波變換的抑制多址干擾的自適應演算法,模擬結果表明了該演算法的有效性,這為進一步研究小波分析在該領域的應用提供了借鑒.

高速鐵路自適應均衡技術的研究 王文靜 碩士 碼間干擾;自適應均衡;MLSE;PSP;高速鐵路; 通信與信息系統 北京交通大學 北方交通大學; 該文研究的主要內容為信道均衡技術,它是抗衰落技術中最重要的一種重點是研究針對高速鐵路的無線傳播環境,適應於高速移動信道上的自適應均衡技術.在該論文中,首先對移動傳播環境進行了描述,特別是對小尺度多徑傳播造成的幅度衰落、多徑時延和多普勒頻移進行了分析對不同的衰落進行分類,給出了造成不同衰落類型的原因.並且,針對不同的衰澆類型建立了不同的信道模擬模型分析了高速鐵路下移動通信信道的特點.然後,詳盡地介紹了各種克服碼間干擾ISI的自適應均衡技術,特別是針對時變信道的自適應均衡技術.在該論文的最後,採用MATLAB5.3,在GSM系統中對高速鐵路無線傳播環境進行了計算機模擬對傳統的MLSE演算法及MLSE-PSP和採用最小生存路徑的MLSE演算法進行模擬,對不同的傳播環境不同的多普勒頻移、不同EbN0下的性能傳輸誤碼率和復雜度進行比較,並在論文的最後給出了研究結論.

基於短波通信條件下的信道檢測 李鴻巍 碩士 自適應均衡器;短波通信;自動鏈路建立; 通信與信息系統 西安電子科技大學; 隨著通信技術研究的不斷深入,短波通信這種傳統的通信方式,正不斷朝著具有高度自適應的方向發展.美軍軍標MIL-STD-188-141A是針對短波知適應通信中的自動鏈路建立ALE而提出的一種軍用標准.該文在分析了自動鏈路建立協議的基礎上,主要工作集中在以PC機的串口作為信息傳輸途徑,嚴格按照軍標的規定實現了ALE系統鏈路層的單信道和多信道的幾種典型呼叫協議的軟體模擬,並在一個短波信通模型的基礎上進行了性能測試,而且還提出了一種可以進一步提高通信質量的方法,那就是在系統的接收端加入一個自適應均衡器以提高信噪比.經過測試看出,這一改進可以較大地改善系統的性能.

數字移動通信中信道均衡及自動頻率校正的研究和實現 邊柱 碩士 GSM;CDMA;自適應均衡;自動頻率校正; 信號與信息處理 東南大學; 該文首先簡要介紹了數字通信系統的背景、數字信號處理器DSP主要供應商TI公司TMS320C54x系列和這個系列的硬體結構以及軟體開發環境和EDA技術與ASIC技術的發展.然後討論了自適應均衡器的原理,結構和主要的自適應演算法,並簡要比較了各自的特點,接著介紹了用TMS320C54x進行演算法的模擬和實現.第三章簡單介紹了碼分多址系統的原理和體系結構.第四章首先介紹了AFC的原理,討論了它對通信系統的影響,然後提出了AFC的實現方法,並用VHDL語言設計程序在FPGA上實現演算法的模擬. 在課題研究中,主要完成了以下工作1.研究了通信系統中自適應均衡的原理和方法.2.研究了CDMA系統的主要技術和移動台的主要技術.3.研究並實現了CDMA系統中移動台的自動頻率校正技術,並通過了實際的模擬.

數字電視地面廣播中均衡器的設計和研究 歸琳 博士 數字電視;自適應均衡器;判決反饋;信道估計; 通信與信息系統 北京交通大學 浙江大學; 在OFDM技術中,以多載波傳輸結合FFT技術來對付信道衰落,在VSB技術中以自適應均衡器來對抗信道衰落.該文研究了OFDM和VSB對抗信道衰落技術,並分析其各自的特點和局限性.在此基礎上,設計出了新一代用於VSB系統的自適應均衡器.採用了新的均衡器思路,演算法和結構,使該均衡器在對抗強多徑衰落以及長時延靜態和動態的付徑上的性能得到很大提高.

自適應均衡技術在GSM接收機中的應用 孫德剛 碩士 GSM;自適應均衡器;MLSE;維特比演算法; 信號與信息處理 北京交通大學 北方交通大學; 由於瑞利衰落和多徑效應的影響,數字移動通信的無線傳輸信道存在時間選擇性及頻率選擇性失真.為克服這些不利因素,窄帶TDMA數字移動通信系統必須採用自適應均衡技術.該文論述了利用自適應均衡技術來補償由多徑信道引起的數據的碼間串擾問題.集中討論了非線性均衡技術中的各種最大似然序列估計MLSE均衡器結構,並對這些均衡器的性能、復雜度進行了比較.為了在GSM系統中獲得較理想的傳輸質量,提出了兩種帶有軟輸出結構的演算法-SOVA和VALPP.該文詳細討論了改進Viterbi硬判決演算法和軟判決演算法應用在GSM系統中的基本原理和計算方法.根據GSM系統標準的要求,我們在接收機中設計完成了MvA硬判決和軟判決演算法.

短波串列MODEM的若干DSP演算法研究 鄢宜灼 碩士 HF MODEM;8PSK;脈沖成形;同步;自適應均衡;數據引導估計; 信號與信息處理 北京郵電大學; 短波通信信道中主要存在兩種固有特性多徑效應和多普勒頻移.這兩種特性嚴重影響短波通信的性能.針對短波通信信道的這種特性,人們提出了兩種實現體制一種是多音並行體制一種是單音串列體制.該文採用的是單音串列體制,研究目標是設計出一些適用而有效的HF MODEM電台的基帶數字信號處理演算法,包括8PSK調制解調、脈沖成形、初始同步、位同步、載波相位同步、信道自適應均衡等.該文的內容共分成五部分第一部分簡要介紹了短波通信的由來、短波通信信道特點、HF MODEM實現體制以及該文研究的具體目的和工作重心.第二部分介紹了模擬系統的總體方案以及模擬系統中通信基本參數的選定.第三部分主要介紹了HF MODEM中8PSK調制解調和脈沖成形技術.首先簡要介紹了幾種數字調制方式以及影響數字調制方式選擇的因素,然後從介紹8PSK調制解調的數學模型入手,介紹8PSK調制解調的演算法設計.最後詳細介紹了升餘弦滾降脈沖成形濾波器的實現.第四部分主要討論了HF MODEM電台接收端基帶數字信號處理中的初始同步、位同步、載波相位同步問題.提出了適合於HFMODEM系統的8PSK調制的位同步演算法、載波相位同步演算法和初始同步策略,最後給出了模擬結果並進行了分析.第五部分主要討論了信道自適應均衡問題.由於在採用單音串列體制,短波通信信道的特性之一多徑效應凸顯,碼間干擾嚴重,極大影響數據的正確接收.因此設計一個優良的自適應均衡演算法成了HF MODEM電台性能提升的關鍵.這部分介紹了一種有效而適用的信道均衡演算法——數據引導估計DDE演算法,並對該演算法進行了模擬分析.

短波信道中TCM解碼與自適應均衡的聯合實現 黃琴 碩士 短波通信;TCM;自適應均衡;迭代判決反饋;盲均衡; 通信與信息系統 南京理工大學; 長期以來,短波通信是遠距離信息傳輸的重要手段之一,短波高速數據傳輸是數字通信領域的重要研究課題.該文主要研究短波串列高速數據機HF MODEM中的TCM解碼與自適應均衡的聯合.短波信道是一種惡劣信道,背景雜訊高且有時變多徑特性,該文採用網格編碼調制TCM技術提高系統的抗噪性能,採用自適應均衡的方法消除由多徑引起的碼間串擾ISI.該文在研究聯合實現TCM解碼與信道自適應均衡的過程中,通過對文獻中的TCM信號的均衡方案進行分析,運用迭代解碼的思想,提出了迭代判決反饋均衡器It DFE的結構.It DFE是一種不需要發送訓練序列的盲均衡方法,以接收信號的硬判決值為迭代初值,充分利用了Viterbi軟判決得到的最大後驗概率序列,在多次迭代均衡中完成TCM解碼與自適應均衡的聯合.對典型短波信道的模擬結果結果表明,It DFE比傳統的判決反饋均衡器性能有所提高,與其他盲均衡方法相比,實現更簡單.

⑵ 求助,卷積碼的軟判決維特比解碼的matlab模擬

VHDL實現也可以,編碼器我會做,主要是解碼器的設計,採用回溯演算法 通過打孔方法可以獲得1/2編碼速度的編碼。遞歸系統編碼器的實現比較直接,然而基於,qmVCCV

⑶ 基於圖結構應用《編碼,解碼器》的設計與實現 這個畢業設計應該從什麼思路下手啊~~計算機專高手請指點

兄弟你這個論文有點難度了。不是隨便拉拉就行了。得找專業書籍慢慢找和高人指導了。
我查到點不指導有沒有用。
Turbo卷積碼(TCC)是3G無線系統中所採用的前向錯誤校正(FEC)機制的整體部分。然而,Turbo解碼器所帶來的計算負擔非常重,並不太適合採用傳統DSP或RISC處理器實現。由於現場可編程邏輯陣列(FPGA)內在的並行結構,FPGA為解決3G基站收發器中所需要的符號速率FEC和其它計算密集的任務提供了一個高性能信號處理平台基礎。

Turbo 編碼

級聯碼方案(Concatenated coding schemes)是為了通過結合兩個或更多相對簡單的分量或構造模塊碼來獲得較高的編碼增益。Turbo碼認為是對級聯碼結構的一種改進,其中採用迭代演算法對相關的碼序列進行解碼。Turbo碼是通過將兩個或更多分量碼應用到同一數據序列的不同交織版本上構成的。對於任何傳統單分量編碼,解碼器的最後一級生成的都是硬判決解碼數據位。為了使象Turbo碼這樣的級聯碼方案工作得更好,解碼演算法不應被限制為只能在解碼器間傳遞硬判決。為最好地利用每個解碼器獲得的信息,解碼演算法必須可以實現軟判決交換,而不是採用硬判決。對於採用兩個分量碼的系統,解碼的概念是指將來自一個解碼器的軟判決輸入到另一個解碼器的輸入,並將此過程重復幾次以獲得更好的判決,如圖1所示 。

3GPP Turbo 編碼器

圖2為3GPP編碼器。

輸入數據流輸入到RSC1,它為每個輸入比特生成一個對等比特(Parity Bit)。輸入數據還經過交織後由RSC2處理生成第二個對等比特流。
3GPP標準定義,輸入塊的長度在40至5114 位之間。編碼器生成一個速率為1/3的包括原始輸入位和兩個對等位的系統碼。通過打孔方法可以獲得1/2編碼速度的編碼。遞歸系統編碼器的實現比較直接,然而交織器則不那麼簡單,要比標準的卷積或塊交織器復雜。

一旦將輸入數據塊長度K 提供給編碼器以後,編碼器將計算交織矩陣行數R和列數 C,並創建相應的交織數據結構。R 和 C 是數據塊長度K的函數。在輸入符號被載入到交織矩陣以後,那麼將根據一定的順序進行行間交換和列間交換。交換模式是根據塊長度K選擇的(即依賴於K)。行和列交換完成後,通過逐列讀出交織矩陣數據就可以得到最終的交織序列。在數據讀出時需要進行刪減操作,以保證在輸出中只有正確的輸入符號,請注意,交織陣列包含的數據位通常比K個原始輸入符號要多 ,因為R C>K。然後,新的序列經過RSC2編碼生成第二個對等位流。
實現交織器的一種方法是在存儲器中存儲完整的交換序列。即,一旦K 給定,即調用一個初始化常式(運行在處理器上的軟體常式或利用FPGA中的功能單元)生成相應的交換序列,然後將這一信息存儲在存儲器中。然而,這一方法需要大量的存儲器。利用Virtex -E FPGA 技術提供的 4096位每塊的片上存儲器,將需要[5114 13/4096]=17個存儲器塊。

在我們的方法中,採用一個預處理引擎生成一個序列值(存儲),這一序列值被存儲起來,交織器地址發生器將使用這些序列值。這一硬體單元採用幾個小型數據結構(素數表)來計算所需要的序列。這一準備過程需要的時鍾周期數與信息塊的長度成比例。例如,對於K=40的塊需要280時鍾周期,而對於最大塊長度K=5114,則需要 5290個時鍾周期。該過程只需要在塊長度變化時進行。地址發生器利用這些更為緊湊的數據結構來實時生成交織地址。

3GPP Turbo 解碼器

解碼器包括兩個MAP(最大後驗概率)解碼器和幾個交織器。Turbo演算法的優良的性能源於可以在兩個MAP解碼器間共享可靠性信息(extrinsic data,外數據,或稱先驗數據)。

在我們的設計中,MAP解碼器採用的是Bahl, Cocke, Jelinek 和 Rajiv (BCJR) 演算法。BCJR演算法計算每個符號的最大後驗對數似然率,並且是一種真正的軟判決演算法。考慮到數據是以塊的形式傳輸的,因此可以在時間維中前向或反向搜索一個符號序列。對於任一序列,其出現概率都是單獨符號出現概率的乘積。由於問題是線性的,因此序列概述可以利用概率的對數和來代替。

為了與一般文獻中的習慣一致,我們將解碼迭代的前向和反向狀態概率分別利用 和 來表示。通常,BCJR演算法要求在接收到整個信息後才開始解碼。對於實時應用,這一限制可能太嚴格了。例如,3GPP Turbo解碼器將需要大量存儲器存儲一個5114符號信息塊的完全狀態結構(state trellis)。對於單片FPGA設計來說,這需要的存儲資源太多了。與維特比(Vitebi)演算法類似,我們可以先從全零向量 O和數據{yk}(k 從 n 到 n-L) 開始反向迭代。L次反向迭代可獲得非常好的 n-L近似值。只要L選擇合適,最終的狀態標志(state metric)就是正確的。可以利用這一性質在信息結束前就開始進行有效的位解碼。

L 被稱為收斂長度。其典型值大約是解碼器約束長度的數倍(通常為5至10倍),並隨著信噪比的降低而增加。

通常,Turbo解碼演算法將計算所有的 (對整塊信息),將這些數值存儲起來,然後在反向迭代中與反向狀態概率一起用來計算新的外信息(extrinsic information,或稱先驗信息)。我們的設計中採用了窗口化方法。

解碼過程以一個前向迭代開始,計算包含L 個接收符號的塊i的 值。同時,對未來(i+1)塊進行一個反向迭代(標號 )。對塊i+1的反向迭代結束時,就獲得了開始對塊i 進行反向迭代所需要的正確的 初始向量。 與此同時對數似然函數(Lall)也在進行。 每一 和 處理過程都需要8個max* 操作 - 每個針對狀態結構(tellis)中的8個結點之一。最終的對數似然計算需要14個並行max* 運算符。為了提供可接受的解碼速率,在設計中採用了38個max* 功能單元。

從 C描述到FPGA設計

FPGA Turbo 編碼解碼器設計是利用基於C的設計和驗證方法進行的,如圖3所示。

演算法開發階段採用具有定點C類型的Art Library 來對定點計算的位真(bit-true)效應進行准確建模。在這一階段考察了幾種可能演算法的定點性能。一旦選定正確的量化演算法,就可利用A|rtDesignerPro創建一個專用DSP架構。A|rtDesignerPro的一個最強大的功能之一是可以插入和利用專用的數據通道核心(稱為專用單元,ASU)。利用這些ASU加速器核心可以使我們處理Turbo解碼器演算法內在的計算復雜性。

A|rtDesignerPro可自動完成寄存器分配、調度和控制器生成。在Turbo編碼解碼器設計中, A|rtDesignerr的自動循環合並可獲得最佳的;任務調度,MAP解碼步驟的內部循環都只有一個周期長。

A|rtDesignerPro生成的最終結果是可綜合的寄存器級(RT-level) VHDL或Verilog 描述。基於C的工具流支持FPGA專用功能。例如,可利用BlockRAM自動構造RAM,而寄存器文件也可利用分布式存儲器而不是觸發器來實現 。

最後,邏輯綜合和Xilinx實施工具套件將RTL HDL 轉換為 FPGA 配置位流。

FPGA Turbo 編碼解碼器實現

A|rtDesigner創建的Turbo編碼器和解碼器核心硬體結構包含許多專用ASU加速器。其中最重要的一個加速器完成max* 操作。max* 運算符根據下式計算兩個冪值a 和 b:

max* (a,b)=ln(expc(a)+expc(b))。

如 圖4所示, max* 運算是通過選擇(a,b)最大值,並應用一個存儲在查找表(LUT)中的校正因子近似進行的。這一近似演算法非常適合利用Xilinx FPGA 實現,其中LUT是其最終基本構造單元。

結果

Turbo解碼演算法硬體字長的選擇極大地影響總體性能。利用C-to-FPGA設計流程,這一定點分析是完全在C環境中完成的。結果示於圖 5。

上圖顯示出了我們的浮點Turbo解碼器演算法和對應的定點演算法之間的性能差別。模擬是在5114塊長度、5次解碼迭代和AWGN信道模型情況下進行的。結果清晰明顯出性能的損失是非常小的。

我們的Turbo解碼器的定點性能做為解碼器迭代次數的函數 ,對於1.5 dB SNR,位錯率為10-6。

解碼器功能的實現非常具有挑戰性,我們同時針對Virtex-E和 Virtex-II 器件進行了適配。Virtex-II 器件實施是採用運行在1.85 speedfile資料庫上的Xilinx 4.1i 實施工具集完成的。利用XC2V1000BG575-5 FPGA實現的最終設計,達到了66 MHz 的時鍾性能,消耗了3,060個邏輯片 和 16個塊RAM。對於從40至 5114符號長度的塊,採用5次解碼迭代循環的情況下,解碼器達到了2 至6.5 百萬符號每秒(Msym/s)的吞吐量。編碼器佔用了903個邏輯片、3個塊RAM並支持83 MHz時鍾頻率。對於從40至5114位的塊長度,速率可達到9 至20 Msym/s。

能用上就好了,用不上別怪我。對不起哈~祝福你~

⑷ 軟體編程經常用的演算法都有哪些

排序演算法 所謂排序,就是使一串記錄,按照其中的某個或某些關鍵字的大小,遞增或遞減的排列起來的操作。
分類
在計算機科學所使用的排序演算法通常被分類為:
計算的復雜度(最差、平均、和最好表現),依據串列(list)的大小(n)。一般而言,好的表現是O。(n log n),且壞的行為是Ω(n2)。對於一個排序理想的表現是O(n)。僅使用一個抽象關鍵比較運算的排序演算法總平均上總是至少需要Ω(n log n)。
記憶體使用量(以及其他電腦資源的使用)
穩定度:穩定排序演算法會依照相等的關鍵(換言之就是值)維持紀錄的相對次序。也就是一個排序演算法是穩定的,就是當有兩個有相等關鍵的紀錄R和S,且在原本的串列中R出現在S之前,在排序過的串列中R也將會是在S之前。
一般的方法:插入、交換、選擇、合並等等。交換排序包含冒泡排序(bubble sort)和快速排序(quicksort)。選擇排序包含shaker排序和堆排序(heapsort)。
當相等的元素是無法分辨的,比如像是整數,穩定度並不是一個問題。然而,假設以下的數對將要以他們的第一個數字來排序。
(4, 1) (3, 1) (3, 7) (5, 6)
在這個狀況下,有可能產生兩種不同的結果,一個是依照相等的鍵值維持相對的次序,而另外一個則沒有:
(3, 1) (3, 7) (4, 1) (5, 6) (維持次序)
(3, 7) (3, 1) (4, 1) (5, 6) (次序被改變)
不穩定排序演算法可能會在相等的鍵值中改變紀錄的相對次序,但是穩定排序演算法從來不會如此。不穩定排序演算法可以被特別地時作為穩定。作這件事情的一個方式是人工擴充鍵值的比較,如此在其他方面相同鍵值的兩個物件間之比較,就會被決定使用在原先資料次序中的條目,當作一個同分決賽。然而,要記住這種次序通常牽涉到額外的空間負擔。
排列演算法列表
在這個表格中,n是要被排序的紀錄數量以及k是不同鍵值的數量。
穩定的
冒泡排序(bubble sort) — O(n2)
雞尾酒排序 (Cocktail sort, 雙向的冒泡排序) — O(n2)
插入排序 (insertion sort)— O(n2)
桶排序 (bucket sort)— O(n); 需要 O(k) 額外 記憶體
計數排序 (counting sort) — O(n+k); 需要 O(n+k) 額外 記憶體
歸並排序 (merge sort)— O(n log n); 需要 O(n) 額外記憶體
原地歸並排序 — O(n2)
二叉樹排序 (Binary tree sort) — O(n log n); 需要 O(n) 額外記憶體
鴿巢排序 (Pigeonhole sort) — O(n+k); 需要 O(k) 額外記憶體
基數排序 (radix sort)— O(n·k); 需要 O(n) 額外記憶體
Gnome sort — O(n2)
Library sort — O(n log n) with high probability, 需要 (1+ε)n 額外記憶體
不穩定
選擇排序 (selection sort)— O(n2)
希爾排序 (shell sort)— O(n log n) 如果使用最佳的現在版本
Comb sort — O(n log n)
堆排序 (heapsort)— O(n log n)
Smoothsort — O(n log n)
快速排序 (quicksort)— O(n log n) 期望時間, O(n2) 最壞情況; 對於大的、亂數串列一般相信是最快的已知排序
Introsort — O(n log n)
Patience sorting — O(n log n + k) 最外情況時間, 需要 額外的 O(n + k) 空間, 也需要找到最長的遞增子序列(longest increasing subsequence)
不實用的排序演算法
Bogo排序 — O(n × n!) 期望時間, 無窮的最壞情況。
Stupid sort — O(n3); 遞回版本需要 O(n2) 額外記憶體
Bead sort — O(n) or O(√n), 但需要特別的硬體
Pancake sorting — O(n), 但需要特別的硬體
排序的演算法
排序的演算法有很多,對空間的要求及其時間效率也不盡相同。下面列出了一些常見的排序演算法。這裡面插入排序和冒泡排序又被稱作簡單排序,他們對空間的要求不高,但是時間效率卻不穩定;而後面三種排序相對於簡單排序對空間的要求稍高一點,但時間效率卻能穩定在很高的水平。基數排序是針對關鍵字在一個較小范圍內的排序演算法。
插入排序
冒泡排序
選擇排序
快速排序
堆排序
歸並排序
基數排序
希爾排序
插入排序
插入排序是這樣實現的:
首先新建一個空列表,用於保存已排序的有序數列(我們稱之為"有序列表")。
從原數列中取出一個數,將其插入"有序列表"中,使其仍舊保持有序狀態。
重復2號步驟,直至原數列為空。
插入排序的平均時間復雜度為平方級的,效率不高,但是容易實現。它藉助了"逐步擴大成果"的思想,使有序列表的長度逐漸增加,直至其長度等於原列表的長度。
冒泡排序
冒泡排序是這樣實現的:
首先將所有待排序的數字放入工作列表中。
從列表的第一個數字到倒數第二個數字,逐個檢查:若某一位上的數字大於他的下一位,則將它與它的下一位交換。
重復2號步驟,直至再也不能交換。
冒泡排序的平均時間復雜度與插入排序相同,也是平方級的,但也是非常容易實現的演算法。
選擇排序
選擇排序是這樣實現的:
設數組內存放了n個待排數字,數組下標從1開始,到n結束。
i=1
從數組的第i個元素開始到第n個元素,尋找最小的元素。
將上一步找到的最小元素和第i位元素交換。
如果i=n-1演算法結束,否則回到第3步
選擇排序的平均時間復雜度也是O(n²)的。
快速排序
現在開始,我們要接觸高效排序演算法了。實踐證明,快速排序是所有排序演算法中最高效的一種。它採用了分治的思想:先保證列表的前半部分都小於後半部分,然後分別對前半部分和後半部分排序,這樣整個列表就有序了。這是一種先進的思想,也是它高效的原因。因為在排序演算法中,演算法的高效與否與列表中數字間的比較次數有直接的關系,而"保證列表的前半部分都小於後半部分"就使得前半部分的任何一個數從此以後都不再跟後半部分的數進行比較了,大大減少了數字間不必要的比較。但查找數據得另當別論了。
堆排序
堆排序與前面的演算法都不同,它是這樣的:
首先新建一個空列表,作用與插入排序中的"有序列表"相同。
找到數列中最大的數字,將其加在"有序列表"的末尾,並將其從原數列中刪除。
重復2號步驟,直至原數列為空。
堆排序的平均時間復雜度為nlogn,效率高(因為有堆這種數據結構以及它奇妙的特徵,使得"找到數列中最大的數字"這樣的操作只需要O(1)的時間復雜度,維護需要logn的時間復雜度),但是實現相對復雜(可以說是這里7種演算法中比較難實現的)。
看起來似乎堆排序與插入排序有些相像,但他們其實是本質不同的演算法。至少,他們的時間復雜度差了一個數量級,一個是平方級的,一個是對數級的。
平均時間復雜度
插入排序 O(n2)
冒泡排序 O(n2)
選擇排序 O(n2)
快速排序 O(n log n)
堆排序 O(n log n)
歸並排序 O(n log n)
基數排序 O(n)
希爾排序 O(n1.25)
冒泡排序
654
比如說這個,我想讓它從小到大排序,怎麼做呢?
第一步:6跟5比,發現比它大,則交換。564
第二步:5跟4比,發現比它大,則交換。465
第三步:6跟5比,發現比它大,則交換。456

⑸ 軟判決與硬判決的區別

區別一:
糾前誤碼率:軟判決糾前誤碼率極限高達2.5E-2,而硬判決的糾前誤碼極限為6E-3。
區別二:
接收機OSNR容限:行標規定軟判決為13dB(BOL),硬判決為14.5dB(BOL)。
區別三:
傳輸距離:G.652軟判決比硬判決多4段,G.655軟判決比硬判決多6段。
(5)軟判決演算法有哪些擴展閱讀:
從產業鏈的角度而言,軟判決的產業鏈比硬判決更成熟。業界做DSP的晶元供應商,無一例外全部採用軟判決技術,而硬判決只是一些廠家內部自行研究開發。
從成本的角度來看,軟硬判的內部結構幾乎完全相同,區別只在於DSP處理晶元。當前軟判比硬判價格略高,原因是DSP前期投入太多,現階段量產不多的情況下造成價格虛高。而一旦上量後,成本分攤下降非常快。
從長遠來看,由於軟判決的產業鏈更成熟,軟判決的整體價格可以做到比硬判更低。
參考資料來源:搜狗網路:軟判決解碼
參考資料來源:搜狗網路:硬判決解碼

⑹ 什麼是解碼

解碼是編碼的逆過程,同時去掉比特流在傳播過程中混入的雜訊。利用解碼表把文字譯成一組組數碼或用解碼表將代表某一項信息的一系列信號譯成文字的過程稱之為解碼。
解碼器是電子技術中的一種多輸入多輸出的組合邏輯電路,負責將二進制代碼翻譯為特定的對象(如邏輯電平等),功能與編碼器相反。解碼器一般分為通用解碼器和數字顯示解碼器兩大類。
數字電路中,解碼器(如n線-2n線BCD解碼器)可以擔任多輸入多輸出邏輯門的角色,能將已編碼的輸入轉換成已編碼的輸出,這里輸入和輸出的編碼是不同的。
輸入使能信號必須接在解碼器上使其正常工作,否則輸出將會是一個無效的碼字。解碼在多路復用、七段數碼管和內存地址解碼等應用中是必要的。

⑺ Viterbi解碼的演算法

軟判決演算法與硬判決演算法相比,軟判決解碼演算法的路徑度量採用「軟距離」而不是漢明距離。最常
採用的是歐幾里德距離,也就是接收波形與可能的發送波形之間的幾何距離。在採用軟距離
的情況下,路徑度量的值是模擬量,需要經過一些處理以便於相加和比較。因此,使計算復
雜度有所提高。除了路徑度量以外,軟判決演算法與硬判決演算法在結構和過程上完全相同。
一般而言,由於硬判決解碼的判決過程損失了信道信息,軟判決解碼比硬判決解碼性能
上要好約2 dB 。
不管採用軟判決還是硬判決,由於Viterbi 演算法是基於序列的解碼,其解碼錯誤往往具
有突發性

⑻ viterbi distance 是什麼

遠程編碼.接收到的符號首先經過解調器判決,輸出0、1 碼,然後再送往解碼器的形式,稱為硬
判決解碼。即編碼信道的輸出是0、1 的硬判決信息。
我們選擇似然概率( ) m P RC 的對數作為似然函數。容易看出,硬判決的最大似然解碼
實際上是尋找與接收序列漢明距離最小的編碼序列。對於網格圖描述Viterbi 演算法,整個
Viterbi 解碼演算法可以簡單概括為「相加-比較-保留」,解碼器運行是前向的、無反饋的,
實現過程並不復雜。
我們來分析Viterbi 演算法的復雜度: (n, k, N) 卷積碼的狀態數為2k (N−1) ,對每一時刻要
做2k (N−1) 次「加-比-存」操作,每一操作包括2k 次加法和2k −1 次比較,同時要保留2k (N−1)
條倖存路徑。由此可見,Viterbi 演算法的復雜度與信道質量無關,其計算量和存儲量都隨約束
長度N 和信息元分組k 呈指數增長。因此,在約束長度和信息元分組較大時並不適用。
為了充分利用信道信息,提高卷積碼解碼的可靠性,可以採用軟判決Viterbi 解碼演算法。
此時解調器不進行判決而是直接輸出模擬量,或是將解調器輸出波形進行多電平量化,而不
是簡單的 0、1 兩電平量化,然後送往解碼器。即編碼信道的輸出是沒有經過判決的「軟信
息」。
與硬判決演算法相比,軟判決解碼演算法的路徑度量採用「軟距離」而不是漢明距離。最常
採用的是歐幾里德距離,也就是接收波形與可能的發送波形之間的幾何距離。在採用軟距離
的情況下,路徑度量的值是模擬量,需要經過一些處理以便於相加和比較。因此,使計算復
雜度有所提高。除了路徑度量以外,軟判決演算法與硬判決演算法在結構和過程上完全相同。
一般而言,由於硬判決解碼的判決過程損失了信道信息,軟判決解碼比硬判決解碼性能
上要好約2 dB 。
不管採用軟判決還是硬判決,由於Viterbi 演算法是基於序列的解碼,其解碼錯誤往往具
有突發性

⑼ 什麼是軟判決

很多初入通信行業的開發人員,都會接觸到過信道編解碼,信道編解碼中常常出現軟判決與硬判決。
那麼什麼是軟判決,什麼是硬判決呢?軟判決就是Demolator將解調後的模擬信號直接接入到Decoder來實現解碼,硬判決就是對Demolator輸出信號做N比特量化,如果分量高於門限就認為Demolator輸出1,否則輸出0。(根據調制方式,例如MPSK,M=2^N,則N比特量化)
但是通常在做軟判決時,模擬信號難以在數字信號系統中處理,所有為實現軟判決,不得不某些妥協,那就是用多比特量化來逼近模擬信號作為Decoder的輸入。這樣當然會帶來量化雜訊。我們還可以注意到如果軟判決採用量化,那麼硬判決就是軟判決的特殊情況。
所以在數字通信系統,可以認為硬判決就是N比特量化,軟判決就是多比特量化(>>N)。
另外,量化總會帶來量化雜訊,要越好逼近模擬信號,就要越多的比特位。
在均勻量化,信號在其空間均勻分布得到的情況下,多一個比特可以多得到6dB的增益。
具體推導可以參看老樊的《通信原理》,當然你也要自己做些推導,書

閱讀全文

與軟判決演算法有哪些相關的資料

熱點內容
亞馬遜雲伺服器的選擇 瀏覽:810
單片機頻率發生器 瀏覽:732
備份與加密 瀏覽:623
用什麼app可以看論壇 瀏覽:52
javajdbcmysql連接 瀏覽:473
製作linux交叉編譯工具鏈 瀏覽:751
編程負數除以正數 瀏覽:512
app和aso有什麼區別 瀏覽:326
手機vmap是什麼文件夾 瀏覽:36
塔科夫鎖服如何選擇伺服器 瀏覽:290
消費者生產者問題java 瀏覽:61
程序員筱柒顧默結婚的時候 瀏覽:578
安卓截長屏怎麼弄 瀏覽:475
優信辦理解壓手續怎麼那麼慢 瀏覽:605
私有雲伺服器一體機安全嗎 瀏覽:430
python的tk界面禁用滑鼠 瀏覽:186
怎麼看伺服器mac地址 瀏覽:291
安卓如何將圖鏡像翻轉 瀏覽:325
操作系統設計與實現pdf 瀏覽:547
長虹空調遙控什麼app 瀏覽:739