Phổ biờn độ

Một phần của tài liệu Xây dựng chương trình xử lý âm thanh số (Trang 65 - 77)

Chớnh vỡ bất cứ õm thanh nào cũng cú thể làm vỡ thành cỏc súng hỡnh sin nờn ta cú thể miờu tả dạng phổ tần số của õm thanh. Phổ tần số của õm thanh là một đồ thị với hai trục biờn độ và tần số. Từ đồ thị này, ta cú thể xỏc định được cỏc tần số của õm thanh. Thụng thường, tần số cơ bản cũng là tần số mạnh nhất mà nú xuất hiện trong õm thanh. Từ tần số cơ bản, ta cú thể cảm nhận được cường độ õm thanh tổng thể. Hơn nữa, tần số của một õm phức tạp chớnh là tần số của một súng hỡnh sin với cựng một cường độ cảm nhận được. Tần số cơ bản này cũng là tần số của súng hỡnh sin mạnh nhất trong õm thanh. Vỡ vậy, ta cú thể dự đoỏn được cường độ của õm thanh bằng cỏch đo phổ tần số và nhặt ra thành phần lớn nhất. Tuy nhiờn, trong một số trường hợp, tần số cơ bản là rất trầm hay thậm chớ là hoàn toàn biến mất, và chỳng ta vẫn nghe thấy cựng một cường độ. Hơn nữa, nếu õm thanh chứa nhiễu thỡ tuỳ mức độ, ta rất khú xỏc định được cỏc tần số õm thanh.

Trước hết, ta xột một tớn hiệu được biểu diễn dưới dạng thời gian. Đõy là tớn hiệu gốc chưa được xử lý (lọc và giới hạn qua hàm cửa sổ):

Hỡnh 4.11: Tớn hiệu trong miền thời gian

Với một tớn hiệu như vậy, khụng qua cỏc phộp tiền xử lý, ta quan sỏt phổ tương ứng:

Hỡnh 4.12: Phổ của tớn hiệu gốc

Toàn bộ phổ bị làm mờ đi do sự bao phủ của toàn bộ dải tần lớn của cỏc tần số mà chỳng khụng cú trong tớn hiệu gốc. Hiệu ứng này thường được gọi là hiện tượng rũ rỉ (leakage). Đõy luụn là một vấn đề khi ta xột tới cỏc tần số, mà tại đú ta tớnh toỏn biờn độ, lại khụng phự hợp với cỏc tần số cú trong tớn hiệu gốc. Do đú, để làm rừ hơn, ta chọn số cỏc chu kỳ của tần số trong tớn hiệu gốc là một số khụng nguyờn.

Hỡnh 4.13: Tớn hiệu gốc với số chu kỳ khụng nguyờn

Hỡnh 14: Phổ tương ứng số chu kỳ khụng nguyờn

Ta thấy một phần chu kỳ cuối cựng của tớn hiệu bị mất. Trong phổ tương ứng ta cú thể thấy hiện tượng bị mộo là rất rừ khi mà ta tớnh toỏn biờn độ tại tần số của tớn hiệu gốc nằm giữa hai đường.

Vấn đề cơ bản của cỏc quỏ trỡnh phõn tớch tần số (hiện nay và trong tương lai) là hiện tượng bị mộo bị tạo ra do cỏc tần số cú một số khụng nguyờn cỏc chu kỳ trong tớn hiệu được phõn tớch. Nhưng ta cũng cú thể xem xột nú theo một khớa cạnh khỏc. Nếu hiện tượng mộo đú sẽ khụng được hiển diện, thỡ sẽ cần thiết tớnh toỏn biờn độ tại tần số đó biết (giỏ trị thực tế và giỏ trị trong phổ tương ứng là khỏc nhau). Nờn hầu như là sẽ khụng thể nhận được một phổ hoàn chỉnh. Và thụng thường, chỳng ta quan tõm tới 2 khớa cạnh:

 Biờn độ chớnh xỏc tương ứng với tần số chỉ định.  Tần số của đỉnh hiện thời hiển thị trong phổ.

Cả hai vấn đề này đó được giải quyết. Tuy nhiờn, nếu tần số của tớn hiệu rơi vào giữa 2 dũng, thỡ hầu như ta khụng thể núi được tần số hay biờn độ thực sự của tớn hiệu đú. Và làm thế nào để cú thể biết được đõu là cỏc tần số thực sự mà chỳng ta cú thể quan sỏt.

Để cú thể quan sỏt được những thay đổi của biờn độ tương ứng với tần số, ta sẽ đo trực tiếp trờn phổ của nú. Và ta thấy biờn độ trong phổ luụn thấp hơn so với thực tế khoảng 36%, và tần số luụn được quy trong theo dũng.

Rất nhiều phương thức khỏc nhau đó được phỏt triển nhằm làm cho cỏc quỏ trỡnh phõn tớch tần số trở nờn dễ dàng, chớnh xỏc và nhanh hơn. Một trong cỏc phương phỏp nổi tiếng là sử dụng hàm cỏc cửa sổ.

Hàm cửa sổ (Windows)

Cỏc hàm cửa sổ được sử dụng để thao tỏc với dữ liệu (tớn hiệu gốc) theo cỏch mà thụng tin mong muốn cú thể được chiết xuất từ phổ. Điều đầu tiờn mà ta cần phải biết về cỏc hàm cửa sổ là hiệu ứng của một tần số tuần hoàn (period frequency) khụng nguyờn, như một kết quả trực tiếp của hàm cửa sổ. Trong thực tế, tớn hiệu cần phõn tớch được giới hạn về độ dài, hoạt động giống như một cửa sổ. Cửa sổ này thường được gọi là cửa sổ chữ nhật (Rectangular). Chỳng ta đó cú một hiệu ứng cửa sổ mà khụng phải ỏp dụng bất cứ sự chuyển đổi nào. Và với một hàm cửa sổ núi chung, chỳng ta sẽ nhận được một cỏch chớnh xỏc nhất cú thể cỏc biờn độ và tần số tớn hiệu hiện thời.

Và, tuỳ theo yờu cầu phõn tớch tớn hiệu qua phổ của tớn hiệu mà ta sử dụng dạng cửa sổ tương ứng. Sau đõy là một số hàm cửa sổ thụng dụng.

Hanning

Với tớn hiệu được giới hạn qua cửa sổ Hanning:

Hỡnh 4.15: Hanning

Hỡnh 4.16: Phổ biờn độ với cửa sổ Hanning

Hỡnh 4.17: Phổ biờn độ với cửa sổ chữ nhật

Ta hóy quan sỏt hiệu ứng rũ rỉ cũng như độ chớnh xỏc về biờn độ trong phổ tương ứng. So với cửa sổ chữ nhật, ta thấy hiện tượng làm mờ phổ vẫn cũn rừ thậm chớ với ngay cả một số nguyờn cỏc chu kỳ, và hơn nữa đỉnh tương ứng cũng hẹp hơn.

15% thay vỡ 35% như đồi với cửa sổ chữ nhật.

Một cỏch rừ ràng rằng hiệu ứng rũ rỉ của cửa sổ Hanning nhỏ hơn rất nhiều so với cửa sổ chữ nhật. Bất lợi duy nhất của cửa sổ Hanning so với cửa sổ chữ nhật là đỉnh sẽ rộng hơn khi cú một số nguyờn cỏc chu kỳ. Nhưng điều này cũng đủ để bự lại cú độ chớnh xỏc về biờn độ cao và hiện tượng rũ rỉ thấp. Bởi vỡ, trờn thực tế để cú thể đạt được độ chớnh xỏc về biờn độ cao hơn ta phải chấp nhận với một đỉnh rộng hơn. (Cửa sổ Flat top đó được phỏt triển riờng với mục đớch đú).

Trong thực tế, cửa sổ Hanning là dạng thụng dụng nhất do cú sự rũ rỉ thấp. Điều này thể hiện ở chỗ, với cửa sổ chữ nhật thỡ tần số thứ hai hầu như khụng hiển thị. Nơi mà rất cần thiết để cú thể quan sỏt cỏc tần số với cỏc biờn độ nhỏ bờn cạnh cỏc biờn độ lớn.

Flat top

Đõy là dạng cửa sổ được thiết kế riờng cho cỏc phộp đo biờn độ phổ.

Hỡnh 4.18: Phổ biờn độ với cửa sổ Flat top

Từ phổ tương ứng, ta cú thể nhận thấy cú ớt sự rũ rỉ hơn so với cửa sổ chữ nhật, nhưng lại nhiều hơn so với cửa sổ Hanning. Mặc dự vậy, đõy khụng phải mục đớch của dạng cửa sổ này. Trong trường hợp xấu nhất biờn độ chỉ cú sai số 0.2%.

Black man (adsbygoogle = window.adsbygoogle || []).push({});

Quan sỏt phổ tương ứng, ta thấy sự rũ rỉ nhỏ hơn một chỳt so với cửa sổ Hanning nhưng với đỉnh rộng hơn, và độ chớnh xỏc tốt hơn một chỳt so với cửa sổ Hanning. Núi chung, đõy là dạng cửa sổ tốt nhất cho phần lớn ứng dụng.

Hỡnh 4.19: Phổ biờn độ với cửa sổ Black man

Hamming

Nhưng quan sỏt phổ tương ứng, ta thấy rằng sự rũ rỉ là lớn (gần như đối với cửa sổ chữ nhật), và sự chớnh xỏc về biờn độ với sai số cực đại là 18.1%. Và cửa sổ Hamming cú bỳp phụ thứ nhất rất nhỏ so với cửa sổ Hanning. Cho nờn cửa sổ Hamming kộm hơn so với cửa sổ Hanning, nhưng lại tốt hơn so với cửa sổ chữ nhật.

Túm lại, biểu diễn dạng phổ phản chiếu cỏc thuộc tớnh thay đổi theo thời gian của súng õm.

Với Hamming, tớnh tuần hoàn của tớn hiệu là rất rừ ràng, phổ tương ứng với tần số cơ bản và tớnh hài hoà hiện ra giống như cỏc đỉnh hẹp tại cỏc tần số được khoảng cỏch hoỏ một cỏch đều nhau trong biến đổi Fourier thời gian ngắn.

So sỏnh giữa cửa sổ Hamming và cửa sổ chữ nhật: Phổ của Hamming mịn hơn so với phổ của cửa sổ chữ nhật. Cửa sổ chữ nhật do cú sự sắc nhọn tăng của cỏc hàm điều hoà cường độ, nờn độ phõn giải tần số lớn hơn so với cửa sổ Hamming cú cựng độ dài. Hơn nữa, cỏc "lobes" cạnh lớn cú liờn quan của cửa sổ chữ nhật tạo ra một sự khụng đồng đều hay phổ bị nhiễu. Hiệu ứng này xuất hiện là do "side lobes" dẫn tới việc cỏc hàm điều hũa lõn cận tương tỏc với nhau trong khoảng trống giữa cỏc hàm điều hoà - đụi khi tăng cường, nhưng đụi khi huỷ bỏ - theo cỏch đú tạo ra sự thay đổi xuất hiện ngẫu nhiờn giữa cỏc hàm điều hoà (harmonics). Sự rũ rỉ (leakage) khụng mong muốn giữa cỏc hàm điều hoà lõn cận hướng tới việc định vị cỏc lợi điểm của "lobe" chớnh hẹp hơn của cửa sổ chữ nhật. Nờn cỏc cửa sổ như vậy rất hiếm khi được sử dụng trong việc phõn tớch phổ tiếng núi.

Túm lại, độ phõn giải tần số thay đổi nghịch đảo với độ dài của cửa sổ. Hơn nữa, mục đớch của hàm cửa sổ là để giới hạn quóng thời gian của tớn hiệu phõn tớch để cho cỏc thuộc tớnh của súng õm khụng thay đổi một cỏch đỏng kể, thỡ ta cần sự lựa chọn như vậy.

Và tuỳ theo cửa sổ, với một quóng phõn tớch ngắn cú thể làm sai lệch đi một cỏch rừ rệt cỏc phộp biến đổi Fourier thời gian ngắn khỏc nhau. Vỡ vậy, một độ phõn giải theo thời gian tốt yờu cầu một cửa sổ ngắn, trong khi độ phõn giải tần số tốt lại yờu cầu một cửa sổ dài.

Ngoài ra, trong phộp biến đổi Fourier, phương thức chốn thờm cỏc giỏ trị 0 là rất quan trọng để cú thể hiểu rừ hơn về cỏch thức FFT hoạt động. Vớ dụ như, FFT yờu cầu số cỏc mẫu nờn là 8, 16, 32, 64... nhưng tớn hiệu lại khụng phải luụn cú độ dài mong muốn. Do đú, trong những trường hợp như vậy ta cho phộp một phần của tớn hiệu được thiết lập về 0. Ta cú thể quan sỏt cỏc hiệu ứng xảy ra trong phổ biờn độ nhận được bằng cỏch thay đổi bộ đệm 0 về 0.

2. Cepstrum

Trong ảnh phổ xuất hiện cỏc họ hài với chu kỳ của nguồn xung làm cho việc quan sỏt trở nờn khú khăn. Nếu cựng lỳc cú nhiều nguồn xung tuần hoàn với cỏc tần số khỏc nhau, trong ảnh phổ sẽ xuất hiện cỏc họ hài với cỏc chu kỳ khỏc nhau của cỏc nguồn, nờn cần phải dựng đến Cepstrum. Trong Cepstrum ta cú thể nhận ra cỏc xung nhảy vọt đặc trưng cho cỏc họ hài của phổ. Nếu ta chặn được cỏc xung của Cepstrum này, tớnh được dóy tớn hiệu theo thời gian sau khi đó dựng phộp biến đổi ngược, thỡ lỳc đú ta sẽ cú dạng đỏp ứng xung đặc trưng cho sự truyền đạt của hệ thống. Nếu dựng lọc tần số thấp để chặn tất cả cỏc tớn hiệu trừ xung của Cepstrum đặc trưng cho nguồn xung thỡ sau phộp biến đổi ngược ta nhận lại được tớn hiệu theo thời gian của đỏp ứng nguồn xung.

Hỡnh 4.21: Tớn hiệu tuần hoàn

Hỡnh 4.22: Cepstrum tương ứng với tớn hiệu tuần hoàn

Ta thấy Cepstrum biến đổi tương đối chậm đặc trưng cho hàm truyền đạt và Cepstrum nhảy vọt đại diện cho sự lặp lại tuần hoàn.

Tiến hành lọc cỏc thành phần biờn độ thấp tại điểm t = 6,47ms:

Hỡnh 4.23: Ngưỡng lọc

Tất cả cỏc thành phần sau ngưỡng lọc sẽ cú biờn độ được suy giảm về 0. Ta cú Cepstrum tương ứng như sau:

Hỡnh 4.24: Cepstrum sau khi lọc

Một nột đặc trưng chung cho phần lớn cỏc tớn hiệu rung mang ý nghĩa liờn quan tới cuộn trụi qua là tồn tại một vài loại của nhúm cỏc hàm điều hoà mà chỳng khụng đồng bộ một cỏch trực tiếp với tốc độ thay đổi của dạng phổ. Nhúm này cú thể là trong phần cuối tần số thấp của phổ, hay phần cuối cao hay cả hai. Nú cũng cú thể bao gồm rất nhiều cỏc õm mang ý nghĩa cơ bản và /hoặc cỏc "sidebands" tỷ lệ luõn chuyển. Trong bất cứ trường hợp nào, đều tồn tại một khoảng cỏch tần số chung nhằm tỏch riờng biệt cỏc đỉnh của nhúm tớn hiệu. Tớnh Cepstrum chớnh là sự chuyển đổi phổ ngược lại dạng tớn hiệu trong miền thời gian, dạng mà cú cỏc đỉnh tương ứng với chu kỳ của cỏc khoảng cỏch tần số chung trong phổ. Cỏc đỉnh này cú thể được sử dụng để tỡm cỏc đỉnh mang ý nghĩa trong phổ gốc.

Hỡnh 4.25: Phổ tương ứng với Cepstrum sau khi lọc

Sử dụng Cepstrum trong việc đỏnh giỏ cường độ và cỏc tần số đỉnh cộng hưởng. Nếu khụng cú sự dao động tuần hoàn trong phổ thỡ trong Cepstrum tương ứng sẽ khụng cú đỉnh xuất hiện. Do đú, với mọi õm thanh cú chu kỳ cường độ ngắn nhất, đỉnh cường độ xuất hiện trong cỏc vựng nơi mà cỏc thành phần Cepstrum khỏc đó suy giảm đi đỏng kể, nờn khú phỏt hiện xung nhảy vọt. Vỡ vậy, tốt nhất nờn sử dụng một ngưỡng thấp (cú thể là 0.1) trong quỏ trỡnh tỡm kiếm đỉnh cường độ.

Hỡnh 4.26: Phổ của tớn hiệu khụng tuần hoàn

Quan sỏt Cepstrum tương ứng ta thấy khụng cú đỉnh nổi trội.

Hỡnh 4.27: Cepstrum tương ứng

Tuy nhiờn, với một độ dài cửa sổ thớch hợp tại đầu vào, sự định vị và biờn độ của đỉnh Cepstrum cung cấp một cường độ đỏng tin cậy, và phần lớn cỏc đỏnh giỏ theo thời gian. Trong những trường hợp mà Cepstrum khụng hiển thị rừ cường độ và õm, ta cú thể cải thiện bằng cỏch thờm vào một số thụng tin phụ như tỷ lệ bắt chộo khụng (zero-crossing rate) và năng lượng...

năng mang ý nghĩa cơ bản. So sỏnh cỏc tần số này với cỏc đỉnh trong Cepstrum mà chỳng khụng liờn quan tới bất cứ tần số ộp buộc cơ bản nào.

Tuy nhiờn, Cepstrum cú thể được tỏch thành hai phần: phần dạng thời gian ngắn chứa tần số đỉnh cộng hưởng, xung thuộc thanh mụn, và thụng tin mang tớnh bức xạ; và thành phần dạng thời gian dài chứa thụng tin về chu kỳ.

Cỏc đỉnh định vị tại chu kỳ cơ bản của tớn hiệu và sự tăng bội của chu kỳ về sau đú với biờn độ giảm. Nờn, nếu tớn hiệu được lấy mẫu một cỏch thớch đỏng, thỡ Cepstrum sẽ khụng cú bất cứ sự giả mạo nào qua một vài chu kỳ đầu tiờn này. Việc nhặt ra một hay một số đỉnh của một vài chu kỳ đầu tiờn và đỏnh giỏ đỏnh giỏ chu kỳ cơ bản là một phương thức khỏc trong quỏ trỡnh đỏnh giỏ tần số cơ bản của tớn hiệu.

(adsbygoogle = window.adsbygoogle || []).push({});

Một phần của tài liệu Xây dựng chương trình xử lý âm thanh số (Trang 65 - 77)