【MATLAB】对离散采样信号添加高斯白噪声(已知Eb/N0)

(1)首先计算已知信号序列(采样之后得到的信号)的平均功率。

该序列在第n个点处的功率为:

如果已知的信号序列中的总共的点数为N个,则该序列的平均功率为:

在MATLAB中求平均功率的方法是:

Pav=sum(x.^2)/length(x);

(2)第二步是求单个符号的能量。能量的定义是功率乘以时间。对于单个符号来说,因为已经被采样了,每个符号可能对应多个采样点。因此,此处需要已知符号速率。

每个符号的能量为:

在MATLAB中求单位符号能量的方法是:

Eb=sum(x.^2)/(length(x)*fb);

(3)第三步是求噪声的单边功率谱密度。根据Eb/N0即可,注意首先要把dB转化为实际的倍数。若已知的Eb/N0是dB单位的,则转化过程如下:

ebn0=10^((EbN0)/10);

随后得到n0:

n0=Eb/ebn0;

(4)第四步是根据噪声的单边功率谱密度求噪声的方差。对于实信号来说,如果信号的采样频率是fs,则噪声带宽为采样频率的一半。噪声的方差即为噪声的平均功率,噪声的平均功率是单边功率谱密度和噪声带宽的乘积,因此噪声的方差为:

MATLAB中的计算过程:

pn=n0*fs/2;

(5)第五步即生成噪声序列。

NOISE=sqrt(pn)*randn(1,length(x));

注:参考文献:

Bit-Error-Rate Simulation Using Matlab作者:

JE Gilley

http://xueshu.baidu.com/s?wd=paperuri:(18dc898216ce76b4c166f194fab1b349)&filter=sc_long_sign&sc_ks_para=q%3DBit-Error-Rate+Simulation+Using+Matlab&tn=SE_baiduxueshu_c1gjeupa&ie=utf-8&sc_us=12877983928575481934

时间: 2024-10-13 16:10:47

【MATLAB】对离散采样信号添加高斯白噪声(已知Eb/N0)的相关文章

[转] Matlab中给信号加高斯白噪声的方法

MATLAB中产生高斯白噪声非常方便,可以直接应用两个函数,一个是WGN,另一个是AWGN.WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声. 1. WGN:产生高斯白噪声 y = wgn(m,n,p) 产生一个m行n列的高斯白噪声的矩阵,p以dBW为单位指定输出噪声的强度. y = wgn(m,n,p,imp) 以欧姆(Ohm)为单位指定负载阻抗. y = wgn(m,n,p,imp,state) 重置RANDN的状态. 在数值变量后还可附加一些标志性参数: y = wgn(

高斯白噪声叠加到信号上

一.概念    英文名称:white Gaussian noise; WGN    定义:均匀分布于给定频带上的高斯噪声:    所谓高斯白噪声中的高斯是指概率分布是正态函数,而白噪声是指它的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性.这是考察一个信号的两个不同方面的问题.    高斯白噪声:如果一个噪声,它的幅度服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声.    热噪声和散粒噪声是高斯白噪声.二.matlab举例    Matlab有两个函数可以产生高斯白噪

【转帖】MATLAB中产生高斯白噪声的两个函数

MATLAB中产生高斯白噪声非常方便,可以直接应用两个函数,一个是WGN,另一个是AWGN.WGN用于产生高斯白噪声,AWGN则用于在某一信号中加入高斯白噪声. 1. WGN:产生高斯白噪声 y = wgn(m,n,p) 产生一个m行n列的高斯白噪声的矩阵,p以dBW为单位指定输出噪声的强度. y = wgn(m,n,p,imp) 以欧姆(Ohm)为单位指定负载阻抗. y = wgn(m,n,p,imp,state) 重置RANDN的状态. 在数值变量后还可附加一些标志性参数: y = wgn(

MATLAB产生离散信号

Matlab产生离散信号 常见离散信号 冲击信号 n = -5:5; x = n == 0;% 当n为0时,x的值为1 stem(n, x, 'filled'); axis([-5 5 0 1.1*max(x)]);%规定坐标轴的范围 xlabel('时间(n)');ylabel('幅度(n)'); 冲击信号 阶跃信号 n = -2:8; x = n >= 0; % 当n大于等与零时,其值为1 stem(n, x, 'filled'); axis([-4, 4, 0, 1.1*max(x)]);

加性高斯白噪声 AWGN

加性高斯白噪声 AWGN(Additive White Gaussian Noise) 是最基本的噪声与干扰模型. 加性噪声:叠加在信号上的一种噪声,通常记为n(t),而且无论有无信号,噪声n(t)都是始终存在的.因此通常称它为加性噪声或者加性干扰. 白噪声:噪声的功率谱密度在所有的频率上均为一常数,则称这样的噪声为白噪声.如果白噪声取值的概率分布服从高斯分布,则称这样的噪声为高斯白噪声. Matlab中实现加性高斯白噪声: y = awgn(x,SNR) 在信号x中加入高斯白噪声.信噪比SNR

基于MATLAB的离散小波变换

申明,本文非笔者原创,原文转载自:  基于Matlab的离散小波变换         http://blog.sina.com.cn/s/blog_725866260100ryh3.html 简介 在数字图像处理中,需要将连续的小波及其小波变换离散化.一般计算机实现中使用二进制离散处理,将经过这种离散化的小波及其相应的小波变换成为离散小波变换(简称DWT).实际上,离散小波变换是对连续小波变换的尺度.位移按照2的幂次进行离散化得到的,所以也称之为二进制小波变换. 虽然经典的傅里叶变换可以反映出信

如何正确地给图像添加高斯噪声

高斯噪声是一个均值为 0 方差为 \(\sigma_n^2\) 的正态分布,是一个加性噪声.但要正确地给图片添加高斯噪声,还要取决于程序中读入图片的数据格式. 如果图片的数据格式为 uint8,也即数据的范围为 [0, 255],那么直接生成对应方差的噪声,然后加到图片上去. # clean_image uint8 (128, 128) noise_image = clean_image + np.random.rand(128, 128) * sigma 此处 np.random.rand(1

离散采样算法---Alias采样方法

应用场景:比如一个随机事件包含4种情况,每种情况发生的概率分别为:$\frac{1}{2},\frac{1}{3},\frac{1}{12},\frac{1}{12}$,怎么产生符合这个概率的采样方法? 解决方法:Alias算法,O(1) 参考链接: [1]中文:[数学]时间复杂度O(1)的离散采样算法—— Alias method/别名采样方法 [2]英文:Darts, Dice, and Coins: Sampling from a Discrete Distribution 原文地址:ht

移动用户至OU报错 “无法移动对象,试图给目录添加一个名称已在使用的对象”

因部门架构调整,需要将所有用户占时放置至一个OU内,但是移动时候经常会报错"无法移动对象,试图给目录添加一个名称已在使用的对象"如下图 解决方式如下,打开AD管理中心,打开兰中属性,将全名修改为兰中1 保存后可以看到用户的名称已由原来的兰中变为兰中1 这时候就可以成功移动了. 使用命令更改如下图所示 更改此名称并不会影响到用户登录邮箱所显示的账户名,以及系统内显示的账户名