日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

基于matlab的MRC最大合并比误码率仿真,包括维特比译码,MRC,中继

發布時間:2024/3/12 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于matlab的MRC最大合并比误码率仿真,包括维特比译码,MRC,中继 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

1.算法概述

2.仿真效果預覽

3.核心MATLAB代碼預覽

4.完整MATLAB程序


1.算法概述

? ? ? ?最大比合并(Maximal Ratio Combining,MRC)是分集合并技術中的最優選擇,相對于選擇合并和等增益合并可以獲得最好的性能,其性能提升是由陣列增益( 陣列增益即發射的信號的功率增益,是通過發送機和/或接收機的多個天線而實現功率增益的,一般在LTE中,增加一個天線會有3db的增益)帶來的更高的信噪比,進而帶來更好的誤碼率特性。最大比合并的實現方式是通過給分集的N路不同信號乘上一個不同的系數 ,而系數的確定與N路分支的衰落系數 有關。

? ? ? ?如下圖所示:

?

? ? ? ?考慮了一個 RIS 增強型共生無線電下行鏈路系統,它由一個具有 Q (Q ≥ 1) 個天線的 基站BS、K (K ≥ 1) 個單天線反向散射設備BD、一個具有 M 反射元件(M ≥ 1) 的 RIS 組成) 和單天線主接收器PR。 關于信道系數不再贅述。其中BD 的符號周期是主信號的 N 倍,其中 N 是整數,遠大于 1(共生無線電的特點)。

? ? ? ?最大比合并是分集合并技術中的最優選擇,相對于選擇合并和等增益合并可以獲得最好的性能,性能提升是由Array Gain帶來的更高的信噪比,進而帶來更好的誤碼率特性決定的。

? ? ? ?最大比合并(Maximal Ratio Combining)的實現方式即通過給分集的N路不同信號乘上一個不同的系數wi,i=1,2,……,N,系數的確定與N路分支的衰落系數hi,i=1,2,……,N有關。通常有:

?下面來證明為什么最大比合并是最優合并方案。

? ? ? ?如上所述,考慮一個AWGN信道,其中發送符號功率為Es,噪聲功率譜密度為N0,N條之路的衰落系數為hi,i=1,2,……,N,合并加權系數為wi,i=1,2,……,N。

接收端的和信噪比為:

?如果需要SNR最大,則需要取到極大值,通過SNR對wi求偏導并令偏導為0可得:

?化簡后有如下式子:

分析i=1和i=2時兩個式子,經過對比作差有:

?故證明信噪比最大時的合并方式是MRC合并。

2.仿真效果預覽

matlab2022a仿真結果如下:

3.核心MATLAB代碼預覽

%隨機數據位data = round(rand(N_bits,1));%使用速率1/2卷積碼的信道編碼trellis = poly2trellis(3,[5 7]); c_data = convenc(data,trellis); %BPSK調制 tx = 2*c_data - 1; %信道特征SNRdB = 0:25; %SNR范圍%中繼信道的附加噪聲和信道響應:%上行信道noise_d = 1/sqrt(2) * (randn(2 * N_bits,1) + j * randn(2 * N_bits,1)); h_d = 1/sqrt(2) * (randn(2 * N_bits,1) + j * randn(2 * N_bits,1)); %用戶間信道noise_r1 = 1/sqrt(2) * (randn(2 * N_bits,1) + j * randn(2 * N_bits,1)); h_r1 = 1/sqrt(2) * (randn(2 * N_bits,1) + j * randn(2 * N_bits,1)); %中繼上行鏈路 noise_r2 = 1/sqrt(2) * (randn(2 * N_bits,1) + j * randn(2 * N_bits,1)); h_r2 = 1/sqrt(2) * (randn(2 * N_bits,1) + j * randn(2 * N_bits,1)); SNR = 10^(SNRdB(k)/10); %將SNRdB轉換為線性值SNRftx_r1 = sqrt(SNR) * h_r1 .* tx + noise_r1; %Decode n F %均衡eq_rx1 = ftx_r1 .* conj(h_r1); %硬判決和從雙極到bits的轉換r_bits = (sign(real(eq_rx1)) + 1)/2; %信道解碼dec_dcf_r1 = vitdec(r_bits,trellis,3,'term','hard'); %重新編碼c_data2 = convenc(dec_dcf_r1,trellis); %中繼編碼數據的BPSK信號tx2_dcf = 2 * c_data2 - 1; %Detect n Fdec_dtf_r1 = sign(real(eq_rx1)); tx2_dtf = dec_dtf_r1; %放大 n Fbeta = sqrt(1./((SNR * abs(h_r1).^2) + 1)); %放大: ftx_amp = ftx_r1 .* beta; %中繼% %DCF ftx_dcf_r2 = sqrt(SNR) * tx2_dcf .* h_r2 + noise_r2 ; %DTF ftx_dtf_r2 = sqrt(SNR) * tx2_dtf .* h_r2 + noise_r2 ; %AF ftx_af_r2 = sqrt(SNR) * ftx_amp .* h_r2 + noise_r2 ; %目的地ftx_d = sqrt(SNR)* tx .* h_d + noise_d; %MRCR_dcf = ftx_dcf_r2 .* conj(h_r2) + ftx_d .* conj(h_d); %硬決策dec_com_dcf = sign(real(R_dcf)); A68

4.完整MATLAB程序

matlab源碼說明_我愛C編程的博客-CSDN博客

V

總結

以上是生活随笔為你收集整理的基于matlab的MRC最大合并比误码率仿真,包括维特比译码,MRC,中继的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。