Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中生成噪波的颜色_Python_Audio_Signal Processing - Fatal编程技术网

在Python中生成噪波的颜色

在Python中生成噪波的颜色,python,audio,signal-processing,Python,Audio,Signal Processing,我想使用Python生成不同颜色的噪声,就像维基百科提到的那样: 例如,白色、粉色、棕色、蓝色和紫色噪音。并希望有类似的频谱就像该网站 这将是一个很大的帮助,如果我可以调整几个参数来完成它。任何链接或提示将非常感谢!非常感谢。让我们使用numpy计算噪波,使用matplotlib绘制结果 import numpy as np import matplotlib.pyplot as plt def plot_spectrum(s): f = np.fft.rfftfreq(len(s))

我想使用Python生成不同颜色的噪声,就像维基百科提到的那样:

例如,白色粉色棕色蓝色紫色噪音。并希望有类似的频谱就像该网站


这将是一个很大的帮助,如果我可以调整几个参数来完成它。任何链接或提示将非常感谢!非常感谢。

让我们使用numpy计算噪波,使用matplotlib绘制结果

import numpy as np
import matplotlib.pyplot as plt

def plot_spectrum(s):
    f = np.fft.rfftfreq(len(s))
    plt.loglog(f, np.abs(np.fft.rfft(s)))

这是python装饰器的一个很好的用例

def noise_psd(N,psd=lambda f:1):
X_white=np.fft.rfft(np.random.randn(N));
S=psd(np.fft.rfftfreq(N))
S=S/np.sqrt(np.平均值(S**2))
X_形状=X_白色*S;
返回np.fft.irfft(X_形);
def PSD发电机(f):
返回λN:噪声_psd(N,f)
@PSD发电机
def白噪声(f):
返回1;
@PSD发电机
def蓝色_噪音(f):
返回np.sqrt(f);
@PSD发电机
def紫外噪声(f):
返回f;
@PSD发电机
def布朗噪声(f):
返回1/np。其中(f==0,float('inf'),f)
@PSD发电机
def粉红_噪音(f):
返回1/np.where(f==0,float('inf'),np.sqrt(f))
函数PSDGenrator将一个函数作为输入,并返回另一个函数,该函数将产生随机信号,功率谱的形状与给定函数相应

让我们测试一下

plt.图(figsize=(8,8))
对于G in[布朗噪声、粉红噪声、白噪声、蓝色噪声、紫色噪声]:
谱图(G(2**14))
plt.图例(['brownian','pink','white','blue','violet'])
plt.ylim([1e-3,无]);

我不明白你的问题,“调整一些参数”是什么?我也不明白你的答案,但谢谢你。我给了你一些函数,这些函数可以产生具有所需光谱分布和幺正能量的噪声。例如,试试
brownian\u noise(2**16)
它将产生一个样本或布朗噪声。感谢您的帮助@user12750353!但是我想知道为什么
Brownian
Pink
是一样的?它们不应该不同吗?对不起,这是个错误,粉红色应该有一个平方根。修正。抱歉,最后一个问题,x轴上的值不应该是频率吗?如果是,为什么它这么小?