function [gl,g2]=gngauss(m,sgma) % 输入格式可以为[glg2]=gngauss(msgma) % 或[gl,g2]=gngauss(sgma) % 或[gl,g2]=gngauss %函数生成两个统计独立的高斯分布的随机数,以m为均值,sgma为方差% 默认时 m=0,sgma=1 if(nargin==0), m=0;sgma=1; elseif nargin==1 sgma=m;m=0; end u=rand; %产生一个(0,1)间均匀分布的随机数 u z=sgma*(sqrt(2*log(1/(1-u)))); %利用上面的u产生一个瑞利分布随机数 u=rand; %重新产生(0,1)间均匀分布的随机数 u gl=m+z*cos(2*pi*u); g2=m+z*sin(2*pi*u);

时间: 2024-04-26 13:22:26 浏览: 6
这是一个MATLAB函数,用于生成两个统计独立的高斯分布的随机数。其中,m为高斯分布的均值,sgma为高斯分布的方差。如果没有输入参数,则默认m=0,sgma=1。函数中先产生一个(0,1)间均匀分布的随机数u,然后利用u产生一个瑞利分布随机数z。最后再次产生一个(0,1)间均匀分布的随机数u,并利用u、z、m生成两个统计独立的高斯分布的随机数gl和g2。其中,gl和g2的均值分别为m,方差分别为sgma。
相关问题

函数或变量 'bmgauss' 无法识别。 出错 untitled12>snr2p (第 50 行) n(1)=bmgauss(sgma); 出错 untitled12 (第 4 行) [pb, ps] = snr2p(SNRindB1( i));

这个错误提示表明您使用的代码中使用了一个未定义的函数或变量 'bmgauss',导致程序无法运行。 可能是因为 'bmgauss' 函数不是 MATLAB 自带的函数,而是需要您自己编写或者下载的函数。建议您检查一下代码中是否有使用到 'bmgauss' 函数,如果有,请确认您已经正确定义该函数。 如果您无法找到 'bmgauss' 函数,也可以尝试使用 MATLAB 自带的高斯噪声函数 `randn()` 来代替 'bmgauss' 函数。您可以将代码中的 `n = bmgauss(sgma);` 替换为 `n = sqrt(sgma)*randn(1, N);`,其中 `N` 为噪声长度。

function [p]=li8_16fun(rho_in_dB) %子程序得出运算误码率,用dB 值表示的信噪比为子程序的输入变量 rho=10^(rho_in_dB/10); Eb=rho; %每比特能量 if(rho>2) %如果 rho>2 优化 alpha alpha=2/rho; else %如果 rho<2 优化 alpha 结束 alpha=1; end sgma=sqrt(1/(2*alpha)); %噪声标准方差 N=10000; %传输的比特数 for i=1:N %产生数据序列 temp=rand; if(temp<0.5) data(i)=1; else data(i)=0; end end for i=1:N %查找接收信号 if(data(i)-0) %传输信号 r1c(i)=sqrt(Eb);r1s(i)=0; r2c(i)=0;r2s(i)=0; else r1c(i)=0;r1s(i)=0; r2c(i)=sqrt(Eb);r2s(i)=0; end if(rand<alpha) %以概率 alpha 加入噪声并确定接收信号 r1c(i)=r1c(i)+gnagauss(sgma); r1s(i)=r1s(i)+gnagauss(sgma); r2c(i)=r2c(i)+gnagauss(sgma); r2s(i)=r2s(i)+gnagauss(sgma); end end num_of_err=0; %进行判决并计算错误数目 for i=1:N r1=r1c(i)^2+r1s(i)^2; %第一判决变量 r2=r2c(i)^2+r2s(i)^2; %第二判决变量 if(r1>r2) decis=0; else decis=1; end if(decis~=data(i)) %如果存在错误,计数器计数 num_of_err=num_of_err+1; end end p=num_of_err/N; %计算误码率;没有定义gnagauss函数,帮我定义一个

好的,下面是一个定义 Gnagauss 函数的 MATLAB 代码: function y = gnagauss(sigma) % GNAGAUSS 生成一个服从 Gnagauss 分布的随机数 % % sigma: Gnagauss 分布的标准差 % % y: 服从 Gnagauss 分布的随机数 % % Gnagauss 分布的概率密度函数为: % f(x) = sqrt(2/pi) * exp(-2 * x^2 / sigma^2) * (2 * x^2 / sigma^2 + 1) % 可以通过 Box-Muller 变换得到服从 Gnagauss 分布的随机数 u = randn(); % 生成标准正态分布随机数 v = randn(); % 生成标准正态分布随机数 x = sqrt(0.5) * (u + v); % 通过 Box-Muller 变换得到服从 N(0, 1) 的随机数 y = x * sigma / sqrt(2*(1+sigma^2)); % 通过线性变换得到服从 Gnagauss 分布的随机数 end 请将这段代码保存在一个名为 "gnagauss.m" 的文件中,然后将该文件与 li8_16fun.m 放在同一目录下即可。

相关推荐

最新推荐

recommend-type

8psk的源程序 顶全

sgma=sqrt(E/(3*2*snr)); s000=[1 0]; s001=[cos(pi/4) sin(pi/4)]; s011=[0 1]; s010=[cos(3*pi/4) sin(3*pi/4)]; s110=[-1 0]; s111=[cos(5*pi/4) sin(5*pi/4)]; s101=[0 -1]; s100=[cos(7*pi/4) sin(7*pi/4)]; ...
recommend-type

pre_o_1csdn63m9a1bs0e1rr51niuu33e.a

pre_o_1csdn63m9a1bs0e1rr51niuu33e.a
recommend-type

matlab建立计算力学课程的笔记和文件.zip

matlab建立计算力学课程的笔记和文件.zip
recommend-type

FT-Prog-v3.12.38.643-FTD USB 工作模式设定及eprom读写

FT_Prog_v3.12.38.643--FTD USB 工作模式设定及eprom读写
recommend-type

matlab基于RRT和人工势场法混合算法的路径规划.zip

matlab基于RRT和人工势场法混合算法的路径规划.zip
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

SPDK_NVMF_DISCOVERY_NQN是什么 有什么作用

SPDK_NVMF_DISCOVERY_NQN 是 SPDK (Storage Performance Development Kit) 中用于查询 NVMf (Non-Volatile Memory express over Fabrics) 存储设备名称的协议。NVMf 是一种基于网络的存储协议,可用于连接远程非易失性内存存储器。 SPDK_NVMF_DISCOVERY_NQN 的作用是让存储应用程序能够通过 SPDK 查询 NVMf 存储设备的名称,以便能够访问这些存储设备。通过查询 NVMf 存储设备名称,存储应用程序可以获取必要的信息,例如存储设备的IP地址、端口号、名称等,以便能
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。