【发布时间】:2012-12-18 20:55:24
【问题描述】:
我有一个具有高振幅白高斯噪声的信号/矢量,我正在尝试获得一个二进制信号(0 或 1)。采样频率为 10Hz。
我在 MATLAB 中应用了一个简单的二阶巴特沃斯滤波器,如下所示;
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。
有人可以验证此方法是否适用于获取二进制信号吗?
谢谢。
【问题讨论】:
标签: matlab filter noise morse-code