资源简介
脏纸编码及TH编码,一张纸先写上字(对第一个用户的信息),然后再在这张脏纸上再写字(可能是第二个用户的信息)。怎么在利用这张纸让两个用户都能看到自己所需要的信息。
dirty paper coding指信息发送前,发射机已了解了信道的基本情况,通过在发射端处理信号,使接收机在接受信号时可以认为传输不存在干扰,从而增加了多输入多输出系统(MIMO)的总容量。dirty paper coding为非线性编码。

代码片段和文件信息
% Dirty_or_TH_precoding.m
%MIMO-OFDM Wireless Communications with MATLAB㈢ Yong Soo Cho Jaekwon Kim Won Young Yang and Chung G. Kang
%?2010 John Wiley & Sons (Asia) Pte Ltd
clear all; clf
mode = 0; % Set to 0/1 for Dirty/TH precoding
mode1 = 1;
mod_order=2;
N_frame=10; % Number of frames in a packet 1 frame=4 symbols
N_packet=200; % Number of packets
b=2; % Number of bits per QPSK symbol
NT=4; N_user=10; N_act_user=4; I=eye(N_act_userNT);
N_pbits = N_frame*NT*b; % Number of bits in a packet
N_tbits = N_pbits*N_packet; % Number of total bits
SNRdBs=[0:2:20]; sq2=sqrt(2);
for i_SNR=1:length(SNRdBs)
SNRdB = SNRdBs(i_SNR); N_ebits = 0;N_ebits1 = 0; rand(‘seed‘1); randn(‘seed‘1);
sigma2 = NT*0.5*10^(-SNRdB/10); sigma = sqrt(sigma2);
%------------- Transmitter ----------------
for i_packet=1:N_packet
msg_bit = randi([01]1N_pbits); % Bit generation
symbol = perm_modulation(msg_bitmod_order).‘;
x = reshape(symbolNTN_frame);
H = (randn(N_userNT)+j*randn(N_userNT))/sq2;
%----- user selection ----------
Combinations = nchoosek([1:N_user]N_act_user)‘;
for i=1:size(Combinations2)
H_used = H(Combinations(:i):);
[Q_temp R_temp] = qr(H_used);
%diagonal entries of R_temp are real
minimum_l(i) = min(diag(R_temp));
end
[max_min_lIndex] = max(minimum_l);
H_used = H(Combinations(:Index):);
[Q_tempR_temp] = qr(H_used‘);
L=R_temp‘; Q=Q_temp‘;
%Dirty
symbol_hat= dorth(modesigmaxLQ H_usedN_act_userN_frameNT);
demapped = perm_demod(symbol_hatmod_order);
N_ebits = N_ebits + sum(sum(msg_bit~=demapped));
%TH
symbol_hat1= dorth(mode1sigmaxLQ H_usedN_act_userN_frameNT);
demapped1 = perm_demod(symbol_hat1mod_order);
N_ebits1 = N_ebits1 + sum(sum(msg_bit~=demapped1));
end
BER(i_SNR) = N_ebits/N_tbits;
BER1(i_SNR) = N_ebits1/N_tbits;
end
semilogy(SNRdBsBER‘b-o‘)hold on;
semilogy(SNRdBsBER1‘r-x‘) grid on;
legend(‘Dirty‘‘TH‘);
xlabel(‘SNR (dB)‘);
ylabel(‘BER‘);
hold on;
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2020-04-06 16:54 Dirty or TH\
文件 2159 2020-03-31 15:38 Dirty or TH\Dirty_or_TH_precoding.m
文件 840 2020-03-31 15:25 Dirty or TH\dorth.m
文件 295 2010-08-25 02:12 Dirty or TH\modulo.m
文件 1774 2020-03-03 13:33 Dirty or TH\perm_demod.m
文件 1234 2020-03-03 13:18 Dirty or TH\perm_modulation.m
相关资源
- 编程实现二维DCT变换
- 图像二值化
- 用FFT对信号进行频谱分析
- Tone-Reservation
- QGA 量子遗传算法
- 差分形式的阻滞增长模型
- 遗传算法的M文件
- 简单二阶互联系统的非线性动力学分
- 手写数字识别-模板匹配法
- Stock_Watson_动态因子分析模型
- 果蝇优化算法优化支持向量回归程序
- 自己做的一个简单GUI扑克纸牌识别-
- multi output SVR
- AR过程的线性建模过程与各种功率谱估
- PCNN TOOLBOX
- plstoolbox.zip
- 中国国家基础地理信息系统GIS数据
- 粒子群微电网优化调度
- 矩阵分析-经典教材-中文版-Roger.A.Ho
- 压缩感知TwIST
- 基于最小错误率的贝叶斯手写数字分
- 最全系统辨识源代码,包括多种最小
- 导弹制导实验
- 画跟踪精确度图的程序.zip
- 重力场大地水准面及重力异常阶次误
- prtools5.2.3工具包
- 脉冲耦合神经网络工具箱PCNN-toolbox
- SVM算法-回归拟合程序.zip
- Kriging代理模型EGO算法.zip
- Matalb实现停车场完整系统
评论
共有 条评论