Cách sử dụng Bộ giải mã âm thanh để dễ dàng hơn Tối ưu hóa hiệu suất Âm thanh trong Hệ thống nhúng

Cập nhật: ngày 8 tháng 2023 năm XNUMX

Nhiều nhà thiết kế đang đưa các codec âm thanh vào thiết kế hệ thống nhúng dựa trên vi điều khiển của họ với nỗ lực bổ sung âm thanh có độ trung thực cao. Để làm như vậy, họ phải tìm ra cách điều chỉnh codec âm thanh cho ứng dụng của họ. Nếu không điều chỉnh, ứng dụng có thể bị trôi đi hoặc chất lượng kém, ngay cả với codec và loa tốt. Vấn đề là mỗi loa đều có đáp tuyến tần số riêng và vì vậy codec nên được điều chỉnh cho phù hợp với đặc tính của loa trong khi lưu ý loại âm thanh sẽ được phát và đáp ứng yêu cầu.

Giải pháp để điều chỉnh hệ thống phát lại âm thanh là không sử dụng bộ lọc phần cứng mà thay vào đó, tận dụng các khối lọc kỹ thuật số của codec âm thanh. Mỗi codec đều có khối này để cho phép nhà phát triển lọc đầu ra bằng các bộ lọc thông cao, thông thấp và thông dải. Điều này cho phép phản hồi của người nói được điều chỉnh cẩn thận và thậm chí được điều chỉnh khi cần thiết.

Bài viết này sẽ thảo luận về các khối âm thanh kỹ thuật số bên trong được bao gồm trong codec, sử dụng codec từ AKM Semiconductor như một ví dụ. Nó cũng sẽ thảo luận về một số mẹo và thủ thuật về cách điều chỉnh codec sẽ giúp các nhà phát triển đẩy nhanh quá trình phát triển âm thanh của họ trong khi cải thiện chất lượng âm thanh của hệ thống.

Hiểu đặc điểm đáp ứng tần số của loa

Bài viết “Cách chọn và sử dụng bộ giải mã âm thanh và bộ vi điều khiển cho tệp phản hồi âm thanh được nhúng” đã thảo luận về các nguyên tắc cơ bản của việc chọn và thêm codec vào hệ thống. Bước tiếp theo là sử dụng codec đó để có được đầu ra âm thanh tốt nhất có thể.

Có một số yếu tố khác nhau góp phần vào việc âm thanh phát ra từ hệ thống sẽ phát ra như thế nào. Những yếu tố này bao gồm:

  • Vỏ của loa
  • Cách lắp loa
  • Các tần số âm thanh đang được phát
  • Đáp tuyến tần số của loa

Sau khi xem xét cẩn thận các yếu tố này, một nhà phát triển sẽ sớm nhận ra rằng việc điều chỉnh hệ thống âm thanh chỉ hữu ích khi nó ở trạng thái sản xuất cuối cùng. Chắc chắn, hệ thống có thể được điều chỉnh bằng bảng mạch in (bảng mạch máy tính) và loa bên ngoài vỏ, nhưng người ta không nên mong đợi các thông số điều chỉnh tương tự đó áp dụng khi loa được gắn và trong vỏ ngoài của nó.

Nếu đội ngũ cơ khí đã thiết kế đúng cách vỏ và gắn hệ thống, thì đặc điểm chính mà nhà phát triển cần theo dõi chặt chẽ là đáp tuyến tần số của loa. Mỗi loa đều có các đặc điểm và đường cong đáp ứng khác nhau. Ngay cả những loa có cùng số bộ phận thường sẽ có sự thay đổi nhỏ về đáp tuyến tần số, nhưng nhà sản xuất thường cung cấp một đường cong đáp ứng tần số điển hình. Ví dụ, Hình 1 cho thấy đường cong đáp ứng tần số cho Thiết bị CUI GC0401K 8 Ohm (Ω), loa 1 watt. GC0401K được đánh giá cho tần số từ 390 Hertz (Hz) đến 20 kilohertz (kHz).

Hình 1: Loa GC0401K 8 Ω, 1 watt của Thiết bị CUI được đánh giá cho tần số từ 390 Hz đến 20 kHz. (Nguồn ảnh: CUI Devices)

Loa thường được đánh giá cho vùng của đường cong đáp ứng của chúng, nơi đáp ứng tương đối bằng phẳng. Nhìn kỹ vào Hình 1 cho thấy đáp ứng tần số cho GC0401K bắt đầu giảm xuống ở ~ 350 Hz và tương đối bằng phẳng ít nhất là qua 9 kHz. Các tần số cao cấp có một số sụt giảm nhưng vẫn ổn định lên đến 20 kHz.

Một đáp ứng tần số loa khác có thể được nhìn thấy trong GF0668 của Thiết bị CUI (Hình 2). Loa này lớn hơn một chút và có thể xuất ra công suất 3 watt. Đánh giá đáp ứng tần số là từ 240 Hz đến 20 kHz. Loa này có thể đánh tần số thấp hơn một chút so với GC0401K, nhưng lưu ý một lần nữa rằng trong phạm vi được chỉ định, đường cong tương đối bằng phẳng với một số đáy và đỉnh xuyên suốt.

Hình 2: Đáp ứng tần số cho loa GF0668 8 Ω, 3 watt của Thiết bị CUI cho thấy lý do tại sao nó được xếp hạng cho dải tần từ 240 Hz đến 30 kHz. (Nguồn ảnh: CUI Devices)

Một phản hồi loa cuối cùng đáng xem là SP-2804Y của Soberton Inc. (Hình 3). SP-2804Y là loa 500 miliwatt (mW) với dải tần đáp ứng từ 600 Hz đến 8 kHz. Các định luật vật lý đảm bảo rằng loa càng nhỏ thì thời gian đáp ứng với tần số thấp càng khó. Điều này có nghĩa là nếu các nhà phát triển không lọc ra các tần số thấp hơn và thay vào đó cố gắng điều khiển loa ở các tần số đó, thì kết quả có thể là một số âm thanh nghe có vẻ ghê rợn hoặc khiếm khuyết trong các âm mà nếu không thì âm thanh trong như pha lê.

Lưu ý rằng cũng có một sự sụt giảm đáng kể trong đáp ứng tần số xung quanh 10 kHz. Do đó, loa chỉ được đánh giá ở mức 8 kHz mặc dù nó có thể được sử dụng lên đến 20 kHz cho một số ứng dụng.

Hình 3: Đáp ứng tần số cho loa SP-2804Y 8 Ω, 0.5 watt của Soberton Inc. cho thấy nó phù hợp với các tần số từ 600 Hz đến 8 kHz. Nó có mức giảm sau 10 kHz nhưng vẫn có thể sử dụng được ở mức 20 kHz cho một số ứng dụng. (Nguồn ảnh: CUI Devices)

Nhìn vào phản ứng tần số của từng loa, rõ ràng là cần phải thực hiện một số loại lọc và điều chỉnh vì có một số tần số mà tại đó loa không nên được điều khiển. Ví dụ: cố gắng tăng âm trầm 4 Hz trên các loa này có thể gây ra rung động kéo dài mà tần số cao hơn được đưa vào, dẫn đến nhiều biến dạng âm thanh.

Mổ xẻ khối bộ lọc kỹ thuật số âm thanh

Một phương pháp đã được sử dụng trong quá khứ để loại bỏ các tần số không mong muốn là xây dựng các bộ lọc phần cứng dẫn đến loa. Ví dụ: bộ lọc thông cao ở 500 Hz có thể ngăn các tần số dưới 500 Hz đến loa. Ở đầu kia, một bộ lọc thông thấp có thể được sử dụng để loại bỏ bất kỳ âm thanh nào trên 15 kHz. Kinh nghiệm cá nhân cho thấy rằng đôi khi nếu sử dụng giọng nói của phụ nữ với một loa nhỏ có hiệu quả ở tần số cao hơn, thì người nói đó có thể thể hiện âm vực cao. Lựa chọn cẩn thận các tần số có thể loại bỏ những biến dạng này và tạo ra âm thanh rõ ràng hơn.

Trong khi các bộ lọc phần cứng bên ngoài có thể thực hiện công việc này, chúng làm tăng thêm chi phí và chiếm thêm dung lượng. Vì những lý do này, việc điều chỉnh âm thanh bằng cách sử dụng khối lọc kỹ thuật số được tích hợp trong codec âm thanh sẽ thiết thực và hiệu quả hơn.

Ví dụ: sơ đồ khối của AKM Semiconductor Bộ giải mã âm thanh 4637 bit AK24 có khối lọc kỹ thuật số được tô sáng (Hình 4).

Hình 4: AK4637 là bộ giải mã âm thanh với đầu ra loa đơn âm có khả năng phát và ghi âm thanh. Nó cũng chứa một khối âm thanh bên trong có thể được sử dụng để lọc âm thanh đến và đi nhằm cải thiện độ trung thực của âm thanh. (Nguồn ảnh: AKM Semiconductor)

Khối bộ lọc kỹ thuật số trong trường hợp này chứa một số khả năng lọc khác nhau bao gồm:

  • Bộ lọc thông cao (HPF2)
  • Bộ lọc thông thấp (LPF)
  • Bộ cân bằng bốn băng tần (EQ 4 băng tần)
  • Kiểm soát san lấp mặt bằng tự động (ALC)
  • Bộ cân bằng một băng tần (1 băng tần EQ)

Tất cả các tính năng này không cần phải được bật. Các nhà phát triển có thể chọn những tính năng họ cần và bật và tắt tính năng chặn hoặc định tuyến micrô hoặc phát lại âm thanh thông qua chúng. Câu hỏi thực sự tại thời điểm này là làm thế nào để tính toán và lập trình codec âm thanh?

Cách tính toán và lập trình các thông số bộ lọc kỹ thuật số

Trong hầu hết các ứng dụng âm thanh, bộ lọc thông cao được sử dụng để loại bỏ các tần số thấp hơn và bộ lọc thông thấp được sử dụng để loại trừ các tần số cao hơn. Một bộ cân bằng có thể được sử dụng để làm mịn đường cong đáp ứng tần số hoặc để nhấn mạnh các âm nhất định. Cách chính xác các cài đặt này nên được chọn nằm ngoài phạm vi của bài viết này. Thay vào đó, nó sẽ xem xét cách tính toán và lập trình các giá trị được liên kết với các thông số này bằng cách sử dụng AKM AK4637 làm ví dụ.

Đầu tiên, bạn nên xem lại biểu dữ liệu. Trang 7 và 8 trong trường hợp này hiển thị bản đồ đăng ký tất cả quan trọng cho codec. Một cái nhìn đầu tiên có thể đáng sợ khi phần này có 63 thanh ghi. Tuy nhiên, nhiều thanh ghi này điều khiển khối âm thanh kỹ thuật số. Ví dụ, thanh ghi 0x22 thông qua 0x3F điều khiển bộ cân bằng. Thanh ghi 0x19 đến 0x1C kiểm soát bộ lọc thông cao, trong khi 0x1D đến 0x20 kiểm soát bộ lọc thông thấp.

Các nhà phát triển thường không thể chỉ định một tần số để nhập vào codec. Thay vào đó, có một phương trình bộ lọc được sử dụng để tính toán các hệ số bộ lọc, sau đó được lập trình vào các thanh ghi codec để tạo bộ lọc ở tần số mong muốn. Ví dụ: để sử dụng khối bộ lọc kỹ thuật số để tạo bộ lọc thông cao ở 600 Hz, hãy sử dụng Công thức 1:

Hình 5: Được hiển thị là các phương trình cần thiết để tính toán các hệ số cho bộ lọc thông cao cho khối bộ lọc kỹ thuật số AK4637. (Nguồn ảnh: AKM Semiconductor)

Một nhà phát triển sẽ xác định tần số cắt mong muốn, fc, trong trường hợp này là 600 Hz. Tần số lấy mẫu âm thanh, fs, thường là 48 kHz, nhưng có thể thay đổi tùy theo ứng dụng. Các giá trị này sau đó sẽ được đặt trong phương trình tính toán các hệ số A và B. Sau đó, các giá trị này được ghi vào các thanh ghi codec qua I2C trong quá trình khởi động. Quy trình tương tự sẽ được sử dụng cho các bộ lọc thông thấp và các tính năng khối kỹ thuật số khác, mặc dù các hàm truyền thường khác nhau, yêu cầu sử dụng bộ phương trình riêng của chúng (tham khảo biểu dữ liệu).

Mẹo và thủ thuật để điều chỉnh codec âm thanh

Các khối lọc kỹ thuật số có trong codec âm thanh thường khá linh hoạt và mạnh mẽ. Ngay cả codec âm thanh chi phí thấp cũng cung cấp cho các nhà phát triển các công cụ cần thiết để tạo ra âm thanh có độ trung thực cao. Tuy nhiên, vào cuối ngày, codec âm thanh chỉ là một phần của câu đố. Để điều chỉnh thành công codec âm thanh, các nhà phát triển nên ghi nhớ một số "mẹo và thủ thuật" như:

  • Đảm bảo rằng loa được gắn trong một vỏ bọc thích hợp cho ứng dụng. Hộp loa được thiết kế không phù hợp có thể dễ dàng làm hỏng một hệ thống phát lại hoàn hảo.
  • Không điều chỉnh các khối bộ lọc âm thanh codec cho đến khi hệ thống được lắp ráp hoàn chỉnh trong cấu hình mục đích sản xuất của nó. Các thông số điều chỉnh có thể thay đổi.
  • Chọn dải tần dựa trên âm thanh sẽ phát. Ví dụ: cài đặt tần số cho nhạc từ guitar, piano hoặc ai đó đang nói đều sẽ khác nhau.
  • Sử dụng khối cân bằng kỹ thuật số để bù đáp ứng tần số của loa. Một số tần số sẽ tự nhiên phát ra âm thanh to hơn và rõ ràng hơn và có thể cần được làm giảm âm lượng, trong khi những tần số khác có thể cần được khuếch đại.
  • Sử dụng âm kiểm tra để đánh giá đáp ứng tần số của hệ thống. Một tìm kiếm trên Internet đơn giản sẽ cung cấp các tệp mp3 cho nhiều loại âm thanh có thể được sử dụng để hiểu đáp ứng tần số của hệ thống phát lại âm thanh và cách khối lọc kỹ thuật số hoạt động.
  • Lưu trữ các cài đặt cấu hình khối bộ lọc trong flash hoặc EEPROM để chúng có thể được thiết lập trong quá trình sản xuất để tính đến các biến thể giữa hệ thống (nếu điều đó là đáng quan tâm).

Các nhà phát triển làm theo các “mẹo và thủ thuật” này sẽ thấy rằng họ tiết kiệm được kha khá thời gian và nỗi buồn khi cố gắng điều chỉnh hệ thống phát lại âm thanh của mình và đảm bảo nó được đưa ra thị trường với các đặc tính âm thanh dự kiến.

Kết luận

Việc thêm codec âm thanh vào hệ thống nhúng không đảm bảo rằng nó sẽ có âm thanh tốt đối với người dùng cuối. Mọi hệ thống phát lại âm thanh cần được điều chỉnh cẩn thận. Có thể sử dụng các bộ lọc bên ngoài để đạt được điều chỉnh này, nhưng codec âm thanh đi kèm với khả năng lọc và cân bằng kỹ thuật số được tích hợp sẵn. Như đã trình bày, chúng có thể được sử dụng để chỉ cung cấp cho loa những tần số phù hợp nhất. Với việc phân tích cẩn thận và áp dụng các cài đặt bộ lọc, các nhà phát triển có thể tạo ra âm thanh rõ ràng mà người dùng cuối mong đợi từ thiết bị của họ.