Các bộ lọc kỹ thuật số được sử dụng rộng rãi trong việc kiểm soát. Tuy nhiên, không phải tất cả các bộ lọc kỹ thuật số có thể được thực hiện trên PSOC, bởi vì nhiều bộ lọc kỹ thuật số đơn vị cần tăng cường MAC để tăng tốc độ tính toán. Trong hệ thống này người ta sử dụng bộ lọc kỹ thuật số thấp, và các bộ lọc IIR được sử dụng cho tất cả các tương tự xử lý tín hiệu đầu vào. Các thuật toán được thể hiện trong công thức sau:
yn = a * xn + (1 – a) * yn-1 (Phương trình 3) a : là hệ số bộ lọc
xn : là giá trị lấy mẫu hiện tại
yn : là sản lượng hiện tại của bộ lọc
yn-1 : là giá trị đầu ra cuối cùng của bộ lọc
Để hoàn tất việc tính toán ta cần hai lần các phép nhân . Xem xét các giá trị CPU PSOC, việc tính toán vẫn còn phức tạp. Để đạt được các bộ lọc thông thấp và đơn giản hóa các thuật toán này, hệ số bộ lọc đặc biệt được yêu cầu. Ví dụ, bằng cách sử dụng a=0.25 cho công thức sau đây được lấy:
yn = 0.25 * xn + 0.75 * y(n-1) (phương trình 4) Thay thế hoạt động nhân với bit-chuyển dịch hoạt động, công thức có thể thay đổi:
yn = xn≫2 + y (n-1)≫1+y(n-1)≫2 (phương trình 5) Với phương trình này, chỉ có ba hoạt động bit-chuyển dịch và ba hoạt động cần thiết cho việc tính toán. Trong hệ thống này, giá trị của là 0,25. Tần số cắt
49
của bộ lọc này là 1,33 Hz, theo công thức sau đây với một khoảng thời gian lấy mẫu của 40 ms.
fcutoff = a/2πT(1-a) (phương trình 6) T: thời gian lấy mẫu