用matlab生成1000点噪声,噪声功率为-12dB,噪声服从正态分布
时间: 2024-05-09 18:20:02 浏览: 7
可以使用matlab中的randn函数生成服从正态分布的随机数,然后通过调整方差来实现不同功率的噪声。以下是一段代码示例,生成1000个功率为-12dB的正态分布噪声:
```matlab
N = 1000; % 生成1000个点
noise_power = 10^(-12/10); % 噪声功率为-12dB
noise_var = noise_power / 2; % 噪声方差为功率的一半
noise = sqrt(noise_var) * randn(1, N); % 生成噪声
```
在上述代码中,先将噪声功率从分贝单位转换为线性单位,然后将噪声方差设为功率的一半(由于正态分布的方差为实际方差的一半),最后使用randn函数生成服从标准正态分布的随机数,并乘以标准差(即噪声方差的平方根)得到正态分布噪声。