我想创建一个有噪音的信号。我找到了这个编码,但我不知道它是如何工作的。有人可以向我解释一下吗?
x= cos(2*pi*12*[0:0.001:1.23]);
x(end) = [];
[b a] = butter(2,[0.6 0.7],'bandpass');
filtered_noise = filter(b,a,randn(1, length(x)*2));
x = (x + 0.5*filtered_noise(500:500+length(x)-1))/length(x)*2;
这是我绘制x时的结果。
答案 0 :(得分:0)
此处的噪声生成算法在此行中编码:
filtered_noise = filter(b,a,randn(1, length(x)*2));
此处,通过系数randn(1, length(x)*2)
,a
将butterworth滤波器应用于随机噪声信号b
。噪声信号是2460 = 1230*2
和0.0
之间的1.0
个随机元素的数组。可能应用过滤器以确保噪声配置文件与所建模系统的实际配置文件匹配。
下一行从元素1230
开始的噪音配置文件中获取500
个元素:
x = (x + 0.5*filtered_noise(500:500+length(x)-1))/length(x)*2;
似乎没有任何理由从特定指数中提取噪音。最终结果的大小通过因子1/615
归一化。