资源简介
在这个代码中我们利用MMSE检测算法对4输入4输出传输系统进行信号检测
代码片段和文件信息
%译码算法
clear all
Nt=4;%发射天线数
Nr=1;%接收天线数
num_S=4;%每次发射的符号数量
num_slot=4;%时隙数
nit=1000;%采样点数
M_qam=4;%调制方式
num_bit_per_sym=log2(M_qam);%每个符号含有的比特数
snr_min=0;%最小信噪比
snr_max=20;%最大信噪比
graph_inf_bit=zeros(snr_max-snr_min+12);
for SNR=snr_min:1:snr_max
clc
disp(‘Wait Until SNR=‘);%disp文本形式显示矩阵
disp(snr_max);
SNR %显示仿真进度
graph_inf_bit(SNR-snr_min+11)=SNR;%横坐标取值;当前SNR存储到graph_inf_bit的第一列中的SNR-snr_min+1位置
num_error_sym=0;%初始化误符号数
num_error_bit=0;%初始化误比特数
for num_sym=1:nit
s0=randint(num_Snum_bit_per_sym);%产生随机数列;rand随机产生0到1之间的数,randint随机产生0到1之间的整数,即0或1
s=zeros(num_S1);
for i=1:num_S
if s0(i:)==[0 0]
s(i1)=-1+j;
elseif s0(i:)==[0 1]
s(i1)=-1-j;
elseif s0(i:)==[1 0]
s(i1)=1+j;
else
s(i1)=1-j;
end
end %调制过程;以上是4QAM映射,s0(i:)表示s0矩阵的第i行,所有列
h=(randn(NtNt)+j*randn(NtNt))/sqrt(2);%路径增益 满足正态分布的伪随机数4*1
de_snr=10^(SNR/10);%将信噪比从db数换算成十进制
sig=sqrt(Nt/de_snr);
noise=sig*(randn(num_slotNr)+j*randn(num_slotNr))/sqrt(2);%归一化处理
r=h*s+noise; %接收到的信号4*1
%----------------------part 1-----MMSE检测算法--------------
W_mmse=inv(h‘*h+eye(4)./de_snr)*h‘;%inv表示取逆
ss=W_mmse*r;
%Signal demodulation
re_sym=zeros(num_Snum_bit_per_sym);%存放译码结果,num_bit_per_sym每个符号含有的比特数
%----------------------part 2-----成对译码-------------
qam_space_2=[-1+j
-1-j
1+j
1-j];
for i=1:num_S
for ii=1:M_qam
f_1_3=(abs(ss(i1)-qam_space_2)).^2;
end
[M1 N1]=min(f_1_3);%M1为(f_1_3)的最小值,N1为对应的s3
re_sym(i1)=qam_space_2(N1)
end
for i=1:length(re_sym)
if re_sym(i)==-1+j
re_sym1(i:)=[0 0] ;
elseif re_sym(i)==-1-j
re_sym1(i:)=[0 1] ;
elseif re_sym(i)==1-j
re_sym1(i:)=[1 1] ;
else re_sym1(i:)=[1 0] ;
end
end
de_sym=bi2de(re_sym1);%二进制转化为十进制
de_s0=bi2de(s0);
for rp=1:num_S
if de_sym(rp1)~=de_s0(rp1)%发射矩阵与译码接收的矩阵比较
num_error_sym=num_error_sym+1;
for mm=1:num_bit_per_sym
if re_sym1(rpmm)~=s0(rpmm)
num_error_bit= num_error_bit+1;
end
end
end
end
end
per_bit= num_error_bit/(num_S*num_bit_per_sym*nit);%误比特率的计算,误比特率=错误的比特数/(符号长度*错误符号个数*符号数)
graph_inf_bit(SNR-snr_min+12)=per_bit;
end
x=graph_inf_bit(:1);
y=graph_inf_bit(:2);
semilogy(xy‘k-o‘);
grid on
hold on
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3095 2017-12-02 14:00 MMSE.m
----------- --------- ---------- ----- ----
3095 1
- 上一篇:powertool.exe
- 下一篇:可行性研究报告 学生学籍管理系统
相关资源
- QPSK调制解调
- ccs仿真qpsk
- mimo下行的线性预编码
- BER of BPSK/QPSK/16QAM in AWGN
- OFDM信道估计,实现了LMMSE算法
- 通信信号调制方式总结,包括bpsk,
- 基于FFT的OFDM-QPSK系统仿真.doc
- 基于TMS320C54x+DSP的QPSK调制与解调算法
- QPSk完成数字信号的调制解调
- ofdm系统模型,包含信道估计 FFT变换
- 论述QPSK系统的特点与技术的发展动态
- OFDM基于块状导频的信道估计算法仿真
- MIMO 检测算法 ML、ZF、MMSE 等采用 BPS
- qpsk 的 verilog实现
- 不同信道估计性能对比
- 基于labview的QPSK调制与解调
- 关于qpsk的ofdm
- Verilog BPSK/QPSK
- 16QAM16QPSK调制解调仿真源程序及报告
- 基于verilog的QPSK调制的实现
- 基于MMSE的频域均衡方法
- BCH码编译码误码率性能仿真
- 基于FPGA的QPSK系统设计
- LMMSE算法在信道均衡中的应用
- 通信链路仿真+simuli<x>nk+qpsk模型
评论
共有 条评论