白噪声的产生以及Matlab仿真

合集下载

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(…,POWERTYPE) 指定p的单位。

POWERTYPE可以是'dBW', 'dBm'或'linear'。

线性强度(linear power)以瓦特(Watt)为单位。

y = wgn(…,OUTPUTTYPE) 指定输出类型。

OUTPUTTYPE可以是'real'或'complex'。

2. AWGN:在某一信号中加入高斯白噪声y = awgn(x,SNR) 在信号x中加入高斯白噪声。

信噪比SNR以dB为单位。

x的强度假定为0dBW。

如果x是复数,就加入复噪声。

y = awgn(x,SNR,SIGPOWER) 如果SIGPOWER是数值,则其代表以dBW为单位的信号强度;如果SIGPOWER为'measured',则函数将在加入噪声之前测定信号强度。

y = awgn(x,SNR,SIGPOWER,STATE) 重置RANDN的状态。

y = awgn(…,POWERTYPE) 指定SNR和SIGPOWER的单位。

POWERTYPE可以是'dB'或'linear'。

如果POWERTYPE是'dB',那么SNR以dB为单位,而SIGPOWER以dBW为单位。

matlab 正弦波 高斯白噪声 均匀白噪声 功率谱密度 自相关函数(word文档良心出品)

matlab 正弦波 高斯白噪声 均匀白噪声 功率谱密度 自相关函数(word文档良心出品)

现代通信原理作业一姓名:张英伟学号:133320085208036 班级:13级理工部3班利用matlab完成:●产生正弦波信号、均匀白噪声以及高斯白噪声并分别将两种噪声叠加到正弦波信号上,绘出波形。

●分别求取均匀白噪声序列和高斯白噪声序列的自相关及功率谱密度,绘出波形。

一、白噪声区别及产生方法1、定义:均匀白噪声:噪声的幅度分布服从均匀分布,功率谱密度在整个频域内均匀分布的噪声。

高斯白噪声:噪声的幅度分布服从正态分布,功率谱密度在整个频域内均匀分布的噪声。

2、matlab仿真函数:rand函数默认产生是区间在[0,1]的随机数,这里需要利用公式:z2=a+(b-(a))*rand(m,n)............(公式1)randn函数默认产生均值是0、方差是1的随机序列,所以可以用其来产生均值为0、方差为1的正态分布白噪声,即N(0,12)。

利用公式:z1=a+b*randn(1,n).................(公式2)可以产生均值为a,方差为b2 高斯白噪声,即N(a,b2)。

二、自相关函数与功率谱密度之间的关系1、功率谱密度:每单位频率波携带的功率,这被称为信号的功率谱密度。

2、自相关函数:描述随机信号X(t)在任意两个不同时刻t1,t2的取值之间的相关程度。

3、维纳-辛钦定理:由于平均值不为零的信号不是平方可积的,所以在这种情况下就没有傅里叶变换。

幸运的是维纳-辛钦定理提供了一个简单的替换方法,如果信号可以看作是平稳随机过程,那么功率谱密度就是信号自相关函数的傅里叶变换。

4、平稳随机过程:是在固定时间和位置的概率分布与所有时间和位置的概率分布相同的随机过程。

(就是指得仅一个随机过程,中途没有变成另外一个统计特性的随机过程)二、源代码及仿真结果1、正弦波x=(0:0.01:2); %采样频率100Hzy1=sin(10*pi*x); %产生频率5Hz的sin函数plot(x,y1,'b');2、高斯白噪声+正弦波z1=0.1*randn(1,201); %产生方差N(0,0.12)高斯白噪声(b=0.01/0.1/1)plot(x,z1,'b');y2=y1+z1; %叠加高斯白噪声的正弦波plot(x,y2,'b');3、均匀白噪声+正弦波z2=-.3+.6*rand(1,201); %产生-0.3到0.3的均匀白噪声plot(x,z2,'b');y3=y1+z2; %叠加均匀白噪声的正弦波plot(x,y3,'b');4、高斯白噪声序列自相关函数及功率谱密度z1=0.1*randn(1,201); %产生方差N(0,0.12)高斯白噪声[r1,lags]=xcorr(z1); %自相关函数的估计plot(lags,r1);f1=fft(r1);f2=fftshift(f1); %频谱校正l1=(0:length(f2)-1)*200/length(f2)-100; %功率谱密度x轴y4=abs(f2);plot(l1,y4);5、均匀白噪声序列自相关函数及功率谱密度z2=-.3+.6*rand(1,201); %产生-0.3到0.3的均匀白噪声[r2,lags]=xcorr(z2); %自相关函数的估计plot(lags,r2);f3=fft(r2);f4=fftshift(f3); %频谱校正l2=(0:length(f4)-1)*200/length(f4)-100; %功率谱密度x轴y5=abs(f4);plot(l2,y5);。

matlab 白噪声功率谱

matlab 白噪声功率谱

matlab 白噪声功率谱白噪声是一种具有平坦功率谱密度的信号,即在所有频率上具有相同的能量。

在MATLAB中,我们可以使用一些内置函数来生成白噪声信号的功率谱密度。

首先,我们可以使用`wgn`函数来生成一个特定长度和功率的白噪声信号。

例如,以下代码将生成一个长度为1024的白噪声信号:matlab.fs = 1000; % 采样频率。

T = 1/fs; % 采样间隔。

t = 0:T:1-T; % 时间向量。

x = wgn(length(t), 1, 0); % 生成功率为0的白噪声信号。

接下来,我们可以使用`pwelch`函数来计算白噪声信号的功率谱密度估计。

`pwelch`函数可以对信号进行傅立叶变换,并计算出每个频率点上的功率值。

例如,以下代码将计算白噪声信号的功率谱密度估计:matlab.[pxx, f] = pwelch(x, [], [], [], fs); % 计算白噪声信号的功率谱密度估计。

plot(f, 10log10(pxx)); % 绘制功率谱密度图。

xlabel('Frequency (Hz)'); % x轴标签。

ylabel('Power/Frequency (dB/Hz)'); % y轴标签。

title('Power Spectral Density of White Noise'); % 图标题。

在这段代码中,我们使用`pwelch`函数计算了白噪声信号的功率谱密度估计,并使用`plot`函数绘制了功率谱密度图。

这样我们就可以清晰地看到白噪声在所有频率上具有均匀的功率分布。

除了使用`pwelch`函数,还可以使用`periodogram`函数来计算白噪声信号的功率谱密度估计。

这两种方法都可以用来分析白噪声信号的频谱特性。

总之,MATLAB提供了丰富的函数和工具,可以帮助我们生成白噪声信号并分析其功率谱密度,从而更好地理解和处理白噪声信号的特性。

MATLAB环境下的正弦信号及高斯白噪声仿真程序说明

MATLAB环境下的正弦信号及高斯白噪声仿真程序说明

MATLAB 环境下的正弦信号及高斯白噪声仿真程序说明一、信号的产生及时域观察1、设定正选信号的频率为10HZ ,抽样频率为100HZ ;2、设定N(0,0.25)高斯白噪声,及噪声功率为0.25W ;3、最后将噪声叠加到正弦信号上,观察其三者时域波形。

二、信号频谱及白噪声功率谱的求解与观察1、对原正弦信号直接进行FFT ,得出其频谱;2、求白噪声的自相关函数,随机序列自相关函数的无偏估计公式为:1^01()()()N m xx n r m x n x n m N m --==+-∑ 01m N ≤≤- ^^()()xx xx r m r m =- 01m N <<-对所求自相关函数进行FFT 变换,求的白噪声的功率谱函数。

源程序:1.产生正弦信号fs=100;fc=10;x=(0:1/fs:2);n=201;y1=sin(2*pi*fc*x); %原正弦信号,频率为10a=0;b=0.5; %均值为a ,方差为b^2subplot(2,2,1);plot(x,y1,'r');title('y=sin(20pi*x)');ylabel('y');xlabel('x/20pi');grid;2.产生高斯白噪声y2=a+b*randn(1,n); %高斯白噪声subplot(2,2,2);plot(x,y2,'r');title('N(0,0.25)的高斯白噪声');ylabel('y');xlabel('x/20pi');grid;3.复合信号y=y1+y2; %加入噪声之后的信号subplot(2,2,3);plot(x,y,'r');title('混合信号');ylabel('y');xlabel('x/20pi');grid;4.复合信号功率谱密度%求复合信号的自相关函数m=50;i=-0.49:1/fs:0.49;for j=1:mR(j)=sum(y(1:n-j-1).*y(j:199),2)/(n-j);%无偏自相关函数的估计Rx(49+j)=R(j);Rx(51-j)=R(j);endFy2=fft(Rx); %傅里叶变换得出复合信号功率谱函数Fy21=fftshift(Fy2); %功率谱校正f=(0:98)*fs/99-fs/2;subplot(2,2,4);plot(f,abs(Fy21),'r');axis([-50 50 -0.5 1]);title('复合信号功率谱函数图');ylabel('F(Rx)');xlabel('w');grid;。

白噪声的产生和分析

白噪声的产生和分析

白噪声的产生和分析①理想白噪声均值为零而功率谱密度为非零常数,即()012N S N ωω=-∞<<+∞,的平稳随机过程()N t 称为白噪声。

利用维纳—辛钦公式,不难得到白噪声的自相关函数为()()12j N N R S e d ωττωωπ∞-∞=⎰04j N e d ωτωπ∞-∞=⎰()012N δτ= ②若一个具有零均值的平稳随机过程()X t ,其功率谱密度在某一个有限频率范围内均匀分布,而在此范围外为零,则称这个过程为带限白噪声。

带限白噪声又可分为低通型的和带通型的。

低通型带限白噪声的功率谱密度满足()0, 0,X S WS Wωωω≤⎧=⎨>⎩ 自相关函数为()()12j X XR S e d ωττωωπ∞-∞=⎰012Wj WS e d ωτωπ-=⎰0sin WS W W τπτ=带通型带限白噪声的功率谱密度满足()000,220,X W W S S ωωωω⎧-<<+⎪=⎨⎪⎩其它自相关函数为()()00sin 2cos 2X W WS R W ττωττπ= Matlab 相关函数rand(m,n) 产生m 行n 列的均匀分布 randn(m,n) 产生m 行n 列的高斯分布 [c,lags] =xcorr(x,maxlags,'option') 自相关函数,'option'选择'unbiased'无偏估计,时域区间[-maxlags:maxlags] ,序列长度2*maxlags+1[Pxx,f] = periodogram(x,window,nfft,fs) 功率谱密度,偶数点时,Pxx 长度(nfft/2 + 1),w 范围[0,pi][f,xi] = ksdensity(x) 一维概率密度 fft(X) 傅里叶变换[n,Wn] = buttord(Wp,Ws,Rp,Rs,'s') 巴特沃斯滤波器,Wp 为通带边界频率,Ws 为阻带边界频率,Rp 通带最大衰减,Rs 为阻带最小衰减,n 为阶数,Wn 为归一化频率[z,p,k] = buttap(n) 巴特沃斯模拟低通滤波器模型[h,w] = freqz(hd,n) 离散时域滤波器的频率响应,h、w长度为n,w范围[0,pi] filter(b,a,X) 滤波器[b,a]=ellip(n, Rp, Rs, Wn,'option') 椭圆滤波器实验设计与实现(1)用Matlab编写和仿真程序。

噪声产生器的MATLAB实现及性能分析——噪声带宽为1.7MHz

噪声产生器的MATLAB实现及性能分析——噪声带宽为1.7MHz

课程设计任务书计算机与通信工程学院通信工程专业噪声产生器的MATLAB实现及性能分析——噪声带宽为1.7MHz学生姓名:袁清欣指导老师:曹敦摘要本课程设计的目的主要是仿真噪声产生器, 分析其性能并与同组同学对比。

首先利用MATLAB中的Simulink产生m序列来模拟高斯白噪声,再将其送入一带宽为1.7MHz的带通滤波器,得到带宽为1.7MHz的带限白噪声,示波器上观察该噪声波形。

在本课程设计中采用的是一个4级的m序列模拟高斯白噪声,仿真后得到了1.7MHz的带限白噪声,通过对其性能分析达到设计要求。

关键词噪声产生器;高斯白噪声;MATLAB/Simulink1 引言噪声产生器可以用来测量通信系统在不同信噪比条件下的性能。

而噪声二极管做成的噪声产生器,在测量数字通信系统的性能时不很适用。

因为它在一段观察时间内产生的噪声的统计特性,不一定和同样长的另一段观察时间内的统计特性相同。

测量得到的误码率常常很难重复得到。

本课程设计主要是借助MATLAB中的Simulink为平台,用m序列的一部分频谱作为噪声产生器的噪声输出,产生带限高斯白噪声,进行噪声产生器的仿真。

虽然是伪噪声,但有可重复性。

1.1 课程设计的目的本课程设计的目的主要是仿真噪声产生器。

利用m序列模拟高斯白噪声,调制频率搬移到17MHz后,送入一带宽为1.7MHz的带通滤波器,得到带宽为1.7MHz的带限白噪声,示波器上观察该噪声波形,并观察其频谱,与同组同学比较各种不同带宽噪声的波形和性能。

从而加深对m序列伪噪声特性的理解,增强独立思考与解决问题的能力,为以后的研究和就业带来一定的帮助。

1.2课程设计的要求(1)本设计开发平台为MATLAB中的Simulink。

(2)模型设计应该符合工程实际,模块参数设置必须与原理相符合。

(3)处理结果和分析结论应该一致,而且应符合理论。

(4)独立完成课程设计并按要求编写课程设计报告书。

1.3设计平台本设计开发平台为MATLAB中的Simulink。

通过matlab产生wav的白噪声

通过matlab产生wav的白噪声

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(…,POWERTYPE) 指定p 的单位。

POWERTYPE 可以是’dBW’, ‘dBm’或’linear’。

线性强度(linear power)以瓦特(Watt)为单位。

y = wgn(…,OUTPUTTYPE) 指定输出类型。

OUTPUTTYPE 可以是’real’或’complex’。

2. AWGN:在某一信号中加入高斯白噪声y = awgn(x,SNR) 在信号x 中加入高斯白噪声。

信噪比SNR 以dB 为单位。

x 的强度假定为0dBW。

如果x 是复数,就加入复噪声。

y = awgn(x,SNR,SIGPOWER) 如果SIGPOWER 是数值,则其代表以dBW 为单位的信号强度;如 果SIGPOWER 为’measured’,则函数将在加入噪声之前测定信号强度。

y = awgn(x,SNR,SIGPOWER,STATE) 重置RANDN 的状态。

y = awgn(…,POWERTYPE) 指定SNR 和SIGPOWER 的单位。

POWERTYPE 可以是’dB’或’linear’。

如果POWERTYPE 是’dB’,那么SNR 以dB 为单位,而SIGPOWER 以dBW 为单位。

如果POWERTYPE 是’linear’,那么SNR 作为比值来度量,而SIGPOWER 以瓦特为单位。

matlab 协方差白噪声

matlab 协方差白噪声

matlab 协方差白噪声
在Matlab中,可以使用'randn'函数生成服从高斯白噪声(随机数)的向量,然后使用'cov'函数计算该向量的协方差矩阵。

下面是一个示例代码:
```matlab
N = 1000; % 数据长度
x = randn(N, 1); % 生成服从高斯分布的白噪声
C = cov(x); % 计算x的协方差矩阵
% 显示结果
disp('协方差矩阵:');
disp(C);
```
上述代码首先设置了数据长度N为1000,然后使用'randn'函数生成一个N行1列的服从高斯分布的随机向量x。

接着,使用'cov'函数计算x的协方差矩阵C。

最后,使用'disp'函数显示协方差矩阵C的结果。

注意,由于是随机生成的白噪声,每次运行代码生成的随机数序列和协方差矩阵都会略有不同。

系统建模与辨识 产生白噪声

系统建模与辨识 产生白噪声

实验一、Matlab/Simulink上机练习一、实验内容1、系统辨识信号的产生:U=idinput(N,type,Band,levels,auxvar);2、用simulink产生Noise,Sine,PRBS,用示波器观测波形;3、产生白噪声信号,计算其平均值,方差(和功率谱);4、选一模型对象,求其阶跃响应,然后再用白噪声作输入,计算某系统输出。

二、实验结果1、idinput函数产生系统辨识常用的典型信号。

格式u = idinput(N,'sine',band,levels,sinedata)指定产生信号的类型,可选类型如下%产生高斯随机信号u1=idinput(500,'rgs')stairs(u1)title('高斯随机信号')ylim([-5 5])%产生二值随机信号u2=idinput(500,'rbs')stairs(u2)title('二值随机信号')ylim([-1.5 1.5])%产生二值伪随机信号u3=idinput(500,'prbs') stairs(u3)title('二值伪随机信号') ylim([-1.5 1.5])m=mean(u3)2、3、% 产生白噪声N=100 a=idinput(100,'prbs') stairs(a)title('白噪声N=100') ylim([-1.5 1.5])m1=mean(a)v1=var(a)结果m1 =-0.1200v1 =0.99564、。

实验一-基于MATLAB的白噪声信号u(n)、sinc函数、chirp信号产生实验

实验一-基于MATLAB的白噪声信号u(n)、sinc函数、chirp信号产生实验

实验一基于MATLAB的白噪声信号u(n)、sinc函数、chirp信号产生实验一、实验目的:1.学会使用MATLAB2.通过实验了解MATLAB如何产生各种常用信号3.掌握MATLAB的编程方法二、实验内容:1.用MATLAB编程产生一均匀分布的白噪声信号u(n),画出其波形,并检验其分布情况。

代码:clear;N = 50000;u = rand(1,N);u_mean = mean(u);power_u = var(u);subplot(211);plot(u(1:100));grid on;ylabel('u(n)');xlabel('n');subplot(212);hist(u,100);grid on;ylabel('histogranm of u(n)');运行结果:2.用MATLAB编程产生一均匀分布、均值为零、功率为0.01的白噪声信号u(n),画出其波形。

代码:clear;p = 0.01;N = 50000;u = rand(1,N);u = u - mean(u);a = sqrt(12*p);u1 = u*a;power_u1 = dot(u1,u1)/N;subplot(111);plot(u1(1:200));grid on;ylabel('u(n)');xlabel('n');运行结果:3.用MATLAB编程产生高斯分布的白噪声信号,使功率为p,并观察数据分布的直方图。

代码:p = 0.1;N = 50000;u = rand(1,N);u = u*a;power_u = var(u);subplot(211);plot(u(1:200));grid on;ylabel('u(n)');xlabel('n');subplot(212);hist(u,50);grid on;ylabel('histgram of u(n)');运行结果:4.用MATLAB编程产生一sinc函数,画出其波形。

MATLAB中产生白噪声

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);。

matlab 正弦波 高斯白噪声 均匀白噪声 功率谱密度 自相关函数word文档良心出品

matlab 正弦波 高斯白噪声 均匀白噪声 功率谱密度 自相关函数word文档良心出品

现代通信原理作业一班313级理工部学号:133320085208036 班级:姓名:张英伟完成:利用matlab均匀白噪声以及高斯白噪声并分别将两种噪声叠加到正弦产生正弦波信号、?波信号上,绘出波形。

绘出波分别求取均匀白噪声序列和高斯白噪声序列的自相关及功率谱密度,?形。

一、白噪声区别及产生方法1、定义:均匀白噪声:噪声的幅度分布服从均匀分布,功率谱密度在整个频域内均匀分布的噪声。

高斯白噪声:噪声的幅度分布服从正态分布,功率谱密度在整个频域内均匀分布的噪声。

2、matlab仿真函数:rand函数默认产生是区间在[0,1]的随机数,这里需要利用公式:z2=a+(b-(a))*rand(m,n)............(公式1)randn函数默认产生均值是0、方差是1的随机序列,所以可以用其来产生2)。

利用公式:,1 均值为0、方差为1的正态分布白噪声,即N(0z1=a+b*randn(1,n).................(公式2)2 2)。

,b,方差为可以产生均值为ab 高斯白噪声,即N(a二、自相关函数与功率谱密度之间的关系1、功率谱密度:每单位频率波携带的功率,这被称为信号的功率谱密度。

2、自相关函数:描述随机信号X(t)在任意两个不同时刻t1,t2的取值之间的相关程度。

3、维纳-辛钦定理:由于平均值不为零的信号不是平方可积的,所以在这种情况下就没有傅里叶变换。

幸运的是维纳-辛钦定理提供了一个简单的替换方法,如果信号可以看作是平稳随机过程,那么功率谱密度就是信号自相关函数的傅里叶变换。

4、平稳随机过程:是在固定时间和位置的概率分布与所有时间和位置的概率分布相同的随机过程。

(就是指得仅一个随机过程,中途没有变成另外一个统计特性的随机过程)二、源代码及仿真结果1、正弦波x=(0:0.01:2); %采样频率100Hzy1=sin(10*pi*x); %产生频率5Hz的sin函数plot(x,y1,'b');正弦波2、高斯白噪声+2)()高斯白噪声0.1Nz1=0.1*randn(1,201); %产生方差(0,b=0.01/0.1/1plot(x,z1,'b');叠加高斯白噪声的正弦波%y2=y1+z1;plot(x,y2,'b');正弦波、均匀白噪声3+z2=-.3+.6*rand(1,201); %产生-0.3到0.3的均匀白噪声plot(x,z2,'b');y3=y1+z2; %叠加均匀白噪声的正弦波plot(x,y3,'b');4、高斯白噪声序列自相关函数及功率谱密度z1=0.1*randn(1,201); %产生方差N(0,0.12)高斯白噪声[r1,lags]=xcorr(z1); %自相关函数的估计plot(lags,r1);f1=fft(r1);f2=fftshift(f1); %频谱校正l1=(0:length(f2)-1)*200/length(f2)-100; %功率谱密度x轴y4=abs(f2);plot(l1,y4);5、均匀白噪声序列自相关函数及功率谱密度z2=-.3+.6*rand(1,201); %产生-0.3到0.3的均匀白噪声%自相关函数的估计[r2,lags]=xcorr(z2);plot(lags,r2);f3=fft(r2);f4=fftshift(f3); %频谱校正l2=(0:length(f4)-1)*200/length(f4)-100; %功率谱密度x轴y5=abs(f4);plot(l2,y5);。

MATLAB环境下的正弦信号及高斯白噪声仿真程序说明

MATLAB环境下的正弦信号及高斯白噪声仿真程序说明

姓名:朱奇峰 专业:电子与通信工程方向:数字广播电视技术 学号:103320430109033MATLAB 环境下的正弦信号及高斯白噪声仿真程序说明一、信号的产生及时域观察1、设定正选信号的频率为10HZ ,抽样频率为100HZ ;2、设定N(0,0.25)高斯白噪声,及噪声功率为0.25W ;3、最后将噪声叠加到正弦信号上,观察其三者时域波形。

二、信号频谱及白噪声功率谱的求解与观察1、对原正弦信号直接进行FFT ,得出其频谱;2、求白噪声的自相关函数,随机序列自相关函数的无偏估计公式为:1^01()()()N m xx n r m x n x n m N m --==+-∑ 01m N ≤≤- ^^()()xx xx r m r m =- 01m N <<-对所求自相关函数进行FFT 变换,求的白噪声的功率谱函数。

三、仿真结果:附源程序代码:fs=100;fc=10;x=(0:1/fs:2);n=201;y1=sin(2*pi*fc*x); %原正弦信号,频率为10 a=0;b=0.5; %均值为a,方差为b^2subplot(3,2,1);plot(x,y1,'r');title('y=sin(20pi*x)');ylabel('y');xlabel('x/20pi');grid;y2=a+b*randn(1,n); %高斯白噪声subplot(3,2,2);plot(x,y2,'r');title('N(0,0.25)的高斯白噪声');ylabel('y');xlabel('x/20pi');grid;y=y1+y2; %加入噪声之后的信号subplot(3,2,3);plot(x,y,'r');title('叠加了高斯白噪声的sinx');ylabel('y');xlabel('x/20pi');grid;FY=fft(y); %傅里叶变换得出频谱函数FY1=fftshift(FY); %频谱校正f=(0:200)*fs/n-fs/2;subplot(3,2,4);plot(f,abs(FY1),'r');title('函数频谱图');ylabel('F(jw)');xlabel('w');grid;%求高斯白噪声的自相关函数m=50;i=-0.49:1/fs:0.49;for j=1:mR(j)=sum(y2(1:n-j-1).*y2(j:199),2)/(n-j);%无偏自相关函数的估计Rx(49+j)=R(j);Rx(51-j)=R(j);endsubplot(3,2,5);plot(i,Rx,'r');%plot(leg*1/fs,Rx,'r');title('白噪声自相关函数图');ylabel('Rx');xlabel('x');grid;Fy2=fft(Rx); %傅里叶变换得出白噪声功率谱函数Fy21=fftshift(Fy2); %功率谱校正f=(0:98)*fs/99-fs/2;subplot(3,2,6);plot(f,abs(Fy21),'r');axis([-50 50 -0.5 1]);title('白噪声功率谱函数图');ylabel('F(Rx)');xlabel('w');grid;。

白噪声(matlab)

白噪声(matlab)

均匀分布的白噪声信号u(n),画出其波形,并检验其分布情况%-----------------------------------------------------------------% To test rand.m and to generate the white noise signal u(n)% with uniform distribution% 产生均匀分布的随机白噪信号,并观察数据分布的直方图%-----------------------------------------------------------------clear;N=50000;u=rand(1,N);u_mean=mean(u)power_u=var(u)subplot(211)plot(u(1:100));grid on;ylabel('u(n)')xlabel('n')subplot(212)hist(u,50);grid on;ylabel('histogram of u(n)')思考:如何产生一均匀分布、均值为0,功率为0.01的白噪声信号u(n)提示:u (n )~[a ,b]上均匀分布,E (u )= (a+b)/2, 12/)()(2a b u -=σ% to generate the white noise signal u(n) with uniform distribution% and power p;% 产生均匀分布的白噪信号,使均值为0,功率为p%-----------------------------------------------------------------clear;p=0.01;N=50000;u=rand(1,N);u=u-mean(u);a=sqrt(12*p);u1=u*a;power_u1=dot(u1,u1)/Nsubplot(211)plot(u1(1:200));grid on;ylabel('u(n)')xlabel('n')example2: 产生零均值功率0.1且服从高斯分布的白噪声%-----------------------------------------------------------------% to test randn.m and to generate the white noise signal u(n)% with Gaussian distribution and power p% 产生高斯分布的白噪信号,使功率为p,并观察数据分布的直方图%-----------------------------------------------------------------clear;p=0.1;N=500000;u=randn(1,N);a=sqrt(p)u=u*a;power_u=var(u)subplot(211)plot(u(1:200));grid on;ylabel('u(n)');xlabel('n')subplot(212)hist(u,50);grid on;ylabel('histogram of u(n)');example3: sinc信号%-----------------------------------------------------------------% to generate the sinc function.% 产生一sinc 函数;%-----------------------------------------------------------------clear;n=200;stept=4*pi/n;t=-2*pi:stept:2*pi;y=sinc(t);plot(t,y,t,zeros(size(t)));ylabel('sinc(t)');xlabel('t=-2*pi~2*pi');grid on;example4: chirp信号%-----------------------------------------------------------------% to test chirp.m and to generate the chirp signal x(t)% 产生一chirp 信号;% chirp(T0,F0,T1,F1):% T0: 信号的开始时间;F0:信号在T0时的瞬时频率,单位为Hz;% T1: 信号的结束时间;F1:信号在T1时的瞬时频率,单位为Hz;%-----------------------------------------------------------------clear;t=0:0.001:1;x=chirp(t,0,1,125);plot(t,x);ylabel('x(t)')xlabel('t')%-------------------------------------------------------------------------% to test specgram.m :估计信号谱图(SFFT)%specgram(x,Nfft,Fs,window,Noverlap)%x-信号;Fs抽样频率(2),Nfft做FFT长度(256), window窗函数(Hanning)%Noverlap:估计功率谱时每一段叠合长度(0)%-------------------------------------------------------------------------clear;t=0:0.001:1.024-.001;N=1024;% 得到两个Chirp 信号,并相加;y1=chirp(t,0,1,350);y2=chirp(t,350,1,0);y=y1+y2;subplot(211);plot(t,y1);ylabel(' Chirp signal y1')% 求两个Chirp 信号和的短时傅里叶变换;[S,F,T]=specgram(y,127,1,hanning(127),126);subplot(212);surf(T/1000,F,abs(S).^2)view(-80,30);shading flat;colormap(cool);xlabel('Time')ylabel('Frequency')zlabel('spectrogram')还有diric信号(周期SINC)gauspuls(高斯信号)pulstran(脉冲串信号)tripuls三角波脉冲信号example5:线性卷积%-----------------------------------------------------------------% to test conv.m% 计算两个序列的线性卷积;%-----------------------------------------------------------------clear;N=5;M=6;L=N+M-1;x=[1,2,3,4,5];h=[6,2,3,6,4,2];y=conv(x,h);nx=0:N-1;nh=0:M-1;ny=0:L-1;subplot(231);stem(nx,x,'.k');xlabel('n');ylabel('x(n)');grid on;subplot(232);stem(nh,h,'.k');xlabel('n');ylabel('h(n)');grid on;subplot(233);stem(ny,y,'.k');xlabel('n');ylabel('y(n)');grid on;思考:设信号x(n)由正弦信号加均值为0白噪声所组成,正弦信号幅度为1,白噪声方差为1 SNR = 10LG(PS/PU) = -3dB,试分析信号;%-----------------------------------------------------------------% to test xcorr.m% 求两个序列的互相关函数,或一个序列的自相关函数;%-----------------------------------------------------------------clear;N=500;p1=1;p2=0.1;f=1/8;Mlag=50;u=randn(1,N);n=[0:N-1];s=sin(2*pi*f*n);% 混有高斯白噪的正弦信号的自相关u1=u*sqrt(p1);x1=u1(1:N)+s;rx1=xcorr(x1,Mlag,'biased');subplot(221);plot(x1(1:Mlag));xlabel('n');ylabel('x1(n)');grid on;subplot(223);plot((-Mlag:Mlag),rx1);grid on;xlabel('m');ylabel('rx1(m)');% 高斯白噪功率由原来的p1减少为p2,再观察混合信号的自相关u2=u*sqrt(p2);x2=u2(1:N)+s;rx2=xcorr(x2,Mlag,'biased');subplot(222);plot(x2(1:Mlag));xlabel('n');ylabel('x2(n)');grid on;subplot(224);plot((-Mlag:Mlag),rx2);grid on;xlabel('m');ylabel('rx2(m)');用乘同余法产生(见光盘FLch2bzsheg2.m)①编程如下:A=6; x0=1; M=255; f=2; N=100;%初始化;x0=1; M=255;for k=1: N %乘同余法递推100次;x2=A*x0; %分别用x2和x0表示x i+1和x i-1;x1=mod (x2,M); %取x2存储器的数除以M的余数放x1(x i)中;v1=x1/256; %将x1存储器中的数除以256得到小于1的随机数放v1中;)减去0.5再乘以存储器f中的系数,存放在v(:,k)=(v1-0.5 )*f; %将v1中的数(i矩阵存储器v的第k列中,v(:,k)表示行不变、列随递推循环次数变化;x0=x1; % x i-1= x i;v0=v1;end %递推100次结束;v2=v %该语句后无‘;’,实现矩阵存储器v中随机数放在v2中,且可直接显示在MATLAB的window中;k1=k;%grapher %以下是绘图程序;k=1:k1;plot(k,v,k,v,'r');xlabel('k'), ylabel('v');tktle(' (-1,+1)均匀分布的白噪声')②程序运行结果如图2.6所示。

高斯脉冲噪声 和高斯白噪声 matlab

高斯脉冲噪声 和高斯白噪声 matlab

高斯脉冲噪声和高斯白噪声是数字信号处理中常见的信号模型,它们在通信领域、图像处理领域以及其他多个领域都有着重要的应用。

而在MATLAB中,我们可以利用各种工具和函数来模拟和处理这两种噪声信号。

本文将就高斯脉冲噪声和高斯白噪声的特点、模拟方法和在MATLAB中的实现进行介绍和分析。

一、高斯脉冲噪声的特点1. 高斯脉冲噪声的产生高斯脉冲噪声是一种脉冲干扰的随机信号,在通信系统中常常会遇到。

它的产生过程可以通过高斯分布来描述,即每个脉冲的幅值服从高斯分布。

2. 高斯脉冲噪声的特点高斯脉冲噪声的特点在于其具有随机性和突发性,幅度分布服从高斯分布,且脉冲出现的位置和幅值都是随机的。

这使得高斯脉冲噪声在一定程度上对系统的性能产生影响,因此需要对其进行模拟和分析。

二、高斯脉冲噪声的模拟方法在MATLAB中,可以利用randn函数生成高斯分布的随机数序列,然后可以根据需要进行幅度调制和脉冲出现的位置的控制,从而生成高斯脉冲噪声信号。

以下是MATLAB代码示例:```matlab生成高斯脉冲噪声信号N = 1000; 信号长度mu = 0; 均值sigma = 1; 标准差noise = mu + sigma * randn(1, N); 产生高斯分布随机数序列```以上代码使用了randn函数生成了长度为N的高斯分布随机数序列,并通过设置均值和标准差来控制噪声信号的特点。

三、高斯脉冲噪声的处理与分析在实际系统中,需要对高斯脉冲噪声进行处理和分析,以评估系统的性能和稳定性。

MATLAB提供了丰富的信号处理工具和函数,能够方便地进行信号的滤波、频谱分析等操作。

在处理高斯脉冲噪声时,可以利用MATLAB中的滤波函数对噪声信号进行去噪,比如利用高斯滤波器进行平滑处理。

另外,还可以通过频谱分析函数对噪声信号进行频域特性的分析,以了解其频谱分布和功率谱密度等特性。

四、高斯白噪声的特点1. 高斯白噪声的产生高斯白噪声是一种具有均匀频谱分布的随机信号,其幅度也服从高斯分布。

用matlab仿真余弦信号与白噪声

用matlab仿真余弦信号与白噪声

(3)功率谱密度仿真方法:自相关函数法,又称间接法, 随机信号 x(n)的相关函数是在时间域内描述随机过程的重要特征。

自相关函数是随机信号在不同时刻的值之间的依赖性的量度,是一个很有用的统计平均量。

在随机信号处理中,自相关函数可以用来检测淹没在随机噪声干扰中的信号,随机信号的自功率谱等于它的自相关函数的傅里叶变换。

因此,通过自相关估计可求得信号的功率谱。

利用计算机计算自相关估值有两种方法。

一种是直接方法,先计算出随机信号和它的滞后序列的乘积,再取其平均值即得相关函数的估计值。

另一种是间接方法,先用快速变换算法计算随机序列的功率谱密度,再作反变换计算出相关函数。

本题则采用自相关函数法。

()(),||1Mjw jwm N m M S e R m e M N -=-=<=-∑这个实验是对白噪声与带限白噪声进行对比,其中带限白噪声 的产生是由于白噪声通过滤波器产生的,而本实验采用的是IIR 滤波器。

IIR 滤波器有如下特点:单位冲击响应h(n)是无限长的。

系统函数H (z )在有限Z 平面(1<|z|<∞)上有极点存在。

结构上存在着输出到输入的反馈,也就是结构递归型的。

因果稳定的IIR 滤波器全波极点一定在单位圆内。

一个IIR 滤波器的有理系统函数为:01()()/(1)()/()M Nk k k k k k H z b za z Y z X z --===-=∑∑clear all;randn('state',0)NFFT=1024; %采样点数Fs=1000; %取样频率(单位为Hz ) t=0:1/Fs:.2;y1=cos(t*20*pi); %余弦序列 figure(1)plot(t,y1);ylabel('余弦序列');grid on;%余弦序列的图像:%白噪声m=(0:NFFT-1)/Fs;y=0.1*randn(size(m)); %产生高斯白噪声。

Matlab高级教程_第四篇:白噪声的MATALB生成方式

Matlab高级教程_第四篇:白噪声的MATALB生成方式

Matlab⾼级教程_第四篇:⽩噪声的MATALB⽣成⽅式
1. ⽩噪声主要是⾼斯⽩噪声。

2. 为什么是⾼斯⽩噪声?
⾼斯⽩噪声:1)这个噪声它是⼀个随机信号。

2)“⽩”是指其功率谱的常数,这样他的⾃相关函数是狄拉克函数(冲激函数),由于它的⾃相关函数是冲激函数,这说明信号只与它⾃⼰相关,它的时延信号就相关,也可以形象地说这种信号是“翻脸不认⼈”;功率谱是常数,⼈们形象的⽤⽩⾊光包含七彩光来⽐喻,这种频谱⼜称为“⽩谱”。

3)“⾼斯”是指这个噪声信号的信号波形中幅度⼤⼩的分布满⾜⾼斯分布。

另外⾼斯分布的熵最⼤。

clear;clc;
temp = []
temptemp = []
%--------------------------------
for i = 1:length(temp)
y=randn(500,1)
y=y/std(y)
y=y-mean(y)
a=0
b=sqrt(3)
t1 = temp(i) + b*y
t2 = temp(i) - b*y
temptemp(i,1) = ( max(t1) )
temptemp(i,2) = ( min(t2) )
clear y a b t1 t2
end。

matlab-正弦波-高斯白噪声-均匀白噪声-功率谱密度-自相关函数

matlab-正弦波-高斯白噪声-均匀白噪声-功率谱密度-自相关函数

现代通信原理作业一利用matlab完成:●产生正弦波信号、均匀白噪声以及高斯白噪声并分别将两种噪声叠加到正弦波信号上,绘出波形。

●分别求取均匀白噪声序列和高斯白噪声序列的自相关及功率谱密度,绘出波形。

一、白噪声区别及产生方法1、定义:均匀白噪声:噪声的幅度分布服从均匀分布,功率谱密度在整个频域内均匀分布的噪声。

高斯白噪声:噪声的幅度分布服从正态分布,功率谱密度在整个频域内均匀分布的噪声。

2、matlab仿真函数:rand函数默认产生是区间在[0,1]的随机数,这里需要利用公式:z2=a+(b-(a))*rand(m,n)............(公式1)randn函数默认产生均值是0、方差是1的随机序列,所以可以用其来产生均值为0、方差为1的正态分布白噪声,即N(0,12)。

利用公式:z1=a+b*randn(1,n).................(公式2)可以产生均值为a,方差为b2 高斯白噪声,即N(a,b2)。

二、自相关函数与功率谱密度之间的关系1、功率谱密度:每单位频率波携带的功率,这被称为信号的功率谱密度。

2、自相关函数:描述随机信号X(t)在任意两个不同时刻t1,t2的取值之间的相关程度。

3、维纳-辛钦定理:由于平均值不为零的信号不是平方可积的,所以在这种情况下就没有傅里叶变换。

幸运的是维纳-辛钦定理提供了一个简单的替换方法,如果信号可以看作是平稳随机过程,那么功率谱密度就是信号自相关函数的傅里叶变换。

4、平稳随机过程:是在固定时间和位置的概率分布与所有时间和位置的概率分布相同的随机过程。

(就是指得仅一个随机过程,中途没有变成另外一个统计特性的随机过程)二、源代码及仿真结果1、正弦波x=(0:0.01:2); %采样频率100Hzy1=sin(10*pi*x); %产生频率5Hz的sin函数plot(x,y1,'b');2、高斯白噪声+正弦波z1=0.1*randn(1,201); %产生方差N(0,0.12)高斯白噪声(b=0.01/0.1/1)plot(x,z1,'b');y2=y1+z1; %叠加高斯白噪声的正弦波plot(x,y2,'b');3、均匀白噪声+正弦波z2=-.3+.6*rand(1,201); %产生-0.3到0.3的均匀白噪声plot(x,z2,'b');y3=y1+z2; %叠加均匀白噪声的正弦波plot(x,y3,'b');4、高斯白噪声序列自相关函数及功率谱密度z1=0.1*randn(1,201); %产生方差N(0,0.12)高斯白噪声[r1,lags]=xcorr(z1); %自相关函数的估计plot(lags,r1);f1=fft(r1);f2=fftshift(f1); %频谱校正l1=(0:length(f2)-1)*200/length(f2)-100; %功率谱密度x轴y4=abs(f2);plot(l1,y4);5、均匀白噪声序列自相关函数及功率谱密度z2=-.3+.6*rand(1,201); %产生-0.3到0.3的均匀白噪声[r2,lags]=xcorr(z2); %自相关函数的估计plot(lags,r2);f3=fft(r2);f4=fftshift(f3); %频谱校正l2=(0:length(f4)-1)*200/length(f4)-100; %功率谱密度x轴y5=abs(f4);plot(l2,y5);。

高斯白噪声 matlab

高斯白噪声 matlab

高斯白噪声matlab如何在MATLAB中生成高斯白噪声(Gaussian White Noise)引言:在信号处理和统计学中,高斯白噪声是一种常见且重要的随机信号。

它具有特定的统计性质,并被广泛应用于许多领域,如通信、图像处理、声音分析等。

在本文中,我们将通过MATLAB编程语言来学习如何生成高斯白噪声信号,并讨论它的基本特征。

第一步:了解高斯白噪声的定义和统计特性高斯白噪声是一种具有以下特性的随机信号:1. 具有高斯分布的概率密度函数(PDF)。

2. 平稳的时域特性,即均值为零且自协方差矩阵不变。

3. 频谱平坦,也就是在所有频率上具有相等的功率密度。

第二步:使用MATLAB生成高斯分布的随机数序列MATLAB提供了许多生成随机数的函数,其中包括生成高斯分布的函数。

我们可以使用randn函数(randn命令)生成高斯分布的随机数序列。

例如,我们可以使用以下语句生成一个长度为N的高斯分布的随机数序列:matlabN = 1000; 设置序列长度mu = 0; 均值sigma = 1; 标准差x = mu + sigma * randn(1, N);这将生成一个长度为N的随机数序列x,它的均值为mu,标准差为sigma。

第三步:生成高斯白噪声信号在MATLAB中,我们可以通过生成高斯分布的随机数序列并进行适当的处理来生成高斯白噪声信号。

生成的随机数序列可以被认为是高斯白噪声信号的一个样本。

我们可以通过对随机数序列进行归一化处理,使其均值为零:matlabx = x - mean(x);接下来,我们可以计算序列的自协方差矩阵,并将其设置为单位矩阵(由于高斯白噪声信号的平稳性质):matlabRxx = xcorr(x, 'biased');Rxx = toeplitz(Rxx(N:2*N-1));Rxx是序列x的自协方差矩阵,xcorr函数用于计算序列的自相关函数。

toeplitz函数则将自相关函数转换为自协方差矩阵。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、白噪声和有色噪声定义
1.白噪声(white noise)
系统辨识中所用到的数据通常都是含有噪声的。

从工程实际出发,这种噪声往往可以视为具有有理谱密度的平稳随机过程。

白噪声是一种最简单的随机过程,是有一系列不相关的随机变量组成的理想化随机过程。

其自相关函数为dirac函数。

2.有色噪声(colored noise)
理想的白噪声只是一种理论上的抽象,在物理上是很难实现的,现实中并不存在这样的噪声。

因而,工程实际中测量数据所包含的噪声往往是有色造势。

所谓有色噪声(或相关噪声)是指序列中没一时刻的噪声相关。

有色噪声可以看成是由白噪声序列驱动的线性环节的输出。

二、白噪声与有色噪声区别
(1)其实由定义可以看出,白噪声不同时刻是不相关的,自相关函数为脉冲函数;有色噪声则是相关的。

(2)实际测试可以通过测试功率谱来区别,白噪声的功率谱在各频率的值都比较平均,有色噪声则会有较为明显的峰值。

白噪声
功率谱。

相关文档
最新文档