m基于3GPP-LTE通信网络的认知家庭网络Cognitive-femtocell性能matlab仿真

简介: m基于3GPP-LTE通信网络的认知家庭网络Cognitive-femtocell性能matlab仿真

1.算法概述
本系统所涉及到的几个主要模块,具体有如下几个模块:

A. Simulation Flow:仿真流程

B. Initialization:初始化

C. Mobility Model:移动模型

D. Traffic Model:流量模型

E. Propagation Model:信号传输模型

F. Multipath Model:多径模型

G. SINR Calculation:SINR值计算模型

H. Link Level Quality Estimation:链路级质量评价

I. Scheduling:系统调度

根据Path Loss Model: The path loss between a macro BS and a MS is characterized can be calculated as follows:

1.png

  这里,R的值表示发送到接收的距离,单位为“米”,Low是表示户外墙壁的衰减,通常这个值为10dB或者20dB。

2.仿真效果预览
matlab2022a仿真

2.png
3.png
4.png

基于Femtocell的频谱感知算法的仿真

5.png
6.png
7.png

3.MATLAB部分代码预览

Pd02         = zeros(1,length(SNR));%自适应单阈值
Pd03         = zeros(1,length(SNR));%固定阈值
%虚警概率  
Pf01         = zeros(1,length(SNR));%自适应双阈值
Pf02         = zeros(1,length(SNR));%自适应单阈值
Pf03         = zeros(1,length(SNR));%固定阈值
%漏检概率  
Pm01         = zeros(1,length(SNR));%自适应双阈值
Pm02         = zeros(1,length(SNR));%自适应单阈值
Pm03         = zeros(1,length(SNR));%固定阈值
 
%通过蒙特卡洛仿真思想,对每组噪声情况的数据仿真多次
Stimes       = 20;
%模拟实际中的频谱感知信号    
Per_signal   = func_Signal_gen(); 
 
Len_Per_sig  = length(Per_signal);
%信号功率 
signal_power = 6225.6;
%定义信号长度
Signal_Len   = 2048;
%检测周期
Check_cycle  = 40;
Scycle       = 8;
%虚警概率        
Pfa          = 0.3;   
 
for i = 1 : length(SNR)
    index = index + 1;
    
    %通过蒙特卡洛仿真
    for m=1:1:Stimes
        i
        m
        
        %模拟实际中的频谱感知信号    
        Per_signal   = func_Signal_gen(); 
        %产生噪声
        noise = func_noise_gen(signal_power,SNR(i),Signal_Len);                      
        %随机占用信道   
        %改变伪随机序列长度,随机改变主用户的占用情况
        %在一般情况下,假设每个被占用的信道,所传送的是没有衰减的信号
        %在考虑femto的时候,考虑femto和macro之间的衰落,每个被占用的信道的衰减也是不同的
        %所以在被占用的信道之前乘以一个随机的衰减系数
        for m1=1:Scycle                                                       
            for n1=1:Scycle                                
                if (scrambler(m1,n1)==1)                         
                    %伪随机码为1,占用信道;
                    Per_signal_noise(1,(Len_Per_sig*(n1-1)+1):Len_Per_sig*n1) =rand(1,1)*Per_signal + noise;        
                else   
                    %伪随机码为0,未占用信道
                    Per_signal_noise(1,(Len_Per_sig*(n1-1)+1):Len_Per_sig*n1) = noise;           
                end
            end
        end
        
        %检测出哪些信道被干扰范围之内的宏系统用户所应用,从而避开这些信道。
        noise_under_check      = noise(1,1:Signal_Len);
        Per_signal_under_check = Per_signal(1,1:Signal_Len);
        %下面开始检测是否收到干扰
        %噪声检测
        [Check_noise,threshold]  = func_check(noise_under_check,Check_cycle);
        Check_noise=abs(Check_noise);   
           
        
        %进行信号检测                                                
        for j=1:Scycle
            %检测被干扰的信道是否被用户所用
            Per_signal_under_check(1,1:Signal_Len)= Per_signal_noise(1,(Signal_Len*(j-1)+1):Signal_Len*j);             
            [check_signal,threshold]=func_check(Per_signal_under_check,Check_cycle);
            check_signal_abs(j,m)=abs(check_signal);  
        end  
                
        %自适应门限计算                                    
        adap_thres(m)        = Check_noise*sqrt(2*log10(1./Pfa));
        %自适应双门限                                              
        adap_thres_double(m) = 0.2*Check_noise(1,:)/sqrt(2*log10(1./Pfa));
        %固定门限
        thresholds(m)        = threshold;
    end  
 
   
 
 
    %进行判决
    [Num_Pd_01,Num_Pm_01,Num_Pf_01] = func_check_level(check_signal_abs,mean(adap_thres_double),scrambler);  % 自适应双阈值的判决 
    [Num_Pd_02,Num_Pm_02,Num_Pf_02] = func_check_level(check_signal_abs,mean(adap_thres)       ,scrambler);  % 自适应单阈值的判决 
    [Num_Pd_03,Num_Pm_03,Num_Pf_03] = func_check_level(check_signal_abs,mean(thresholds)       ,scrambler);  % 固定阈值的判决  
 
     
    %判决统计
    %检测概率   
    Pd01(index)=Num_Pd_01/(20);   % 自适应双阈值 
    Pd02(index)=Num_Pd_02/(20);   % 自适应单阈值 
    Pd03(index)=Num_Pd_03/(20);   % 固定阈值  
    
    %漏检概率
    Pm01(index)=Num_Pm_01/(20);  % 自适应双阈值
    Pm02(index)=Num_Pm_02/(20);  % 自适应单阈值    
    Pm03(index)=Num_Pm_03/(20);  % 固定阈值         
 
    %虚警概率
    Pf01(index)=Num_Pf_01/(20);   % 自适应双阈值
    Pf02(index)=Num_Pf_02/(20);   % 自适应单阈值
    Pf03(index)=Num_Pf_03/(20);   % 固定阈值   
end
 
%检测概率  
Pd11=sort(averge(Pd01,length(SNR)));
Pd12=sort(averge(Pd02,length(SNR)));
Pd13=sort(averge(Pd03,length(SNR)));
%虚警概率
Pf11=(sort(averge(Pf01,length(SNR))));
Pf12=(sort(averge(Pf02,length(SNR))));
Pf13=(sort(averge(Pf03,length(SNR))));
%漏检概率
Pm11=fliplr(sort(averge(Pm01,length(SNR))));
Pm12=fliplr(sort(averge(Pm02,length(SNR))));
Pm13=fliplr(sort(averge(Pm03,length(SNR))));
 
 
%正确的检测概率
figure;
plot(SNR,Pd11,'r-*',SNR,Pd12,'b-^',SNR,Pd13,'k-o')
legend('自适应双门限','自适应单门限','固定门限')
xlabel('SNR')                
ylabel('Pd')  
title('正确检测概率图');
grid on;  
 
%虚警概率
figure;
plot(SNR,Pf11,'r-*',SNR,Pf12,'b-^',SNR,Pf13,'k-o')
legend('自适应双门限','自适应单门限','固定门限')
xlabel('SNR')                
ylabel('Pf')  
title('虚警概率图');
grid on 
 
%漏检概率
figure;
plot(SNR,Pm11,'r-*',SNR,Pm12,'b-^',SNR,Pm13,'k-o')
legend('自适应双门限','自适应单门限','固定门限')
xlabel('SNR')                
ylabel('Pm')  
title('漏检概率图');
grid on 
 
%ROC
figure;
plot(Pf11,Pd11,'r-*')
 
xlabel('Pf')                
ylabel('Pd')  
title('ROC');
grid on 
01-42m
相关文章
|
16小时前
|
机器学习/深度学习 算法
基于改进遗传优化的BP神经网络金融序列预测算法matlab仿真
本项目基于改进遗传优化的BP神经网络进行金融序列预测,使用MATLAB2022A实现。通过对比BP神经网络、遗传优化BP神经网络及改进遗传优化BP神经网络,展示了三者的误差和预测曲线差异。核心程序结合遗传算法(GA)与BP神经网络,利用GA优化BP网络的初始权重和阈值,提高预测精度。GA通过选择、交叉、变异操作迭代优化,防止局部收敛,增强模型对金融市场复杂性和不确定性的适应能力。
|
17小时前
|
监控 算法 数据安全/隐私保护
基于扩频解扩+turbo译码的64QAM图传通信系统matlab误码率仿真,扩频参数可设置
该通信系统基于MATLAB 2022a仿真,适用于高要求的图像传输场景(如无人机、视频监控等),采用64QAM调制解调、扩频技术和Turbo译码提高抗干扰能力。发射端包括图像源、64QAM调制器、扩频器等;接收端则有解扩器、64QAM解调器和Turbo译码器等。核心程序实现图像传输的编码、调制、信道传输及解码,确保图像质量和传输可靠性。
25 16
|
5天前
|
供应链 算法 调度
排队算法的matlab仿真,带GUI界面
该程序使用MATLAB 2022A版本实现排队算法的仿真,并带有GUI界面。程序支持单队列单服务台、单队列多服务台和多队列多服务台三种排队方式。核心函数`func_mms2`通过模拟到达时间和服务时间,计算阻塞率和利用率。排队论研究系统中顾客和服务台的交互行为,广泛应用于通信网络、生产调度和服务行业等领域,旨在优化系统性能,减少等待时间,提高资源利用率。
|
18小时前
|
机器学习/深度学习 人工智能 算法
基于GRNN广义回归网络和MFCC的语音情绪识别matlab仿真,对比SVM和KNN
该语音情绪识别算法基于MATLAB 2022a开发,可识别如悲伤等情绪,置信度高达0.9559。核心程序含中文注释及操作视频。算法采用MFCC特征提取与GRNN广义回归网络,通过预加重、分帧、加窗、FFT、梅尔滤波器组、对数运算和DCT等步骤处理语音信号,实现高效的情绪分类。
|
4月前
|
安全
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
本文介绍了2023年高教社杯数学建模竞赛D题的圈养湖羊空间利用率问题,包括问题分析、数学模型建立和MATLAB代码实现,旨在优化养殖场的生产计划和空间利用效率。
225 6
【2023高教社杯】D题 圈养湖羊的空间利用率 问题分析、数学模型及MATLAB代码
|
4月前
|
存储 算法 搜索推荐
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
本文提供了2022年华为杯数学建模竞赛B题的详细方案和MATLAB代码实现,包括方形件组批优化问题和排样优化问题,以及相关数学模型的建立和求解方法。
141 3
【2022年华为杯数学建模】B题 方形件组批优化问题 方案及MATLAB代码实现
|
4月前
|
数据采集 存储 移动开发
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
本文介绍了2023年五一杯数学建模竞赛B题的解题方法,详细阐述了如何通过数学建模和MATLAB编程来分析快递需求、预测运输数量、优化运输成本,并估计固定和非固定需求,提供了完整的建模方案和代码实现。
111 0
【2023五一杯数学建模】 B题 快递需求分析问题 建模方案及MATLAB实现代码
|
7月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
基于混合整数规划的微网储能电池容量规划(matlab代码)
基于混合整数规划的微网储能电池容量规划(matlab代码)
|
7月前
|
算法 调度
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)
含多微网租赁共享储能的配电网博弈优化调度(含matlab代码)

热门文章

最新文章