雷达无线电系列(一)几种常见的幅度分布函数(matlab)
文件下载地址:
一,瑞利幅度分布模型
① 常规模型

function [fx, Fx, Exn, Ex] = pdf_rayleigh(x, sigma, n)
fx = x./(sigma.^2).*exp(-1.*x.^2./(2.*sigma.^2));
Fx = 1 - exp(-x.^2/(2.*sigma.^2));
Exn = 2.^(n./2).*sigma.^2.*gamma(1+n./2);
Ex = sqrt(pi/(2.*sigma));
end
②AB模型

function [fA] = pdf_ABrayleigh(A, B)
fA = 1/B.*exp(-1.*(A/B));
end
二,对数正态分布模型

function [fx, Fx, Exn, Ex, Dx] = pdf_lognormal(x, sigma, v, n)
fx = 1./(sqrt(2.*pi).*sigma.*x).*exp(-1.*(log(x)-v).^2./(2.*sigma.^2));
Fx = 1 - exp(-((log(x)-v)/sigma).^2/(2.*sigma.^2));
Exn = exp(1/2.*(n.*sigma).^2+n.*v);
Ex = v.*exp((sigma.^2)/2);
Dx = v.^2.*exp(sigma.^2).*(exp(sigma.^2)-1);
end
三,韦布尔幅度分布模型


function [fx, Fx, Exn, Ex, Dx] = pdf_weibull(x, alpha, beta, n)
fx = alpha./beta.*(x./beta).^(alpha-1).*exp(-(x./beta).^alpha);
Fx = 1 - exp(-(x./beta).^alpha);
Exn = beta.^n.*gamma(n./alpha+1);
Ex = beta.*gamma(1./alpha+1);
Dx = beta.^2.*(gamma(2./alpha + 1) - gamma(1./alpha + 1).^2);
end
四,k分布


function [fx, Fx, Exn] = pdf_k(x, c, v, n)
fx = (2.*c./gamma(v)).*(c.*x./2).^v.*besselk(v-1,c.*x);
Fx = 1 - 2./gamma(v).*(c.*x./2).^v.*besselk(v,c.*x);
Exn = gamma(n./2+1).*gamma(n./2+v)./gamma(v).*(2./c).^n;
end
五,Gamma分布

function [fx, Ex, Dx] = pdf_gamma(x, v, alpha)
fx = alpha.^v/gamma(v).*x.^(v-1).*exp(-alpha.*x);
Ex = v/alpha;
Dx = v/alpha^2;
end
六,测试运行程序
clc;
%% 测试k分布v参数
% x = 0:0.01:15;
% c=1;
% n=1;
% figure;
% [fx0, Fx, Exn] = pdf_k(x, c, 1, n);
% [fx1, Fx, Exn] = pdf_k(x, c, 2, n);
% [fx2, Fx, Exn] = pdf_k(x, c, 3, n);
% [fx3, Fx, Exn] = pdf_k(x, c, 4, n);
% [fx4, Fx, Exn, Ex, Dx] = pdf_lognormal(x, 2.5, v, n);
% plot(x,fx0, x,fx1, x,fx2, x,fx3); %% 测试k分布c参数
% x = 0:0.01:30;
% v=2;
% n=1;
% figure;
% [fx0, Fx, Exn] = pdf_k(x, 0.2, v, n);
% [fx1, Fx, Exn] = pdf_k(x, 0.25, v, n);
% [fx2, Fx, Exn] = pdf_k(x, 0.5, v, n);
% [fx3, Fx, Exn] = pdf_k(x, 1, v, n);
% % [fx4, Fx, Exn, Ex, Dx] = pdf_lognormal(x, 2.5, v, n);
% plot(x,fx0, x,fx1, x,fx2, x,fx3); %% 测试韦布尔分布beta参数
% x = 0:0.01:8;
% alpha=3;
% n=1;
% figure;
% [fx0, Fx, Exn, Ex, Dx] = pdf_weibull(x, alpha, 1, n);
% [fx1, Fx, Exn, Ex, Dx] = pdf_weibull(x, alpha, 2, n);
% [fx2, Fx, Exn, Ex, Dx] = pdf_weibull(x, alpha, 3, n);
% [fx3, Fx, Exn, Ex, Dx] = pdf_weibull(x, alpha, 4, n);
% % [fx4, Fx, Exn, Ex, Dx] = pdf_lognormal(x, 2.5, v, n);
% plot(x,fx0, x,fx1, x,fx2, x,fx3); %% 测试韦布尔分布alpha参数
% x = 0:0.01:3;
% beta=1;
% n=1;
% figure;
% [fx0, Fx, Exn, Ex, Dx] = pdf_weibull(x, 0.5, beta, n);
% [fx1, Fx, Exn, Ex, Dx] = pdf_weibull(x, 1, beta, n);
% [fx2, Fx, Exn, Ex, Dx] = pdf_weibull(x, 2, beta, n);
% [fx3, Fx, Exn, Ex, Dx] = pdf_weibull(x, 3, beta, n);
% % [fx4, Fx, Exn, Ex, Dx] = pdf_lognormal(x, 2.5, v, n);
% plot(x,fx0, x,fx1, x,fx2, x,fx3); %% 测试对数正态v参数
% x = 0:0.1:20;
% sigma=1;
% n=1;
% figure;
% [fx0, Fx, Exn, Ex, Dx] = pdf_lognormal(x, sigma, 0.5, n);
% [fx1, Fx, Exn, Ex, Dx] = pdf_lognormal(x, sigma, 1, n);
% [fx2, Fx, Exn, Ex, Dx] = pdf_lognormal(x, sigma, 2, n);
% [fx3, Fx, Exn, Ex, Dx] = pdf_lognormal(x, sigma, 3, n);
% % [fx4, Fx, Exn, Ex, Dx] = pdf_lognormal(x, 2.5, v, n);
% plot(x,fx0, x,fx1, x,fx2, x,fx3); %% 测试对数正态sigma参数
% x = 0:0.1:5;
% v=0;
% n=1;
% figure;
% [fx0, Fx, Exn, Ex, Dx] = pdf_lognormal(x, 0.3, v, n);
% [fx1, Fx, Exn, Ex, Dx] = pdf_lognormal(x, 0.5, v, n);
% [fx2, Fx, Exn, Ex, Dx] = pdf_lognormal(x, 1, v, n);
% [fx3, Fx, Exn, Ex, Dx] = pdf_lognormal(x, 2, v, n);
% % [fx4, Fx, Exn, Ex, Dx] = pdf_lognormal(x, 2.5, v, n);
% plot(x,fx0, x,fx1, x,fx2, x,fx3); %% 测试rayleigh_AB分布函数
% figure;
% x=0:0.1:8;
% [fx0] = pdf_ABrayleigh(x, 0.5);
% [fx1] = pdf_ABrayleigh(x, 1);
% [fx2] = pdf_ABrayleigh(x, 2);
% [fx3] = pdf_ABrayleigh(x, 3);
% [fx4] = pdf_ABrayleigh(x, 4);
% plot(x,fx0, x,fx1, x,fx2, x,fx3, x,fx4); %% 测试rayleigh分布函数
% n = 1;
% figure;
% [fx0, Ex0, Dx0] = pdf_rayleigh(x, 0.5, n);
% [fx1, Ex1, Dx1] = pdf_rayleigh(x, 1, n);
% [fx2, Ex2, Dx2] = pdf_rayleigh(x, 1.5, n);
% [fx3, Ex3, Dx3] = pdf_rayleigh(x, 2, n);
% [fx4, Ex4, Dx4] = pdf_rayleigh(x, 2.5, n);
% plot(x,fx0, x,fx1, x,fx2, x,fx3, x,fx4); %% 测试gamma分布v参数
% x = 0:0.1:10;
% alpha = 1;
% figure;
% [fx0, Ex0, Dx0] = pdf_gamma(x, 0.5, alpha);
% [fx1, Ex1, Dx1] = pdf_gamma(x, 1, alpha);
% [fx2, Ex2, Dx2] = pdf_gamma(x, 2, alpha);
% [fx3, Ex3, Dx3] = pdf_gamma(x, 3, alpha);
% plot(x,fx0, x,fx1, x,fx2, x,fx3); %% 测试gamma分布alpha参数
% x = 0:0.1:10;
% alpha = 1;
% figure;
% [fx0, Ex0, Dx0] = pdf_gamma(x, v, 0.5);
% [fx1, Ex1, Dx1] = pdf_gamma(x, v, 1);
% [fx2, Ex2, Dx2] = pdf_gamma(x, v, 2);
% [fx3, Ex3, Dx3] = pdf_gamma(x, v, 3);
% plot(x,fx0, x,fx1, x,fx2, x,fx3);
雷达无线电系列(一)几种常见的幅度分布函数(matlab)的更多相关文章
- 雷达无线电系列(二)经典CFAR算法图文解析与实现(matlab)
一,CFAR基础知识介绍 简介 恒虚警检测技术是指雷达系统在保持虚警概率恒定条件下对接收机输出的信号与噪声作判别以确定目标信号是否存在的技术. 前提 由于接收机输出端中肯定存有噪声(包括大气噪声.人为 ...
- 雷达无线电系列(三)经典CFAR算法门限因子alpha计算(matlab)
前言 本文汇集CA.SO.GO.OS.杂波图等恒虚警算法的门限因子求解方法及其函数 1,CA-CFAR [非常简单,可以直接求解] %% 均值恒虚警_门限因子计算公式 %% 版本:v1 %% 时间:2 ...
- ElasticSearch 学习记录之ES几种常见的聚合操作
ES几种常见的聚合操作 普通聚合 POST /product/_search { "size": 0, "aggs": { "agg_city&quo ...
- 一文读懂四种常见的XML解析技术
之前的文章我们讲解了<XML系列教程之Schema技术_上海尚学堂java培训技术干货><XML的概念.特点与作用.XML申明_上海Java培训技术干货>,大家可以点击回顾一下 ...
- Spring RestTemplate中几种常见的请求方式
https://github.com/lenve/SimpleSpringCloud/tree/master/RestTemplate在Spring Cloud中服务的发现与消费一文中,当我们从服务消 ...
- Spring RestTemplate中几种常见的请求方式GET请求 POST请求 PUT请求 DELETE请求
Spring RestTemplate中几种常见的请求方式 原文地址: https://blog.csdn.net/u012702547/article/details/77917939 版权声明 ...
- 几种常见web攻击手段及其防御方式
XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS web安全系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 XSS 概念 全称是跨站脚本攻击(Cross ...
- 总结几种常见web攻击手段及其防御方式
本文简单介绍几种常见的攻击手段及其防御方式 XSS(跨站脚本攻击) CSRF(跨站请求伪造) SQL注入 DDOS web安全系列目录 总结几种常见web攻击手段极其防御方式 总结几种常见的安全算法 ...
- css3系列-2.css中常见的样式属性和值
css3系列-2.css中常见的样式属性和值 继续上一篇文章的继续了解css的基础知识,关注我微信公众号:全栈学习笔记 css中常见的样式属性和值 字体与颜色 背景属性 文本属性 边框属性 内外边距 ...
随机推荐
- RxJS操作符(三)
一.过滤类操作符:debounce, debounceTime 跟时间相关的过滤 debounceTime自动完成:性能,避免每次请求都往出发 ); debounce中间传入Observable co ...
- RabbitMQ通过Exchange.fanout、不同的队列绑定同一个Exchange实现多播处理
消费者1: static void Main(string[] args) { ConnectionFactory factory = new ConnectionFactory() { HostNa ...
- .net core 上传文件大小限制 webconfig
<?xml version="1.0" encoding="utf-8"?><configuration> <location p ...
- TensorFlow之多核GPU的并行运算
tensorflow多GPU并行计算 TensorFlow可以利用GPU加速深度学习模型的训练过程,在这里介绍一下利用多个GPU或者机器时,TensorFlow是如何进行多GPU并行计算的. 首先,T ...
- native的详细用法
目录 1.JNI:Java Native Interface 3.用C语言编写程序本地方法 一.编写带有 native 声明的方法的java类 二.使用 javac 命令编译所编写的java类,生成. ...
- 展开被 SpringBoot 玩的日子 《 六 》 整合 Mybatis
上次整合了JPA ,但是很多人觉得JPA 并不是那么好用,这都是习惯问题,我本人也比较习惯Mybatis ,所以,今天就整合一下Mybatis,到网上找了一下关于spring boot和mybatis ...
- C语言中free()函数释放struct结构体中的规律
并不是什么新鲜的事情,不过值得注意.首先我们知道,在使用struct来定义并声明一个变量时,将会自动划分出一个连续的储存空间(虽然根据某些对齐原则会出现内存间隙,但是大体上来说还是连续的)这一块连续空 ...
- BZOJ.5467.[PKUWC2018]Slay the Spire(DP)
LOJ BZOJ 洛谷 哪张能力牌能乘攻击啊,太nb了叭 显然如果有能力牌,那么应该选最大的尽可能的打出\(k-1\)张. 然后下面说的期望都是乘总方案数后的,即所有情况的和.然后\(w_i\)统一用 ...
- java中的反射整理
1,什么是反射 反射机制是java语言提供的一种基础功能,它能够赋予成语在运行时进行自省的能力.通过反射我们可以直接操作类或者对象,例如:可以通过反射去获取某个对象的类的定义,属性,方法,还可以修改类 ...
- Python网络编程基础pdf
Python网络编程基础(高清版)PDF 百度网盘 链接:https://pan.baidu.com/s/1VGwGtMSZbE0bSZe-MBl6qA 提取码:mert 复制这段内容后打开百度网盘手 ...