?? deqam8.m
字號(hào):
%該程序用來(lái)完成對(duì)輸入信號(hào)進(jìn)行8PSK解調(diào),屬于《鏈路級(jí)仿真軟件設(shè)計(jì)》程序二的8PSK解調(diào)模塊
function [llr]=deqam8(x,h,SNR_db)
%[llr]=de8psk(x)
%x是復(fù)向量,其中向量元素表示輸入到解調(diào)器中的信號(hào)
%h為信道估值向量,是復(fù)向量,其中向量元素表示對(duì)應(yīng)采樣時(shí)刻的信道狀態(tài)。
%SNR_db為信道噪比。
%llr為x通過(guò)解調(diào)器后的輸出信號(hào),是實(shí)向量,表示經(jīng)過(guò)相關(guān)解調(diào)后的數(shù)據(jù)“似然比“信息。
%SNR_db為信道信噪比,信號(hào)功率為1,噪聲功率為n_power
% |
% 4
% 3 | 2
% ----7--------1---
% 8 | 5
% 6
% |
%
%wdy
%編程日期:2006-7-7
%8psk符號(hào)對(duì)應(yīng)的二進(jìn)制比特?cái)?shù)
const_qam8=3;
%以二進(jìn)制比特?cái)?shù)來(lái)表示所有8psk符號(hào)
%計(jì)算8psk相應(yīng)符號(hào)位0或1到相應(yīng)符號(hào)位為1或0的符號(hào)的距離,所采用的表(三個(gè)比特位)
const_num=[1 2 3 4];
%計(jì)算1/2/3位比特時(shí),相對(duì)于被解調(diào)星座位置的偏差(十進(jìn)制表示)
const_num_1=[4 4 4 4;2 2 4 4;1 2 3 4];
%const_num_0=[0 0 0 0;0 0 2 2;0 1 2 3];
%星座圖表
constel_diagram=[sqrt(2),1+j,-1+j,sqrt(2)*j,1-j,-j*sqrt(2),-sqrt(2),-1-j]/sqrt(2);%[1 2 3 4 5 6 7 8]
%mapping=[1,sqrt(2)/2+sqrt(2)/2*j,-sqrt(2)/2+sqrt(2)/2*j,j,sqrt(2)/2-sqrt(2)/2*j,-j,-1,-sqrt(2)/2-sqrt(2)/2*j];
%SNR_db為信道信噪比,信號(hào)功率為1
SNR_linr=exp(SNR_db*log(10)/10);
%SNR_linr=exp(SNR*log(10)/10);
%噪聲方差
%len為輸入信號(hào)的長(zhǎng)度
len=length(x);
h_square=abs(h).^2;
llr=zeros(1,const_qam8*len);
temp=[];
for k=1:2^const_qam8
temp=[temp,abs(x-constel_diagram(k)).^2];
end
for m=1:len
temp2=temp(m:len:2^const_qam8*len);
for n=1:const_qam8
%計(jì)算第n位比特為1的星座圖到被解調(diào)星座的最小距離
pad_num_1=const_num+const_num_1(n,:);
dist_square_1=min(temp2(pad_num_1));
%計(jì)算第n位比特為0的星座圖到被解調(diào)星座的最小距離
pad_num_0=const_num+const_num_1(n,:)-2^(const_qam8-n);
dist_square_0=min(temp2(pad_num_0));
%得到釋然比信息
llr(const_qam8*(m-1)+n)=h_square(m)*(dist_square_1-dist_square_0);
end
end
llr=llr*SNR_linr;
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -