删除相同频率的信号

时间:2017-04-07 09:53:12

标签: matlab audio signal-processing

我正在处理一个真实的音频数据,该数据由相同频率的三个不同信号组成。这三个信号由7声嘟嘟声组成,长度和能量水平不同。 (对于每个信号,每次蜂鸣声之间的延迟是不同的)

信号1: Signal 1

信号2: Signal 2

信号3 enter image description here

我的目标是使用相应的匹配滤波器滤除所有这些信号。但问题是信号1的强度太高而我不能将其他信号匹配滤波器应用于数据(因为信号1将掩盖其他匹配滤波器的滤波结果)。

我尝试将流程置于循环中。在每次循环之后,将从数据中减去滤波后的信号。但在许多情况下,来自一个信号的蜂鸣声将与其他信号的蜂鸣声对齐(如第二张图片中所示:信号2的最后一次蜂鸣声被另一个信号的强烈蜂鸣声掩盖)。

我的问题是:

  1. 如何在不影响较弱信号的情况下正确减去较强信号?
  2. 匹配滤波后,我只获得了信号的能量和匹配位置。有没有办法从这种能量中确定哔哔声的峰值?
  3. 编辑: 这是我提取最强信号的代码:

      t_matched = 165428; %matching position
      ct3133 = signal_generator(ones(250,1), fs/25, 380, 640, 460, 640, 400, 640); %generate the "signal 1"
      n = length(ct3133);
      signal_size = length(A222203_30s_d);
      t_begin = t_matched - 3.16*fs/25 -125-5; %position where the signal 1 begin to transmitted
      % 3.16(s) = (380 + 640 + 460 + 640 + 400 + 640)(ms)
      % 25: decimation factor
      % 125: the length of 1 beep (10ms)
      % 5: correction coeffecient due to the dealy between each beep is not ideal.
    
      %Extracting the signal 1
      signal = cat(1, zeros(t_begin, 1), abs(ct3133), zeros(signal_size - t_begin - n, 1));
      ct3133_sup = abs(ones(length(signal),1)-signal);
      ct3133_extracted = A222203_30s_d.*ct3133_sup;
    

    通过这种方法,我能够从输入数据中删除信号1。然而,这也消除了信号2的最后一次嘟嘟声,该信号被信号1的第五次哔声屏蔽。

    当信号2的最后一次蜂鸣声消失时,信号2可以由相应的匹配滤波器检测,但匹配位置不正确。因此,不能执行去除信号2的未来操作。

    编辑2: 这是提取信号1操作后的一些图形和数据。

    信号1峰值和位置值:

    1. 0.0413& 125804
    2. 0.0411& 130555
    3. 0.0410& 138555
    4. 0.0415& 144305
    5. 0.0417& 152305
    6. 0.0413& 157306
    7. 0.0415& 165306
    8. 信号1的匹配滤波结果(X:匹配位置,Y:信号1能量):

      X = 165427,Y = 21.32。 Matched filter result

      删除信号1后的输入数据:

      enter image description here

      显然,信号2仅包含6次嘟嘟声,它假设为7次。

      信号2峰值和位置分别为:

      1. 峰值1:0.00102& 110460
      2. 峰值2:0.001114& 115211
      3. 峰值3:0.001097& 123211
      4. 峰值4:0.001141& 128961
      5. 峰值5:0.001139& 136711
      6. 峰值6:0.001119& 145462
      7. 使用信号2的匹配滤波器过滤上述数据后的结果: enter image description here

        峰值和位置为:0.3615& 152383

        *位置是样本,数据采样率:12500Hz

0 个答案:

没有答案