MIMO信道容量源码程序 - matlab算法设计 - 谷速源码
下载频道> 资源分类> matlab源码> 算法设计> MIMO信道容量源码程序

标题:MIMO信道容量源码程序
分享到:

所属分类: 算法设计 资源类型: 文件大小: 2.33 KB 上传时间: 2016-01-27 19:29:03 下载次数: 6 资源积分:1分 提 供 者: 马云 MIMO信道容量源码程序
内容:
MIMO信道容量源码程序,程序员在编程的过程中可以参考学习使用,希望对IT程序员有用,此源码程序简单易懂、方便阅读,有很好的学习价值!
clear
clc
close all;
 
MB = 1 ; MR = 2 ; MM = 1 ;              % Numboer of antennas at BS, RS, MS
M = 4 ;                                 % QPSK modulation
dB_min = 0 ; dB_step = 5 ; dB_max = 50 ;
iteration = 1000 ;
index = 1 ;
I = eye(2) ;
 
Capacity_VDD_relay_Selection_1_2_1 = zeros(1, dB_max/dB_step + 1) ;
Capacity_VDD_relay_No_Selection_1_2_1 = zeros(1, dB_max/dB_step + 1) ;
 
for dB = dB_min : dB_step : dB_max
    clc;
    dB
    
    SNR = 10^(dB/10) ;
    capacity_selection = 0 ;
    capacity_no_selection = 0 ;
    
    for iter = 1 : iteration
        h_br = (randn(MR,MB) + j*randn(MR,MB)) / sqrt(2) ;
        h_mr = (randn(MR,MM) + j*randn(MR,MM)) / sqrt(2) ;
        h_rb = transpose(h_br) ;
        h_rm = transpose(h_mr) ;
        
        Hr = (randn(MR,MR) + j*randn(MR,MR)) / sqrt(2) ;
        [Ur Sr Vr] = svd(Hr) ;
        
        Pr1 = [Ur(:,1) Ur(:,1)] ; Qr1 = [Vr(:,2) Vr(:,2)] / sqrt(2) ;
        Pr2 = [Ur(:,2) Ur(:,2)] ; Qr2 = [Vr(:,1) Vr(:,1)] / sqrt(2) ;
        
        h_rb1 = h_rb*Qr1 ; h_rb2 = h_rb*Qr2 ;
        h_rm1 = h_rm*Qr1 ; h_rm2 = h_rm*Qr2 ;
        
        Cbr1 = log2(det(I + SNR*(Pr1'*h_br)*(Pr1'*h_br)')) ;
        Crm1 = log2(det(I + SNR*h_rm2'*h_rm2)) ; 
        Cbm1 = min(Cbr1, Crm1) ;
        
        Cbr2 = log2(det(I + SNR*(Pr2'*h_br)*(Pr2'*h_br)')) ;
        Crm2 = log2(det(I + SNR*h_rm1'*h_rm1)) ; 
        Cbm2 = min(Cbr2, Crm2) ;
        
        Cmr1 = log2(det(I + SNR*(Pr1'*h_mr)*(Pr1'*h_mr)')) ;
        Crb1 = log2(det(I + SNR*h_rb2'*h_rb2)) ; 
        Cmb1 = min(Cmr1, Crb1) ;
        
        Cmr2 = log2(det(I + SNR*(Pr2'*h_mr)*(Pr2'*h_mr)')) ;
        Crb2 = log2(det(I + SNR*h_rb1'*h_rb1)) ; 
        Cmb2 = min(Cmr2, Crb2) ;
        
        capacity_selection = capacity_selection + abs(max(Cbm1, Cbm2)/2) + abs(max(Cmb1, Cmb2)/2) ;
        capacity_no_selection = capacity_no_selection + abs(Cbm1/2) + abs(Cmb1/2) ;      
    end
    
    Capacity_VDD_relay_Selection_1_2_1(1,index) = capacity_selection / iteration ;
    Capacity_VDD_relay_No_Selection_1_2_1(1,index) = capacity_no_selection / iteration ;
    
    save Capacity_VDD_relay_Selection_1_2_1 Capacity_VDD_relay_Selection_1_2_1 ;
    save Capacity_VDD_relay_No_Selection_1_2_1 Capacity_VDD_relay_No_Selection_1_2_1 ;
    index = index + 1 ;
end
 
figure(2)
x = dB_min : dB_step : dB_max ;
plot(x, Capacity_VDD_relay_Selection_1_2_1, 'DisplayName', 'Proposed with Selection') ; hold on ; grid on ;
plot(x, Capacity_VDD_relay_No_Selection_1_2_1, 'k', 'DisplayName', 'Proposed without Selection') ; hold on ; grid on ;

文件列表(点击上边下载按钮,如果是垃圾文件请在下面评价差评或者投诉):

MIMO信道容量源码程序/
MIMO信道容量源码程序/code/
MIMO信道容量源码程序/code/Capacity_VDD_Relay_1_2_1.m
MIMO信道容量源码程序/code/Capacity_VDD_relay_No_Selection_1_2_1.mat
MIMO信道容量源码程序/code/Capacity_VDD_relay_Selection_1_2_1.mat

关键词: 信道 源码 容量

Top_arrow
回到顶部
联系方式| 版权声明| 招聘信息| 广告服务| 银行汇款| 法律顾问| 兼职技术| 付款方式| 关于我们|
网站客服网站客服 程序员兼职招聘 程序员兼职招聘
沪ICP备19040327号-3
公安备案号:沪公网安备 31011802003874号
库纳格流体控制系统(上海)有限公司 版权所有
Copyright © 1999-2014, GUSUCODE.COM, All Rights Reserved