Đầu tiên, tôi chưa quen với DSP và không có giáo dục thực sự về nó, nhưng tôi đang phát triển một chương trình trực quan hóa âm thanh và tôi đại diện cho một mảng FFT là các thanh dọc như trong một hình ảnh phổ tần số điển hình.
Vấn đề tôi gặp phải là các giá trị tín hiệu âm thanh thay đổi quá nhanh để tạo ra đầu ra hình ảnh dễ chịu nếu tôi chỉ ánh xạ trực tiếp các giá trị FFT:
Vì vậy, tôi áp dụng một hàm đơn giản cho các giá trị để "làm mịn" kết quả:
// pseudo-code
delta = fftValue - smoothedFftValue;
smoothedFftValue += delta * 0.2;
// 0.2 is arbitrary - the lower the number, the more "smoothing"
Nói cách khác, tôi đang lấy giá trị hiện tại và so sánh nó với giá trị cuối cùng, và sau đó thêm một phần của delta đó vào giá trị cuối cùng. Kết quả trông như thế này:
Vì vậy, câu hỏi của tôi là:
Đây có phải là một mẫu hoặc chức năng được thiết lập tốt mà một thuật ngữ đã tồn tại không? Là như vậy, thuật ngữ là gì? Tôi sử dụng "làm mịn" ở trên nhưng tôi biết rằng điều này có nghĩa là một cái gì đó rất cụ thể trong DSP và có thể không chính xác. Ngoài ra, nó dường như có thể liên quan đến một phong bì âm lượng, nhưng cũng không hoàn toàn giống như vậy.
Có cách tiếp cận tốt hơn hoặc nghiên cứu thêm về các giải pháp cho điều này mà tôi nên xem xét?
Cảm ơn thời gian và lời xin lỗi của bạn nếu đây là một câu hỏi ngu ngốc (đọc các cuộc thảo luận khác ở đây, tôi biết rằng kiến thức của tôi thấp hơn nhiều so với mức trung bình có vẻ như).