我正在尝试开发一些代码来在我拥有的数据集中找到瞬态信号。然而,在我到达那里之前,我正在尝试使用模拟数据编写代码。
我首先创建一个具有指定频率的信号,然后向其添加白噪声。
然后,我遍历一个循环,在该循环中以增量频率创建参考信号。我采用两个信号的 FFT 和 I xcorr 结果。
使用这种方法,当我使用大于 -15 dB 的 SnR 比时,我会得到下降结果,但在那之后我的结果就不好了。无论如何我可以优化它以找到隐藏比 -15 dB SnR 更深的信号吗?
我的代码:
t = linspace(0,16*pi,1000);
y = cos(2*t);
z = awgn(y,-10);
fftz = fft(z);
subplot(2,1,1);
plot(t,z)
subplot(2,1,2);
plot(t,y)
freq = linspace(0.1,10,500);
for i=1:500
reference_signal = cos(freq(i)*t);
fftr = fft(reference_signal);
Q(i) = max(abs(xcorr(fftz,fftr)));
end
subplot(3,1,1);
plot(t,y)
subplot(3,1,2);
plot(t,z)
subplot(3,1,3);
plot(freq,Q)
输出