Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 99 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
99
Dung lượng
6,61 MB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Quang Vinh NGHIÊN CỨU HỆ THỐNG MIMO-OFDM Ngành: Chuyên ngành: Mã số: Công nghệ Điện tử - Viễn thông Kỹ thuật điện tử 60.52.70 LUẬN VĂN THẠC SĨ NGƯỜI HƯỚNG DẪN KHOA HỌC: GS.TSKH HUỲNH HỮU TUỆ Hà Nội - 2007 LỜI CẢM ƠN Tôi xin bày tỏ biết ơn đến thầy giáo GS.TSKH Huỳnh Hữu Tuệ hướng dẫn, bảo tận tình dành thời gian q báu để giúp đỡ tơi hồn thành luận văn Tôi bày tỏ cảm ơn đến gia đình, quan bạn bè động viên, hỗ trợ giúp đỡ tơi q trình học tập làm luận văn i MỤC LỤC LỜI CẢM ƠN i MỤC LỤC ii DANH MỤC HÌNH iv DANH MỤC CHỮ VIẾT TẮT vi MỞ ĐẦU 1 Tính cấp thiết đề tài Thực trạng nghiên cứu MIMO-OFDM 3 Mục tiêu luận văn hướng giải CHƯƠNG 1: MƠ HÌNH KÊNH MIMO 1.1 Mơ hình kênh MIMO 1.2 Dung kênh MIMO 1.2.1 Dung kênh SISO, SIMO, MISO, MIMO 1.2.2 Dung kênh UT, IT 10 1.3 Mã hóa khơng thời gian ghép kênh không gian 13 1.3.1 Các kỹ thuật phân tập 13 1.3.2 Mã hóa khơng gian - thời gian (STC) 15 1.3.3 Ghép kênh không gian (SM) 26 1.3.4 So sánh STC SM 29 1.4 Một số phương pháp tổ hợp đầu thu 29 1.4.1 Tổ hợp lựa chọn (SC) 30 1.4.2 Tổ hợp chuyển mạch (SWC) 30 1.4.3 Tổ hợp tỉ số tối đa (MRC) 31 1.4.4 Tổ hợp khuếch đại đồng (EGC) 32 ii CHƯƠNG 2: HỆ THỐNG MIMO-OFDM VÀ ƯỚC LƯỢNG KÊNH MIMO-OFDM 34 2.1 Đặc trưng kênh đa đường 34 2.2 Hệ thống OFDM nguyên lý hoạt động 37 2.3 Kết hợp MIMO-OFDM 43 2.4 Ước lượng kênh hệ thống MIMO-OFDM 45 2.4.1 Phương pháp ước lượng kênh dùng tín hiệu hoa tiêu (PACE) 45 2.4.2 Ước lượng kênh hệ thống MIMO-OFDM 51 CHƯƠNG 3: MÔ PHỎNG 55 3.1 Thiết lập tham số mô 55 3.2 So sánh chất lượng OFDM MIMO-OFDM 56 3.3 So sánh LS MMSE 58 3.4 Ảnh hưởng độ dịch tần Doppler fd 60 3.5 Ảnh hưởng trải trễ rms 62 3.6 Ảnh hưởng số lượng đường truyền 63 3.7 Ảnh hưởng trải trễ tối đa τmax 65 KẾT LUẬN 68 TÀI LIỆU THAM KHẢO 70 PHỤ LỤC A LÝ THUYẾT THÔNG TIN 73 PHỤ LỤC B MỘT SỐ KHÁI NIỆM, ĐỊNH NGHĨA VỀ MA TRẬN 78 PHỤ LỤC C MÃ NGUỒN CHƯƠNG TRÌNH MƠ PHỎNG 83 iii DANH MỤC HÌNH Hình 1-1 Hệ thống MIMO có nT ăng-ten phát nR ăng-ten thu Hình 1-2 Dung kênh SISO, MISO, MISO Hình 1-3 Dung kênh MIMO 10 Hình 1-4 Minh họa kênh theo trị riêng 11 Hình 1-5 Minh họa định lý “đổ đầy” 13 Hình 1-6 Mã hóa STBC 16 Hình 1-7 Sơ đồ khối mã hóa Alamouti 19 Hình 1-8 Mã hóa STTC 22 Hình 1-9 Bộ mã hóa STTC với trường hợp ăng-ten phát 23 Hình 1-10 Sơ đồ mã lưới điều chế QPSK trạng thái với ăng-ten 25 Hình 1-11 Cấu trúc D-BLAST 26 Hình 1-12 Giải mã D-BLAST 27 Hình 1-13 Phương pháp tổ hợp lựa chọn 30 Hình 1-14 Phương pháp tổ hợp chuyển mạch 31 Hình 1-15 Phương pháp tổ hợp tỉ số tối đa 32 Hình 1-16 So sánh chất lượng phương pháp tổ hợp đầu thu 33 Hình 1-17 Tổ hợp EGC với số ăng-ten thu khác 33 Hình 2-1 Phân bố Rayleigh 36 Hình 2-2 Phân bố Ricean 36 Hình 2-3 Nguyên lý điều chế OFDM 38 Hình 2-4 Dạng sóng ký hiệu OFDM 38 Hình 2-5 Nguyên lý giải điều chế OFDM 39 Hình 2-6 Thêm CP vào ký hiệu OFDM 40 Hình 2-7 Chèn khoảng bảo vệ triệt tiêu nhiễu ISI 41 Hình 2-8 Sơ đồ khối hệ thống thu-phát OFDM 42 iv Hình 2-9 Hệ thống MIMO-OFDM 43 Hình 2-10 Mơ hình chèn ký hiệu hoa tiêu khung liệu OFDM 46 Hình 2-11 Ước lượng kênh PACE 2x1D 49 Hình 2-12 Hệ thống MIMO-OFDM 52 Hình 2-13 Cấu trúc khung tín hiệu MIMO-OFDM 53 Hình 3-1 Phân bố công suất đa đường theo hàm e mũ 56 Hình 3-2 Giản đồ chòm với hệ thống OFDM 57 Hình 3-3 Giản đồ chịm với hệ thống MIMO-OFDM 57 Hình 3-4 So sánh chất lượng hệ thống OFDM MIMO-OFDM 58 Hình 3-5 Giản đồ chịm với ước lượng kênh theo luật LS 59 Hình 3-6 Giản đồ chịm với ước lượng kênh theo luật MMSE 59 Hình 3-7 So sánh chất lượng hệ thống ước lượng theo LS MMSE 60 Hình 3-8 Giản đồ chòm với độ dịch tần Doppler khác 61 Hình 3-9 Ảnh hưởng độ dịch tần Doppler lên chất lượng hệ thống 61 Hình 3-10 Giản đồ chịm với trải trễ rms khác 62 Hình 3-11 Ảnh hưởng rms lên chất lượng hệ thống 62 Hình 3-12 Giản đồ chòm số lượng đường truyền khác 64 Hình 3-13 Ảnh hưởng số lượng đa đường chất lượng hệ thống 64 Hình 3-14 Giản đồ chịm trải trễ tối đa thay đổi so với CP 66 Hình 3-15 Ảnh hưởng trải trễ tối đa lên chất lượng hệ thống 66 Hình A-1 Mơ hình kênh AWGN 75 v DANH MỤC CÁC CHỮ VIẾT TẮT AWGN Additive White Gaussian Noise Tạp âm Gauss trắng cộng tính BCE Blind/Semi-Blind Channel Estimation Ước lượng kênh phương pháp mù BER Bit Error Rate Xác suất lỗi bit BLAST Bell Labs LAyered Space-Time Phân lớp khơng gian-thời gian phịng thí nghiệm Bell đề xuất CP Cyclic Prefix Tiền tố vòng D-BLAST Diagonal-BLAST BLAST phân lớp chéo DDCE Decision-Directed Channel Estimation Ước lượng kênh đệ quy DFT Discrete Fourier Transform Biến đổi Fourier rời rạc EGC Equal Gain Combining Tổ hợp khuếch đại đồng FFT Fast Fourier Transform Biến đổi Fourier nhanh IDFT Inverse Discrete Fourier Transform Biến đổi Fourier rời rạc ngược IFFT Inverse Fast Fourier Transform Biến đổi Fourier nhanh ngược ISI Intersymbol Interference Nhiễu xuyên ký hiệu LS Least Squared Bình phương tối thiểu MIMO Multi-Input Multi-Output Kỹ thuật xử lý nhiều đầu vào – nhiều đầu ML Maximum Likelihood (Định lý) xác suất giống cực đại MMSE Minimum Mean Square Error Tối thiểu lỗi trung bình bình phương MRC Maximal Ratio Combining Tổ hợp tỉ số tối đa OFDM Orthogonal Frequency Division Multiplexing Ghép kênh phân chia theo tần số trực giao PACE Pilot-Aided Channel Estimation Ước lượng kênh dùng tín hiệu hoa tiêu RMS Root Mean Squared (Trải trễ) Căn trung bình bình phương SC Selection Combining Tổ hợp lựa chọn vi SM Spatial Multiplexing Ghép kênh không gian SNR Signal to Noise Ratio Tỷ số cơng suất tín hiệu tạp nhiễu STBC Space-Time Block Code Mã khối không gian – thời gian STC Space-Time Code Mã không gian – thời gian STTC Space-Time Trellis Code Mã lưới không gian – thời gian SWC Switched Combining Tổ hợp chuyển mạch V-BLAST Vertical-BLAST BLAST phân lớp dọc vii MỞ ĐẦU Tính cấp thiết đề tài Trong phát triển không ngừng ngành thông tin truyền thông, truyền thông không dây, dịch vụ đa phương tiện yêu cầu tất yếu đời sống xã hội Tuy nhiên, thách thức công nghệ truyền thông khơng phải nhỏ Nó ảnh hưởng trực tiếp đến chất lượng dịch vụ đã, cung cấp cho xã hội Khi mà dịch vụ gia tăng mặt số lượng lẫn chất lượng ảnh hưởng trở nên rõ ràng, nghiêm trọng Thứ phải kể đến vấn đề sử dụng tần số cách hiệu Như biết, tần số nguồn tài nguyên hạn chế hoạch định quản lý chặt chẽ Mọi hoạt động truyền thơng khơng dây dù hay nhiều cần đến dải tần số định để thu-phát tín hiệu Nâng cao hiệu suất phổ vấn đề “nóng” khơng riêng ai, lại trở nên cấp thiết hết Thứ hai, việc tăng tốc độ truyền tin lơ việc nâng cao độ tin cậy thông tin nhằm đáp ứng lại yêu cầu dịch vụ truyền thông đa phương tiện ngày phát triển mạnh mẽ Một tốc độ độ tin cậy thông tin cải thiện, chất lượng dịch vụ nâng cao Thứ ba thách thức đến từ tượng pha-đinh đa đường gây Trong môi trường truyền thông không dây, tín hiệu phát đến nơi thu qua nhiều đường khác phản xạ, khúc xạ tán xạ gây nên Tín hiệu thu gồm nhiều tín hiệu chồng chập mà mức độ thăng giáng cường độ pha khác Xét cho khơng phải nhiễu gây nên, mà dạng tín hiệu phát bị biến dạng mang thơng tin tín hiệu phát Nếu tận dụng thông tin để nâng cao chất lượng bên thu tăng đáng kể tỉ số SNR Một ưu điểm hệ thống truyền thông không dây khả di động thiết bị đầu cuối thơng tin Đó thách thức cho trình thu Khi máy thu máy phát chuyển động tương vận tốc khác không, tần số máy thu bị xê dịch so với tần số gốc lượng định tùy thuộc vào vận tốc di chuyển, người ta gọi hiệu ứng Doppler Để giải vấn đề tăng tốc độ độ tin cậy truyền tin, dùng hai kỹ thuật chính, phân tập thời gian phân tập tần số Phân tập thời gian dựa vào thông tin phát lặp lại bên phát phân tập tần số dựa sở phát lặp dải tần khác Tuy vậy, hai giải pháp gây nên lãng phí tốc độ truyền băng tần Một giải pháp kỹ thuật khác khắc phục phần khuyết điểm hai kỹ thuật trên, phân tập khơng gian hay cịn gọi phân tập ăng-ten Phương pháp sử dụng thông tin phát nhiều ăng-ten khác mà không ảnh hưởng đến vi phạm dải tần tốc độ truyền thông tin Tương tự bên phát, bên thu sử dụng nhiều ăng-ten để “gom lại” tối đa thông tin thu để định giải mã thông tin phát Hệ thống sử dụng nhiều ăng-ten phát nhiều ăng-ten thu gọi hệ thống MIMO - hệ thống nhiều lối vào - nhiều lối (Multi-Input MultiOutput) Thông qua mã hóa khơng gian-thời gian (STC), ghép kênh thời gian (SM) bên phát phương pháp tổ hợp tín hiệu đầu thu, hệ thống MIMO tăng dung kênh mà không cần tăng dải tần công suất phát Bên cạnh đó, với việc mã hóa giải mã trực giao, thông tin phục hồi bên thu tăng độ tin cậy, giảm thiểu lỗi kênh truyền Cộng với việc tận dụng thông tin kênh truyền có thu, mà máy phát điều chỉnh công suất phát hợp lý để nâng cao chất lượng hệ thống Nếu hệ truyền thông vô tuyến ăng-ten phát - ăng-ten thu (SISO - Single Input Single Output) tượng pha-đinh đa đường gây khó khăn lớn cho thu với hệ MIMO, lại chuyển hóa thành tín hiệu có ích, tạo nên lợi định Từ đó, lượng tín hiệu thu cải thiện đáng kể từ tín hiệu có ích, làm tăng tỉ số cơng suất tín hiệu tạp nhiễu hữu ích cho việc định tín hiệu phát ban đầu Tuy nhiên, tín hiệu phát mơi trường pha-đinh đa đường, trải trễ kênh gây lớn Khi muốn tăng tốc độ truyền tin, nghĩa phải giảm chu kỳ ký hiệu thông tin phát Lúc đó, trải trễ lớn chu kỳ ký hiệu gây kênh suy giảm chọn lọc tần số, tín hiệu bị méo dạng dễ gây nhiễu xuyên ký hiệu ISI Trong ưu điểm kỹ thuật ghép kênh phân chia tần số trực giao (OFDM - Orthogonal Frequency Division Multiplexing) Kỹ thuật phân chia dải tần băng rộng thành băng tần hẹp, phát tín hiệu song song băng Với việc sử dụng tiền tố vòng (CP - Cyclic Prefix), chu kỳ ký hiệu phát băng vốn mở rộng tỷ lệ với số băng chia lại lớn Chính vậy, chu kỳ ký hiệu phát lớn độ trải trễ kênh truyền tạo nên kênh truyền trở nên “phẳng” hơn, nghĩa tín hiệu truyền khơng bị méo tránh nhiễu xuyên ký hiệu ISI 77 I real ( y, x | H ) = H ( y | H ) − H ( y | x, H ) (A.25) Sau áp dụng (A.14) (A.22): m ⋅ log (2πe) − log σ I (A.26) 2 Rõ ràng, x có trị trung bình ma trận hiệp phương sai P, y có trị H ( y | x, H ) = trung bình ma trận hiệp phương sai HPH T + σ I x có trị trung bình ma trận hiệp phương sai P, thơng tin tương hỗ (A.25) đạt tối đa y biến Gauss, x biến Gauss Với lựa chọn biến Gauss cho x trên, có: H(y | H) = m ⋅ log (2πe) + log σ I + HPH T 2 (A.27) vậy, 1 I real ( y, x | H ) max = log σ I + HPH T − log σ I 2 1 = log I + HPH T σ (A.28) Nếu thay toàn đại lượng giá trị phức, n biến Gauss tròn: n ~ N C (0, σ ⋅ I ) (A.29) I complex ( y, x | H ) max = log I + σ HPH H (A.30) 78 PHỤ LỤC B MỘT SỐ KHÁI NIỆM, ĐỊNH NGHĨA VỀ MA TRẬN B-1 Ma trận Ma trận X kích cỡ m×n biểu diễn sau: ⎡ x1,1 ⎢x ,1 X =⎢ ⎢ M ⎢ ⎣ xm ,1 x1, x2, M xm , L x1,n ⎤ L x2,n ⎥ ⎥ O M ⎥ ⎥ L xm ,n ⎦ (B.1) Trong ma trận phần tử xi , j tương ứng phần tử thuộc hàng thứ i cột thứ j Các phần tử ma trận nhận giá trị thực phức X gọi ma trận vuông m = n B-2 Chuyển vị ma trận Chuyển vị ma trận X, ký hiệu XT, ma trận có hàng tương ứng cột số ma trận X: ⎡ x1,1 ⎢x 1, T X =⎢ ⎢ M ⎢ ⎣ x1,n x2,1 L xm ,1 ⎤ x2 , L xm , ⎥ ⎥ M O M ⎥ ⎥ x2 ,n L xm ,n ⎦ (B.2) Biến đổi Hermit ma trận X, ký hiệu XH, ma trận có phần tử hàng tương ứng liên hợp phức phần tử cột số ma trận X: XH ⎡ x1*,1 ⎢ * x T = conj (X ) = ⎢ 1, ⎢ M ⎢ * ⎣⎢ x1,n x2*,1 L xm* ,1 ⎤ ⎥ x2*, L xm* , ⎥ M O M ⎥ ⎥ x2*,n L xm* ,n ⎦⎥ (B.3) A-3 Đường chéo ma trận Đường chéo ma trận vng X định nghĩa véctơ với phần tử thuộc ma trận X có số hàng số cột: diag ( X ) = diag ( X ) = [x1,1 x2, K , xm ,m ] T (B.4) 79 A-4 Vết ma trận Vết (Trace) ma trận vuông, ký hiệu Tr{X}, tổng phần tử đường chéo ma trận X: m Tr{ X } = ∑ x p , p (B.5) Tr{ XY } = Tr{YX } (B.6) p =1 Tính chất: A-5 Định thức ma trận Định thức ma trận vuông X, ký hiệu X det( X ) , xác định đệ quy sau: Ma trận vuông cấp 1, định thức X = x11 ; Ma trận vuông cấp 2, định thức X = x11 x22 − x12 x21 ; Ma trận vuông cấp m, định thức tính cơng thức: m X = ∑ x pq (−1) p+q m M pq = ∑ x pq (−1) p + q M pq (B.7) q =1 p =1 Trong đó, M pq định thức con, tính định thức ma trận cha bỏ hàng thức p cột thứ q Tính chất: XY = X Y (B.8) A-6 Giá trị riêng, véctơ riêng ma trận Giá trị (vô hướng) λ véctơ u tương ứng gọi giá trị riêng véctơ riêng ma trận X nếu: Xu = λu (B.9) Tính chất: ∏λ k ∑λ k k = X (B.10) = Tr{X } (B.11) k 80 A-7 Hạng ma trận Hạng theo hàng ma trận X số hàng độc lập tuyến tính ma trận Hạng theo cột ma trận X số cột độc lập tuyến tính ma trận Với ma trận bất kỳ, hạng theo hàng hạng theo cột gọi chung hạng ma trận, ký hiệu rank(X) A-8 Một số loại ma trận điển hình - Ma trận khơng X gọi ma trận không tất phần tử ma trận X có giá trị - Ma trận đơn vị Ma trận vuông X gọi ma trận đơn vị phần tử đường chéo phần tử cịn lại có giá trị Ma trận đơn vị ký hiệu Im - Ma trận đường chéo Ma trận vuông gọi ma trận đường chéo phần tử khơng nằm đường chéo có giá trị Ma trận đường chéo ký hiệu ∆ m Nếu gọi phần tử đường chéo d1 , d ,K, d m , biểu diễn ma trận ∆ m sau: ∆ m = diag (d1 , d ,K, d m ) - (B.12) Ma trận nghịch đảo Ma trận nghịch đảo ma trận vuông X, ký hiệu X-1, ma trận thỏa mãn: X −1 X = XX −1 = I m - (B.13) Ma trận Hermit Ma trận X gọi ma trận Hermit X = X H - Ma trận unita Ma trận vuông X gọi ma trận unita nếu: X H X = XX H = I m (B.14) Như vậy, ma trận unita ma trận có nghịch đảo biến đổi Hermit ma trận, nghĩa là: X H = X −1 (B.15) 81 Ma trận unita ký hiệu U m A-9 Phân hoạch ma trận theo giá trị riêng (EVD) Giả sử X ma trận Hermit Khi đó, tồn ma trận đường chéo ∆ m ma trận unita cho: X = U m ∆ mU mH (B.16) Cặp ma trận ( U m , ∆ m ) gọi phân hoạch theo giá trị riêng (EigenValue Decomposition - EVD) ma trận X Đường chéo ma trận ∆ m bao gồm giá trị riêng (giá trị thực) X A-10 Phân hoạch ma trận theo giá trị kỳ dị (SVD) Giả sử X ma trận kích cỡ m×n có hạng r Khi đó, tồn ma trận đường chéo ∆ r kích cỡ r×r với phần tử đường chéo có giá trị dương hai ma trận U, V cho: ⎧U H U = I r ⎪ H ⎨V V = I r ⎪ H ⎩ X = U∆V (B.17) Bộ ma trận (U,V, ∆ r ) gọi phân hoạch ma trận theo giá trị kỳ dị (Singular Value Decomposition - SVD) ma trận X A-11 Vectơ hóa ma trận Giả sử X ma trận kích cỡ m×n Véctơ hóa ma trận X thực cách xếp chồng liên tiếp cột ma trận X: vec( X ) = [x1,1 x2,1 K xm ,1 x1, x2, K xm , KK xm ,n ] T (B.18) Tính chất: Tr{ X H Y } = [vec( X )] vec(Y ) H (B.19) A-12 Tích Kronecker Tích Kronecker ma trận X kích cỡ m× n ma trận Y kích cỡ m1× n1, ký hiệu X ⊗ Y , ma trận kích cỡ mm1× nn1 xác định sau: 82 ⎡ x1,1Y L x1,nY ⎤ ⎢ ⎥ O M ⎥ X ⊗Y = ⎢ M ⎢⎣ xm,1Y L xm,nY ⎥⎦ (B.20) Tính chất: vec( XYZ ) = ( Z T ⊗ X )vec(Y ) Tr{ X ⊗ Y } = Tr{ X }Tr{Y } ( X ⊗ Y ) −1 = X −1 ⊗ Y −1 ( X ⊗ Y )H = X H ⊗ Y H ( A ⊗ B)( X ⊗ Y ) = ( AX ) ⊗ ( BY ) (B.21) 83 PHỤ LỤC C MÃ NGUỒN CHƯƠNG TRÌNH MÔ PHỎNG %===============================Chuong trinh chinh ============================= %================================MIMO_OFDM.m============================== clear all clc format long pilot_interval=10; % Khoang cach chen hoa tieu pilot=[0 1]; % Ky hieu hoa tieu (dang bit) cp_len=16; % Chieu dai CP SNR_dB=[0:5:40]; ls_ber=zeros(1,length(SNR_dB)); % Khoi tao gia tri BER mmse_ber=zeros(1,length(SNR_dB)); for i=1:length(SNR_dB) ls_err_bit=0; mmse_err_bit=0; total_bit=0; packets=2; % goi thong tin for l=1:packets ofdm_symbol=200; % 200 ky hieu OFDM/1 goi data_source=input_bit(128,ofdm_symbol); % 128 ky hieu 16-QAM/1 ky hieu OFDM [nbit,mbit]=size(data_source); total_bit=total_bit+nbit*mbit; qam_symbol=bit_to_qam(data_source); % Anh xa tu day bit sang 16-QAM [data_ant1 data_ant2]=ST_Coding(qam_symbol);% Thuc hien ma hoa STC [s1 -s2*;s2 s1*] pilot_symbol=mod_qam16(pilot); %%%% chen hoa tieu [piloted_ant1,piloted_ant2,pilot_num]=add_pilot(pilot_interval,pilot_symbol,data_ant1,data_ant2); %%%% bien doi IFFT mod_out1=ifft(piloted_ant1,128); mod_out2=ifft(piloted_ant2,128); %%%% chen tien to vong CP after_cp1=add_cp(mod_out1,cp_len); after_cp2=add_cp(mod_out2,cp_len); nline=8; % so da duong delay=[0 1e-6 2e-6 3e-6 4e-6 8e-6 12e-6 15e-6]; trms=.5*1e-6; % trai tre rms pow=exp(-delay/trms); fd=100; % dich tan Doppler t_res=1e-6; % khoang thoi gian phan giai count11=10000; count21=20000; count12=30000; count22=40000; start_count11=(l-1)*(5*count11); start_count21=(l-1)*(5*count21); start_count12=(l-1)*(5*count12); start_count22=(l-1)*(5*count22); tau_max=16e-6/t_res; % tre troi cuc dai %%% Truyen qua moi truong da duong sig_over_H11=multi_path(after_cp1,nline,pow,delay,fd,t_res,count11,start_count11); 84 sig_over_H12=multi_path(after_cp2,nline,pow,delay,fd,t_res,count12,start_count12); sig_over_H21=multi_path(after_cp1,nline,pow,delay,fd,t_res,count21,start_count21); sig_over_H22=multi_path(after_cp2,nline,pow,delay,fd,t_res,count22,start_count22); %%% Tin hieu thu duoc tai cac angten thu sig_over_H1=sig_over_H11 + sig_over_H12; sig_over_H2=sig_over_H22 + sig_over_H21; %%% Them nhieu AWGN snr=10^(SNR_dB(i)/10); [nnl,mml]=size(sig_over_H1); power1=0; power2=0; for k=1:nnl for b=1:mml power1=power1+real(sig_over_H1(k,b))^2+imag(sig_over_H1(k,b))^2; power2=power2+real(sig_over_H2(k,b))^2+imag(sig_over_H2(k,b))^2; end end average_power1=power1/(2*nnl*mml); average_power2=power2/(2*nnl*mml); sigma1=sqrt(average_power1/(2*snr)); sigma2=sqrt(average_power2/(2*snr)); receive_sig1=add_AWGN(sigma1,sig_over_H1); receive_sig2=add_AWGN(sigma2,sig_over_H2); %%% Loai bo CP remove_cp1=remove_cp(receive_sig1,cp_len); remove_cp2=remove_cp(receive_sig2,cp_len); %%% Bien doi FFT demod_out1=fft(remove_cp1,128); demod_out2=fft(remove_cp2,128); %%% Uoc luong kenh theo luat LS va MMSE ls_sig=ls(demod_out1,demod_out2,pilot_symbol,pilot_interval,pilot_num); [mmse_sig]=mmse(demod_out1,demod_out2,pilot_symbol,pilot_interval, pilot_num,t_res,trms,tau_max,snr); %%% Anh xa ket qua sau xu ly PACE vao 16-QAM ls_sig_bit=qam_to_bit(ls_sig); mmse_sig_bit= qam_to_bit(mmse_sig); %%% Dem loi bit ls_err=count_error(data_source,ls_sig_bit); mmse_err=count_error(data_source,mmse_sig_bit); ls_err_bit=ls_err_bit+ls_err; mmse_err_bit=mmse_err_bit+mmse_err; end %%% Tinh ti le loi bit (BER) ls_ber(i)=ls_err_bit/total_bit; mmse_ber(i)=mmse_err_bit/total_bit; end %%% Ve gian chom sau da xu ly LS va MMSE figure; plot(ls_sig,'.'); figure; 85 plot(mmse_sig,'.'); %%% Ve lien he BER-SNR figure; semilogy(SNR_dB,ls_ber,'b-*') hold on semilogy(SNR_dB,mmse_ber,'r-o') hold off %*******************************************Ket thuc chuong trinh chinh**************************************** %=================================CÁC HÀM=================================== %******************************* input_bit( ) ************************ function x=input_bit(N,NL) for i=1:NL input_0=rand(1,4*N); for j=1:4*N if input_0(j)>0.5 input(j,i)=1; else input(j,i)=0; end end end x=input; %********************************************************************** %**************************** bit_to_qam( ) ************************* function output=bit_to_qam(input) [N,NL]=size(input); N=N/4; output=zeros(N,NL); for j=1:NL for n=1:N for ic=1:4 qam_input(ic)=input((n-1)*4+ic,j); end output(n,j)=mod_qam16(qam_input); end end %*********************************************************************** %*************************** qam_to_bit( ) **************************** function output=qam_to_bit(input) [m,n]=size(input); output=zeros(4*m,n); for j=1:n for i=1:m y=demod_qam16(input(i,j)); for ic=1:4 output(4*(i-1)+ic,j)=y(ic); end end end %************************************************************************ 86 %*************************** mod_qam16( ) *************************** function x=mod_qam16(y) if y==[0 0 0] x=1+j; elseif y==[0 0] x=1-j; elseif y==[1 0 0] x=-1+j; elseif y==[1 0] x=-1-j; elseif y==[0 0] x=3+j; elseif y==[0 0 1] x=1+3*j; elseif y==[0 1 0] x=3-j; elseif y==[0 1] x=1-3*j; elseif y==[1 0 1] x=-1+3*j; elseif y==[1 0] x=-3+j; elseif y==[1 1 0] x=-3-j; elseif y==[1 1] x=-1-3*j; elseif y==[0 1] x=3+3*j; elseif y==[1 1] x=-3+3*j; elseif y==[1 1 1] x=-3-3*j; elseif y==[0 1 1] x=3-3*j; end %************************************************************************ %*************************demod_qam16( ) *************************** function y=demod_qam16(x) y=real(x); y1=imag(x); if (y>=0)&(y2) y=3; elseif (y=0)&(y12) y1=3; elseif (y1