基于OFDM通信系统的低复杂度的资源分配算法matlab性能仿真

简介: 基于OFDM通信系统的低复杂度的资源分配算法matlab性能仿真

1.算法运行效果图预览
1.jpeg
2.jpeg
3.jpeg

2.算法运行软件版本
matlab2022a

3.算法理论概述
在OFDM通信系统中,资源分配是一项关键任务,它涉及将可用的频谱资源和功率分配给不同的子载波,以实现高效的数据传输。为了降低计算复杂度并提高系统性能,低复杂度的资源分配算法成为研究的焦点之一。OFDM(正交频分复用)是一种广泛用于无线通信的调制技术,它将高速数据流分成多个低速子流,并将它们调制在不同的正交子载波上。这样可以减少多径干扰,提高频谱利用率。
8b725b36eed5a9e75c64c03137dee37c_82780907_202310082232340629702758_Expires=1696776154&Signature=BkVTMDRM%2FDie5%2Fnu9WgfDY6TyrI%3D&domain=8.png

4.部分核心程序

            [~,pow2] = func_subcarriers_capacity(Ptotal, ch, N_subcarrier, K, noise, gamma);

            %功率分配
            tic
            ianp      = func_power(ch,pow2,N_subcarrier,K,Ptotal,noise,gamma); 
            time_end2 = toc;

            Avg_time2(ij1) = Avg_time2(ij1) + time_end2;

            for i=1:K
                pow1_water(i) = func_waterfilling(shenp(i),pow1(i,:).*ch(i,:)/noise)/N_subcarrier;
                pow2_water(i) = func_waterfilling(ianp(i),pow2(i,:).*ch(i,:)/noise)/N_subcarrier;
            end;

            cap2=cap2+sum(pow1_water);
            cap1=cap1+sum(pow2_water);

            if  ij2 == 1 
                cap_m1 = cap_m1 + pow1_water;
                cap_m2 = cap_m2 + pow2_water;
            end
            norm1 = norm1 + norm(pow2_water/sum(pow2_water) - gamma/sum(gamma), inf);
            norm2 = norm2 + norm(pow1_water/sum(pow1_water) - gamma/sum(gamma), inf);
        end

        if  ij2 == 1
            cap_m1 = cap_m1/(N_ch*MTKL);
            cap_m2 = cap_m2/(N_ch*MTKL);

            figure(5);
            bar([gamma/sum(gamma); cap_m2/sum(cap_m2); cap_m1/sum(cap_m1)]', 'grouped');
            legend('Gamma方法', 'LINEAR方法', 'ROOT-FINDING方法');
        end;
    end
    cap1_mean(ij1)=cap1/(N_ch*MTKL);
    cap2_mean(ij1)=cap2/(N_ch*MTKL);

    norm1_mean(ij1) = norm1/(N_ch*MTKL);
    norm2_mean(ij1) = norm2/(N_ch*MTKL);
end

figure(1)
plot(diff_Vuser,cap1_mean,'-bs',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.9,0.0,0.0]);
hold on
plot(diff_Vuser, cap2_mean,'-r>',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.9,0.9,0.0]);
grid on
xlabel('用户数')
ylabel('容量 (bit/s/Hz)')
legend('LINEAR', 'ROOT-FINDING'); 
hold off
Avg_time  = Avg_time/(N_ch*MTKL);
Avg_time2 = Avg_time2/(N_ch*MTKL);
figure(3);
semilogy(diff_Vuser,Avg_time2,'-bs',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.9,0.0,0.0]);
hold on
semilogy(diff_Vuser,Avg_time,'-r>',...
    'LineWidth',1,...
    'MarkerSize',6,...
    'MarkerEdgeColor','k',...
    'MarkerFaceColor',[0.9,0.9,0.0]);
grid on
xlabel('用户数')
ylabel('平均仿真时间 (s)')
legend('LINEAR', 'ROOT-FINDING');
相关文章
|
1天前
|
存储 算法
基于HMM隐马尔可夫模型的金融数据预测算法matlab仿真
本项目基于HMM模型实现金融数据预测,包括模型训练与预测两部分。在MATLAB2022A上运行,通过计算状态转移和观测概率预测未来值,并绘制了预测值、真实值及预测误差的对比图。HMM模型适用于金融市场的时间序列分析,能够有效捕捉隐藏状态及其转换规律,为金融预测提供有力工具。
|
1天前
|
机器学习/深度学习 算法 信息无障碍
基于GoogleNet深度学习网络的手语识别算法matlab仿真
本项目展示了基于GoogleNet的深度学习手语识别算法,使用Matlab2022a实现。通过卷积神经网络(CNN)识别手语手势,如"How are you"、"I am fine"、"I love you"等。核心在于Inception模块,通过多尺度处理和1x1卷积减少计算量,提高效率。项目附带完整代码及操作视频。
|
7天前
|
算法
基于WOA鲸鱼优化的购售电收益与风险评估算法matlab仿真
本研究提出了一种基于鲸鱼优化算法(WOA)的购售电收益与风险评估算法。通过将售电公司购售电收益风险计算公式作为WOA的目标函数,经过迭代优化计算出最优购电策略。实验结果表明,在迭代次数超过10次后,风险价值收益优化值达到1715.1万元的最大值。WOA还确定了中长期市场、现货市场及可再生能源等不同市场的最优购电量,验证了算法的有效性。核心程序使用MATLAB2022a实现,通过多次迭代优化,实现了售电公司收益最大化和风险最小化的目标。
|
4天前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于深度学习网络的宝石类型识别算法matlab仿真
本项目利用GoogLeNet深度学习网络进行宝石类型识别,实验包括收集多类宝石图像数据集并按7:1:2比例划分。使用Matlab2022a实现算法,提供含中文注释的完整代码及操作视频。GoogLeNet通过其独特的Inception模块,结合数据增强、学习率调整和正则化等优化手段,有效提升了宝石识别的准确性和效率。
|
4月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
215 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
4月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
135 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
4月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
96 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
7月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
7月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)