白噪声和高斯白噪声

news/2024/10/26 2:37:48/

1.白噪声

什么是白噪声

对于时间序列{wt} 若满足下面三个条件,该序列为一个离散的白噪声(white noise):

  1. 每个时间点均值为0:E(wt)=0
  2. 每个时间点方差为σ2Var(wt)=σ2
  3. 对于任意k≥1,自相关系ρk=0Cov(wt,wt+1)=0

使用matlab产生白噪声

fs=10000;                       %采样频率
Ns=10000;                       %采样点数
t=0:1/fs:Ns/fs;
s3=rand(1, Ns+1);%生成一个白噪声数组

图 1‑1白噪声信号

nfft=length(s3);
cxn=xcorr(s3,'unbiased');                  % 计算序列的自相关函数
CXk=fft(cxn,nfft);
Pxx=abs(CXk);
index=0:round(nfft/2-1);
k=index*fs/nfft;
%plot_Pxx=10*log10(Pxx(index+1)); 
plot_Pxx=(Pxx(index+1)); 

 先进行自相关求解,然后进行fft,就能得到功率谱。

 图 1‑2白噪声信号功率谱

histogram(s3,25) %直方图

图 1‑3白噪声信号直方图

 2.高斯白噪声

什么是高斯噪声

高斯白噪声(white Gaussian noise; WGN):均匀分布于给定频带上的高斯噪声

  1. 如果一个噪声,它的幅度服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。
  2. 高斯白噪声中的高斯是指:概率分布是正态函数,而白噪声是指:它的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。这是考察一个信号的两个不同方面的问题。
  3. 热噪声和散粒噪声是高斯白噪声。

 使用matlab产生白噪声

s3=randn(1, Ns+1);%生成一个高斯白噪声数组

方法与白噪声同理,产生高斯白噪声使用randn函数。

图 2‑1高斯白噪声信号

 图 2‑2高斯白噪声信号功率谱

 高斯白噪声直方图

图 2‑3高斯白噪声信号直方图

 matlab滤波器使用

 

图 3‑1正弦信号和噪声信号

图 1‑4 红色信号为频率为5Hz的正弦波信号幅值为10,绿色正弦波信号幅值为1,频率为1KHz的信号,黑色信号为白噪声信号。

图 3‑2信号进行相加得到的结果

图 1‑5 为上面三个信号相加得到的结果,1KHz正弦波和白噪声为噪声信号,下面使用FIR滤波器将噪声滤掉。

图 3‑3使用FIR滤波器设计

图 1‑6 使用了matlab中的滤波器设计模块进行设计,设计的采样频率为10K,截至频率为10HZ,阶数为100,得到了上图的结果,最后将它生成为代码,进行程序的编写。

 

 图 3‑4滤波前傅里叶变换

图 3-4可以看出,改信号中包含了10Hz、1KHz以及白噪声的幅值谱。

图 3‑5滤波后信号

图 3-5 可以看出通过滤波器后得到了一个较好的正弦波信号。

 

 

图 3‑6滤波后傅里叶变换

图 3-6 可以明显的看出幅值谱已经没有了频率为1K的成分,已经为滤波器滤掉。

clear;
close all;
clc;
f1=10;f2=300;     %原始信号频率
fs=10000;                       %采样频率
Ns=10000;                       %采样点数
t=0:1/fs:Ns/fs;
s1=10*sin(2*pi*f1*t);
s2=sin(2*pi*f2*t);
s3=randn(1, Ns+1);%生成一个白噪声数组
nfft=length(s3);
cxn=xcorr(s3,'unbiased');                  % 计算序列的自相关函数
CXk=fft(cxn,nfft);
Pxx=abs(CXk);
index=0:round(nfft/2-1);
k=index*fs/nfft;
%plot_Pxx=10*log10(Pxx(index+1)); 
plot_Pxx=(Pxx(index+1)); 
figure(1);
subplot(211)
plot(t,s1,'r',t,s2,'g',t,s3,'k');
xlim([0 5000/fs])
title('正弦信号');xlabel('t/s');
y=s1+s2+s3;
set(gcf,'color','w');
subplot(212)
plot(t,y);
title('原始信号');xlabel('t/s');
set(gcf,'color','w');
N=4096;
f=(0:N-1)*fs/N;
yy=abs(fft(y,N)*2/N);
figure(2);
subplot(311)
plot(f(1:N/2),yy(1:N/2));
title('原始信号的FFT');xlabel('f/Hz');
xlim([0 1500]);
h=myfilter;
ylp=filter(h,y);
subplot(312)
plot(t,ylp);
xlim([0.2 0.8]);
title('低通滤波之后的信号')
xlabel('t/s');
yyy=abs(fft(ylp,N)*2/N);
subplot(313)
plot(f(1:N/2),yyy(1:N/2));
xlabel('f/Hz');
title('低通滤波之后的信号频谱');
xlim([0 1500]);
figure(3);
subplot(311)
plot(t,s3);
xlim([0 500/fs])
title('噪声信号');xlabel('t/s');
subplot(312);plot(k,plot_Pxx);title('间接法原始噪声信号的功率谱');     %绘制分贝形式的功率谱
subplot(313);histogram(s3,25);title('噪声直方图');     %直方图
function Hd = myfilter
%MYFILTER 返回离散时间滤波器对象。% MATLAB Code
% Generated by MATLAB(R) 9.8 and DSP System Toolbox 9.10.
% Generated on: 17-Sep-2022 20:01:49% FIR Window Lowpass filter designed using the FIR1 function.% All frequency values are in Hz.
Fs = 10000;  % Sampling FrequencyN             = 100;      % Order
Fc            = 10;       % Cutoff Frequency
flag          = 'scale';  % Sampling Flag
SidelobeAtten = 100;      % Window Parameter% Create the window vector for the design algorithm.
win = chebwin(N+1, SidelobeAtten);% Calculate the coefficients using the FIR1 function.
b  = fir1(N, Fc/(Fs/2), 'low', win, flag);
Hd = dfilt.dffir(b);% [EOF]


http://www.ppmy.cn/news/352228.html

相关文章

噪声概念:白噪声(n)、粉红噪声(1/f)

白噪声(White noise),是一种功率谱密度为常数的随机信号或随机过程。即此信号在各个频段上的功率一致。 由于白光是由各种频率(颜色)的单色光混合而成,因而此信号的平坦功率谱性质称为“白色”,…

乘性噪声理解

来自:乘性噪声图像处理方法研究 乘性噪声普遍存在于现实世界的图像应用当中,如合成孔径雷达、超声波、激光等相干图像系统当中.与标准加性高斯白噪声相区别,乘性噪声符合瑞利或伽玛分布函数.乘性噪声对图像的污染严重&…

【噪声】2. 白噪声

文章目录 【 白噪声概述 】【 高斯白噪声 】 【 白噪声概述 】 白噪声(white noise) 功率谱密度在整个频域内是常数的噪声,即所有频率具有相同能量密度(信号在各个频率上的能量相同)的随机噪声。 对于白噪声而言&…

噪声与信噪比

噪声与信噪比在无线网络系统中产生噪声的因素很多,无线网络设备,例如AP、无线网卡都会产生噪声;无线网络所在的环境也会产生噪声,例如微波炉因与802.11b/g所使用的频率相近而产生噪声;处于2.4GHz的无绳电话会产生噪声&…

什么是噪声温度?

什么是噪声温度? 1.噪声温度的量纲也是K(凯氏温度),K和℃的换算关系: [℃] [K] - 273.15 2.噪声分类: 根据噪声产生的机理,大致可以分为五大类:热噪声(Thermal Noise),散粒噪声(Shot Noise)&…

Java学习笔记(二)

对Java学科的考试进行一定的总结。 1.for循环和增强for循环遍历数组 增强for循环_手可摘☆辰的博客-CSDN博客https://blog.csdn.net/qq_48374573/article/details/117199933 public class Test {public static void main(String[] args) {int arr[]{1,3,5,7,9};int sum10;in…

噪声模型

常见的噪声模型有(z是噪声值,m表示均值,s2表示方差): 1、高斯噪声:ma , s2b^2 2、均匀分布噪声 3、伽马噪声 mb/a , s2b/a^2 4、指数分布噪声 m1/a , s21/a^2 5、瑞利噪声 : 6、椒盐噪声 其中盐表示亮点,椒表示暗点。 几…

01:高斯噪声和椒盐噪声

文章目录 前言一、高斯噪声和椒盐噪声是什么?二、编写程序1.分析两者的特点2.调用两个函数,实现添加噪声 总结 前言 记录一下手写椒盐噪声和高斯噪声的python程序。 效果图如下: 一、高斯噪声和椒盐噪声是什么? 椒盐噪声和高斯…