⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 deqam8.m

📁 详细介绍OFDM仿真过程,包括信源的产生,信道的加入,编码解码以及LS,MMSE,SVD三种信道估计方法
💻 M
字号:
%该程序用来完成对输入信号进行8PSK解调,属于《链路级仿真软件设计》程序二的8PSK解调模块

function [llr]=deqam8(x,h,SNR_db)
%[llr]=de8psk(x)
%x是复向量,其中向量元素表示输入到解调器中的信号
%h为信道估值向量,是复向量,其中向量元素表示对应采样时刻的信道状态。
%SNR_db为信道噪比。
%llr为x通过解调器后的输出信号,是实向量,表示经过相关解调后的数据“似然比“信息。
%SNR_db为信道信噪比,信号功率为1,噪声功率为n_power
%                             |   
%                             4
%                       3     |    2
%             ----7--------1---        
%                       8     |    5   
%                             6 
%                             |   
%
%wdy
%编程日期:2006-7-7
%8psk符号对应的二进制比特数
const_qam8=3;
%以二进制比特数来表示所有8psk符号

%计算8psk相应符号位0或1到相应符号位为1或0的符号的距离,所采用的表(三个比特位)
const_num=[1 2 3 4];
%计算1/2/3位比特时,相对于被解调星座位置的偏差(十进制表示)
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为信道信噪比,信号功率为1
SNR_linr=exp(SNR_db*log(10)/10);
%SNR_linr=exp(SNR*log(10)/10);
%噪声方差
%len为输入信号的长度
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
        %计算第n位比特为1的星座图到被解调星座的最小距离
        pad_num_1=const_num+const_num_1(n,:);
        dist_square_1=min(temp2(pad_num_1));
        %计算第n位比特为0的星座图到被解调星座的最小距离
        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;
 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -