XỬ LÝ THOẠI QUA SOUNDCAR D:

Một phần của tài liệu tìm hiểu công nghệ voip xây dựng mô hình truyền thoại pc to pc ( phần truyền ) (Trang 141 - 144)

Quâ trình xử lý tín hiệu thoại được tiến hănh trín chip DSP của soundcard. Vì bản chất của đm thanh lă một tín hiệu tương tự được thiết lập từ 3 thănh phần: biín độ, tần số vă pha. Trong khi mây tính chỉ có thể lăm việc với câc tín hiệu số, do vậy để có thể lưu trữ được câc tín hiệu đm thanh, bộ DSP được sử dụng để chuyển đổi đm thanh sang dạng tín hiệu số để mây tính có thể lưu trữ vă xử lý chúng dưới dạng số liệu. Để thực hiện chức năng trín, DSP được cấu hình từ hai thănh phần sau:

- Bộ chyển đổi A/D số hóa đm thanh, chuyển đổi tín hiệu từ dạng tương tự sang dạng số. Để thực hiện điều năy, bộ chuyển đổi ADC phải lấy mẫu câc tín hiệu trong câc khoảng thời gian nhất định. Sau đó câc mẫu năy được chuyển sang một chuỗi số tương ứng với giâ trị đê được lượng tử hóa của chúng. Tốc độ lấy mẫu căng lớn thì độ chính xâc của câc tín hiệu đê được mê hóa căng cao.

- Bộ chuyển đổi D/A có chức năng tâi tạo lại dạng tín hiệu tương tự của đm thanh từ chuỗi bit mê hóa nhận được. DAC chuyển đổi chuỗi số sang dạng tín hiệu tương tự vă chuyển chúng đến cổng audio để đưa đến câc bộ khuyếch đại vă phât ra loa dưới dạng câc sóng đn thanh có thể nhận biết được.

Có hai câch để thu phât đm thanh sử dụng DSP, trực tiếp hay thông qua việc sử dụng DMA.

- Sử dụng DMA (kính truy xuất bộ nhớ trực tiếp) sẽ ít tiíu tốn thời gian của bộ xử lý. Bộ xử lý có thể thực thi câc tiến trình khâc mă không cần mất nhiều thời gian cho việc thu phât đm thanh.

- Thu phât đm thanh trực tiếp trín DSP, cho phĩp thực thi tất cả câc tiến trình điều chỉnh tín hiệu… Tuy vậy phương phâp năy đòi hỏi phải có sự tham gia xử lý của CPU.

Như vậy để thực thi câc quâ trình thu phât, xử lý đm thanh trín chip DSP có thể thực hiện theo một trong hai câch trín vă cũng có thể sử dụng nhiều ngôn ngữ lập trình khâc nhau. Tùy theo môi trường lăm việc vă công suất của CPU mă lựa chọn phương phâp phù hợp.

- Hoặc lập trình hệ thống, điều khiển chip DSP trín soundcard, hai kính DMA cũng như câc tín hiệu ngắt từ DSP tới CPU. Phương phâp năy thực hiện chủ yếu trong môi trường DOS, có thể dùng lập trình ngôn ngữ assembly để đơn giản cho việc dịch mê lệnh cũng như tăng tốc độ xử lý CPU. Tuy nhiín phương phâp năy rất hạn chế cho khả năng phât triển chương trình chạy trín nhiều mây khâc nhau có kiểu soundcard khâc nhau, với kính DMA sử dụng vă câc đường ngắt dănh sẵn khâc nhau. Nếu không quản lý tốt rất dễ xảy ra tranh chấp về kính DMA vă về độ ưu tiín câc tín hiệu ngắt tới CPU khi CPU cần xử lý nhiều nhiệm vụ khâc nhau

quản lý tất cả câc thiết bị ngoại vi như câc chip DSP, câc kính DMA. Người lập trình dễ dăng giao tiếp với mọi loại card đm thanh thông qua giao diện Windows API mă điển hình lă câc hăm lớp CWAVE cũng như họ MMIO biểu diễn thuộc tính file *.wav.

Trong mô hình thiết kế hệ thống truyền thoại qua IP, phương phâp thứ hai được lựa chọn vì phương phâp năy không đòi hỏi phải giao tiếp trực tiếp với câc phần cứng bín dưới, việc điều khiển chip xử lý DSP có thể thực hiện trín lớp ứng dụng. Điều năy mang lại hai ưu điểm sau:

- Tâch biệt được khối xử lý phần cứng vă phần mềm ứng dụng. - Lập trình trín môi trường Windows cho phĩp xđy dựng câc

giao diện chương trình gần gũi với người sử dụng.

Để thực hiện câc quâ trình xử lý tín hiệu trín soundcard, chương trình thiết lập câc định dạng cho tín hiệu đm thanh thu phât được CODEC theo chuẩn G.711 tức mê hóa PCM, mỗi mẫu đm thanh được biểu diễn bởi β=8 bit nhị phđn. Trong đó bit cao nhất lă bit dấu, 7 bit còn lại biểu diễn 256 mẫu tổ hợp từ -127 tới +127. Nếu tín hiệu đm thanh lă im lặng, giâ trị của mẫu dao động từ -127 tới +125.

Vì băng thông thoại lă 4khz, theo tiíu chuẩn Nyquist, tần số lấy mẫu fs=2*BW. Do đó đm thoại được lấy mẫu ở tần số 8khz vă tốc độ bit lă Br:

Br = fs*β = 8*8 = 64 Kbps

Buffer thu có kích thước được chọn lă 400 byte. Việc lựa chọn kích thước của buffer phải đâp ứng hai yíu cầu sau:

- Không gđy độ trễ quâ lớn sẽ lăm mất đi tính thời gian thực của dịch vụ thoại.

- Đảm bảo chất lượng của câc tín hiệu thoại, không gđy hiện tượng rung hay ngắt quêng tiếng nói.

Do đó kích thước của buffer không được chọn quâ lớn sẽ gđy trễ vă không được chọn quâ nhỏ, một mặt sẽ lăm hao phí băng thông đường truyền mặt khâc lăm giảm chất lượng đm thoại thu được. Trín thực tế giâ trị của buffer được lựa chọn thông qua quâ trình chạy thử chương trình để tìm giâ trị tối ưu nhất.

Chọn kích thước bộ đệm thu lă 400 byte độ trễ do quâ trình thu tín hiệu thoại lă :

tthu = 400/8000 = 50 (ms)

Tương tự kích thước buffer phât cũng lă 400 byte, thời gian để phât hết buffer cũng lă:

tphât = tthu = 50 (ms)

Một phần của tài liệu tìm hiểu công nghệ voip xây dựng mô hình truyền thoại pc to pc ( phần truyền ) (Trang 141 - 144)