2. Nội dung các phần thuyết minh và tính toán:
3.3.2 Quá trình triệt tiếng vọng
Có 2 giải phát để giải quyết vấn đề này, giảm Echo (Echo Suppression) và khử Echo (Echo Cancellation). Luận văn này chỉ tập trung vào vấn đề triệt tiếng vọng bằng cách sử dụng các thuật toán thích nghi (Acoustic Echo Cancellatio - AEC).
Quá trình triệt tiếng vọng sử dụng các bộ giải thuật thích nghi LMS, RLS về mặt lý thuyết cũng giống nhƣ quá trình triệt khiểu thích nghi đã trình bày ở phần trên.
Hình 3.10: Sơ đồ hệ thống triệt tiếng vọng
Trong đ :
(1): Tín hiệu gốc: x(n)
(2): Tín hiệu trể k chu kì mẫu và biên độ bị suy giảm: ax(n-kT) (3): Khối echo: là khối tổng hợp giữa khối (1) và khối (2):y(n) (4): Khối xử lý: dùng giải thuật LMS để triệt đi tín hiệu trể. (5): Tín hiệu sau khi qua sử lý là gần giống với tín hiệu gốc:x(n).
3.3.3 Sử dụng lọc thích nghi để triệt echo.
Tín hiệu echo đƣợc đƣa vào bộ lọc thích nghi tạo ra một bản sao của Echo ở đầu ra y (n) ,tín hiệu cộng tiếng vọng d(n) trừ đi y(n) ,tín hiệu lỗi e (n) thu đƣợc từ sự khác biệt giữa chúng.
e(n) = d(n) – y(n)
Hình 3.11: Sơ đồ nguyên lý sử dụng lọc thích nghi triệt echo.
Tín hiệu gốc Tín hiệu gốc được làm trể echo Xử lý Tín hiệu gốc (1) (3) (4) (2) (5)
Thuật toán LMS là một trong những thuật toán đƣợc sử dụng nhiều nhất bởi vì nó rất dễ dàng và ổn định. Nhƣợc điểm duy nhất là tốc độ hội tụ rất là chậm .
Nhìn vào hình ta thấy rất rõ khuyết điểm này, đƣờng màu đỏ tín hiệu ngõ ra e(n) phải đến vòng lặp thứ 1500 mới dần hội tụ về giá trị 0,tín hiệu echo ở ngõ ra cũng đƣợc lọc nhƣng thời gian đáp ứng rất lâu.Chúng ta sẽ xem xét thuật toán RLS sau.
Hình 3.12: Triệt echo sử dụng thuật toán LMS
Thuật toán RLS là một công cụ quan trọng cho việc xác định các hệ số của bộ lọc thích nghi tuyến tính. Thuật toán RLS tăng độ phức tạp, số lƣợng các phép toán, và độ tin cậy. Do đ , RLS đƣa ra độ hội tụ nhanh hơn và lỗi ít hơn, nhƣng đổi lại yêu cầu phí tổn cho nhiều sự tính toán hơn. Nhìn vào hình ta thấy đƣờng màu đỏ tín hiệu e(n) hội tụ về giá trị 0 trong những vòn lặp đầu tiên, tín hiệu echo đƣợc loại bỏ ở ngõ ra rất nhanh.
3.3.4 Một số yếu tố ảnh hƣởng đến chất lƣợng triệt tiếng vọng.
Có một số yếu tố khác nhau ảnh hƣởng đến hiệu suất chất lƣợng bộ lọc triệt tiếng vọng nhƣ là cấu trúc bộ lọc , thuật toán, tốc dộ hội tụ,tốc độ xử lý của chip DSP.
Tốc độ hội tụ: Tỷ lệ hội tụ cần phải nhanh hơn để ƣớc tính
bộ lọc mong muốn. Tốc độ hội tụ giảm làm cho hệ thống không ổn định.
Bộ lọc IIR và FIR là cấu trúc cơ bản để thiết kế bộ lọc triệt tiếng vọng.
Bộ lọc FIR đƣợc coi là tốt hơn để thực hiện vì sự ổn định và khả năng tính toán tốt hơn. Sự hội tụ tốc độ có thể đƣợc cải thiện bởi sự hội tụ nhanh (thuật toán RLS hội tụ nhanh hơn LMS).
Để đánh giá chất lƣợng của thuật toán triệt tiếng vọng ngƣời ta sử dụng thông số ERL(echo return loss) và (echo return loss enhancement) để đánh giá hiệu suất.
ERL : là tỉ số giữa công suất của tín hiệu gửi đến loa và công suất tiếng vọng trở lại của echo, đƣợc đo bằng dB.
2
10 10 2
[ ( )]
ERL 10 log ( ) 10 log ( )
[ ( )] x d P E x n P E d n (3.6)
ERLE :Đƣợc xác định bởi tỉ số giữa công suất tín hiệu gửi đi và công suất tín hiệu lỗi còn lại ngay sau khi triệt tiếng vọng, đơn vị tính dB.
2 10 2 ( ) [ ( )] ERLE=10log 10 log( ) ( ) [ ( )] d e P n E d n P n E e n (3.7)
Bảng 3.2: So sánh thông số ERLE giữa thuật toán LMS và RLS.
Thuật toán Average ERLE (dB)
LMS 31,52
RLS 39,22
Trong thực tế một mạch triệt tiếng vọng tốt,có Erle trong khoảng 30 dB - 40dB là đƣợc coi là lý tƣởng.
.
Hình 3.14 : Biểu đồ so sánh ERLE giữ thuật toán RLS và LMS
Giá trị dB dọc theo trục y và số lƣợng mẫu vật dọc theo trục x.
Biểu đồ của Erle cho thấy rằng các Erle cho thuật toán LMS, RLS đều đạt giá trị yêu cầu.
Thông số ERLE sử dụng thuật toán RLS lớn hơn thuật toán LMS, điều đ c nghĩa thuật toán RLS tốt hơn LMS.
Kết luận :
Trong luận án này, chúng tôi nghiên cứu làm thế nào để hủy bỏ tiếng vọng (AEC). Một trong những vấn đề quan đề quan trọng trong viễn thông ,hệ thống điện thoại là đ làm sao loại bỏ đƣợc tiếng vọng. Các thuật toán thích nghi RLS, LMS đƣợc sử dụng để laoị bỏ Echo trình bày trong luận án này nhƣ là một giải pháp phần mềm để giải quyết cho các vấn đề của tiếng vọng trong môi trƣờng viễn thông.
AEC là phƣơng pháp thông thƣờng để giải quyết các vấn đề tiếng vọng. theo lý tƣởng điều kiện AEC có thể đạt đƣợc echo hủy bỏ hoàn toàn.
CHƢƠNG 4 :
GIỚI THIỆU PHẦN MỀM CCS VÀ KIT TMS320C6713 4.1 Giới thiệu về phần mềm CCS (Code Composer Studio).
Code Composer Studio là môi trƣờng phát triển tích hợp (IDE) xây dựng ứng dụng cho các bộ xử lý tín hiệu số DSP, các vi điều khiển và các vi xử lý của hãng Texas Instruments (TI).
Code Composer Studio bao gồm bộ các công cụ sử dụng để phát triển và gỡ rối các ứng dụng. Nó bao gồm các bộ biên dịch cho mỗi họ của TI, trình soạn thảo mã nguồn, môi trƣờng xây dựng dự án, gỡ rối, profiler, mô phỏng và nhiều đặc trƣng khác. CCS hỗ trợ gỡ rối thời gian thực và mô phỏng dạng đồ họa.CCStudio IDE cung cấp một giao diện ngƣời dùng duy nhất để thực hiện qua các giai đoạn phát triển ứng dụng. Các công cụ và giao diện quen thuộc cho phép ngƣời sử dụng làm quen nhanh chóng và thêm các chức năng cho ứng dụng nhờ các công cụ.
Các bƣớc cơ bản thực hiện trên CCStudio bao gồm biên dịch C, hợp dịch, liên kết, gỡ rối, mô phỏng và emulator. Đầu tiên CCStudio dịch mã C thành mã dƣới dạng mã gợi nhớ hoặc dạng đại số cho DSP cụ thể mà ta lựa chọn (đuôi .asm). Bƣớc tiếp theo là dịch mã assembly thành mã đối tƣợng dƣới dạng nhị phân (hoặc ngôn ngữ máy) cụ thể đối với DSP lựa chọn (đuôi .obj). Trình liên kết thực hiện liên kết các file đối tƣợng để tạo tạo thành một file đối tƣợng duy nhất bằng cách gán các địa chỉ tuyệt đối trong bộ nhớ cho DSP cụ thể (đuôi .out). File thực hiện này có thể tải và chạy trực tiếp trên bộ DSP.
Sau khi đã tạo ra file thực hiện, chúng ta phải kiểm tra và gỡ rối bằng cách sử dụng phần mềm mô phỏng và emulator.
Hình 4.1: Lưu đồ phát triển phần mềm tạo ra mã đối tượng từ ngôn ngữ C
4.2 Giới thiệu về kit TMS320C6713.
DSP Starter Kit TMS320C6713 là kit phát triển cho phép ngƣời sử dụng thiết kế và thử nghiệm các ứng dụng cho chip xử lý tín hiệu số TMS320C6713 của Texas Instruments. DSK này có thể đƣợc sử dụng nhƣ một thiết kế tham khảo cho giao tiếp giữa DSP với các thành phần phổ biến nhƣ SDRAM, FLASH và các bộ mã hóa/giải mã codec. Trên Kit có bộ JTAG emulator cho phép gỡ rối chƣơng trình từ Code Composer Studio thông qua cổng USB của máy tính. DSK có chứa các thành phần cần thiết để làm việc với DSP của TI.DSK cũng c thể sử dụng với phiên bản đầy đủ của Code Composer Studio và một bộ JTAG emulator ngoài.
Hình 4.2: Board DSK 6713
4.2.1 Sơ đồ khối và các đặc trƣng của kit TMS320C6713.
Hình 4.4: Sơ đồ khối DSK C6713
C6713 trên DSK có 264kB bộ nhớ trong, bắt đầu tại 0x00000000 và 16MB bộ nhớ SDRAM ngoài, đƣợc ánh xạ qua CE0 bắt đầu tại 0x80000000. DSK cũng bao gồm 512kB bộ nhớ FLash (256kB sẵn sàng cho ngƣời sử dụng), đƣợc ánh xạ qua CE1 bắt đầu tại 0x90000000.
Một số đặc trƣng:
DSP TMS320C6713 hoạt động ở tần số 225MHz
Một bộ codec stereo AIC23
16 Mbytes DRAM đồng bộ
512 Kbytes bộ nhớ Flash (cấu hình mặc định 256 Kbytes)
4 LED và DIP switches
Cấu hình board bằng lệnh thông qua các thanh ghi của CPLD
Khe cắm mở rộng
JTAG emulation
Nguồn cấp +5V
Chip DSP trên DSK giao tiếp với các ngoại vi trên kit thông qua bộ giao tiếp bộ nhớ ngoài EMIF (Extrenal Memory InterFace) c độ rộng 32 bit. SDRAM, Flash và CPLD đƣợc kết nối với bus. Các tín hiệu EMIF cũng đƣợc kết nối với card mở rộng thông qua các connector để kết nối với card của hãng thứ ba.
DSP giao tiếp với các tín hiệu audio tƣơng tự thông qua bộ codec AIC23 và bốn jack audio 3.5mm (microphone input, line input, line output, headphone output). Tại một thời điểm, bộ codec có thể lựa chọn microphone hoặc line input là đầu vào. Lối ra tƣơng tự đƣợc điều khiển cho cả line output (khuếch đại cố định) và headphone (khuếch đại có thể điều chỉnh). McBSP0 đƣợc sử dụng để gửi các lệnh tới bộ giao tiếp điều khiển codec trong khi McBSP1 đƣợc sử dụng cho dữ liệu audio số.
CPLD (Programmable logic device) đƣợc sử dụng kết nối logic các thành phần trên kit. CPLD giao tiếp ngƣời dùng thông qua việc cho phép cấu hình kit bằng cách đọc và ghi tới các thanh ghi của nó.
DSK có 4 LED và 4 DIP switch cung cấp cho ngƣời sử dụng các tƣơng tác, phản hồi đơn giản.
Code Composer giao tiếp với DSK thông qua một bộ JTAG emulator nhúng sẵn sử dụng cổng USB. DSK cũng c thể đƣợc sử dụng với một bộ emulator ngoài qua kết nối JTAG ngoài.
4.2.2 Hoạt động cơ bản.
DSK đƣợc thiết kế để làm việc với phần mềm phát triển Code Composer Studio (CCStudio). Code Composer giao tiếp với Kit thông qua bộ JTAG emulator on-board. Sau khi cài đặt phần mềm CCStudio, làm theo các bƣớc sau để kết nối DSK với máy tính:
Kết nối DSK với máy tính thông qua cable USB chuẩn
Nối nguồn với DSK
Khởi động CCStudio trên máy tính
4.2.3 Bản đồ nhớ.
Họ C67xx c không gian địa chỉ lớn.Chƣơng trình và dữ liệu có thể đặt ở vị trí bất kỳ trong không gian nhớ.Các địa chỉ c độ rộng 32 bit. Bản đồ nhớ chỉ ra không gian địa chỉ chung của DSP 6713 bên trái và các mục đích sử dụng cụ thể của DSK ở bên phải. Mặc định, bộ nhớ trong nằm ở địa chỉ đầu của không gian địa chỉ.Các phần của bộ nhớ trong có thể cấu hình lại bằng phần mềm.EMIF c 4 vùng địa chỉ riêng rẽ đƣợc gọi CE0-CE3. SDRAM chiếm CE0 trong khi bộ nhớ Flash và CPLD chia sẻ CE1. CE2 và CE3 dành cho các kết nối mở rộng.
Hình 4.5: Bản đồ nhớ và tổ chức bộ nhớ của DSK C6713
4.3 Các thành phần của kit TMS320C6713. 4.3.1CPLD(Programmable Logic). 4.3.1CPLD(Programmable Logic).
CPLD đƣợc sử dụng để thực thi các chức năng cụ thể của DSK. Việc thiết kế phần cứng thƣờng sử dụng tập hợp các khối chức năng khác nhau và tận dụng khả năng tích hợp cao của DSP, tránh sử dụng các thành phần logic bên ngoài. CPLD thực thi các chức năng logic khác nhau để loại bỏ các thiết bị thêm vào hệ thống. Ví dụ, CPLD kết nối nhiều các tín hiệu reset khác nhau đến từ các nút reset và theo dõi nguồn và tạo ra một tín hiệu reset chung.
C6713 DSK sử dụng một CPLD Altera EPM3128TC100-10. EPM3128TC100- 10 hoạt động ở điện áp 3.3V, 100 chân dạng đóng vở QFP, chứa 128 macrocells, 80 chân vào/ra, thời gian trễ 10 ns từ chân này đến chân kia. Thiết bị dựa trên EEPROM và có thể cấu hình trong hệ thống thông qua giao tiếp JTAG. File mã nguồn của CPLD đƣợc viết theo chuẩn công nghiệp VHDL và đi kèm với DSK.
4.3.2 AIC23 Codec.
DSK sử dụng một bộ codec stereo AIC23 của Texas Instruments cho các tín hiệu audio vào/ra. Bộ codec lấy mẫu các tín hiệu tƣơng tự trên microphone hoặc line input và chuyển đổi chúng thành tín hiệu số để DSP có thể xử lý đƣợc. Khi
tƣơng tự trên đƣờng line output và headphone để ngƣời sử dụng có thể nghe đƣợc.Điện áp lớn nhất của tín hiệu lối vào đƣợc xác định bởi mạch ADC trong codec, giá trị này là 6 Vpp với codec trên Kit.
Hình 4.6: Hệ thống DSP với tín hiệu và, ra tương tự
Bộ codec giao tiếp với DSP sử dụng hai kênh nối tiếp, một để điều khiển các thanh ghi cấu hình bên trong codec và một để gửi và nhận các mẫu audio số. McBSP0 đƣợc sử dụng nhƣ kênh điều khiển một hƣớng. N đƣợc lập trình để gửi từ điều khiển c độ rộng 16 bit tới AIC23 dƣới định dạng SPI. 7 bit cao của từ điều khiển xác định thanh ghi đƣợc điều chỉnh và 9 bit thấp chứa giá trị thanh ghi. Kênh điều khiển chỉ đƣợc sử dụng khi cấu hình codec, nó ở trạng thái nghỉ khi dữ liệu audio đang đƣợc truyền.
McBSP1 đƣợc sử dụng nhƣ kênh dữ liệu hai hƣớng.Tất cả dữ liệu audio đi qua kệnh này.Rất nhiều định đạng dữ liệu đƣợc hỗ trợ dựa trên sự thay đổi độ rộng mẫu, nguồn tín hiệu clock và định dạng dữ liệu nối tiếp. Các ví dụ DSK nói chung sử dụng độ rộng mẫu 16 bit với codec ở chế độ chủ, nó tạo ra tín hiệu đồng bộ khung ở tốc độ lấy mẫu đúng mà không cần sự can thiệp của DSP.
Codec có tần số xung nhịp hệ thống 12MHz. Bộ chia bên trong codec tạo ra các tần số lấy mẫu phổ biến nhƣ 48KHz, 44.1KHz và 8KHz. Tốc độ lấy mẫu đƣợc đặt bởi thanh ghi SAMPLERATE của codec.
Hình 4.7: Giao tiếp của Codec trên DSK
AIC23 là bộ code stereo audio, nó thực hiện tất cả các chức năng đòi hỏi của ADC, DAC, bộ lọc thông thấp, oversampling.
4.3.3 SDRAM.
DSK sử dụng 128 megabit bộ (16 megabytes) nhớ SDRAM giao tiếp qua EMIF 32 bit. SDRAM đƣợc đánh địa chỉ tại địa chỉ bắt đầu CE0 (c địa chỉ 0x8000 0000).Bộ điều khiển SDRAM đƣợc tích hợp là một phần của EMIF và phải đƣợc cấu hình bằng phần mềm để hoạt động thích hợp. Xung nhịp EMIF đƣợc tính từ xác lập PLL nên đƣợc cấu hình bằng phần mềm ở tần số 90MHz. Con số này dựa trên trên một xung nhịp nội của PLL là 450MHz để thu đƣợc tần số hoạt động 225MHz nhờ bộ chia 2 và 90MHz nhờ bộ chia 5.
Khi sử dụng SDRAM, bộ điều khiển phải đƣợc xác lập để làm tƣơi mỗi hàng của mảng nhớ mỗi 15.6 micro giây để duy trì dữ liệu. Với tần số xung nhịp 90Mhz của EMIF, thời gian này tƣơng ứng với 1400 chu kỳ bus.
Hình 4.8: Sơ đồ khối TLV320AIC23 codec
4.3.4 Bộ nhớ FLASH.
Flash là loại bộ nhớ không mất nội dung khi mất nguồn. Khi đọc nó giống nhƣ một bộ nhớ ROM. Flash có thể đƣợc xóa theo các khối lớn đƣợc đƣợc gọi là các sector hoặc trang. Một khi một khối đã đƣợc xóa mỗi từ có thể đƣợc lập trình thông qua một chuỗi lệnh đặc biệt.Sau đ toàn bộ khối phải đƣợc xóa lại lần nữa để thay đổi nội dung.
DSK sử dụng 512Kbyte bộ nhớ Flash ngoài làm tùy chọn khởi động. N c địa chỉ bắt đầu của CE1 (địa chỉ 0x9000 0000). Flash đƣợc nối tạo ra bộ nhớ 256K 16 bit hỗ trợ tùy chọn khởi động 16-bit của DSK. Tuy nhiên, phần mềm đi kèm với DSK coi bộ nhớ Flash là bộ nhớ 8 bit (bỏ qua 8 bit cao) để phù hợp với chế độ khởi động mặc định của 6713. Trong cấu hình này, chỉ có 256 Kbytes có thể sử dụng khi không thay đổi phần mềm.
4.3.5 LED và Switch.
DSK có 4 led truy nhập đƣợc bằng phần mềm (D7-D10) và DIP switch cung cấp cho ngƣời sử dụng cách vào/ra đơn giản. Cả Led và switch đƣợc truy nhập thông qua thanh ghi USER_REG của CPLD.
4.3.6 Giao tiếp card mở rộng.
DSK cung cấp ba connector mở rộng có thể đƣợc sử dụng để cắm các card. Connector kết nối với bộ nhớ, thiết bị ngoại vi và HPI.
CHƢƠNG 5 :
KHỬ NHIỄU,TRIỆT ECHO TRÊN KIT TMS320C6713
5.1 Khử nhiễu thích nghi bằng thuật toán LMS trên kit TMS320C6713.
Hình 5.1: Mô hình khử nhiễu thích nghi dùng thuật toán LMS
Tiến hành biên dịch, nạp code lên kit TMS320C6713. Quan sát dạng sóng tín hiệu vào ra.
Hình 5.3: Mô hình kết nối kit TMS320C6713 hệ thống ANC
Tín hiệu ngõ vào đƣợc lấy từ máy phát sóng và microphone
Tín hiệu ngõ vào input của bộ lọc LMS, tín hiệu cộng nhiễu đƣợc đƣa vào ngõ