Đây là mã của tôi cho tín hiệu hai âm, trong đó tôi sử dụng dải dừng để loại bỏ âm cao hơn và sau đó vẽ âm trước (màu xanh lam) và sau (màu đỏ) trong miền tần số sau khi kết hợp tín hiệu của tôi với các hệ số bộ lọc .
Nếu bạn đặt mã này vào Matlab, bạn có thể thấy rõ rằng tần số cao hơn đã được bộ lọc loại bỏ thành công, nhưng vì lý do nào đó, biên độ của tần số thấp hơn đã bị cắt giảm một nửa và tôi càng tăng # hệ số bộ lọc, nó càng làm phẳng toàn bộ đường cong của tôi, tại sao điều này xảy ra? Và làm thế nào tôi có thể ngăn chặn nó để dải dừng không lan ra ngoài? Đây là hình ảnh và mã:
lấy mẫu = 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, 'dừng'); yt = conv (xt, ht); fAxis = -4000: 125: 4000-125; xF = fft (xt, 64); MagXF = frafthift (abs (xF)); cốt truyện (fAxis, MagXF); Giữ lấy yF = fft (yt, 64); MagYF = frafthift (abs (yF)); cốt truyện (fAxis, MagYF, 'r')