Ось мій код для двотонового сигналу, де я використовую стоп-діапазон для видалення більш високого тону, а потім намічаю в частотній області раніше (синім кольором) і після (червоним кольором) після згортання мого сигналу з коефіцієнтами фільтра .
Якщо ви помістите цей код у Matlab, ви зможете чітко побачити, що фільтр успішно видалив більш високу частоту, але чомусь амплітуда нижчої частоти скоротилася навпіл, і чим більше я збільшую # коефіцієнтів фільтра, тим більше це просто згладжує всю мою криву, чому це відбувається? І як я можу це запобігти, щоб стоп-діапазон не поширювався назовні? Ось зображення та код:
fSampling = 8000; tSampling = 1 / fSampling; t = 0: tSampling: 0,005; F0 = 1000; F1 = 3000; xt = sin (2 * pi * F0 * t) + sin (2 * pi * F1 * t); ht = fir1 (40, .25, 'стоп'); yt = conv (xt, ht); fAxis = -4000: 125: 4000-125; xF = fft (xt, 64); MagXF = зміна (фс (xF)); сюжет (fAxis, MagXF); Зачекай yF = fft (yt, 64); MagYF = зміна (FF (yF)); сюжет (fAxis, MagYF, 'r')