如何在matlab中将信号插入信号?

时间:2015-11-05 15:38:45

标签: matlab

我想创建一个有噪音的信号。我找到了这个编码,但我不知道它是如何工作的。有人可以向我解释一下吗?

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时的结果。

Cosine signal with noise

1 个答案:

答案 0 :(得分:0)

此处的噪声生成算法在此行中编码:

filtered_noise = filter(b,a,randn(1, length(x)*2));

此处,通过系数randn(1, length(x)*2)a将butterworth滤波器应用于随机噪声信号b。噪声信号是2460 = 1230*20.0之间的1.0个随机元素的数组。可能应用过滤器以确保噪声配置文件与所建模系统的实际配置文件匹配。

下一行从元素1230开始的噪音配置文件中获取500个元素:

x = (x + 0.5*filtered_noise(500:500+length(x)-1))/length(x)*2;

似乎没有任何理由从特定指数中提取噪音。最终结果的大小通过因子1/615归一化。