m基于迫零ZF准则的通信均衡器的matlab仿真
目錄
1.算法概述
2.仿真效果預覽
3.MATLAB部分代碼預覽
4.完整MATLAB程序
1.算法概述
? ? ? ?在數字通信系統中,碼間串擾和加性噪聲是造成信號傳輸失真的主要因素,為克服碼間串擾,在接收濾波器和抽樣判決器之間附加一個可調濾波器,用以校正(或補償)這些失真。對系統中線性失真進行校正的過程稱為均衡,實現均衡的濾波器稱為均衡濾波器。
? ? ? ?ZF均衡算法是一種根據峰值失真準則推導而來的線性均衡算法。將OFDM系統接收端的頻域輸出方程組用矩陣表示為
Y=HX+W
? ? ? ?其中W為加性高斯白噪聲。為了得到發送端的發送信號X,最簡單的實現方法是將Y乘以矩陣的 逆,即:
?所以迫零均衡器為:
? ? ? ? ?但當傳輸信道具有較深的頻譜凹陷點時,H(-1)一般不存在,此時一般由其偽逆H+來代替,即
ZF算法有個很大的缺點,沒有對噪聲進行消除,反而會放大噪聲,當信噪比比較低時,性能會非常不好。
? ? ? ? 由于實際的限帶信道的傳遞函數往往是非理想的,且經常是事變的、未知的,因而系統特性不符合奈窐斯特準則,導致在接受端抽樣時刻存在碼間干擾,使得系統誤碼性能下降。為此,要考慮在信道傳遞函數是非理想情況,且信號在信道傳輸中受到加性白高斯噪聲干擾條件下的接收機的設計問題。本文提出了基于迫零算法的信道均衡器,對迫零線性均衡器進行了理論分析,并在Matlab中進行仿真得到了良好的仿真結果。
? ? ? 迫零算法是由Lucky于1965年提出的,他在分析中略去了信道的加性噪聲,所以在實際存在噪聲的情況下由該算法得到的解不一定是最佳的,但它易于實現。
??所以在信道的頻率響應特性比較平坦,所引起的碼間干擾不太嚴重的情況下,由該算法可達到信道均衡的效果。在橫向濾波器的延遲單元N為無窮多個的理想線性均衡條件下:
? ? ? ?在k為其它值時,hk可能是非零值,構成均衡器輸出端的殘留碼間干擾。在本文的下一章,我們將重點介紹基于迫零的均衡系統的設計與實現。?
2.仿真效果預覽
matlab2022a仿真
?
?
?
? ? ? ?同上面星座圖和誤碼率曲線的分析,我們基本可以知道,系統在1階迫零的情況下,性能較差,無法正常的工作,此時其誤碼率也非常的高,當階數增加到2階的時候,系統的性能得到了明顯的 改善,當系統階數更高的時候,系統效果良好,誤碼率很低,基本達到應用級別。
?
?
?
3.MATLAB部分代碼預覽
function ZF_filter = filters_ZF();%加載一些有用的參數; load r0; load filter_pluse; load nT; load nx; load nc; load y; load signal_with_ISI; load signal_with_ISI_noise; load cT; load Ne; load filter_pluse_sample; load ZF_out;%ZF調整 nw = length(ZF_out); Z = [1; zeros(nT-1,1)];hzf= 0; LS = 0; y = 0;%均衡濾波器的系數的調整 hzf = kron(ZF_out, Z); save hzf; LS = conv(signal_with_ISI_noise, hzf); save LS; ZF_filter = LS((Ne*nT+1):(length(LS)-(Ne+1)*nT)+1); save ZF_filter; figure subplot(311);plot(signal_with_ISI) ;title('含ISI的信號'); subplot(312);plot(signal_with_ISI_noise);title('含ISI的信號'); subplot(313);plot(ZF_filter) ;title('通過迫零調整好以后的信號');eyes(ZF_filter); 01_027_m4.完整MATLAB程序
matlab源碼說明_我愛C編程的博客-CSDN博客
V
總結
以上是生活随笔為你收集整理的m基于迫零ZF准则的通信均衡器的matlab仿真的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mvs
- 下一篇: MySQL OCP报考流程