Thông báo

Collapse
No announcement yet.

Tài liệu bộ lọc số

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Tài liệu bộ lọc số

    Em đang nghiên cứu về bộ lọc FIR. Mà cần tài liệu : textbook L.R.Rabiner and B.Gold. Theory and applications in Digital Signal Processing. Tìm hoài không thấy, bác nào có cho em xin link với. Cảm ơn nhiều.
    BAN KEY KAPERSKY DAM BAO CHAT LUONG, THANH TOAN TRUC TIEP HOAC QUA NGAN HANG DONG A
    GIA: 140K/KEY
    BAN WIN 7 BAN QUYEN -GIA : 150K
    SDT:01647.212.737 OR nick : welcomeanh_000 OR gmail: trantuananh000

  • #2
    Mình cũng đang làm thử cái bộ lọc trên matlab, mình có 1 vấn đề chưa hiểu là mình sai ở đâu, ai biết hướng dẫn dùm nhé.
    Bài toán như sau: giả sử mình đưa vào tín hiệu là tổng hợp của một số tần số nhất định f1, f2, f4, f4,...
    Khi mình dùng bộ lọc để lọc bỏ tần số high và low với 1 tần số cụ thể nào đó thì thấy có kết quả ưng ý. nhưng khi mình lọc một đoạn băng tần với khoảng tần số không chứa f nào ở trên thì FFT nó vẫn có phổ ở giải tần đó. Mình không hiểu sai ở đâu.
    Đây là code của mình, các bạn check giúp nhé:
    fs = 10000;
    t = 0:1/fs:0.1;

    x = sin(2*pi*500*t) + sin(2*pi*1500*t) + 2*sin(2*pi*2500*t) + sin(2*pi*4000*t); % two sinusoids

    fbank1 = 3000;
    fbank2 = 3500;

    FFT_Point = 512;
    FFT_Point2 = FFT_Point /2;

    subplot(4,1,1);

    plot(t,x);

    y = fft(x,FFT_Point); % y contains 1000 complex amplitudes
    y = y(1:FFT_Point2); % just look at first half
    m = abs(y); % m = magnitude of sinusoids

    f = (0:FFT_Point2-1)*fs/FFT_Point; % calculate Hertz values
    subplot(4,1,2), plot(f,m);


    fNorm = 0.4; %fbank1 / (fs/2);
    [b,a] = butter(10, fNorm, 'high'); % Bo phan thap, lay phan cao
    x = filtfilt(b, a, x);

    fNorm = 0.45; %fbank2 / (fs/2);
    [b,a] = butter(10, fNorm, 'low'); % bo phan cao, lay phan thap
    x = filtfilt(b, a, x);

    %[sb,sa]=butter(4,2*50/fs);

    %[b,a]=butter(4,[2*fbank1/fs 2*fbank2/fs]);
    %x=filter(b,a,x);
    %x=filter(sb,sa,abs(x));
    %x=max(x,eps);

    subplot(4,1,3), plot(t,x);

    y = fft(x,FFT_Point); % y contains 1000 complex amplitudes
    y = y(1:FFT_Point2); % just look at first half
    m = abs(y); % m = magnitude of sinusoids


    f = (0:FFT_Point2-1)*fs/FFT_Point; % calculate Hertz values

    subplot(4,1,4), plot(f,m);

    Cảm ơn nhiều!

    Comment

    Về tác giả

    Collapse

    rechardtran Tìm hiểu thêm về rechardtran

    Bài viết mới nhất

    Collapse

    Đang tải...
    X