Matlab:绘制简单能量的接收机工作特性曲线(Energy_detection_simulation_ok)

简介: Matlab:绘制简单能量的接收机工作特性曲线(Energy_detection_simulation_ok)

输出结果

image.png


实现代码

% This code is to plot receiver operating characteristic curve for simple energy

%绘制简单能量的接收机工作特性曲线

% detection, when the primary signal is real Gaussian signal and noise is

% addive white real Gaussian. Here, the threshold is available

% analytically.

% Code written by: Sanket Kalamkar, Indian Institute of Technology Kanpur,

% India.


%% 以下代码绘制在虚警概率一定时,检测概率和信噪比之间的关系曲线称为检测器的检测性能曲线

clc

close all

clear all

L = 1000;                                             % The number of samples

snr = 0.01:0.01:10;

Pf = 10e-4;                                           % Pf = Probability of False Alarm 虚警概率确定

%% Simulation to plot SNR vs.Probability of Detection (Pd)

for m = 1:length(snr)

   i = 0;

   thresh = (qfuncinv(Pf)./sqrt(L))+ 1;              % Theoretical value of Threshold, refer, Sensing-Throughput Tradeoff for Cognitive Radio Networks, Y. C. Liang

   for kk = 1:5000                                   % Number of Monte Carlo Simulations(https://cn.mathworks.com/discovery/monte-carlo-simulation.html)

       n = randn(1,L);                               % AWGN noise with mean 0 and variance 1

       s = sqrt(snr(m)).*randn(1,L);                 % Real valued Gaussina Primary User Signal

       y = s + n;                                    % Received signal at SU(认知用户接收到的信号)

       energy = abs(y).^2;                           % Energy of received signal over N samples

       energy_fin =(1/L).*sum(energy);               % Test Statistic for the energy detection

       if(energy_fin >= thresh)                      % Check whether the received energy is greater than threshold, if so, increment Pd (Probability of detection) counter by 1

           i = i+1;

       end

   end

   Pd(m) = i/kk;

end

plot(10*log(snr), Pd,  'r')

xlabel('信噪比,单位db');

ylabel('检测概率');

title('能量感知检测性能曲线');

grid on

hold on

%% Theroretical expression of Probability of Detection; refer above reference.

thresh = (qfuncinv(Pf)./sqrt(L))+ 1;

%Pd_the = qfunc(((thresh - (snr + 1)).*sqrt(L))./(sqrt(2).*(snr + 1))); % 原来代码中的表达与论文中不一致

for k = 1:length(snr)

   Pd_the(k) = qfunc(((thresh - (snr(k) + 1)).*sqrt(L))./(sqrt(2).*snr(k) + 1)); % 与论文中的方程式保持一致

end

plot(10*log(snr), Pd_the, 'b')

legend('实际检测概率', '理论检测概率', 'Location', 'SouthEast');

hold on

grid on


相关文章
|
12天前
|
缓存 算法 物联网
基于AODV和leach协议的自组网络平台matlab仿真,对比吞吐量,负荷,丢包率,剩余节点个数,节点消耗能量
本系统基于MATLAB 2017b,对AODV与LEACH自组网进行了升级仿真,新增运动节点路由测试,修正丢包率统计。AODV是一种按需路由协议,结合DSDV和DSR,支持动态路由。程序包含参数设置、消息收发等功能模块,通过GUI界面配置节点数量、仿真时间和路由协议等参数,并计算网络性能指标。 该代码实现了节点能量管理、簇头选举、路由发现等功能,并统计了网络性能指标。
133 73
|
20天前
|
算法 5G 数据安全/隐私保护
SCM信道模型和SCME信道模型的matlab特性仿真,对比空间相关性,时间相关性,频率相关性
该简介展示了使用MATLAB 2022a进行无线通信信道仿真的结果,仿真表明信道的时间、频率和空间相关性随间隔增加而减弱,并且宏小区与微小区间的相关性相似。文中介绍了SCM和SCME模型,分别用于WCDMA和LTE/5G系统仿真,重点在于其空间、时间和频率相关性的建模。SCME模型在SCM的基础上进行了扩展,提供了更精细的参数化,增强了模型的真实性和复杂度。最后附上了MATLAB核心程序,用于计算不同天线间距下的空间互相关性。
23 0
|
5月前
MATLAB实战 | 科赫曲线的绘制
MATLAB实战 | 科赫曲线的绘制
404 0
MATLAB实战 | 科赫曲线的绘制
|
2月前
|
移动开发
【光波电子学】MATLAB绘制子午光线路径方程曲线
本文介绍了如何使用MATLAB绘制基于特定折射率分布的第一种子午光线路径方程曲线的方法。
33 3
|
3月前
|
机器学习/深度学习 算法 调度
Matlab|基于改进鲸鱼优化算法的微网系统能量优化管理matlab-源码
基于改进鲸鱼优化算法的微网系统能量管理源码实现,结合LSTM预测可再生能源和负荷,优化微网运行成本与固定成本。方法应用于冷热电联供微网,结果显示经济成本平均降低4.03%,提高经济效益。代码包括数据分段、LSTM网络定义及训练,最终展示了一系列运行结果图表。
|
5月前
|
算法 调度
【免费】基于模型预测算法的含储能微网双层能量管理模型(MATLAB)
【免费】基于模型预测算法的含储能微网双层能量管理模型(MATLAB)
|
5月前
|
机器学习/深度学习 算法 调度
基于改进鲸鱼优化算法的微网系统能量优化管理matlab
基于改进鲸鱼优化算法的微网系统能量优化管理matlab
|
5月前
|
数据安全/隐私保护
耐震时程曲线,matlab代码,自定义反应谱与地震波,优化源代码,地震波耐震时程曲线
地震波格式转换、时程转换、峰值调整、规范反应谱、计算反应谱、计算持时、生成人工波、时频域转换、数据滤波、基线校正、Arias截波、傅里叶变换、耐震时程曲线、脉冲波合成与提取、三联反应谱、地震动参数、延性反应谱、地震波缩尺、功率谱密度
|
5月前
|
供应链 算法
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)
基于分布式优化的多产消者非合作博弈能量共享(Matlab代码)

热门文章

最新文章

下一篇
无影云桌面