白噪声的测试MATLAB程序

合集下载

matlab白噪声代码

matlab白噪声代码

matlab白噪声代码
白噪声是一种具有均匀能量分布的随机信号,其频率分布在所有频率上都是相等的。

在 Matlab 中,可以通过以下代码生成白噪声信号:
```matlab
Fs = 1000; % 采样率
t = 0:1/Fs:1-1/Fs; % 时间向量
N = length(t); % 信号长度
x = randn(1,N); % 产生随机信号
```
上述代码中,Fs 为采样率,t 为时间向量,N 为信号长度,x 为随机信号。

使用 randn 函数可以产生均值为 0、方差为 1 的高斯白噪声信号。

如果需要产生其它均值和方差的白噪声信号,可以通过以下代码实现:
```matlab
mu = 2; % 均值
sigma = 0.5; % 方差
x = mu + sigma*randn(1,N); % 产生随机信号
```
上述代码中,mu 和 sigma 分别为均值和方差,使用 mu + sigma*randn 函数可以产生均值为 mu、方差为 sigma 的高斯白噪声信号。

(三十三)MATLAB如何生成实高斯白噪声、复高斯白噪声

(三十三)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摘要:1.高斯白噪声的定义和特性2.MATLAB 中生成高斯白噪声的方法3.高斯白噪声在各个领域的应用正文:1.高斯白噪声的定义和特性高斯白噪声(Gaussian White Noise)是一种在各个频率上具有相同能量分布的随机信号,它是信号处理领域中常见的一种噪声模型。

高斯白噪声具有以下特性:- 它的概率密度函数服从正态分布(高斯分布),即均值为0,方差为常数σ的正态分布。

- 在各个频率上的能量分布是均匀的,即具有平坦的功率谱。

- 高斯白噪声是各态历经(ergodic)的,这意味着在一个长时间内,信号的任何一段样本都是可能出现的。

2.MATLAB 中生成高斯白噪声的方法在MATLAB 中,可以使用内置函数`wgn`来生成高斯白噪声。

以下是一个简单的示例:```matlab% 指定信号的长度= 1000;% 生成高斯白噪声oise = wgn(n, 1);% 显示噪声信号figure;plot(noise);title("高斯白噪声示例");```其中,`wgn`函数的第一个参数`n`表示信号的长度,第二个参数`1`表示信号的均值为1。

需要注意的是,`wgn`函数生成的高斯白噪声是在均值为0,标准差为1 的条件下生成的,因此在实际应用中,可能需要根据需要对信号进行缩放。

3.高斯白噪声在各个领域的应用高斯白噪声在许多领域都有广泛的应用,包括通信、信号处理、图像处理等。

例如,在通信系统中,高斯白噪声常常被用作信道噪声的模型,以研究信道对信号传输性能的影响;在图像处理中,高斯白噪声可以作为随机噪声加入到图像中,以生成具有自然随机纹理的效果。

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

高斯白噪声的matlab实现

高斯白噪声的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中rand、randn、randi、rands的区别以及用randn生成白噪声的示例

Matlab中rand、randn、randi、rands的区别以及用randn生成白噪声的示例

Matlab中rand、randn、randi、rands的区别以及⽤randn⽣成⽩噪声的⽰例2020-05-30 20:42:05Matlab中⽣成随机数的函数有多个:rand、randn、randi、rands,其简要说明和区别如下:rand(m,n) :在 ( 0~1 ) 内⽣成m⾏n列均匀分布的伪随机数矩阵;randn (m,n) :⽣成m⾏n列标准正态分布 ( 均值为0,⽅差为1 ) 的伪随机数矩阵;rands(m,n) :在 ( -1~1 ) 内⽣成m⾏n列均匀分布的伪随机数;randi( [min,max] , m , n) :在 [min,max] 内⽣成m⾏n列的均匀分布的随机整数矩阵;下⾯重点讨论randn函数:randn⽤法详细说明:x = randn——返回⼀个伪随机数x,其值来⾃于均值为0,标准差为1的正态分布;x = randn(n)——返回⼀个n x n的矩阵,其元素值来⾃于均值为0,标准差为1的正态分布;x = rand( m ,n ) 或 x = x = rand( [m ,n] ),——返回⼀个 m x n的矩阵,其元素值来⾃于均值为0,标准差为1的正态分布。

在⾳频算法测试中,常常要⽤到⽩噪声(例如给纯净⾳频叠加⽩噪声等),由于⽩噪声的定义和特性:⽩噪声⼀种功率谱密度为常数的随机信号,换⾔之,⽩噪声在各个频段上的功率相等(若不满⾜以上条件,则不是⽩噪声,⽽被称为“有⾊噪声”),因此,由于⽩噪声的功率谱是正态分布的,所以要⽤randn来⽣成⽩噪声,Matlab中⽣成幅值为0~1的⽩噪声的代码如下:1 noise_white=randn(1,wav_len); % ⽣成长度为wav_len的⽩噪声,满⾜正态分布;2 noise_white=noise_white/max(abs(noise_white)); % ⽩噪声信号幅度归⼀化,此处⽩噪声幅值范围:0~1;。

白噪声(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所示。

(1)MATLAB中白噪声的WGN和AWGN函数的使用

(1)MATLAB中白噪声的WGN和AWGN函数的使用

(1)MATLAB中白噪声的WGN和AWGN函数的使用MATLAB中白噪声的WGN和AWGN函数的使用如下: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为单位。

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

白噪声的测试MATLAB程序学术篇 2009-11-13 22:18:03 阅读232 评论0 字号:大中小订阅clear; clc;%生成各种分布的随机数x1=unifrnd(-1,1,1,1024);%生成长度为1024的均匀分布x2=normrnd(0,1,1,1024);%生成长度为1024的正态分布x3=exprnd(1,1,1024);%生成长度为1024的指数分布均值为零x4=raylrnd(1,1,1024);%生成长度为1024的瑞利分布x5=chi2rnd(1,1,1024);%生成长度为1024的kaifang分布%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%求各种分布的均值m1=mean(x1),m2=mean(x2),m3=mean(x3),m4=mean(x4),m5=mean(x5) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%求各种分布的方差v1=var(x1),v2=var(x2),v3=var(x3),v4=var(x4),v5=var(x5) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%求各种分布的自相关函数figure(1);title('自相关函数图');cor1=xcorr(x1);cor2=xcorr(x2);cor3=xcorr(x3);cor4=xcorr(x4);cor5=xcorr(x5); subplot(3,2,1),plot(1:2047,cor1);title('均匀分布自相关函数图');subplot(3,2,2),plot(1:2047,cor2);title('正态分布');subplot(3,2,3),plot(1:2047,cor3);title('指数分布');subplot(3,2,4),plot(1:2047,cor4);title('瑞利分布');subplot(3,2,5),plot(1:2047,cor5);title('K方分布'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %求各种分布的概率密度函数y1=unifpdf(x1,-1,1);y2=normpdf(x2,0,1);y3=exppdf(x3,1);y4=raylpdf(x4,1);y5=chi2pdf(x5,1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %各种分布的频数直方图figure(2);subplot(3,2,1),hist(x1);title('均匀分布频数直方图');subplot(3,2,2),hist(x2,[-4:0.1:4]);title('正态分布');subplot(3,2,3),hist(x3,[0:.1:20]);title('指数分布');subplot(3,2,4),hist(x4,[0:0.1:4]);title('瑞利分布');subplot(3,2,5),hist(x5,[0:0.1:10]);title('K方分布'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%各种分布的概率密度估计figure(3);[k1,n1]=ksdensity(x1);[k2,n2]=ksdensity(x2);[k3,n3]=ksdensity(x3);[k4,n4]=ksdensity(x4);[k5,n5]=ksden sity(x5);subplot(3,2,1),plot(n1,k1);title('均匀分布概率密度');subplot(3,2,2),plot(n2,k2);title('正态分布');subplot(3,2,3),plot(n3,k3);title('指数分布');subplot(3,2,4),plot(n4,k4);title('瑞利分布');subplot(3,2,5),plot(n5,k5);title('K方分布'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%功率谱密度%plot(abs(fft(cor2,2^18)));plot(fft(cor2,2^18));plot(fft(cor3,2^18));plot(fft(c or4,2^18));plot(fft(cor5,2^18));figure(4);f1=fft(x1,1024);f2=fft(x2,1024);f3=fft(x3,1024);f4=fft(x4,1024);f5=fft(x5,1024);p1=f1.*conj(f1)/1024; p2=f2.*conj(f2)/1024; p3=f3.*conj(f3)/1024; p4=f4 .*conj(f4)/1024; p5=f5.*conj(f5)/1024;f=1000*(0:511)/1024;subplot(3,2,1),plot(f,log10(p1(1:512)));title('均匀分布功率谱密度');%axis([0 511 0 10]);subplot(3,2,2),plot(f,log10(p2(1:512)));title('正态分布');%axis([0 511 0 10]); subplot(3,2,3),plot(f,log10(p3(1:512)));title('指数分布');%axis([0 511 0 10]); subplot(3,2,4),plot(f,log10(p4(1:512)));title('瑞利分布');%axis([0 511 0 10]); subplot(3,2,5),plot(f,log10(p5(1:512)));title('K方分布');%axis([0 511 0 10]); %时域,频域特性曲线%时域特性曲线:figure(5);subplot(3,2,1),plot(1:1024,x1);title('均匀分布时域特性曲线');subplot(3,2,2),plot(1:1024,x2);title('正态分布');subplot(3,2,3),plot(1:1024,x3);title('指数分布');subplot(3,2,4),plot(1:1024,x4);title('瑞利分布');subplot(3,2,5),plot(1:1024,x5);title('K方分布');%幅频特性曲线%%%%%%%%%%%%%%%figure(6);subplot(3,2,1),plot(abs(f1)),axis([0 1023 0 50]);title('均匀分布幅频特性'); subplot(3,2,2),plot(abs(f2));title('正态分布');subplot(3,2,3),plot(abs(f3)),axis([0 1023 0 200]);title('指数分布');subplot(3,2,4),plot(abs(f4)),axis([0 1023 0 50]);title('瑞利分布');subplot(3,2,5),plot(abs(f5)),axis([0 1023 0 100]);title('K方分布');%相频特性曲线%%%%%%%%%%%%%%%figure(7);subplot(3,2,1),plot(angle(f1));title('均匀分布相频特性');subplot(3,2,2),plot(angle(f2));title('正态分布');subplot(3,2,3),plot(angle(f3));title('指数分布');subplot(3,2,4),plot(angle(f4));title('瑞利分布');subplot(3,2,5),plot(angle(f5));title('K方分布'); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%随机数长度为10240时figure(8);x11=unifrnd(-1,1,1,10240);%生成长度为10240的均匀分布x22=normrnd(0,1,1,10240);%生成长度为10240的正态分布x33=exprnd(1,1,10240);%生成长度为10240的指数分布x44=raylrnd(1,1,10240);%生成长度为10240的瑞利分布x55=chi2rnd(1,1,10240);%生成长度为10240的kaifang分布f11=fft(x11,10240);f22=fft(x22,10240);f33=fft(x33,10240);f44=fft(x44,10240);f55=fft(x55,10240);p11=f11.*conj(f11)/10240; p22=f22.*conj(f22)/10240; p33=f33.*conj(f33)/1024 0; p44=f44.*conj(f44)/10240; p55=f55.*conj(f55)/10240;ff=10000*(0:5119)/10240;subplot(3,2,1),plot(ff,log10(p11(1:5120))),title('均匀分布功率谱密度'); subplot(3,2,2),plot(ff,log10(p22(1:5120))),title('正态分布');subplot(3,2,3),plot(ff,log10(p33(1:5120))),title('指数分布');subplot(3,2,4),plot(ff,log10(p44(1:5120))),title('瑞利分布');subplot(3,2,5),plot(ff,log10(p55(1:5120))),title('K方分布');figure;cor11=xcorr(x11);cor22=xcorr(x22);cor33=xcorr(x33);cor44=xcorr(x44);cor55=xcorr (x55);subplot(3,2,1),plot(cor11);title('均匀分布自相关函数图');subplot(3,2,2),plot(cor22);title('正态分布');subplot(3,2,3),plot(cor33);title('指数分布');subplot(3,2,4),plot(cor44);title('瑞利分布');subplot(3,2,5),plot(cor55);title('K方分布');%vp1=var(p1),vp11=var(p11),vp2=var(p2),vp22=var(p22),vp3=var(p3),vp33=var(p33), vp4=var(p4),vp44=var(p44),vp5=var(p5),vp55=var(p55)%判断是否是高斯分布%%%%%%%%%%%%%%%%%%%%%%%%%%s=zeros(1,1024);for i=0:4z=unifrnd(0,1,1,1024);s=s+z;ends1=zeros(1,1024);for j=0:4z1=exprnd(3,1,1024);s1=s1+z1;endfigure;[j1,l1]=ksdensity(s);[j2,l2]=ksdensity(s1);subplot(2,2,1),hist(s);title('均匀分布叠加');subplot(2,2,2),plot(l1,j1);title('均匀分布叠加'); subplot(2,2,3),hist(s1);title('指数分布叠加');subplot(2,2,4),plot(l2,j2);title('指数分布叠加'); figure;subplot(1,2,1),normplot(s);title('均匀分布正态检验'); subplot(1,2,2),normplot(s1);title('指数分布正态检验'); %参数估计[muhat,sigmahat,muci,sigmaci]=normfit(s);[muhat1,sigmahat1,muci1,sigmaci1]=normfit(s1);%假设检验[h,sig,ci]=ttest(s,muhat)[h1,sig1,ci1]=ttest(s1,muhat1)。

相关文档
最新文档