我有一个受高幅度白噪声影响的信号/向量,我想要得到一个二进制信号(0或1)。采样频率为10Hz。
我在MATLAB中应用了一个简单的二阶Butterworth滤波器,如下所示:
x=sig_bruit_BB1;
[b,a]=butter(2,0.1,'low');
y = filter(b,a,x);
plot(x)
subplot(3,1,2)
plot(y)
for i=1:1:1820
x=y(1,i);
if (x<0.5)
code(1,i)=0;
else
code(1,i)=1;
end
end
subplot(3,1,3);
plot(code)
正如您所看到的,我使用了一个for循环,假设任何小于0.5的信号都等于0,大于等于1的信号都等于1。
有人能验证一下这种方法是否适用于获取二进制信号吗?
谢谢。