matlab生成高斯白噪声
时间: 2023-07-13 12:41:16 浏览: 182
在Matlab中,可以使用`randn()`函数生成高斯白噪声。该函数返回一个具有正态分布的随机序列,其均值为0,方差为1。
以下是一个简单的例子:
```matlab
% 生成长度为1000的高斯白噪声序列
noise = randn(1, 1000);
% 绘制信号频谱
Fs = 1000; % 采样率
N = length(noise); % 信号长度
f = (0:N-1)*(Fs/N); % 频率
Y = fft(noise)/N; % 傅里叶变换
P = abs(Y).^2; % 功率谱密度
plot(f,P)
title('高斯白噪声频谱')
xlabel('频率 (Hz)')
ylabel('功率谱密度')
```
运行以上代码,将生成长度为1000的高斯白噪声,并绘制其频谱。注意,由于是随机生成的噪声,每次运行结果可能略有不同。
相关问题
matlab生成高斯白噪声程序
在Matlab中,可以使用randn函数生成高斯白噪声。以下是一个简单的示例程序:
```matlab
% 生成高斯白噪声
Fs = 44100; % 采样率
T = 1; % 时长
t = 0:1/Fs:T-1/Fs; % 时间轴
noise = randn(size(t)); % 高斯白噪声
% 绘制波形图
plot(t, noise);
xlabel('Time (s)');
ylabel('Amplitude');
title('Gaussian White Noise');
```
在上面的代码中,首先定义了采样率Fs和时长T,然后生成了时间轴t。接着使用randn函数生成与时间轴t相同大小的高斯白噪声。最后使用plot函数绘制波形图。
需要注意的是,生成的高斯白噪声的均值为0,方差为1。如果需要指定均值和方差,可以使用randn(mu, sigma, size)函数,其中mu为均值,sigma为标准差(不是方差),size为生成的噪声数据大小。
如何使用matlab生成高斯白噪声信号
可以使用MATLAB中的randn函数来生成高斯白噪声信号。该函数生成一个具有正态分布的随机向量或矩阵。为了产生高斯白噪声信号,可以设置均值为0,方差为1,例如:
```matlab
n = 1000; % 信号长度
mean = 0; % 均值
variance = 1; % 方差
noise = sqrt(variance)*randn(n,1) + mean; % 生成高斯白噪声信号
```
其中,sqrt(variance)*randn(n,1)生成了一个长度为n、均值为0、方差为1的高斯分布随机向量,然后再加上均值mean即可。生成的信号保存在变量noise中。
阅读全文