Công Cụ Này Làm Gì?
Máy Tính Tích Chập Vòng giúp bạn tính tích chập vòng (hay tích chập tuần hoàn) của hai dãy tín hiệu rời rạc theo thời gian — một phép toán cốt lõi trong xử lý tín hiệu số (DSP). Khác với tích chập tuyến tính, tích chập vòng "cuộn" các dãy quanh một chu kỳ cố định N, và đây chính là điều xảy ra khi bạn nhân hai biến đổi Fourier rời rạc (DFT) của hai tín hiệu rồi biến đổi ngược trở lại. Chỉ cần nhập các dãy của bạn, công cụ sẽ trả về ngay dãy kết quả cùng giá trị lớn nhất và nhỏ nhất để phân tích nhanh.
Dữ Liệu Đầu Vào
- Dãy thứ nhất: tín hiệu đầu vào x, nhập dưới dạng các số cách nhau bằng dấu phẩy (ví dụ
1, 2, 3, 4). - Dãy thứ hai: tín hiệu thứ hai h, cũng cách nhau bằng dấu phẩy (ví dụ
1, 1, 1).
Nếu hai dãy có độ dài khác nhau, công cụ sẽ thêm các số 0 vào cuối dãy ngắn hơn cho đến khi đạt N = độ dài của dãy dài hơn. Sau đó cả hai dãy đều được coi là tuần hoàn với chu kỳ N.
Công Thức
Tích chập vòng được định nghĩa như sau:
$$y[n] = \sum_{k=0}^{N-1} x[k] \cdot h\big[(n - k)\bmod N\big]$$
Điểm khác biệt mấu chốt so với tích chập tuyến tính nằm ở chỉ số modulo N. Khi \((n - k)\) trở thành số âm, nó sẽ "cuộn" ngược về cuối dãy thay vì cho ra giá trị 0. Chính vì vậy mà kết quả luôn có đúng N mẫu — bằng độ dài của dãy dài hơn.
Ví Dụ Minh Họa
Giả sử x = [1, 2, 3, 4] và h = [1, 1, 1, 1] (cả hai đều có độ dài N = 4). Tính từng giá trị đầu ra:
- \(y[0] = 1\cdot 1 + 2\cdot 1 + 3\cdot 1 + 4\cdot 1 = 10\)
- \(y[1] = 1\cdot 1 + 2\cdot 1 + 3\cdot 1 + 4\cdot 1 = 10\)
- \(y[2] = 10\), \(y[3] = 10\)
Kết quả: [10, 10, 10, 10], với giá trị lớn nhất là 10 và nhỏ nhất là 10. Vì h toàn số 1 nên mỗi giá trị đầu ra đều bằng tổng của dãy x — một cách kiểm tra nhanh rất hữu ích.
Câu Hỏi Thường Gặp
Phép này khác gì so với tích chập tuyến tính? Tích chập tuyến tính tạo ra một dãy có độ dài (len(x) + len(h) − 1) và không có sự "cuộn vòng". Tích chập vòng giữ nguyên độ dài N và gập phần tràn về đầu dãy, phù hợp với việc lọc dựa trên DFT.
Nếu hai dãy của tôi có độ dài khác nhau thì sao? Dãy ngắn hơn sẽ được thêm số 0 vào để khớp với độ dài N của dãy dài hơn, nhờ vậy cả hai được căn chỉnh trước khi tính tích chập.
Tôi có thể dùng số âm hoặc số thập phân không? Có. Dữ liệu nhập vào được xử lý dưới dạng số thập phân, nên các giá trị như -1.5, 0.25, 3 đều hoạt động bình thường.