matlab产生高斯噪声
matlab高斯噪声函数

matlab高斯噪声函数(原创版)目录1.Matlab 中生成高斯噪声的方法2.高斯噪声的特点和应用3.椒盐噪声与高斯噪声的区别4.如何在 Matlab 中生成椒盐噪声和高斯白噪声5.滤波器在噪声抑制中的应用正文在 Matlab 中,生成高斯噪声常用的函数是 randn。
该函数可以生成服从正态分布的随机数。
其使用方法为:y = randn(m,n),其中 m 和 n 分别为矩阵的大小。
生成的随机数矩阵 y 中,每个元素都服从均值为 0、方差为 1 的高斯分布。
高斯噪声的特点是其噪声幅度随机,且在图像中的位置固定。
这种噪声在图像处理中很常见,例如在图像传输过程中,信号可能受到高斯噪声的影响。
因此,研究如何生成和处理高斯噪声对于图像处理具有重要意义。
椒盐噪声是一种特殊的高斯噪声,其特点是在图像中的某些位置上噪声幅度较大,形成“椒盐”状。
椒盐噪声与高斯噪声的主要区别在于噪声的幅度分布,椒盐噪声的噪声幅度分布不是正态分布,而是具有较高的峰值和较低的谷值。
在 Matlab 中,可以通过 imnoise 函数生成椒盐噪声。
例如,使用imnoise(I, "salt", m, v) 可以生成椒盐噪声,其中 I 为要添加噪声的图像,m 和 v 分别表示噪声的强度和方差。
除了椒盐噪声,Matlab 中也可以生成高斯白噪声。
高斯白噪声是在频域上呈高斯分布的噪声,其能量分布均匀。
在 Matlab 中,可以使用awgn 函数生成高斯白噪声。
例如,使用 awgn(x, snr) 可以生成高斯白噪声,其中 x 为信号,snr 为信噪比。
在实际应用中,噪声抑制滤波器可以用于去除图像中的噪声。
常见的噪声抑制滤波器包括均值滤波器、中值滤波器和边界保持类滤波器。
均值滤波器的原理是在图像上,对待处理的像素给定一个模板,该模板包括了其周围的邻近像素。
将模板中的全体像素的均值来替代原来的像素值。
中值滤波器则通过取图像中每个像素邻域的中值来实现噪声抑制。
(三十三)MATLAB如何生成实高斯白噪声、复高斯白噪声

(三⼗三)MATLAB如何⽣成实⾼斯⽩噪声、复⾼斯⽩噪声
什么是⾼斯⽩噪声
如果⼀个噪声,它的幅值服从,⽽它的⼜是均匀分布的,则称它为⾼斯⽩噪声.
以下参考⽹址:
1. 实⾼斯随机变量
2. 实⾼斯随机向量
3. 复⾼斯随机向量
3. 复⾼斯随机变量
以下参考⽹址:
参考资料:复⾼斯随机变量
Reyleigh 分布特性维基百科:
chi-squared分布特性维基百科:
gamma分布特性维基百科:
MATLAB如何根据给定的SNR、Es/N0或Eb/N0,⽣成实⾼斯⽩噪声参考资料:20210326PPT
1.SNR、Es/N0和Eb/N0之间的数学关系
2. Simulaitons
给定Es/N0=x——>N0=Es/x——>sigma^2=N0/2=Es/2x
给定Eb/N0=x——>N0=Es/kx——>sigma^2=N0/2=Es/2kx
3. Simulaitons of coded systems
给定Es/N0=x——>N0=Es/x——>sigma^2=N0/2=Es/2x
给定Eb/N0=x——>N0=Es/kRx——>sigma^2=N0/2=Es/2kRx
注:
(1) 这⾥的R指的是码率;
(2) 若 sigma^2=N0/2,这⾥的N0指的是单边功率谱密度,这⾥的N0/2指的是双边功率谱密度;
4. MATLAB实现代码
n=normrnd(0,sqrt(sigma^2),[1,N])
或
n=sqrt(sigma^2).*randn(1,N)
MATLAB如何⽣成复⾼斯⽩噪声
参考⽹址1:。
高速噪声生成原matlab

高速噪声生成原matlab引言:高速噪声是一种常见的信号处理问题,涉及到许多领域,例如通信、音频处理和图像处理等。
为了研究高速噪声的特性,研究人员经常需要生成具有特定性质的高速噪声。
本文将介绍使用Matlab生成高速噪声的原理和方法。
一、高速噪声的定义高速噪声是指具有连续分布的频谱特性的噪声。
它的特点是在频率范围内具有较大的功率谱密度。
高速噪声可以基于随机过程进行建模,例如高斯白噪声、均匀分布噪声或正弦波噪声等。
生成高速噪声的目的是能够模拟实际场景中的噪声,以便进行相关研究和测试。
二、Matlab生成高速噪声的方法1. 基于随机函数的方法Matlab可以使用randn函数生成服从高斯分布的随机数序列,从而生成高斯白噪声。
通过控制随机数序列的均值和方差,可以得到不同特性的高斯白噪声。
例如,如果希望生成均值为0、方差为1的高斯白噪声,可以使用下面的代码:```matlabnoise = randn(1, N); % 生成N个随机数序列,服从均值为0、方差为1的高斯分布```2. 基于波形生成函数的方法Matlab还提供了一些波形生成函数,例如sawtooth函数、square函数和chirp函数等。
这些函数可以生成具有特定频率和幅度的波形信号。
通过设置这些函数的参数,可以实现生成不同特性的高速噪声。
例如,如果希望生成频率为f、幅度为A的高速噪声,可以使用下面的代码:```matlabt = 0: Ts: T; % 生成时间序列,Ts为采样间隔,T为总时间noise = A * sin(2*pi*f*t); % 生成频率为f、幅度为A的正弦波```三、生成高速噪声的应用1. 通信系统测试在通信系统中,高速噪声常常用于模拟实际通信环境中的噪声。
通过生成具有特定功率谱密度的高速噪声,可以模拟不同信道条件下的传输情况,从而评估通信系统的性能。
2. 音频处理在音频处理领域,高速噪声可以用于测试和评估音频设备的性能。
matlab 高斯噪声频域 -回复

matlab 高斯噪声频域-回复问题:Matlab中的高斯噪声频域是什么?介绍:在数字信号处理中,高斯噪声被广泛用于模拟实际环境中的噪声。
Matlab 提供了强大的信号处理工具箱,使我们能够对信号进行频域分析。
其中,高斯噪声频域分析是一种常见的技术,可以在频域上对高斯噪声进行特征分析和处理。
本文将为您详细介绍如何使用Matlab来生成高斯噪声,并进行频域分析和处理。
步骤一:生成高斯噪声信号在Matlab中,我们可以使用randn函数来生成高斯分布的随机数。
生成的随机数服从具有均值为0和方差为1的标准正态分布。
以下是生成高斯噪声信号的示例代码:matlab设置参数Fs = 1000; 采样频率T = 1/Fs; 采样周期L = 1000; 信号长度t = (0:L-1)*T; 时间向量生成高斯噪声信号x = randn(size(t));在上述代码中,我们首先设置了信号的采样频率、采样周期和信号长度。
然后,使用randn函数生成与时间向量t相同大小的随机数序列。
生成的x即为高斯噪声信号。
步骤二:时域分析对于生成的高斯噪声信号,我们可以通过时域分析来了解其基本特征。
Matlab提供了一系列的信号处理函数,例如plot、histogram等,可以用于时域分析。
以下是一些常见的时域分析方法:1. 绘制信号波形图使用plot函数绘制高斯噪声信号的波形图。
示例代码如下:matlab绘制信号波形图plot(t, x)title('Gaussian White Noise')xlabel('Time (s)')ylabel('Amplitude')上述代码中,我们使用plot函数将时间向量t作为X轴,高斯噪声信号x 作为Y轴,绘制了信号的波形图。
通过波形图,我们可以观察到信号的振幅和变化。
2. 绘制信号的直方图使用histogram函数可以绘制高斯噪声信号的直方图,以分析信号的概率分布情况。
高斯白噪声的matlab实现

通信系统建模与仿真实验一、高斯白噪声的matlab实现要求:样本点:100 1000标准差:0.2 2 10均值:0 0.2白噪声如果噪声的功率谱密度在所有的频率上均为一常数,即P n(f)f(八 f :),(W/HZ)式中:n0为常数,责成该噪声为白噪声,用n(t)表示。
高斯白噪声的matlab实现1样本点为1000、均值为0、标准差为0.2时,高斯白噪声分布为下图所示:程序如下所示:% White backgro und noisclear all f = 1:1:1000;for i = 1:le ngth(f)K = (0.2) * randn(1,1) - 0;P(i) = 10.A(K - 3.95*(10人-5)*慣));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft));plot(ti,realx2)程序如下所示:% White backgro und noisclear all f = 1:1:1000;for i = 1:le ngth(f)K = (2) * randn(1,1) - 0;P(i) = 10.A(K - 3.95*(10A-5)*f(i));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft)); plot(ti,realx2)II ■■H I I I I ■■D n.1 02 03 0.4 0.5 DG 07 D.S D.9程序如下所示:% White backgro und noisclear allf = 1:1:1000;for i = 1:le ngth(f)K = (10) * randn (1,1) - 0;P(i) = 10.A(K - 3.95*(10A-5)*f(i));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft));plot(ti,realx2)程序如下所示:% White backgro und noisclear all f = 1:1:1000;for i = 1:le ngth(f)K = (0.2) * randn(1,1) - 10;P(i) = 10.A(K - 3.95*(10A-5)*f(i));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft)); plot(ti,realx2)程序如下所示:% White backgro und noisclear all f = 1:1:1000;for i = 1:le ngth(f)K = (2) * randn(1,1) - 10;P(i) = 10.A(K - 3.95*(10A-5)*f(i));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft)); plot(ti,realx2)X 1Q13程序如下所示:% White backgro und noisclear allf = 1:1:1000;for i = 1:le ngth(f)K = (10) * randn (1,1) - 10;P(i) = 10.A(K - 3.95*(10A-5)*f(i));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft)); plot(ti,realx2)A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft));plot(ti,realx2)程序如下所示:% White backgro und noisclear all f = 1:1:100;for i = 1:le ngth(f)K = (0.2) * randn(1,1) - 0;P(i) = 10.A (K - 3.95*(10A-5)*f(i));8•样本点为100、均值为0、标准差为2时,高斯白噪声分布为下图所示:程序如下所示:% White backgro und noisclear all f = 1:1:100;for i = 1:le ngth(f)K = (2) * randn(1,1) - 0;P(i) = 10.A(K - 3.95*(10A-5)*f(i));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft));plot(ti,realx2)9. 样本点为100、均值为0、标准差为10时,高斯白噪声分布为下图所示:程序如下所示:% White backgro und noisclear all f = 1:1:100;for i = 1:le ngth(f)K = (10) * randn (1,1) - 0;P(i) = 10.A(K - 3.95*(10A-5)*f(i));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft));plot(ti,realx2)程序如下所示:% White backgro und noisclear all f = 1:1:100;for i = 1:le ngth(f)K = (0.2) * randn(1,1) - 10;P(i) = 10.A(K - 3.95*(10A-5)*f(i));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft)); plot(ti,realx2)程序如下所示:% White backgro und noisclear allf = 1:1:100;for i = 1:le ngth(f)K = (2) * randn(1,1) - 10;P(i) = 10.A(K - 3.95*(10A-5)*f(i));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft)); plot(ti,realx2)A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:le ngth(xifft)-1]/1000;realx2(1:le ngth(xifft)-1) = realx(2:le ngth(xifft));plot(ti,realx2)程序如下所示:% White backgro und noisclear all f = 1:1:100;for i = 1:le ngth(f)K = (10) * randn (1,1) - 10;P(i) = 10.A (K - 3.95*(10A-5)*f(i));。
matlab高斯噪声以及傅里叶变换

matlab高斯噪声以及傅里叶变换高斯噪声是一种常见的随机噪声类型,在信号处理中经常遇到。
它的特点是服从高斯分布,也称为正态分布。
高斯噪声可以用数学模型表示,称为高斯随机变量。
高斯噪声在很多实际应用中都存在,例如通信系统中的信号传输、图像和音频处理等。
在这些应用中,了解和处理高斯噪声非常重要。
傅里叶变换是一种常用的信号处理方法,可以将信号从时域转换到频域,对于处理高斯噪声也非常有用。
首先,我们来了解一下高斯噪声的数学定义和特性。
对于一个服从高斯分布的随机变量,其概率密度函数(PDF)可以用以下公式表示:f(x) = (1 / (σ * sqrt(2π))) * exp(-(x - μ)^2 / (2σ^2))其中,μ是均值,σ是标准差。
高斯噪声的均值通常为0,标准差决定了噪声的强度。
高斯噪声的频谱特性可以通过其自相关函数来描述。
自相关函数是随机过程的重要性质之一,表示信号与其自身在不同时间点上的相关性。
对于高斯噪声,其自相关函数是一个钟形曲线,其峰值处对应于噪声的均值。
傅里叶变换是一种将信号从时域转换到频域的方法。
通过傅里叶变换,我们可以将信号的频谱特性展示出来,从而更好地理解和处理信号。
对于高斯噪声,傅里叶变换可以帮助我们分析和滤波。
在Matlab中,我们可以使用fft函数进行快速傅里叶变换。
该函数接受一个离散时域信号作为输入,并输出相应的频域信号。
具体操作如下:x = randn(1, 1000); %生成1000个服从高斯分布的随机数y = fft(x); %对x进行快速傅里叶变换f = (0:length(y)-1)*(1/length(y)); %计算频率轴figure;plot(f, abs(y)); %绘制频谱图上述代码首先生成了一个包含1000个服从高斯分布的随机数的向量x。
然后,使用fft函数对x进行傅里叶变换,得到频域信号y。
最后,通过绘制f和abs(y)之间的关系,可以得到噪声的频谱图。
matlab高斯白噪声绘制

matlab高斯白噪声绘制一、概念英文名称:white Gaussian noise; WGN定义:均匀分布于给定频带上的高斯噪声;所谓高斯白噪声中的高斯是指概率分布是正态函数,而白噪声是指它的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。
这是考察一个信号的两个不同方面的问题。
高斯白噪声:如果一个噪声,它的幅度服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。
热噪声和散粒噪声是高斯白噪声。
二、matlab举例Matlab有两个函数可以产生高斯白噪声,wgn( )和awgn( )。
1. WGN:产生高斯白噪声y = wgn(m,n,p)y = wgn(m,n,p) %产生一个m行n列的高斯白噪声的矩阵,p以dBW为单位指定输出噪声的强度。
y = wgn(m,n,p,imp)y = wgn(m,n,p,imp) %以欧姆(Ohm)为单位指定负载阻抗。
y = wgn(m,n,p,imp,state)y = wgn(m,n,p,imp,state) %重置RANDN的状态。
2. AWGN:在某一信号中加入高斯白噪声y = awgn(x,SNR)y = awgn(x,SNR) %在信号x中加入高斯白噪声。
信噪比SNR以dB为单位。
x的强度假定为0dBW。
如果x是复数,就加入复噪声。
clear,clc;N=0:1000;fs=1024;t=N./fs;y=3*sin(2*pi*t);x=wgn(1,1001,2);i=y+x;% i=awgn(y,2); subplot(3,1,1),plot(x); subplot(3,1,2),plot(y); subplot(3,1,3),plot(i);。
(word完整版)高斯白噪声的matlab实现

通信系统建模与仿真实验一、高斯白噪声的matlab 实现要求:样本点:100 1000标准差:0.2 2 10均值: 0 0.2白噪声如果噪声的功率谱密度在所有的频率上均为一常数,即)/(),(,)(0Hz W f n f P n +∞<<-∞=式中:0n 为常数,责成该噪声为白噪声,用)(t n 表示。
高斯白噪声的matlab实现1.样本点为1000、均值为0、标准差为0.2时,高斯白噪声分布为下图所示:程序如下所示:% White background noisclear allf = 1:1:1000;for i = 1:length(f)K = (0.2) * randn(1,1) - 0;P(i) = 10.^(K - 3.95*(10^-5)*f(i));A(i) = sqrt(2*P(i));endxifft = ifft(A);realx = real(xifft);ti = [1:length(xifft)-1]/1000;realx2(1:length(xifft)-1) = realx(2:length(xifft));plot(ti,realx2)程序如下所示:% White background noisclear allf = 1:1:1000;for i = 1:length(f)K = (2) * randn(1,1) - 0;P(i) = 10.^(K - 3.95*(10^-5)*f(i));A(i) = sqrt(2*P(i)); endxifft = ifft(A);realx = real(xifft);ti = [1:length(xifft)-1]/1000;realx2(1:length(xifft)-1) = realx(2:length(xifft)); plot(ti,realx2)程序如下所示:% White background noisclear allf = 1:1:1000;for i = 1:length(f)K = (10) * randn(1,1) - 0;P(i) = 10.^(K - 3.95*(10^-5)*f(i));A(i) = sqrt(2*P(i)); endxifft = ifft(A);realx = real(xifft);ti = [1:length(xifft)-1]/1000;realx2(1:length(xifft)-1) = realx(2:length(xifft)); plot(ti,realx2)程序如下所示:% White background noisclear allf = 1:1:1000;for i = 1:length(f)K = (0.2) * randn(1,1) - 10;P(i) = 10.^(K - 3.95*(10^-5)*f(i));A(i) = sqrt(2*P(i)); endxifft = ifft(A);realx = real(xifft);ti = [1:length(xifft)-1]/1000;realx2(1:length(xifft)-1) = realx(2:length(xifft)); plot(ti,realx2)程序如下所示:% White background noisclear allf = 1:1:1000;for i = 1:length(f)K = (2) * randn(1,1) - 10;P(i) = 10.^(K - 3.95*(10^-5)*f(i));A(i) = sqrt(2*P(i)); endxifft = ifft(A);realx = real(xifft);ti = [1:length(xifft)-1]/1000;realx2(1:length(xifft)-1) = realx(2:length(xifft)); plot(ti,realx2)程序如下所示:% White background noisclear allf = 1:1:1000;for i = 1:length(f)K = (10) * randn(1,1) - 10;P(i) = 10.^(K - 3.95*(10^-5)*f(i));A(i) = sqrt(2*P(i)); endxifft = ifft(A);realx = real(xifft);ti = [1:length(xifft)-1]/1000;realx2(1:length(xifft)-1) = realx(2:length(xifft)); plot(ti,realx2)程序如下所示:% White background noisclear allf = 1:1:100;for i = 1:length(f)K = (0.2) * randn(1,1) - 0;P(i) = 10.^(K - 3.95*(10^-5)*f(i));A(i) = sqrt(2*P(i)); endxifft = ifft(A);realx = real(xifft);ti = [1:length(xifft)-1]/1000;realx2(1:length(xifft)-1) = realx(2:length(xifft)); plot(ti,realx2)程序如下所示:% White background noisclear allf = 1:1:100;for i = 1:length(f)K = (2) * randn(1,1) - 0;P(i) = 10.^(K - 3.95*(10^-5)*f(i));A(i) = sqrt(2*P(i)); endxifft = ifft(A);realx = real(xifft);ti = [1:length(xifft)-1]/1000;realx2(1:length(xifft)-1) = realx(2:length(xifft)); plot(ti,realx2)程序如下所示:% White background noisclear allf = 1:1:100;for i = 1:length(f)K = (10) * randn(1,1) - 0;P(i) = 10.^(K - 3.95*(10^-5)*f(i));A(i) = sqrt(2*P(i)); endxifft = ifft(A);realx = real(xifft);ti = [1:length(xifft)-1]/1000;realx2(1:length(xifft)-1) = realx(2:length(xifft)); plot(ti,realx2)程序如下所示:% White background noisclear allf = 1:1:100;for i = 1:length(f)K = (0.2) * randn(1,1) - 10;P(i) = 10.^(K - 3.95*(10^-5)*f(i));A(i) = sqrt(2*P(i)); endxifft = ifft(A);realx = real(xifft);ti = [1:length(xifft)-1]/1000;realx2(1:length(xifft)-1) = realx(2:length(xifft)); plot(ti,realx2)程序如下所示:% White background noisclear allf = 1:1:100;for i = 1:length(f)K = (2) * randn(1,1) - 10;P(i) = 10.^(K - 3.95*(10^-5)*f(i));A(i) = sqrt(2*P(i)); endxifft = ifft(A);realx = real(xifft);ti = [1:length(xifft)-1]/1000;realx2(1:length(xifft)-1) = realx(2:length(xifft)); plot(ti,realx2)程序如下所示:% White background noisclear allf = 1:1:100;for i = 1:length(f)K = (10) * randn(1,1) - 10;P(i) = 10.^(K - 3.95*(10^-5)*f(i));A(i) = sqrt(2*P(i)); endxifft = ifft(A);realx = real(xifft);ti = [1:length(xifft)-1]/1000;realx2(1:length(xifft)-1) = realx(2:length(xifft)); plot(ti,realx2)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
%正态分布(normal distribution)又名高斯分布(Gaussian distribution),
% MATLAB 命令是normrnd。
%1)R=normrnd(MU,SIGMA):生成服从正态分布(MU参数代表均值,DELTA参数代表标准差)的随机数。
% 输入的向量或矩阵MU和SIGMA必须形式相同,输出R也和它们形式相同。
%2)R=normrnd(MU,SIGMA,m):生成服从正态分布(MU参数代表均值,DELTA参数代表标准差)的随机数矩阵,
% 矩阵的形式由m定义。
m是一个1×2向量,其中的两个元素分别代表返回值R中行与列的维数。
%3) R=normrnd(MU,SIGMA,m,n):生成m*n形式的正态分布的随机数矩阵。
%4)randn()是标准正态分布;MA TLAB命令是normrnd 功能:生成服从指定均数和标准差的正态分布的随机数列,
%即高斯随机序列。
例如:
%高斯噪声为n(m)=nmr+jnmi,其中实虚部均为独立同分布N(0, a)的高斯随机数,信号x(m)=s(m) + n(m)
% SNR = 10 lg[1/(2a)] = – 3 – 10 lg(a) (dB) [之所以是2a不是a是因为实虚部]
%若有用信号s(n)的最大幅度am,要求得到的信噪比为p,则p=10log10[(am^2)/b^2],用这个公式反推出高斯
%噪声的方差b^2
snr=10;
sqrt(a)=10^(-(snr+3)/10);
noise=normrnd(0,sqrt(a),1,1000)+1*i*normrnd(0,sqrt(a),1,1000);
%或者
noise=sqrt(a)*randn(1,1000)+1*i*sqrt(a)*randn(1,1000);。