问题
我的目标是检测未知频率带有一个混频器和一个匹配的滤波器。我的模拟显示(下图)我正确识别了 50 kHz 外部信号 - 但它也会产生额外的信号,其中一些我用红色圈出。
如您所见,额外的信号很重要——高达峰值检测的 20%。它还会干扰峰的高度,这对我的应用至关重要。这些是我的问题:
1. 这是从哪里来的?
2、如何预防?
背景
有信号频率未知, 阶段, 和幅度. 在这个模拟中,介于 45 和 55 kHz 之间,或者简单地说.
该方案是乘有信号在 10 秒内从 45 kHz 线性上升到 55 kHz。当两个信号频率相同时,余弦积法则会产生一个直流峰值。然后,将信号馈入匹配滤波器,并产生对应于外部信号的峰值。
这张图总结了我的方案:
代码
我用八度音阶制作了一个 MWE:
clear all;
close all;
pkg load signal;
%Constants
sampleRate=0.00005;
time=0:sampleRate:10;
frequency=45+time;
phase=45*time + 0.5*time.^2;
% Signals
s1=cos(2*pi*50*time+pi/3);
n_ramp=cos(2*pi*phase);
s2=s1.*n_ramp;
s3=filter(fir1(500, 16*sampleRate*2,'low'),1,s2); %Low Pass Filter
% Matched Filter
r1=cos(2*pi*52*time);
ref00=r1.*n_ramp;
r2=cos(2*pi*52*time+pi/2);
ref05=r2.*n_ramp;
matched_filter=fft(ref00+i*ref05);
% Apply Filter and Plot
filtering=matched_filter.*fft(s3);
sout=shift(abs(ifft(filtering)),3/sampleRate);
figure
plot(frequency,sout/max(sout),'b-','LineWidth',1);
axis([45 55 0 1.1])
xlabel('Frequency, kHz', "fontsize", 15)
ylabel('Amplitude, a.u.', "fontsize", 15)
set(gca, "linewidth", 2, "fontsize", 12)
想法
检测到的额外信号不是噪声;我的模拟中没有噪音。它从何而来?如何防止它弄乱我的输出幅度?

