基于D2D的移动通信系统设计-matlab代码

目录

1、D2D通信技术简介

2、D2D通信技术设计原理

3、D2D通信技术的优点

4、设计要求

5、Matlab仿真


1、D2D通信技术简介

        D2D即Device-to-Device,也称之为终端直通。D2D通信技术是指两个对等的用户节点之间直接进行通信的一种通信方式。在由D2D通信用户组成的分散式网路中,每个用户节点都能发送和接收信号,并具有自动路由(转发消息)的功能。网路的参与者共用它们所拥有的一部分硬体资源,包括信息处理、存储以及网路连接能力等。这些共用资源向网路提供服务和资源,能被其它用户直接访问而不需要经过中间实体。在D2D通信网路中,用户节点同时扮演伺服器和客户端的角色,用户能够意识到彼此的存在,自组织地构成一个虚拟或者实际的群体。

2、D2D通信技术设计原理

按照蜂窝网络中基站参与设备通信的程度不同,D2D通信分成3种方式:蜂窝网络控制下的D2D通信、蜂窝网络辅助控制下的D2D通信、不受蜂窝网络控制的D2D通信。

本文讨论的是不受蜂窝网络控制的D2D通信的设计:

这种方式适用于没有蜂窝网络覆盖或者蜂窝网络瘫痪的情况。这时,D2D通信的设备发现、会话建立及资源分配都由D2D设备自行完成,完全不需要基站的参与。这种方式D2D设备的复杂度最高。为了能和基站取得联系,D2D设备需要具备自动转发消息的功能,可以充当中继节点的角色。没有蜂窝网信号的D2D设备,可以通过中间D2D设备的消息转发,和远方的基站取得联系,从而通过多跳的方式接入蜂窝网。

3、D2D通信技术的优点

 1.提高频谱利用率

用户通过D2D 进行通信连接,避开了使用蜂窝无线通信,因此不使用频带资源,提高资源利用率。

 2.改善用户体验

相邻用户进行资源共享,提高用户体验。

 3.拓展应用

D2D 的引入使得网络的稳定性增强,并具有一定灵活性,传统网络可借助D2D 进行业务拓展。

4、设计要求

1.构建随机移动的节点自组织网络,节点间可实现D2D通信。并把随机移动的节点画出来

2.设定一对源一目的节点, 可利用网络中剩余节点的中继实现通信。

3.探索转发功率对网络丢包率的影响。

5、Matlab仿真

numNodes = 20;         % 节点数量
maxDistance = 100;     % 最大通信距离
sourceNode = 1;        % 源节点
destinationNode = 2;   % 目的节点
relayNodes = 3:numNodes;  % 中继节点
thresholdPower = 5;      % 门限功率
noisePower = 0.05;       % 噪声功率
transmitPower = 20;     % 初始转发功率
packetLossRate = zeros(1, numNodes); %用于储存每个节点的丢包率
receive_num=zeros(1,150);
nodePositions = maxDistance * rand(2, numNodes); % 生成节点位置
distances = pdist2(nodePositions', nodePositions'); % 计算节点之间的距离
% 初始化节点位置
scatter(nodePositions(1, :), nodePositions(2, :), 'filled');
% 构建随机移动的节点自组织网络
adjacencyMatrix = pdist2(nodePositions', nodePositions') <= maxDistance;
% 模拟节点移动和数据传输过程
for iteration = 1:150  
    nodePositions = nodePositions + randn(2, numNodes);
    scatter(nodePositions(1, :), nodePositions(2, :), 'filled');
    xlim([0, maxDistance]);
    ylim([0, maxDistance]);
    drawnow;
    pause(0.1);  
    % 数据传输过程
    for i = relayNodes
            % 节点无法直接与目的节点通信,尝试通过其他中继节点中继
            possibleRelays = find(adjacencyMatrix(i, :));
            selectedRelay = possibleRelays(randi(length(possibleRelays)));% 随机选择一个中继节点
            channelGain = 1 / distances(i, selectedRelay);
            receivedPower = transmitPower * channelGain;  % 计算接收信号功率
            %receivedPower = receivedPower + sqrt(noisePower) * randn();  % 添加高斯白噪声
            if receivedPower >thresholdPower  
                packetLossRate(i) = 0;
            end
            if receivedPower < thresholdPower 
                packetLossRate(i) = 1;
            end
    end
    P = packetLossRate;
    for i = 3 : numNodes
        P = P + packetLossRate.^i;
    end
    P(P ~= 0) = 1;
        receive_num(iteration)=P(1,numNodes);

end

lose_rate = 1-sum(receive_num)./150
disp("节点丢包率:");
disp(lose_rate);

有什么问题可以私信我!

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用方法:将配套的模块与DLL放到运行程序目录一起即可.比如: 用易语言新建立了一个程序,名称为[新程序.e]那么就放到和它一起的目录,添加模块即可. 搜集不宜,闲分多的请绕行. (包内无任何连接广告,纯绿色)压缩包内包括内容如下: --------------------------------以下为EDgame2d 引擎 D2D.ec 模块正式版本包括: 版本号: 1.0.5.15 大小: 628 kb 版本号: 1.0.5.15 大小: 635 kb 版本号: 1.0.6.20 大小: 652 kb 版本号: 1.0.7.20 大小: 660 kb 版本号: 1.0.7.70 大小: 653 kb 版本号: 1.0.8.70 大小: 664 kb 版本号: 1.0_学习版本 大小: 661 kb 版本号: 2.0_坏少爷完美破解(赞助版) 大小: 307 kb(最新) 版本号: 2.0_竹林深处破解(赞助版) 大小: 307 kb(最新) D2D.ec 模块扩展版本包括: 版本号: 1.0 大小: 83 kb 版本号: 1.1 大小: 86 kb 版本号: 1.2 大小: 91 kb D2D.dll 正式版本包括: 版本号: 1.0.0.1 大小: 952 kb 版本号: 1.0.5.15 大小: 824 kb 版本号: 1.0.6.20 大小: 507 kb 版本号: 1.0.7.20 大小: 417 kb 版本号: 1.0.8.70 大小: 417 kb 版本号: 1.0.8.17 大小: 433 kb 版本号: 1.0.8.28 大小: 418 kb 版本号: 1.0.11.25 大小: 427 kb 版本号: 1.0.6.20 大小: 507 kb 版本号: 1.0.0.1 大小: 846 kb 版本号: 1.0.0.1 大小: 847 kb 版本号: 1.0.0.1 大小: 925 kb 版本号: 1.0.0.1 大小: 957 kb 版本号: 1.0.0.1 大小: 961 kb 版本号: 1.1.2.7 大小: 519 kb(最新) bass.dll 正式版本包括: 版本号: 2.3.0.3 大小为: 91 kb ScriptManager.dll 正式版本包括: 版本号: 未知 大小为: 55kb --------------------------------以下为Galaxy2d 引擎 G2D.ec 版本号:4.102 大小为: 109 kb Galaxy2d.dll 版本号: 未知 大小为: 903 kb star.dll 版本号: 未知 大小为: 102 kb --------------------------------以下为Pge2d 引擎 pge32.ec 版本号: 15.316 大小为: 917kb PGE32.dll 版本号: 15.125.12.12 大小为: 1.72M

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值