1. Trang chủ
  2. » Luận Văn - Báo Cáo

nghiên cứu và mô phỏng bộ̣ thu ds cdma dùng mạng nơron

68 358 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 68
Dung lượng 4,96 MB

Nội dung

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG NGHIÊN CỨU VÀ MÔ PHỎNG BỘ̣ THU DS-CDMA DÙNG MẠNG NƠRON S K C 0 9 MÁ SỐ: SV2010-02 S KC 0 Tp Hồ Chí Minh, 2010 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP HCM - ĐỀ TÀI NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG Ñeà taøi: NGHIÊN CỨU VÀ MÔ PHỎNG BÔ ̣ THU DS-CDMA DÙ NG MAN ̣ G NƠRON MÃ SỐ : SV2010-02 THUỘ C NHÓM NGÀNH:KHOA HỌ C KỸ THUẬT NGƯỜI CHỦ TRÌ :SV.ĐỖ MINH THÁI NGƯỜI THAM GIA :SV.NGUYỄN VĂN HÙNG ĐƠN VI ̣ : KHOA ĐIỆN-ĐIỆN TỬ TP HỒ CHÍ MINH – 11/2010 Mục lục MỤC LỤC TÓM TẮT ĐỀ TÀI PHẦN 1: ĐẶT VẤN ĐỀ I ĐỐI TƢỢNG NGHIÊN CỨU II TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƢỚC III NHƢ̃ NG VẤN ĐỀ TỒN TẠI PHẦN 2: GIẢI QUYẾT VẤN DỀ I MỤC ĐÍCH CỦA ĐỀ TÀI II PHƢƠNG PHÁP NGHIÊN CƢ́U III NỘI DUNG NGHIÊN CƢ́U 3.1 Điề u chế và giải điề u chế PSK 3.2 Hê ̣ thố ng trải phổ trƣ̣c tiế p DS-SS 3.3 Chuỗi giả ngẫu nhiên 3.4 Hệ thống phân chia theo mã DS-CDMA 12 3.5 Các bộ tách sóng DS-CDMA 16 3.5.1Bô ̣ tách sóng cổ điể n Matched Filter 16 3.5.2Bô ̣ tách sóng giải tƣơng quan (Decorrelating Detector) 19 3.5.3Bô ̣ tách sóng tố i ƣu (Optimum Multiuser Detector) 22 3.6Bô ̣ tách sóng DS-CDMA dùng ma ̣ng Nơron 29 3.6.1Mạng truyền thẳng và giải thuật truyền lùi 29 3.6.2Bô ̣ tách sóng CDMA dùng ma ̣ng Nơron 39 3.7Kết quả mô phỏng Simulink 45 IV KẾT QUẢ ĐA ̣T ĐƢỢC 54 4.1 Tính khoa học 54 4.2 Khả triển khai và ứng dụng thực tế 54 4.3 Hiê ̣u quả kinh tế xã hô ̣i 54 PHẦN 3: KẾT LUẬN 55 I KẾT LUẬN 55 II KIẾN NGHI ̣ 55 PHẦN 4:PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO 56 I PHỤ LỤC 56 II TÀI LIỆU THAM KHẢO 67 Mục lục TÓM TẮT ĐỀ TÀI Công nghê ̣ đa truy câ ̣p phân chia theo mã CDMA đã đƣơ ̣c nghiên cƣ́u tƣ̀ lâu , vào những năm 30 của thế kỷ 20, nó đã đƣợc ứng dụng quân sự , với ƣu điể m là bí mật gần nhƣ tuyệt đối Hiê ̣n thì nó không còn chỉ dừng lại quân sự nƣ̃a mà ̣ thố ng CDMA đã đƣơ ̣c nghiên cƣ́u ƣ́ng du ̣ng dân sƣ̣ , cụ thể là các hệ thống thông tin vô tuyến tổ ong Nó đã đƣợc chuẩn hóa triển khai vào thực tế nhƣ: ̣ thố ng IS-95, CDMA2000, WCDMA Hê ̣ thố ng CDMA đƣơ ̣c lƣ̣a cho ̣n làm tiêu chuẩ n cho công nghê ̣ 3G, với mô ̣t tố c đô ̣ kênh truyề n cao phu ̣c vu ̣ cho nhu cầ u ngày càng cao của ngƣời Có thể nói hệ thống CDMA có rất nhiều ƣu điểm vƣợt trội so với các ̣ thố ng khác: bảo mật , chuyể n giao mề m không bi ̣rớt cuô ̣c go ̣i mỗi mô ̣t user đƣơ ̣c cấ p mô ̣t mã riêng sƣ̉ du ̣ng chung băng tầ n và thời gian rõ ràng là nó không bi ̣ha ̣n chế bởi tài nguyên vô tuyế n (tầ n số ), và nếu xét về lý thuyết thì dung lƣợng của nó đƣợc mở rô ̣ng gầ n nhƣ là vô ̣n Nhƣng thƣ̣c tế thì không nhƣ lý thuyế t , vấ n đề rấ t lớn đă ̣t CDMA là nhiễu MAI (multi Access interference), ảnh hƣớng rất lớn đến chấ t lƣơ ̣ng ̣ t hố ng và ̣n chế số dung lƣơ ̣ng cho phép , bắ t ̣ thố ng CDMA phải điề u khiể n công suấ t nhanh , và phải tăng tỉ số tín hiệu nhiễu SNR qua đó tăng công suấ t phát Các bộ thu cổ điển Matched Filter , đơn giản đễ chế ta ̣o ph ần cứng nhƣng nó không thể triệt nhiễu đƣợc nhiễu MAI , còn bộ thu tối ƣu (Optimum Multiuser Detector) Sergio.vedu đề xuấ t thì quá phƣ́c ta ̣p không thể triể n khai phầ n cƣ́ng Với sƣ̣ phát triể n của khoa ho ̣c trí thông minh nhâ n ta ̣o Đặc biệt là mạng nơron nhân ta ̣o thì ngƣời ta đã nghiên cƣ́u ƣ́ng du ̣ng Ma ̣ng nơron vào các bộ thu CDMA để triê ̣t nhiễu MAI, và đã gặt hái đƣợc nhiều thành tựu nhất định Đề tài , tiế n hành nghiên cƣ́u mô phỏng bô ̣ t hu CDMA dùng ma ̣ng nơron nhân ta ̣o matlab, để làm sở nghiên cứu ứng dụng bộ thu các chíp phần cứng nhƣ FPGA, DSP Nô ̣i dung nghiên cƣ́u gồ m phầ n: Kỹ thuật điều chế và giải điều chế pha PSK: Kỹ thuật trải phổ trực tiế p DS-SS Kỹ thuật đa truy cập phân chia theo mã DS-CDMA Bộ tách sóng CDMA cổ điể n(Conventional Detector) Nghiên cƣ́u ma ̣ng Nơron nhân tao Nghiên cƣ́u bô ̣ tách sóng CDMA dùng ma ̣ng Nơron Mô phỏng Simulink Phầ n 1: Đặt vấn đề Phầ n ĐẶT VẤN ĐỀ I ĐỐI TƯỢNG NGHIÊN CỨU - Mạng nơron nhân ta ̣o - Kỹ thuật điề u chế và giải điề u chế PSK , kỹ thuật trải phổ trực tiế p DS -SS, kỹ thuâ ̣t đa truy câ ̣p phân chia theo mã DS-CDMA Nghiên cứu các kỹ thuâ ̣t tách sóng CDMA cổ điển (Matched Filter), bô ̣ tách sóng giải tương quan (Decorrelating Detector), bô ̣ tách sóng tối ưu (Optimum Multiuser Detector) - Bô ̣ tách sóng tín hiê ̣u CDMA dùng ma ̣ng Nơron II TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC Công nghê ̣ đa truy câ ̣p CDMA đươ ̣c xây dựng sở kỹ thuâ ̣t trải phổ Kỹ thuâ ̣t trải phổ đã đươ ̣c nghiên cứu và áp du ̣ng quân sự từ những năm 1930 Tuy nhiên gầ n các kỹ thuâ ̣t này đươ ̣c nghiên cứu và áp du ̣ng thành công các hệ thống thông tin vô tuyến tổ ong Kỹ thuật đa truy cập CDMA đã cho thấy những ưu điể m vươ ̣t trô ̣i hẳ n so với các phương phá p đa truy câ ̣p khác FDMA (Frequency Division Multiple Access ), TDMA (Time Division Multiple Access) nó đã được chọn làm phương pháp đa truy cập hệ thống thông tin di đô ̣ng thế ̣ thứ của Bắc Mỹ , chuẩ n IS -95, và hệ thống thô ng tin di đô ̣ng thứ 3, IMT-2000 Tách sóng đa truy cập nhằm cải tiến dung lượng và chất lượng hệ thống thông tin di đô ̣ng ngày càng đươ ̣c quan tâm , sự thành công thương ma ̣i của các hệ thống CDMA Trong nước : nhiề u nhà khoa ho ̣c đã nghiên cứu về khả ứng du ̣ng của mạng Nơron nhân ta ̣o viê ̣c tách sóng tín hiê ̣u CDMA [1] Vũ Đình Thành, Huỳnh Phú Minh Cường, "Tách Sóng đa truy cập hệ thống thông tin di động DS-CDMA đồng bộ“ ,Tạp chí Khoa Học Công Nghệ, tập 42, số 1, năm 2004 [2] Vũ Đình Thành , Huỳnh Phú Minh Cường ,”Nâng cao chấ t lươ ̣ng và dung lươ ̣ng ̣ thố ng thông tin di đô ̣ng CDMA sử du ̣ng bô ̣ tách sóng đa truy câ ̣p dùng mạng nơron”,Tạp chí Khoa Học Công Nghệ [3] Phạm Phùng Kim Khánh , tách sóng đa truy cập dùng mạng hopfield ̣ thố ng CDMA Ngoài nước: vấ n đề tách sóng nhằ m nâng cao chấ t lươ ̣ng ̣ thố ng CDMA đã đươ ̣c nghiên cứu từ lâu nề n khoa ho ̣c kỹ thuâ ̣t phát triên của h ọ Nhưng gầ n Phầ n 1: Đặt vấn đề các bài báo này mới đươc quan tâm trở lại CDMA là ứng cử viên sáng giá cho công nghê ̣ 3G, đươ ̣c triể n khai ở nhiề u nước đó có Viê ̣t Nam III NHỮ NG VẤN ĐỀ CÒN TỒN TẠI Với công nghê đ a truy nhâ ̣p phân chia theo mã CDMA thì dung lương của ̣ thố ng có thể mở rô ̣ng lên rấ t lớn , mô ̣t quá nhiề u user đươ ̣c sử du ̣ng thì mô ̣t vấ n đề khác la ̣i phát s inh Đó là nhiễu MAI (Multi Access Interference) sẽ ảnh hưởng rấ t lớn đế n chấ t lươ ̣ng ̣ thố ng Theo lý thuyế t nế u sử du ̣ng mã trực giao mã Walsh-hardamard thì can nhiễu ̣ thố ng CDMA có thể loa ̣i bỏ , thực tế dưới sự ảnh hưởng của fad ing cho ̣n lo ̣c tầ n số , các sóng mang của các user có biên đô ̣ và pha khác Điề u này làm mấ t tính trực giao giữa các user và xảy nhiễu MAI Như vâ ̣y mô ̣t các ̣n chế chin ́ h của các ̣ thố ng CDMA hiê ̣n là hiê ̣u của chúng phu ̣ thuô ̣c vào nhiễu của các ngư ời sử dụng cùng tần số , MAI (Multi Access Interference) Đây chin ́ h là lý dẫn đế n giảm dung lươ ̣ng và dòi hỏi phải điều khiển công suất nhanh Các máy thu liên kết đa người dùng (MUD: Multi User Detector ) sẽ cho phép các hệ th ống CDMA mới dần khắc phục được nhược điể m này và cho phép CDMA tỏ rõ tính ưu viê ̣t của nó Bô thu CDMA cổ điể n không thể triê ̣t đươ ̣c cang nhiễu MAI vì dùng các bô ̣ thu riêng biê ̣t cho từng user (Matched Filter và ma ̣ch quyế t ̣ nh) mà không quan tâm tới tiń hiê ̣u của các user khác Khi số lươ ̣ng user ̣ thố ng tăng lên sẽ làm giảm chất lượng của hệ thống , cụ thể làm tăng mức độ can nhiễu đa truy cập , giảm tỉ số tín hiệu nhiễu (SNR), dẫn đế n tăng tố c đô ̣ lỗi bit́ BER , vâ ̣y để đảm bảo chất lượng của hệ thống thì số lượng user phải bị giới hạn , nói cách khác nhiễu MAI gây giới ̣n của ̣ thố ng CDMA hiê ̣n ta ̣i Mô ̣t bô ̣ thu tố t cầ n phải có để giải quyế t tấ t cả vấ n đề Các thu cổ điển có ưu điểm là thường dễ thực hiện , chấ t lươ ̣ng tách sóng không tố t Máy thu đa truy nhâ ̣p tố i ưu (Optimum Multiuser Detector) là điển hình để giải quyết những vấ n dề , thực tế nó la ̣i it́ đươ ̣c sử du ̣ng vì đô ̣ phức ta ̣p của nó tăng theo hàm mũ của k user Yêu cầ u của đề tài là xây dựng đươ ̣c bô ̣ thu dùng ma ̣ng nơron, và chứng minh rằ ng tỉ số lỗi BER của bô ̣ thu nơron tố t các bô ̣ thu ki nh điể n kiể u ma ̣ng sử dụng là mạng nơron đa lớp, mạng backpropagation và giải thuật truyền lùi Phầ n 2: Giải quyết vấn đề Phầ n GIẢI QUYẾT VẤN ĐỀ I MỤC ĐÍCH CỦA ĐỀ TÀI Đề tài tìm , và xây dựng một bộ t hu mới dựa sở ma ̣ng Nơron, với độ phức tạp ít máy thu đ a truy nhâ ̣p tố i ưu (Optimum Multiuser Detector ), nó phải tốt các bộ thu cổ điển khác Có thể nói bộ thu dùng mạng nơron là một bô ̣ thu cận tối ưu hay tối ưu con(SubOptimum) II PHƢƠNG PHÁP NGHIÊN CƢ́U - Tìm hiể u, nghiên cứu về ̣ thố ng CDMA các tài liê ̣u nước ngoài , và nước - Tìm hiểu, nghiên cứu đề xuấ t mô hình bô ̣ thu CDMA dùng ma ̣ng Nơron - Nghiên cứu và mô phỏng Simulink III NỘI DUNG NGHIÊN CƢ́U 3.1Điều chế giải điều chế PSK Điều chế PSK một kiểu điều chế số Điều chế số là các phương pháp kỹ thuật để chuyển đổi tín hiệu số thành tín hiệu sóng mang băng hẹp, có thể truyền các kênh có băng thông hạn chế Tín hiệu băng hẹp xem tín hiệu có dải băng tần hẹp so với tần số sóng mang bản Trong điều chế số dịch pha PSK, pha sóng mang hình sin tần số cao biến thiên theo mức logic chuỗi số Với phương thức truyền bit nhị phân một, người ta thường chọn hai trạng thái pha ngược (dịch pha 180o) sóng mang sin tương ứng với và 1, đó có kiểu điều chế số BPSK, gọi điều chế dịch pha hai trạng thái  Biểu thức BPSK vBPSK t   A.d t  cos ot  Ф (3.1) Trong đó A là biên độ; wo tần số và Ф là góc pha ban đầu sóng mang; d(t) luồng bit nhị phân cần truyền, với qui ước d(t) = +1 bit nhị phân có mức luận lý d(t) = -1 bit có mức luận lý Mối quan hệ biên độ A sóng mang với công suất phát sóng mang PS là: A  2PS (3.2) vBPSK  t   2PS d t  cos ot  (3.3) Do đó, biểu thức (3.1) trở thành: Phầ n 2: Giải quyết vấn đề  Phổ tần số BPSK Từ biểu thức (3.3) tín hiệu vBPSK(t) có thể xem tích số tín hiệu xung PS d t với sóng mang công suất cosωo t Do đó gọi G(f) hàm mật độ phổ PS d t  sin  fTb  G  f   PS Tb     fTb  (3.4) Thì hàm mật độ phổ công suất vBPSK(t) là: PT GBPSK  f   S b  sin  f  f  T 2  sin  f  f  T 2  o b o b           f  fo  Tb     f  fo  Tb     (3.5) Trong đó Tb chu kỳ bit G f  3 fb 2 fb  fb o fb fb fb f GBPSK  f  fo fb  f o  f o  fb o f o  fb  fo f o  fb fb Hình 3.1:Phổ tần số tín hiệu vBPSK(t) Do phổ vBPSK(t) trải rộng hai phía đến vô tận chung quanh tần số sóng mang ±fo Trong thực tế, 90% công suất tín hiệu tập trung búp phổ đó có thể xem dải tần phổ BPSK B = fb  Mạch điều chế giải điều chế BPSK Mạch điều chế BPSK dựa nguyên tắc mạch nhân một sóng mang Acosωot với chuỗi số d(t) đặc trưng cho tín hiệu nhị phân (d(t) = ±1) Phầ n 2: Giải quyết vấn đề Chuỗi số vBFSK  t  × d(t) A cos ot Dao động sóng mang Hình 3.2: Mạch điều chế BPSK Mạch giải điều chế BPSK dựa nguyên tắc mạch nhân tín hiệu vBPSK(t) với sóng mang tái tạo cosωot, có tần số và pha đồng bộ với sóng mang gốc VBPSK(t) × vBPSK (t)2coswo t Lọc thông thấp LPF d'(t) 2coswo t Bộ tái tạo sóng mang Hình 3.3: Mạch giải điều chế BPSK 3.2Hệ thống trải phổ trực tiếp DS-SS(Direct Sequence-Spread Spectrum) Một tín hiệu trải phổ chuỗi trực tiếp một tín hiệu mà biên độ tín hiệu điều chế trước đó điều chế lại một lần một chuỗi nhị phân NRZ có tốc độ cao Giả sử tín hiệu gốc là: v  t   2PS d  t  cos ωo t (3.6) s t   g t  v t   2PS g t  d t  cos ot (3.7) Thì tín hiệu trải phổ DS là: Với g(t) chuỗi nhị phân giả ngẫu nhiên PN có giá trị Tốc độ bit g(t) fc>> fb (tốc độ bit chuỗi liệu) Hay có thể nói g(t) phân chia bit d(t) thành chip nên tốc độ g(t) gọi tốc độ chip (chip rate) tốc độ d(t) gọi tốc độ bit (bit rate) Băng thông tín hiệu v(t) 2fb và băng thông tín hiệu trải phổ 2fc nên phổ tín hiệu trải theo tỷ số fc/fb Vì công suất phát hai tín hiệu v(t) s(t) nên mật độ phổ công suất Gs(f) giảm theo một tỷ số fb/fc Phầ n 2: Giải quyết vấn đề d(t) -2 g(t) -2 d(t)g(t) -2 Hình 3.4 Dạng sóng d(t), g(t) d(t)g(t) Quá trình trải phổ, thu phát × Channel PS cos ot g t  r t  × × g t  cos ot Bộ tích phân  d(t) ×  Bộ phát × Bộ thu n t  Output Hình 3.5: Sơ đồ thu-phát trải phổ DS 3.3Chuỗi giả ngẫu nhiên Trong hệ thống CDMA, để thực trải phổ thì người ta dùng chuỗi giả ngẫu nhiên Chuỗi ngẫu nhiên chuỗi có sự thay đổi không thể đoán trước nghĩa là giá trị tại một thời điểm không phụ thuộc vào giá trị chuỗi tại thời điểm trước Sự thay đổi có thể biểu diễn phương pháp thống kê Tuy nhiên một chuỗi ngẫu nhiên đơn giản cần đòi hỏi bộ nhớ lớn vô hạn tại cả máy phát và máy thu Do đó, người ta phải sử dụng chuỗi giả ngẫu nhiên Các chuỗi không phải một chuỗi ngẫu nhiên hoàn toàn tức lặp lại sau một chu kỳ nào đó Chuỗi giả ngẫu nhiên chuỗi nhị phân có chu kỳ bit lớn nhiều so với chù kỳ bit liệu nên để phân biệt người ta quy ước gọi chu kỳ bit chuỗi giả ngẫu nhiên chip Các chuỗi giả ngẫu nhiên user khác một hệ thống CDMA phải khác Chuỗi giả ngẫu nhiên phải có tính chất sau đây:  Tính cân bằng: tần suất xuất số bit bit chuỗi là ½ (nghĩa số lần xuất bit bit chênh lệch tối đa là 1) Phầ n 2: Giải quyết vấn đề người dùng và nó không thić h hơ ̣p để triể n khai t hực tế Các nghiên cứu gần tâ ̣p trung nhằ m đa ̣t đươ ̣c câ ̣n tố i ưu và đưa giải pháp có tính thực tiễn cho máy thu sở đưa các điều kiện ràng buộc Viê ̣c ứng du ̣ng ma ̣ng Nơron nhân ta ̣o vào các bô ̣ tách sóng c hệ thống CDMA có nhiề u ưu điể m vươ ̣t trô ̣i , nhờ sự phát triể n của máy tin ́ h và công nghê ̣ tích hợp chip thì nó có khả triển khai các chip DSP và FPGA cao 4.3 Hiêụ quả kinh tế xã hô ̣i Viê ̣c ứng du ̣ng ma ̣ng Nơron vào các bô ̣ tách sóng của ̣ thố ng CDMA có nhiề u ưu điể m là giúp tăng dung lươ ̣ng ̣ thố ng , điề u khiể n công suấ t , giảm tỉ số lỗi BER, giảm SNR yêu cầ u , qua đó giảm công suấ t phát của ̣ thố ng , với mô ̣t cấ u trúc mạng thích hợp thì nó giảm fading , giúp cân kênh truyền hiể n nhiên là lúc này các máy tách sóng đa người dùng MUD sẽ tố t và có hiê ̣u quả kinh kế cao 52 Phầ n 3: Kế t luận Phầ n 3: KẾT LUẬN I KẾT LUẬN Qua quá trình nghiên cứu người thực hiện đề tài đã chứng minh được rằng bộ thu ma ̣ng nơron có tỉ số BER thấp bộ thu kinh điển (Matched Filter) và bộ thu giải tương quan (Decorrelating Detector) Đăc biê ̣t với các mã PN không trực giao thì điều này càng trở nên rõ rệt bao giờ hết Vâ ̣y bô ̣ thu nơron trường hơ p̣ này chỉ có thể giảm được nhiễu MAI, và hiệu ứng gần xa CDMA Mă ̣c dù các mã trực giao walsh -hardamard đươ ̣c áp du ̣ng kênh xuố ng ̣ thố ng CDMA tỏ rấ t ưu viê ̣t đảm bảo triê ̣t hoàn toàn nhiễu MAI , nhiên kênh truyề n fading cho ̣n lo ̣c tầ n số , các sóng mang của các user có biên đô ̣ và pha khác Điề u này làm mấ t tính trực giao giữa các user và xảy nhiễu MAI II ĐỀ NGHỊ Đề tài còn rấ t nhiề u hướng phát triể n  Đề tài chưa xem xét các bộ tách sóng khác CDMA : bô ̣ tách sóng phươn g sai tố i thiể u MMSE (Minimum Mean Square Error) và các bộ thu phi tuyế n : bô ̣ triê ̣t cang nhiễu nố i tiế p SIC (Successive Interference Cancellation), bô ̣ triê ̣ t cang nhiễu song song PIC (Parallel Interference Cancellation)  Đề tài chưa xem xét về mă ̣t mã hóa nguồ n , mã hóa kênh , về phầ n đồ ng bô ̣ mã trải phổ CDMA  Trong ̣ thông thông tin di đô ̣ng mô ̣t vấ n đề không thể bỏ qua đó là hiê ̣n tươ ̣ng tán sắ c fading đa đường ,đô ̣ dich ̣ tầ n D oppler hiê ̣n tươ ̣ ng này ảnh hưởng nghiêm tro ̣ng đến chất lượng của hệ thống Người ta đã chứng minh đươ ̣c rằ ng ma ̣ng Nơron có thể giải quyết vấn đề tồn tại  Trong xu thế phát triể n của thông tin di đô ̣ng mang nơron hoàn toàn có thể sử du ̣ng công nghê ̣ 4G MC-CDMA là mô ̣t sự kế t hơ ̣p giữa OFDM và DS-CDMA  Trong sự phát triể n của công nghê ̣ phầ n mề m vô tuyế n thì đề tài tr toàn có thể thực hiện các chip phần cứng FPGA, và DSP ên hoàn 55 Phụ lục và tài liệu tham khảo Phầ n 4: PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO I PHỤ LỤC  Mã nguồn chương trình chính: function varargout = SCIENTIFIC_RESEARCH(varargin) % SCIENTIFIC_RESEARCH M-file for SCIENTIFIC_RESEARCH.fig % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, 'gui_Singleton', gui_Singleton, 'gui_OpeningFcn', @SCIENTIFIC_RESEARCH_OpeningFcn, 'gui_OutputFcn', @SCIENTIFIC_RESEARCH_OutputFcn, 'gui_LayoutFcn', [] , 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % - Executes just before SCIENTIFIC_RESEARCH is made visible function SCIENTIFIC_RESEARCH_OpeningFcn(hObject, eventdata, handles, varargin) % Choose default command line output for SCIENTIFIC_RESEARCH handles.output = hObject; logo = imread('EE.bmp'); axes(handles.logo); imshow(logo); % Update handles structure guidata(hObject, handles); % - Outputs from this function are returned to the command line function varargout = SCIENTIFIC_RESEARCH_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % Get default command line output from handles structure varargout{1} = handles.output; % - Executes on button press in pushbutton1 function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) set(figure.MAIN,'Visible','on'); % - Executes on button press in pushbutton2 function pushbutton2_Callback(hObject, eventdata, handles) % handles structure with handles and user data (see GUIDATA) set(figure.SCIENTIFIC_RESEARCH,'Visible','off');  Mã nguồ n chương triǹ h quản lý file Simulink 56 Phụ lục và tài liệu tham khảo function varargout = MAIN(varargin) % MAIN M-file for MAIN.fig % MAIN, by itself, creates a new MAIN or raises the existing % singleton* %% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, 'gui_Singleton', gui_Singleton, 'gui_OpeningFcn', @MAIN_OpeningFcn, 'gui_OutputFcn', @MAIN_OutputFcn, 'gui_LayoutFcn', [] , 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % - Executes just before MAIN is made visible function MAIN_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn % Choose default command line output for MAIN handles.output = hObject; % Update handles structure guidata(hObject, handles); % - Outputs from this function are returned to the command line function varargout = MAIN_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % Get default command line output from handles structure varargout{1} = handles.output; % - Executes on button press in pushbutton1 function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) val = get( handles.popupmenu1,'Value'); str = get( handles.popupmenu1,'String'); switch lower(str{val}) case'type1' % loai so sanh bo tach song co dien, bo tach song giai tuong quan SNR=0:2:20; ber_cd =[0.1199 0.0835 0.0585 0.0430 0.0305 0.0220 0.0130 0.0090 0.0070 0.0055 0.0035]; ber_de =[ 0.1013 0.0550 0.0203 0.0060 0.0017 0.0010 0.0007 0 0]; ber_sing=[0.0675 0.0375 0.0105 0.0020 0 0 0 0]; % su dung chuoi PN lineHandle = semilogy(SNR,ber_cd,'b*-',SNR,ber_de,'r^',SNR,ber_sing,'ko-'); set(lineHandle,'linewidth',1.4,'markersize',7); grid on; legend('Matched Filter','Decorrelator','Single User Bound'); xlabel('SNR(dB)');ylabel('BER'); title('Compare BER of Decorrelator and Matched filter'); case'type2' % loai so sanh bo tach song giai tuong quan, bo tach song mang neural, bo tach % song toi uu, kenh truyen don user SNR=0:2:20; 57 Phụ lục và tài liệu tham khảo 0.0007 0 ber_de =[0.1013 0 ber_neu=[0.0946 0 ber_omd=[0.0860 0 ber_sing=[0.0675 0 0.0550 0.0203 0.0543 0.0433 0.0375 0.0060 0.0017 ]; 0.0203 0.0040 0.0010 ]; 0.0157 0.0033 0.0010 ]; 0.0105 0.0020 0 ]; % su dung chuoi PN 0.0010 0 lineHandle = semilogy(SNR,ber_de,'b*-', SNR,ber_neu,'r^-', SNR,ber_omd,'ks-', SNR,ber_sing,'go-'); set(lineHandle,'linewidth',1.4,'markersize',7); grid on; legend('Decorrelator','Neural Detector','Optimum Detector','Single User Bound'); xlabel('SNR(dB)');ylabel('BER'); title('Neural Detector is a SubOptimum Detector of DS-CDMA'); case'type3' % loai so sanh su dung ma truc giao walsh SNR=0:2:20; ber_cdw =[0.0792 0.0355 0.0127 0.0027 0.0005 0 0 0 ]; % cd_walsh ber_neuw=[0.0810 0.0367 0.0132 0.0030 0.0002 0 0 0 ]; % neu_walsh ber_sing=[0.0675 0.0375 0.0105 0.0020 0 0 0 ]; % su dung chuoi PN lineHandle = semilogy(SNR,ber_cdw,'b*-',SNR,ber_neuw,'r^',SNR,ber_sing,'ko-'); set(lineHandle,'linewidth',1.4,'markersize',7); grid on; legend('Matched Filter using walsh code','Neural Detector using walsh code','Single User Bound'); xlabel('SNR(dB)');ylabel('BER'); title('When DS-CDMA system using Walsh code'); case'type4' % hinh so sanh voi hien tuong da duong SNR=0:2:20; ber_cdm =[0.2229 0.1854 0.1539 0.1324 0.1159 0.1049 0.0960 0.0910 0.0835 0.0790 0.0735 ]; % cd_multipath ber_neum =[0.2114 0.1509 0.1084 0.0605 0.0375 0.0185 0.0060 0.0030 0.0025 0.0010 0.0005 ]; % neu_multipath ber_singm=[0.1804 0.1229 0.0600 0.0290 0.0080 0.0005 0 0 ]; % su dung chuoi PN lineHandle = semilogy(SNR,ber_cdm,'b*-',SNR,ber_neum,'r^',SNR,ber_singm,'ko-'); set(lineHandle,'linewidth',1.4,'markersize',7); grid on; legend('Matched Filter with multipath','Neural Detector with multipath','Single User Bound with multipath'); xlabel('SNR(dB)');ylabel('BER'); title('When DS-CDMA system with multipath'); case'type5' % hinh so sanh qpsk va bpsk SNR=0:2:20; ber_cdb =[0.1199 0.0835 0.0585 0.0430 0.0305 0.0220 0.0130 0.0090 0.0070 0.0055 0.0035 ]; % cd_binary ber_neub =[0.0915 0.0555 0.0220 0.0045 0.0010 0 0 0 ]; % neu_binary 58 Phụ lục và tài liệu tham khảo ber_cdq =[0.3173 0.0700 0.0465 0.0320 cd_quadature ber_neuq =[0.3458 0.0225 0.0065 0.0015 neu_quadature 0.2554 0.0200 0.1899 0.0115 0.1359 0.0065 0.1014 ]; % 0.2559 0.0005 0.1704 0.0980 0.0425 ]; % lineHandle = semilogy(SNR,ber_cdb,'b*-',SNR,ber_neub,'r^-', SNR,ber_cdq,'bo-',SNR,ber_neuq,'rs-'); set(lineHandle,'linewidth',1.4,'markersize',7); grid on; legend('Matched Filter with BPSK','Neural Detector with BPSK','Matched Filter with QPSK','Neural Detector with QPSK'); xlabel('SNR(dB)');ylabel('BER'); title('Compare QPSK and BPSK'); end grid on; xlabel('SNR(dB)');ylabel('BER'); % - Executes on selection change in popupmenu1 function popupmenu1_Callback(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % Hints: contents = cellstr(get(hObject,'String')) returns popupmenu1 contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenu1 % - Executes during object creation, after setting all properties function popupmenu1_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % - Executes on button press in pushbutton2 function pushbutton2_Callback(hObject, eventdata, handles) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) val1 = get( handles.popupmenu2,'Value'); str1 = get( handles.popupmenu2,'String'); switch str1{val1} %lower(str1{val1}) case'1.Plot_signal' open nckh_matched_filter_plotss_v1.mdl ; case'2.Neural_Detector' open nckh_neural_detector_v2.mdl; case'3.Matched_Filter' open nckh_matched_filter_v2.mdl; case'4.Decorrelating' open nckh_decorrelating_v2.mdl; case'5.Single_user' open nckh_single_user_v2.mdl ; case'6.Matched_QPSK' open nckh_matched_filter_qpsk_v2.mdl; case'7.Neural_QPSK' open nckh_neural_detector_qpsk_v2.mdl; case'8.Mached_Multipath' 59 Phụ lục và tài liệu tham khảo open nckh_matched_filter_multipath_v2.mdl; case'9.Neural_Multipath' open nckh_neural_detector_multipath_v2.mdl; case'10.Optimum_Detector' open nckh_omd_v2.mdl; end % - Executes during object creation, after setting all properties function popupmenu2_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % - Executes on button press in pushbutton3 function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(figure.BER_PLOT,'Visible','on'); % - Executes on button press in pushbutton4 function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(figure.SCIENTIFIC_RESEARCH,'Visible','on'); set(figure.MAIN,'Visible','off');  Chương trình vẽ BER theo phương pháp Monte Carlo function varargout = BER_PLOT(varargin) % BER_PLOT M-file for BER_PLOT.fig % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, 'gui_Singleton', gui_Singleton, 'gui_OpeningFcn', @BER_PLOT_OpeningFcn, 'gui_OutputFcn', @BER_PLOT_OutputFcn, 'gui_LayoutFcn', [] , 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT 60 Phụ lục và tài liệu tham khảo % - Executes just before BER_PLOT is made visible function BER_PLOT_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn handles.output = hObject; global global global global nextmark; linesShown; nextcolor; legendsShown; nextmark=1; nextcolor=1; linesShown=[]; legendsShown=[]; % Update handles structure guidata(hObject, handles); % - Executes during object creation, after setting all properties function edit1_CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) [handles.filename, handles.pathname] = uigetfile({'*.mdl';'*.*'}, 'Browse a Simulink File'); assignin('base', 'name', handles.filename); % tao workspace set(handles.edit1,'string',strcat(handles.pathname,handles.filename)); function edit2_CreateFcn(hObject, eventdata, handles) % hObject handle to edit2 (see GCBO) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end function edit3_Callback(hObject, eventdata, handles) % - Executes during object creation, after setting all properties function edit3_CreateFcn(hObject, eventdata, handles) % hObject handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % - Executes during object creation, after setting all properties function edit4_CreateFcn(hObject, eventdata, handles) % hObject handle to edit4 (see GCBO) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % - Executes on button press in pushbutton2 function pushbutton2_Callback(hObject, eventdata, handles, BER) % hObject handle to pushbutton2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) %marks = {'b*-', 'r+-', 'go-', 'md-', 'yv-', 'cs-', 'k^-'}; 61 Phụ lục và tài liệu tham khảo global global global global nextmark; nextcolor; linesShown; legendsShown; colors = {[0 1], [0 0], [1 0], [0 7], [.7 7], [.7 0], [0 0]}; marks = {'*-', '+-', 'o-', 'd-', 'v-', 's-', '^-'}; str_vsnr=get(handles.edit3,'string'); VSNR = str2double(str_vsnr(1)): str2double(str_vsnr(3)): str2double(str_vsnr(5:6));%0:2:20; % vector SNR len=length(VSNR); time=get(handles.edit4,'string'); assignin('base', 'time', str2double(time)/1000); % day chinh la thoi gian mo phong tinh theo giay VBER=[]; for i=1:len assignin('base', 'SNR', VSNR(i)); % tao mot bien workspace SNR=VSNR(i) filename = evalin('base', 'name'); % lay bien workspace sim(filename); VBER=[VBER BER(1)]; if (i==2) hold on; end if (BER(1)~=0) lineHandle=semilogy(VSNR(1:i),VBER,marks{nextmark}); set(lineHandle, 'color', colors{nextcolor},'linewidth',1.3,'markersize',7); end if (i==1) grid on; end end %tao vector ket qua matlab sau chay assignin('base', 'BER', VBER); % tao mot bien workspace SNR=VSNR(i) % lay ten chuoi LineName=get(handles.edit2,'string'); linesShown = [linesShown; lineHandle]; legendsShown = [legendsShown, {LineName}]; legendHandle = feval('legend', linesShown, legendsShown); % phai ve bang ham thi moi update duoc delete(get(legendHandle, 'uicontextmenu')); xlabel('SNR(dB)');ylabel('BER'); if nextmark==7 nextmark=1; nextcolor=1; else nextmark = nextmark+1; nextcolor = nextcolor+1; end % - Executes on button press in pushbutton3 function pushbutton3_Callback(hObject, eventdata, handles) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(figure.BER_PLOT,'Visible','off'); 62 Phụ lục và tài liệu tham khảo  Mã nguồ n chương triǹ h gởi file function varargout = TRANSMISSION_IMFILE(varargin) % TRANSMISSION_IMFILE M-file for TRANSMISSION_IMFILE.fig % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, 'gui_Singleton', gui_Singleton, 'gui_OpeningFcn', @TRANSMISSION_IMFILE_OpeningFcn, 'gui_OutputFcn', @TRANSMISSION_IMFILE_OutputFcn, 'gui_LayoutFcn', [] , 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % - Executes just before TRANSMISSION_IMFILE is made visible function TRANSMISSION_IMFILE_OpeningFcn(hObject, eventdata, handles, varargin) guidata(hObject, handles); function varargout = TRANSMISSION_IMFILE_OutputFcn(hObject, eventdata, handles) % Get default command line output from handles structure varargout{1} = handles.output; % - Executes on button press in pushbutton2 function pushbutton2_Callback(hObject, eventdata, handles, DataRx1, DataRx2, DataRx3, DataRx4, DataRx5) % hObject handle to pushbutton2 (see GCBO) global lenUser5; global m; global n; global h; set(handles.text8,'string','Waiting ') SNR=str2double(get(handles.edit3,'string')); % lay gia tri SNR assignin('base', 'SNR', SNR); % tao bien workspace sim('nckh_mf_sif_v1.mdl'); % chay mo hinh % khoi phuc vetor anh ivb_rx=[DataRx1', DataRx2', DataRx3', DataRx4', DataRx5(1:lenUser5)']; ivd_rx=zeros(1,m*n*h); for i=1:m*n*h str8=mat2str(ivb_rx((i-1)*8+1:8*i)); temp=bin2dec(str8(2:16)); % kieu tra ve la bouble nhom8[msb lsb] dung chuan ivd_rx(i)= temp; % theo dung quy uoc end; iv_rx=uint8(ivd_rx);% bieu dien so bit khong dau tu den 255 neu khong chi co 127 63 Phụ lục và tài liệu tham khảo image_rx=zeros(m,n,h,'uint8'); for k= 1:h for i= 1:m image_rx(i,:,k)=iv_rx((k-1)*m*n+(i-1)*n+1:(k-1)*m*n+n*i); % i,j,k lan luot la hang, cot, RGB end end set(handles.text8,'string','Complete!') axes(handles.axes2); imshow(image_rx); % - Executes on button press in pushbutton3 function pushbutton3_Callback(hObject, eventdata, handles, DataRx1, DataRx2, DataRx3, DataRx4, DataRx5) % hObject handle to pushbutton3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global lenUser5; global m; global n; global h; set(handles.text9,'string','Waiting ') SNR=str2double(get(handles.edit3,'string')); % lay gia tri SNR assignin('base', 'SNR', SNR); % tao bien workspace sim('nckh_nd_sif_v1.mdl'); % chay mo hinh % khoi phuc vetor anh ivb_rx=[DataRx1', DataRx2', DataRx3', DataRx4', DataRx5(1:lenUser5)']; ivd_rx=zeros(1,m*n*h); for i=1:m*n*h str8=mat2str(ivb_rx((i-1)*8+1:8*i)); temp=bin2dec(str8(2:16)); % kieu tra ve la bouble nhom8[msb lsb] dung chuan ivd_rx(i)= temp; % theo dung quy uoc end; iv_rx=uint8(ivd_rx);% bieu dien so bit khong dau tu den 255 neu khong chi co 127 image_rx=zeros(m,n,h,'uint8'); for k= 1:h for i= 1:m image_rx(i,:,k)=iv_rx((k-1)*m*n+(i-1)*n+1:(k-1)*m*n+n*i); % i,j,k lan luot la hang, cot, RGB end end set(handles.text9,'string','Complete!') axes(handles.axes3); imshow(image_rx); % - Executes on button press in pushbutton4 function pushbutton4_Callback(hObject, eventdata, handles) % hObject handle to pushbutton4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(figure.MAIN,'Visible','on'); set(figure.TRANSMISSION_IMFILE,'Visible','off'); 64 Phụ lục và tài liệu tham khảo % - Executes on button press in pushbutton5 function pushbutton5_Callback(hObject, eventdata, handles) % hObject handle to pushbutton5 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set(figure.TRANSMISSION_IMFILE,'Visible','off'); % - Executes during object creation, after setting all properties function edit1_CreateFcn(hObject, eventdata, handles) % hObject handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows % See ISPC and COMPUTER if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end % - Executes on button press in pushbutton1 function pushbutton1_Callback(hObject, eventdata, handles) % hObject handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) global lenUser5; global m; global n; global h; [filename, pathname]=uigetfile( {'*.jpg','JPEG File (*.jpg)'; '*.*','Any Image File (*.*)'}, 'Browse an Image File'); set(handles.edit1,'string',strcat(pathname,filename)); image=imread(filename); % original image OI = imresize(image, [60 60]); % doc kich thuoc anh axes(handles.axes1); imshow(OI); % -[m,n,h]=size(OI); % m so hang, n so cot, h la RGB iv=zeros(1,m*n*h); % image vector for k= 1:h for i= 1:m iv((k-1)*m*n+(i-1)*n+1:(k-1)*m*n+n*i)= OI(i,:,k); % i,j,k lan luot la hang, cot, RGB end end ivd=double(iv);% chuyen sang dang double % ivb=zeros(1,m*n*h*8); % bieu dien image vector by binary for i=1:m*n*h if (ivd(i)==255) ivb((i-1)*8+1:8*i)= [1 1 1 1 1]; % them vao ben tay phai [msb lsb] else s_temp=dec2bin(ivd(i),8); % chuoi tam thoi [msb lsb] temp=zeros(1,8); for j=1:8 % truy xuat bit msb truoc 65 Phụ lục và tài liệu tham khảo if (s_temp(j)=='0') temp(j)=0; else temp(j)=1; end end ivb((i-1)*8+1:8*i)=temp; % them vao ben tay phai pt [msb lsb] end end % so bit phat chinh la vector ivb totalbit=m*n*h*8; len1user=round(totalbit/5)+1; DataTx1=ivb(1:len1user); DataTx2=ivb(len1user+1:2*len1user); DataTx3=ivb(2*len1user+1:3*len1user); DataTx4=ivb(3*len1user+1:4*len1user); DataTx5=ivb(4*len1user+1:totalbit); % no tu dong phat lai nhung minh khong lay lenUser5=length(DataTx5); assignin('base', 'time', (len1user-1)/10000); % tao bien time la so bit phat de dong bo thoi gian assignin('base', 'DataTx1', DataTx1); assignin('base', 'DataTx2', DataTx2); assignin('base', 'DataTx3', DataTx3); assignin('base', 'DataTx4', DataTx4); assignin('base', 'DataTx5', DataTx5); II TÀI LIỆU THAM KHẢO [1] PGS TS.Vũ Đình Thành Nguyên lý thông tin tương tự số Nhà xuất bản đại học quố c gia TPHCM 2007 [2] Ths Trầ n Thanh Phương Bài giảng các kỹ thuật trải phổ Đa ̣i ho ̣c bán công tôn đức thắ ng [3] Ts Nguyễn Pha ̣m Anh Dũng Lý thuyết trải phổ và da truy nhập vô tuyến Học viê ̣n bưu chiń h viễn thông 2006 [4] Đỗ Quốc Trịnh-Vũ Thanh Hải Kĩ thuật trải phổ và ứng dụng Học viện kỹ thuật quân sự 2006 [5] Ts Từ Diê ̣p Công Thành Bài giảng điều khiển hệ thống Đa ̣i ho ̣c bách khoa TPHCM 2007 [6] Ths Phạm Hùng Kim Khánh Tách sóng đa truy nhập dùng mạng hopfield Luâ ̣n văn tha ̣c si ̃ 2003 [7] Ts Nguyễn Chí Ngôn Mạng nơron nhân ta ̣o Đa ̣i ho ̣c cầ n thơ 2008 [8] Dư Điǹ h Viên Tách tín hiệu thích nghi giải tương quan theo nguyên lý lặp cho các hệ thống CDMA đồng bộ.Tạp chí khoa học và công nghệ 2004 [9] Vũ Đình Thành, Huỳnh Phú Minh Cường ,”Nâng cao chấ t lươ ̣ng và dung lươ ̣ng ̣ thố ng t hông tin di đô ̣ng CDMA sử du ̣ng bô ̣ tách sóng đa truy câ ̣p dùng ma ̣ng nơron”,Tạp chí Khoa Học Công Nghệ 2005 [10] Neural network tookbox matlab 2009 [11] Bernd-Perter- Geoffrey Neural net receivers in multiple-acess communications 66 Phụ lục và tài liệu tham khảo [12] Mahrokh G.Shayesteh- Hamidreza Amindavar Performane analysis pf neural network detector in DS/CDMA systems 2003 [13] Dergio Verdú, “Multiuser Detection”,CambridgeUniversity Press 1998 [14] Trang web www.google.com 67 [...]... 3.23: Mô hình toán học của mô t neuron  Mạng Backpropagation Mạng lan truyền ngược là sự khái quát của luật học Windrow-Hoff vào mạng nhiều lớp và những hàm truyền khả vi phi tuyến Các vector đầu vào và vector mục tiêu tương ứng sẽ được dùng để huấn luyện mạng, cho đến khi nó có thể xấp xỉ mô t hàm số, kết hợp vector đầu vào với mô t vector đầu ra cụ thể, hay phân loại vector đầu vào... nghi trong kênh truyền CDMA nhiễu Gaussian phụ thu ̣c vào hình dạng của các dạng sóng dấu hiệu được thể hiện thông qua sự tương quan chéo giữa chúng Hơn nữa, xác suất lỗi còn phụ thu ̣c vào biên độ thu được và mức độ nhiễu thông qua tỉ số Ak/σ Cũng trong kênh truyền hai user thì ở đây cũng đưa ra biên trên của xác suất lỗi bit của mô t user trong kênh truyền có K user dựa vào công thức (3.27)... A  1  A  A2  2 A1 A2   Q 1   Q 1     2  (3.72)     3.6Bô ̣ tách sóng DS- CDMA dùng ma ̣ng nơron 3.6.1Mạng truyền thẳng và giải thu ̣t truyền lùi  Giới thiêụ Bộ não con người là hệ thống xử lý thông tin phức hợp, phi tuyến, song song và có khả năng học, ghi nhớ, tổng quát hóa và xử lý lỗi Nó bao gồm khoảng 1011 tế bào thần kinh liên kết với nhau Các nhà khoa học chỉ... trong các dây thần kinh vào và dây thần kinh ra của các tế bào thần kinh là tín hiệu điện phát sinh thông qua các quá trình phản ứng và giải phóng các chất hữu cơ Các chất này được phát ra từ các khớp nối dẫn tới các dây thần kinh vào sẽ làm tăng hay giảm điện thế của nhân tế bào Hình 3.20:Cấ u trúc của mô t neuron Khi điện thế này đạt đến mô t ngưỡng nào đó sẽ tạo ra mô t xung điện dẫn đến... cho mô t chuỗi giả ngẫu nhiên mới độc lập với hai chuỗi giả ngẫu nhiên đã cho  Trong mô t chu kỳ LTc, số bit 1 luôn luôn nhiều hơn số bit 0 là 1  Nếu đặt mô t cửa sổ có độ dài N bit trượt dọc theo suốt mô t chu kỳ LTc, mọi giá trị có thể có của mô t số nhị phân N bit sẽ xuất hiện mô t lần và chỉ mô t lần trừ giá trị 00…0 (N bit)  Mật độ phổ công suất Do RPN(τ) có chu kỳ LTc nên GPN(f)... ra bộ lọc thích nghi là y   y1 , , yK  T (3.54) Và ma trận đường chéo của các biên độ thu được là A  diag  A1, , AK  (3.55) Và ma trận tương quan chéo chưa chuẩn hóa là 24 Phầ n 2: Giải quyết vấn đề H  ARA (3.56) Biểu thức (3.68) cho thấy rằng hàm khả năng phụ thu ̣c vào vector ngõ ra của các bộ lọc thích nghi y của các tín hiệu thu được, vì thế y là dữ liệu đủ để giải điều chế... B(data bit =1) 1 1 -1 1 1 -1 Combined signal 2 2 -2 0 2 0 Receiver codeword 1 1 -1 -1 1 1 Multiplication 2 2 2 0 2 0 =8 Đặc điểm CDMA dùng DS- SS:  N users, mô i user có mô ̣t mã trải phổ (chuỗi giả ngẫu nhiên PN) trực giao với nhau  Điề u chế dữ liê ̣u của mô i user (thí dụ BPSK)  Nhân với mã trải phổ của user đó 14 Phầ n 2: Giải quyết vấn đề noise s1 (t ) d1 (t ) c1 (t... trong những tế bào thần kinh và trong những thông tin liên kết giữa chúng Học tập được xem như những thiết lập mới giữa các tế bào thần kinh hay những thay đổi của những liên kết hiện tại Hình 3.19:Minh họa về mạng nơron Tế bào thần kinh sinh học gồm 3 thành phần chính là thân tế bào (Cell body), mô t hệ thống hình cây các đầu dây thần kinh vào (Dendrite) và mô t trục (Axon) dẫn đến các... sn (t ) cos(2 pf ct ) cn (t ) Hình 3.11: Minh họa hê ̣ thố ng CDMA a kênh 0 (user 0) user data (0) 1 (1) 0 (2) 1 (3) 0 (4) 0 (5) 0 S M n hi u k t h p (6) S 1 ng 9 ng n hi u m i kênh Hình 3.12:Ví dụ mã hoá và giải mã CDMA 7 user 3.5Các bô ̣ tách sóng DS- CDMA 3.5.1Bô ̣ tách sóng cổ điể n Matched Filter Mô hình kênh truyền CDMA đồng bộ cơ bản với K user, trong đó dữ liệu của các user... phân chia theo mã DS _CDMA Đặc điể m:  Là phương pháp đa truy cập dựa trên kỹ thu ̣t trải phổ  Khởi đầ u với mô ̣t chuỗi dữ liê ̣u tố c đô ̣ D (tố c đô ̣ bit dữ liê ̣u)  Tách mỗi bit thành k chip dựa vào mô t mã trải phổ xác định cho từng user  Kênh truyề n bây giờ sẽ có tốc độ là kD chips/s (cps)  Ví dụ: k = 6, có 3 user (A,B,C) cùng phát đến mô t trạm gốc R

Ngày đăng: 04/09/2016, 15:30

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w