Chương 1 Cơ sở lý thuyết Trong chương này, chúng ta sẽ nhắc lại các khái niệm cơ bản trong lĩnh vực xử lý tín hiệu, đặc biệt là những khái niệm liên quan đến bộ lọc và các phép biến đổi. Sau đó, phương pháp thiết kế bộ lọc tín hiệu sẽ được trình bày, với trọng tâm là bộ lọc Butterworth, được thiết kế theo nhu cầu cụ thể của bài toán. Đồng thời, một cái nhìn tổng quan về phép biến đổi wavelet và các ứng dụng liên quan sẽ được giới thiệu. Để xác định thời điểm động cơ gia tốc, thuật toán trích xuất đỉnh tín hiệu sẽ được áp dụng và trình bày chi tiết.
Chương này cũng sẽ giải thích mô hình học máy Random-Forest và cung cấp thông tin chi tiết về phương pháp phát triển hệ thống dựa trên framework Django, cùng với mẫu thiết kế Producer/Consumer.1 Bộ lọc Butterworth Một tín hiệu không thể nói lên bất cứ điều gì nếu nó bị bao bọc bởi nhiễu và các tín hiệu không mong muốn khác [5]. Bộ lọc Butterworth nói chung là một loại bộ lọc tín hiệu được thiết kế để loại bỏ hoặc giảm những tín hiệu không mong muốn gây nhiễu cho quá trình phân tích. Bộ lọc này có thể sử dụng dưới dạng tương tự, được xây dựng bằng cách kết nối các linh kiện điện tử như tụ điện, điện trở, cuộn cảm hoặc dưới dạng kỹ thuật số để tích hợp với các loại thiết bị tự động hóa áp dụng cho đầu vào tín hiệu là những bản mẫu được số hóa. Trong luận văn này, bộ lọc được sử dụng để xử lý tín hiệu đã được số hóa vậy nên bộ lọc dạng kỹ thuật số sẽ được áp dụng và bộ lọc dạng tương tự sẽ không được trình bày chi tiết.
Những nội dung về bộ lọc Butterworth ở phần sau sẽ đề cập tới bộ lọc dưới dạng kỹ thuật số. Bộ lọc Butterworth có một số loại, trong đó bộ lọc thông thấp là loại phổ biến nhất. Nó cho phép các tín hiệu có tần số thấp hơn một giới hạn nhất định (gọi là tần số cắt-off) đi qua, trong khi tín hiệu có tần số cao hơn được loại bỏ hoặc giảm độ lớn của chúng một cách mịn [6] (hình 1.1: Biểu đồ minh họa của lọc thông thấp: (a) lý tưởng, (c) Butterworth. (b), (d) là đầu ra tương ứng Một đặc điểm quan trọng của bộ lọc Butterworth là nó có đáp ứng tần số cực kỳ phẳng đối với dải tần số được phép thông qua bộ lọc, điều này có nghĩa là không có độ suy giảm tín hiệu đáng kể ở trong dải tần số này.
Điều này giúp bộ lọc Butterworth phù hợp cho các ứng dụng yêu cầu độ chính xác cao trong việc bảo toàn thông tin tín hiệu. Bộ lọc Butterworth thông thấp (phần sau của luận văn sẽ gọi chung là bộ lọc Butterworth) được sử dụng để loại bỏ tần số cao và nhiễu trong các ứng dụng như xử lý âm thanh, xử lý hình ảnh, truyền thông và điện tử. Để có được bộ lọc phù hợp với yêu cầu bài toán, chúng ta phải trải qua quá trình thiết kế để tìm hệ số phù hợp. Quá trình này chính là tìm ra các thông số phù hợp với tín hiệu cần xử lý, tùy theo độ lớn, tần số và các đặc điểm riêng của tín hiệu mà các thông số có thể thay đổi, các thông số này bao gồm: 6 • Bậc của bộ lọc (Order): Bậc của bộ lọc xác định độ dốc của đường biên chuyển động giữa băng thông chuyển đổi và băng thông dừng.
Bậc càng cao, độ dốc càng cao và đạt được độ phẳng càng tốt ở băng thông chuyển đổi. Tuy nhiên, việc tăng bậc cũng làm tăng độ phức tạp của hệ thống. • Tần số cắt (Cutoff Frequency): Đây là tần số mà bộ lọc có tác dụng loại bỏ hoàn toàn hoặc giảm độ lớn của tín hiệu đầu vào. Tần số cắt với một bộ lọc Butterworth cơ bản có bậc là một thường được lấy sao cho độ lớn của tín hiệu đầu ra giảm 3dB tương đương với việc giảm công suất đầu ra xuống còn một nửa 50% so với đầu vào, mức giảm này là mạnh tuy nhiên vẫn giữ được sự nhất quán của tín hiệu nên được coi là chuẩn cơ bản cho các ứng dụng có sử dụng bộ lọc.
Bên cạnh đó, tần số cắt còn được chọn dựa trên yêu cầu cụ thể của ứng dụng, ví dụ như loại bớt nhiễu cần áp dụng. Để đáp ứng yêu cầu này, các ứng dụng cần có bước kiểm chứng để đánh giá kết quả. • Tần số lấy mẫu: Là số lần lấy mẫu từ tín hiệu gốc trong một đơn vị thời gian thường là giây. Đây là chỉ số quan trọng trong việc biểu diễn tín hiệu.
Để biểu diễn tín hiệu dưới dạng rời rạc từ tín hiệu gốc là loại tín hiệu liên tục, tần số lấy mẫu càng cao tức là lượng dữ liệu của tín hiệu gốc được biểu diễn trên tín hiệu rời rạc càng lớn bởi vì việc chuyển đổi này chính là chia nhỏ dữ liệu liên tục thành các mẫu rời rạc. Để có được một bộ lọc phù hợp với nhu cầu và có thể trích xuất ra những dữ liệu cần thiết, ta cần tìm hiểu và phân tích tín hiệu gốc từ đó thiết kế bộ lọc dựa trên những đặc điểm của dữ liệu tương ứng. Để thiết kế bộ lọc, ta cần tìm ra một bộ các hệ số của bộ lọc. Từ bộ các hệ số này ta có được hàm truyền đạt của bộ lọc sau đó được sử dụng để tính toán giá trị đầu ra dựa trên tín hiệu đưa vào bộ lọc, nội dung tiếp theo sẽ đề cập đến các bước tạo ra bộ lọc để xử lý tín hiệu theo thuật toán của thư viện scipy.
Trước đó chúng ta cùng đi qua một số khái niệm cơ bản trong lĩnh vực xử lý tín hiệu. Tín hiệu tương tự hay tín hiệu liên tục (không ngắt quãng) thay đổi theo thời gian. Nghĩa là sau một chu kỳ, tín hiệu sẽ được lặp lại và chỉ khác nhau về cường độ. Một số tín hiệu tương tự mà chúng ta gặp hàng ngày như âm thanh, ánh sáng, tốc độ gió.
Tín hiệu kỹ thuật số hay tín hiệu rời rạc, được sử dụng để biểu diễn dữ liệu 7 dưới dạng chuỗi các giá trị rời rạc ở bất kỳ thời điểm nào. Tín hiệu kỹ thuật số chỉ có thể nhận một trong hai mức giá trị cố định là cao và thấp, 0 và 1. Biểu diễn tín hiệu trong miền thời gian cách biểu diễn tín hiệu mà tín hiệu được biểu diễn theo biến thời gian. Nói cách khác, tín hiệu được biểu diễn dưới dạng biến thiên của giá trị theo thời gian, tức là giá trị của tín hiệu thay đổi theo thời gian.
Miền thời gian thường được sử dụng để phân tích và hiểu các đặc điểm thời gian của tín hiệu, chẳng hạn như chu kỳ, tần số, độ trễ, và hình dạng của xung. Trong xử lý tín hiệu, phân tích tín hiệu trong miền thời gian thường được thực hiện trước khi chuyển sang miền tần số để tìm ra thông tin về thành phần tần số của tín hiệu. Biểu diễn tín hiệu trong miền tần số là cách biểu diễn tín hiệu mà tín hiệu được biểu diễn dưới dạng các thành phần tần số khác nhau. Trong miền tần số, tín hiệu được phân tích thành các thành phần có các tần số khác nhau, thay vì biểu diễn dưới dạng biến thiên theo thời gian như trong miền thời gian.
Miền thời gian và miền tần số có thể chuyển đổi thông qua phép biến đổi Fourier. Hàm truyền đạt là một hàm số quyết định giá trị của tín hiệu sau khi đi qua bộ lọc, bằng việc nhân tín hiệu đầu vào với hàm truyền đạt ta có được giá trị đầu ra sau khi đi qua bộ lọc. Hàm truyền đạt thường có dạng một hàm tử mẫu với biến s là một số phức và các tham số liên quan tùy thuộc vào loại bộ lọc được thiết kế. Để miêu tả rõ ràng hơn vai trò của hàm truyền đạt của bộ lọc ta có thể lấy ví dụ mạch lọc RLC tổng quát (hình 1.2) có hàm truyền đạt cho bởi 1.2: Mạch lọc RLC cơ bản V (in) RCs H(s) = = 2 (1.1) V (out) RLs + RCs + 1 Trong đó: V (in), V (out) lần lượt là điện áp vào và ra của mạch lọc, RLs2 là đại diện cho thành phần cảm của mạch với s2 biểu thị đáp ứng tần số của cuộn cảm 8 L, RCs là đại diện cho thành phần điện trở của mạch với s biểu thị đáp ứng tần số của tụ điện C.
s là một biến phức đại diện cho biến đổi Laplace của biến thời gian có thể được biểu diễn trên mặt phẳng phức với s = σ ± jω , trong đó σ là phần thực và jω là phần ảo của s được biểu diễn với tần số ω .1 chúng ta dễ dàng nhận thấy giá trị sau bộ lọc hoàn toàn phụ thuộc vào hàm truyền đạt H(s). Việc thiết kế bộ lọc sao cho phù hợp với yêu cầu bài toán chính là việc đi tìm các giá trị R, L, C , s. Sau khi thu được bộ hệ số cần thiết này ta hoàn toàn có thể coi H(s) là một hộp đen và chỉ cần sử dụng. Poles và Zeroes Với một hàm truyền đạt của một bộ lọc bất kỳ, tồn tại tử số và mẫu số.
Giá trị zero chính là nghiệm của phương trình tử số bằng 0, khi đó zero và các tham số khác của hàm truyền sẽ kết hợp tạo ra tác dụng thay đổi tín hiệu đầu vào như làm giảm hoặc làm phẳng tín hiệu. Pole là nghiệm của phương trình mẫu số bằng 0, lúc này hàm truyền đạt sẽ cho ra phản hồi đầu ra vô hạn và không xác định, vì vậy khi thiết kế bộ lọc cần phải tính toán sao cho pole không thể làm mẫu số của hàm truyền bằng 0. Một trong những biện pháp hữu hiệu là sử dụng những bộ lọc được chuẩn hóa như bộ lọc Butterworth được đề cập trong chương này. Poles và Zeroes có thể được quan sát trên một mặt phẳng phức (hay S-plane) với vai trò là thông số quyết định để biểu diễn và phân tích hàm truyền của một hệ thống.
Sau khi đã nắm bắt được một số khái niệm chính, chúng ta bắt tay vào xây dựng một bộ lọc cho riêng mình. Bước 1: Chuẩn hóa tần số: Tần số cắt cần được chuẩn hóa theo tần số lấy mẫu từ dữ liệu ban đầu. Theo lý thuyết Nyquist, tần số cắt chuẩn hóa không được lớn hơn một nửa của tần số lấy mẫu để đạt được hiệu suất tính toán tốt trong khi không bỏ xót dũ liệu. Công thức chuẩn hóa như sau: 2 ∗ ωn ωn = (Hz) (1.