Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 113 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
113
Dung lượng
1,8 MB
Nội dung
Kỹ thuật OFDM ứng dụng công nghệ OFDM TRƯỜNG ĐẠI HỌC VINH KHOA ĐIỆN TỬ - VIỄN THÔNG ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: KỸ THUẬT OFDM VÀ ỨNG DỤNG CÔNG NGHỆ OFDM Sinh viên thực hiện: NGUYỄN VĂN VINH Lớp 48K - ĐTVT Giảng viên hướng dẫn: Th.S ĐẶNG THÁI SƠN SVTH: Nguyễn Văn Vinh Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM NGHỆ AN, 12-2011 SVTH: Nguyễn Văn Vinh Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM MỤC LỤC Trang Lời Cảm ơn LỜI NÓI ĐẦU TÓM TẮT ĐỒ ÁN 10 CHƯƠNG TỔNG QUAN VỀ OFDM 11 1.1 Giới thiệu chương .11 1.2 Khái niệm đời OFDM 11 1.3 Các nguyên lý OFDM 13 1.4 Đơn sóng mang (Single carrier) 16 1.5 Đa sóng mang (Multi carier) .17 1.6 Sự trực giao .19 1.6.1 Trực giao miền tần số .20 1.6.2 Mơ tả tốn học OFDM 20 1.7 Sử dụng biến đổi IFFT để tạo sóng mang 25 1.8 ISI, ICI hệ thống OFDM 28 1.9 Các kỹ thuật điều chế OFDM 31 1.9.1 Điều chế BPSK .32 1.9.2 Điều chế QPSK .33 1.9.3 Điều chế QAM .35 1.9.4 Mã Gray 37 SVTH: Nguyễn Văn Vinh Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng cơng nghệ OFDM 1.10 Các đặc tính OFDM 38 1.10.1 Ưu điểm : 38 1.10.2 Nhược điểm : 39 1.11 Kết luận 41 CHƯƠNG ẢNH HƯỞNG CỦA KÊNH VÔ TUYẾN VÀ ƯỚC LƯỢNG KÊNH TRONG OFDM .42 2.1 Giới thiệu chương 42 2.2 Tổng quan kênh vô tuyến di động 42 2.3 Suy hao đường truyền .42 2.4 Fading chậm fading nhanh 43 2.5 Fading lựa chọn tần số fading phẳng 44 2.6 Thông số tán xạ thời gian 47 2.7 Phổ Doppler (Doppler spectrum) 48 2.8 Trải phổ doppler thời gian kết hợp (Doppler spread and coherence time) 50 2.9 Độ trải trễ 51 2.10 Mô hình kênh ước lượng kênh 52 2.10.1 Mơ hình kênh 52 2.10.2 Ước lượng kênh 52 2.11 Các phương pháp ước lượng kênh 54 2.11.1 Phương pháp ước lượng kênh dùng pilot 54 2.11.1.1 Ước lượng kênh dựa xếp pilot theo kiểu khối 55 SVTH: Nguyễn Văn Vinh Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM 2.11.1.2 Ước lượng kênh dựa xếp pilot theo kiểu lược 57 2.11.2 Ước lượng Wiener .58 2.11.2.1 Lỗi ước lượng .60 2.12 Kết luận 60 CHƯƠNG 3: ĐỒNG BỘ TRONG OFDM .61 3.1 Giới thiệu chương .61 3.2 Tổng quan đồng hệ thống OFDM 61 3.2.1 Nhận biết khung .62 3.2.2 Ước lượng khoảng dịch tần số .63 3.2.2.1 Ước lượng phần thập phân .63 3.2.2.2 Ước lượng phần nguyên 64 3.3 Các vấn đề đồng hệ thống OFDM 65 3.3.1 Đồng tần số hệ thống OFDM 65 3.3.1.1 Đồng tần số lấy mẫu .66 3.3.1.2 Đồng tần sóng mang .66 3.3.2 Đồng ký tự hệ thống OFDM 67 3.3.2.1 Đồng ký tự dựa ký hiệu pilot .67 3.3.2.2 Đồng ký tự dựa vào CP 69 3.3.2.3 Đồng khung ký tự dựa mã đồng khung (FSC : Frame synchronization Code) 69 3.3.3 Ảnh hưởng sai lỗi đồng đến tiêu chất lượng hệ thống OFDM .72 SVTH: Nguyễn Văn Vinh Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM 3.4 Tỷ số công suất đỉnh công suất trung bình (PAPR) 71 3.5 Kết luận 72 CHƯƠNG ỨNG DỤNG OFDM TRONG DVB – T 74 4.1 Giới thiệu chương .74 4.2 Tổng quan DVB – T .74 4.3 Tính trực giao sóng mang OFDM DVB - T .77 4.4 Biến đổi IFFT điều chế tín hiệu DVB-T 77 4.5 Lựa chọn điều chế sở 79 4.6 Số lượng, vị trí nhiệm vụ sóng mang 80 4.7 Chèn khoảng thời gian bảo vệ 83 4.8 Tổng vận tốc dòng liệu máy phát số DVB-T 84 4.9 Kết luận 85 CHƯƠNG MÔ PHỎNG HỆ THỐNG OFDM 86 5.1 Giới thiệu chương .86 5.2 Dùng simulink mô hệ thống OFDM 86 5.3 Một số lưu đồ thuật tốn chương trình .89 5.3.1 Lưu đồ mô kênh truyền .89 5.3.2 Lưu đồ mơ thu phát tín hiệu OFDM 90 5.3.3 Lưu đồ mơ thu phát tín hiệu QAM .91 5.3.4 Lưu đồ mô thuật tốn tính BER 93 SVTH: Nguyễn Văn Vinh Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM 5.4 Kết chương trình mơ .94 5.4.1 So sánh tín hiệu QAM OFDM 94 5.5 Kết luận .95 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI 96 TÀI LIỆU THAM KHẢO 98 PHỤ LỤC 99 CÁC TỪ VIẾT TẮT …………………………………………………………………… 111 SVTH: Nguyễn Văn Vinh Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM Lời cảm ơn Trong thời gian làm đô án em với nỗ lực bạn thân em hoàn thành đồ án theo thời gian quy định Bên cạnh em xin cảm ơn tập thể nhà trường, thầy cô khoa Điện Tử Viễn Thông cán nhân viên Thư viện Nguyễn Thúc Hào giúp em hoàn thành đồ án SVTH: Nguyễn Văn Vinh Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM LỜI NĨI ĐẦU Trong năm gần đây, kỹ thuật thơng tin vơ tuyến có bước tiến triển vượt bậc Sự phát triển nhanh chóng video,thoại thơng tin liệu Internet, điện thoại di động có mặt khắp nơi, nhu cầu truyền thông đa phương tiện di động ngày phát triển Việc nghiên cứu phát triển diễn toàn giới để đưa hệ hệ thống truyền thông đa phương tiện băng rộng không dây tạo nên “ làng thơng tin tồn cầu “ Sự hoạt động hệ thống vô tuyến tiên tiến phụ thuôc nhiều vào đặc tính kênh thơng tin vơ tuyến : fading lựa chọn tần số , độ rộng băng thông bị giới hạn , điều kiện đường truyền thay đổi cách nhanh chóng tác động qua lại tín hiệu Nếu sử dụng hệ thống đơn sóng mang truyền thống cho dịch vụ hệ thống thu phát có độ phức tạp cao nhiều so với việc sử dụng hệ thống đa sóng mang , ghép kênh phân chia theo tần số trực giao (OFDM) giải pháp quan tâm để giải vấn đề Cũng ưu điểm vượt trội hệ thống đa sóng mang môi trường đa đường , nên phạm vi nghiên cứu đề tài , em ứng dụng kĩ thuật OFDM vào truyền hình số mặt đất DVB_T Ngoài OFDM ngày phát triển dịch vụ viễn thông tốc độ cao Internet không dây, thông tin di động 4G, mạng LAN không dây, chọn làm chuẩn cho hệ thống phát số Do OFDM trở thành cơng nghệ chấp nhận cách rộng rãi chuẩn truyền thông không dây di động sử dụng nhiều tương lai Tuy nhiên OFDM có bất lợi so với hệ thống đơn sóng mang : nhạy với nhiễu pha tần số offset , tỷ số cơng suất đỉnh cơng suất trung bình cao giới hạn hiệu suất hoạt động khuếch đại RF vấn đề đồng phức tạp hệ thống đơn sóng mang SVTH: Nguyễn Văn Vinh Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng cơng nghệ OFDM Trong q trình làm đề tài, em cố gắng nhiều song kiến thức hạn chế nên tránh khỏi thiếu sót Em mong nhận thơng cảm, phê bình, hướng dẫn giúp đỡ tận tình Thầy Cô, bạn bè Em xin chân thành cảm ơn giúp đỡ tận tình Thầy Đặng Thái Sơn Thầy Cơ Khoa để em hồn thành tốt đề tài tốt nghiệp Vinh , Ngày 18 Tháng 12 Năm 2011 Sinh viên thực : Nguyễn Văn Vinh SVTH: Nguyễn Văn Vinh 10 Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM TÀI LIỆU THAM KHẢO [1] :http://donghuongphuquy.com/pq/diendan/showthread.php?t=6731 [2] Nguyễn Văn Đức,“Lý thuyết ứng dụng kỹ thuật OFDM”, Nhà xuất khoa học kỹ thuật Hà Nội, 2006 [3] L.HANZO,W.WEBB,and T.KELLER,"Single-and Multi-Carrier Quadrature Amplititude Modulation" New York: IEEE Press/ Wiley, Apr.2000 [4] Anibal Luis Intini, “ Orthogonal Frequency Division Multiplexing for Wirelss Networks “ , University of California Santa Barbara – December, 2000 [5] Tạ Quốc Ưng , “ Điện thoại di động truyền hình số mặt đất DVB_T “ , Tạp chí Bưu Chính Viễn Thông & Công Nghệ Thông Tin (12/11/2003) [6] Cheng-Xiang Wang, Nguyễn Văn Đức, “Kỹ thuật thông tin số_tập 1”, Nhà xuất khoa học kĩ thuật- Hà Nội 2006 [7] Th.s Nguyễn Ngọc Tiến,” Một số vấn đề kỹ thuật OFDM”, Tạp chí Bưu Chính Viễn Thông & Công Nghệ Thông Tin , Kỳ 1(10/2003) [8] T.S Phạm Đắc Bi, K.S Lê Trọng Bằng , K.S Đỗ Anh Tú, ”Các đặc điểm máy phát số DVB-T”, Tạp chí Bưu Chính Viễn Thơng & Công Nghệ Thông Tin , (8/2004) SVTH: Nguyễn Văn Vinh 99 Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng cơng nghệ OFDM PHỤ LỤC Đoạn chương trình mơ kênh truyền %ch.m recv = xmit; % channel is applied to recv, don't modify transmitted data if channel_on == disp('Simulating Channel') norm_factor = max(abs(recv)); % Normalize all data before applying recv = (1/norm_factor) * recv; % channel for a fair comparison ch_clipping ch_multipath ch_noise recv = norm_factor * recv; % Restore data magnitude for proper decoding end %ch_clipping.m for i = 1:length(recv) if recv(i) > clip_level recv(i) = clip_level; end if recv(i) < -clip_level recv(i) = -clip_level; end end %ch_multipath.m copy1=zeros(size(recv)); for i=1+d1:length(recv) copy1(i)=a1*recv(i-d1); end copy2=zeros(size(recv)); for i=1+d2:length(recv) copy2(i)=a2*recv(i-d2); end SVTH: Nguyễn Văn Vinh 100 Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM recv=recv+copy1+copy2; %ch_noise.m if already_made_noise == % only generate once and use for both QAM and OFDM noise = (rand(1,length(recv))-0.5)*2*noise_level; already_made_noise = 1; end recv = recv + noise; %…………………………………………………………………………………… Đoạn chương trình mơ phát tín hiệu OFDM % tx.m disp('Transmitting') read data_in_pol = bin2pol(data_in); % Chuyen doi du lieu nhi phan du lieu phan cuc tx_chunk % Thuc hien IFFT de tao dang song mien thoi gian bieu dien du lieu td_sets = zeros(num_chunks,fft_size); for i = 1:num_chunks td_sets(i,1:fft_size) = real(ifft(spaced_chunks(i,1:fft_size))); end tx_dechunk % tx_chunk data_length = length(data_in_pol); %So ky tu nguyen thuy o dau vao num_chunks = ceil(data_length/(2*num_carriers)); %2 du lieu tren mot song mang % (thuc va ao) r = rem(data_length,2*num_carriers); if r ~= for i = 1:num_carriers*2-r data_in_pol(data_length+i) = 0; %them du lieu voi cac muc khong vao tap hop % du lieu sau phat hoan toan end %Toc co the duoc cai thien end % Chia du lieu vao cac chunks chunks = zeros(num_chunks,num_carriers); % Danh cho toc SVTH: Nguyễn Văn Vinh 101 Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM for i = 1:num_chunks % *********************chunk da duoc thuc hien for k = 1:num_carriers chunnks(i,k) = data_in_pol(2*num_carriers*(i-1)+k)+data_in_pol(2*… num_carrier*(i-1)+k+num_carrier)*j; end end % Them cac chunk voi cac muc zero de num_carriers va fft_size thich hop % Mot da thoa, cac khoang duoc don gian hoa num_desired_carriers = num_carriers; num_zeros = 0; thinking = 1; while thinking == % Tiep tuc neu num_carriers va fft_size khong thich hop if rem(fft_size/2,num_desired_carriers) == thinking = 0; else num_desired_carriers = num_desired_carriers + 1; num_zeros = num_zeros + 1; end end padded_chunks = zeros(num_chunks,num_carriers + num_zeros);% Danh cho toc padded_chunks(1:num_chunks,num_zeros + 1:num_carriers + num_zeros) = chunks; %Tinh toan giua cac muc khong zeros_between = ((fft_size/2) - (num_carriers + num_zeros))/(num_carriers + … num_zeros); spaced_chunks = zeros(num_chunks,fft_size); %Them vao giua cac muc khong i = 1; for k = zeros_between +1:zeros_between +1:fft_size/2 spaced_chunks(1:num_chunks,k) = padded_chunks(1:num_chunks,i); i = i+1; end % Gap du lieu de tao mot ham le cho dau vao IFFT for i = 1:num_chunks SVTH: Nguyễn Văn Vinh 102 Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM % Chu y: chi muc = that la tan so mot chieu de ifft -> no khong % tao ban len truc y thi spaced_chunks(i,fft_size:-1:fft_size/2+2) = conj(spaced_chunks(i,2:fft_size/2)); end % tx_dechunk.m % Tin hieu khoi phuc de phat bang cach dat cac tap hop mien thoi gian % chuoi noi tiep xmit = zeros(1,num_chunks*fft_size); for i = 1:num_chunks for k = 1:fft_size xmit(k + (i-1)*fft_size) = td_sets(i,k); end end %…………………………………………………………………………………… Đoạn chương trình mơ thu tín hiệu OFDM % rx.m disp('Receiving') rx_chunk % Thuc hien FFT de khoi phuc du lieu goc tu cac tap hop mien thoi gian recv_spaced_chunks = zeros(num_chunks,fft_size); for i = 1:num_chunks recv_spaced_chunks(i,1:fft_size) = fft(recv_td_sets(i,1:fft_size)); end rx_dechunk output = pol2bin(output); % Chuyen doi du lieu phan cuc nhi phan write % rx_chunk.m % Chia tin hieu thu duoc cac tap hop song song de giai dieu che recv_td_sets = zeros(num_chunks,fft_size); for i = 1:num_chunks for k = 1:fft_size recv_td_sets(i,k) = recv(k + (i-1)*fft_size); end SVTH: Nguyễn Văn Vinh 103 Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM end % rx_dechunk.m % take out zeros_between from recv_spaced_chunks recv_padded_chunks recv_padded_chunks = zeros(num_chunks, num_carriers+num_zeros); i = 1; for k = zeros_between +1:zeros_between +1:fft_size/2 recv_padded_chunks(1:num_chunks,i) = recv_spaced_chunks(1:num_chunks,k); i = i+1; end % take out num_zeros from padded chunks recv_chunks recv_chunks = zeros(num_chunks, num_carriers); recv_chunks = recv_padded_chunks(1:num_chunks, num_zeros+1:num_carriers+… num_zeros); % Recover bit stream by placing reconstructed frequency domain data in series recv_dechunked = zeros(1, num_chunks*num_carriers); for i = 1:num_chunks for k = 1:num_carriers recv_dechunked(k + (i-1)*num_carriers*2) = real(recv_chunks(i,k)); recv_dechunked(k + (i-1)*num_carriers*2) + num_carriers) = imag… (recv_chunks(i,k)); end end % take out trailing zeros from output output output_analog = recv_dechunked(1:data_length); output = sign(output_analog); %…………………………………………………………………………………… Đoạn chương trình mơ phát tín hiệu QAM read % Doc du lieu cho QAM – Khong anh huong den OFDM data_in_pol = bin2pol(data_in); % Chuyen doi du lieu nhi phan du lieu phan cuc % Kiem tra so song mang co phai la luy thua cua is_pow_2 = num_carriers; temp_do_QAM = 0; if is_pow_2 ~= SVTH: Nguyễn Văn Vinh 104 Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM while temp_do_QAM == temp_do_QAM = rem(is_pow_2,2); is_pow_2 = is_pow_2/2; if is_pow_2 == temp_do_QAM = -99;% Dung la luy thua cua -> Co the thuc hien QAM end end else temp_do_QAM = -99; % la luy thua cua end if temp_do_QAM ~= -99 do_QAM = 0; % Khong the thuc hien disp(‘ ‘),disp(‘ERROR: Cannot run QAM because num_carriers is not valid.’) disp(‘ Please see “setup.m” for details.’) end if do_QAM == tic % Bat dau de tinh toan thoi gian mo phong thuc hien QAM disp(‘ ‘), disp(‘ ‘) disp(‘QAM simulation’), disp(‘Transmitting’) % Them cac muc zeros de du lieu duoc chia cac phan bang data_length = length(data_in_pol); r = rem(data_length,num_carriers); if r ~= for i = 1:num_carriers-r data_in_pol(data_length+i) = 0; %Them dau vao voi cac zeros vao tap hop %du lieu end %Toc co the duoc cai thien end data_length = length(data_in_pol); %Cap nhat sau them num_OFDM_symbols = ceil(data_length / (2*num_carriers)); % So ky hieu QAM duoc bieu dien bang so luong cua du lieu tren mot ky hieu OFDM num_QAM_symbols = num_carriers / 2; % So mau tren ky hieu QAM num_symbol_samples = fft_size / num_QAM_symbols; SVTH: Nguyễn Văn Vinh 105 Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM % Chuyen doi du lieu phan cuc [-1, 1] du lieu muc [-3, -1, 1, 3] data_in_4 = zeros(1,data_length/2); for i = 1:2:data_length data_in_4(i – (i-1)/2) = data_in_pol(i)*2 + data_in_pol(i+1); end % Dinh ro diem lay mau giua va 2*pi ts = linspace(0, 2*pi*QAM_periods, num_symbol_samples+1); % Phat du lieu 16-QAM tx_length = num_OFDM_symbols * num_QAM_symbols *… num_symbol_samples; QAM_tx_data = zeros(1,tx_length); for i = 1:2:data_length/2 for k = 1:num_symbol_samples QAM_tx_data(k+((i-1)/2)*num_symbol_samples) = data_in_4(i)*… cos(ts(k)) + data_in_4(i+1)*sin(ts(k)); end end Đoạn chương trình mơ thu tín hiệu QAM disp(‘Receiving’) % Khoi phuc du lieu nhi phan (Giai ma QAM) cos_temp = zeros(1,num_symbol_samples); sin_temp = cos_temp; xxx = zeros(1,data_length/4); % Khoi tao muc khong cho toc yyy = xxx; QAM_data_out_4 = zeros(1,data_length/2); for i = 1:2:data_length/2 % “cheating” for k = 1:num_symbol_samples % Tang so song mang de tao tan so cao va du lieu goc cos_temp(k) = QAM_rx_data(k+((i-1)/2)*num_symbol_samples) *… cos(ts(k)); sin_temp(k) = QAM_rx_data(k+((i-1)/2)*num_symbol_samples) *… sin(ts(k)); end % LPF va xac dinh – chung ta se rat don gian LPF bang phep trung binh SVTH: Nguyễn Văn Vinh 106 Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM xxx(1+(i-1)/2) = mean(cos_temp); yyy(1+(i-1)/2) = mean(sin_temp); % Khoi phuc du lieu dang noi tiep QAM_data_out_4(i) = xxx(1+(i-1)/2); QAM_data_out_4(i+1) = yyy(1+(i-1)/2); end % Thuc hien xac dinh giua cac muc [-3, -1, 1, 3] for i = 1:data_length/2 if QAM_data_out_4(i) >= 1, QAM_data_out_4(i) = 3; elseif QAM_data_out_4(i) >= 0, QAM_data_out_4(i) = 1; elseif QAM_data_out_4(i) >= -1, QAM_data_out_4(i) = -1; else QAM_data_out_4(i) = -3; end end % Chuyen doi du lieu muc [-3, -1, 1, 3] ve du lieu phan cuc [-1, 1] QAM_data_out_pol = zeros(1,data_length); % “cheating” for i = 1:2:data_length switch QAM_data_out_4(1 + (i-1)/2) case –3 QAM_data_out_pol(i) = -1; QAM_data_out_pol(i+1) = -1; case –1 QAM_data_out_pol(i) = -1; QAM_data_out_pol(i+1) = 1; case QAM_data_out_pol(i) = 1; QAM_data_out_pol(i+1) = -1; case QAM_data_out_pol(i) = 1; QAM_data_out_pol(i+1) = 1; otherwise disp(‘Error detected in switch i – This should not be happening.’); end end SVTH: Nguyễn Văn Vinh 107 Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM QAM_data_out = pol2bin(QAM_data_out_pol); % Chuyen doi ve du lieu nhi phan % Ngung tinh toan thoi gian thuc hien mo phong QAM QAM_simulation_time = toc; if QAM_simulation_time > 60 disp(strcat(‘Time for QAM simulation=’, num2str(QAM_simulation_time/60),… ‘ minutes.’)); else disp(strcat(‘Time for QAM simulation=’, num2str(QAM_simulation_time),‘ … seconds.’)); end end %…………………………………………………………………………………… Đoạn chương trình mơ thuật tốn tính BER % calculate the BER global BER_QAM_TEMP; binary_err_bits_QAM = 0; for i = 1:length(data_in) err = abs(data_in(i)-QAM_data_out(i)); if err > binary_err_bits_QAM = binary_err_bits_QAM + 1; end end BER_QAM_TEMP = 100 * binary_err_bits_QAM/data_length; %…………………………………………………………………………………… Đoạn chương trình mơ đọc, ghi liệu % read.m % ******************FILE INPUT SETSETUP************************** if input_type == if file_input_type == %binary file input end if file_input_type == %text file input SVTH: Nguyễn Văn Vinh 108 Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM file = fopen(file_name,'rt'); data_samples = fread(file,'char'); fclose(file); data_in = zeros(1,8*length(data_samples)); for i = 1:length(data_samples) data_in(1 + (i-1)*8:(i-1)*8 + 8) = eight2bin(data_samples(i)); end end if file_input_type == %sound file input data_samples=wavread(file_name); %needs to be normalized from -1:1 to 0:255 for bit conversion data_samples_resized = round(128*data_samples +127); data_in = zeros(1,8*length(data_samples_resized)); for i = 1:length(data_samples_resized) data_in(1 + (i-1)*8:(i-1)*8 + 8) = eight2bin(data_samples_resized(i)); end end if file_input_type == %image file input [data_in,map]=imread(file_name); % read image and corresponding color map %for display end end %write.m % ******************KIEM TRA NGO RA********************************* if input_type == if test_input_type == %Tin hieu vao da la nhi phan, khong lam gi ca end if (test_input_type == 2) | (test_input_type == 3) %Chuoi vao ngau nhien HOAC cac mau song sine output_samples = zeros(1,floor(length(output)/8)); %gia tri khong phai la % du lieu goc SVTH: Nguyễn Văn Vinh 109 Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM for i = 1:length(output_samples) output_samples(i) = bin2eight(output(1 + (i-1)*8:(i-1)*8 + 8)); end if do_QAM == QAM_output_samples = zeros(1,floor(length(QAM_data_out)/8)); for i = 1:length(QAM_output_samples) QAM_output_samples(i) = bin2eight(QAM_data_out(1 + (i-1)*8:… (i-1)*8 + 8)); end end end end % ******************KIEM TRA DAU RA********************************* if input_type == if file_input_type == %Tin hieu vao da la nhi phan, thuc thi end if file_input_type == %chuoi dau output_samples = zeros(1,floor(length(output)/8)); %gia tri khong phai la %du lieu goc for i = 1:length(output_samples) output_samples(i) = bin2eight(output(1 + (i-1)*8:(i-1)*8 + 8)); end file = fopen('OFDM_text_out.txt','wt+'); fwrite(file,output_samples,'char'); fclose(file); if do_QAM == QAM_output_samples = zeros(1,floor(length(QAM_data_out)/8)); %gia tri khong phai la du lieu goc for i = 1:length(QAM_output_samples) QAM_output_samples(i) = bin2eight(QAM_data_out(1 + (i-1)*8: (i-1)*8 + 8)); end SVTH: Nguyễn Văn Vinh 110 Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM file = fopen('QAM_text_out.txt','wt+'); fwrite(file,QAM_output_samples,'char'); fclose(file); end end if file_input_type == output_samples_big = zeros(1,floor(length(output)/8)); %gia tri khong phai %la du lieu goc for i = 1:length(output_samples_big) output_samples_big(i) = bin2eight(output(1 + (i-1)*8:(i-1)*8 + 8)); end %chuyen doi khoang dong tu 0:255 den -1:1 output_samples = (output_samples_big-127)/128; %am ngo wavwrite(output_samples, 11025, 8, 'OFDM_out.wav') if do_QAM == QAM_data_out_big = zeros(1,floor(length(QAM_data_out)/8)); for i = 1:length(QAM_data_out_big) QAM_data_out_big(i) = bin2eight(QAM_data_out(1 + (i-1)*8:… (i-1)*8 + 8)); end %chuyen doi khoang dong tu 0:255 den -1:1 QAM_output_samples = (QAM_data_out_big-127)/128; %am ngo wavwrite(QAM_output_samples, 11025, 8, 'QAM_out.wav') end end if file_input_type == %image file output - not implemented end end SVTH: Nguyễn Văn Vinh 111 Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM CÁC TỪ VIẾT TẮT OFDM Ghép kênh theo tần số trực giao DFT Biến đổi Furrier rời rạc IDFT Biến đổi Furrier rời rạc ngược IFFT Biến đổi Furrier rời rạc ngược nhanh FFT Biến đổi Furrier nhanh SNR Tỉ số công suất tín hiệu cơng suất tạp âm FDM Ghép kênh phân chia theo tần số ICI Nhiễu xuyên kênh FEC Sửa lỗi lũy tiến FM Điều chế tần số AM Điều chế biên độ PM Điều chế pha SSB Điều chế AM biên tần (đơn biên) DSBSC Điều chế AM sóng mang cịn dải biên ASK Điều chế khóa dịch biên độ FSK Điều chế khóa dịch tần số PSK Điều chế khóa dịch pha BPSK Điều chế pha nhị phân QPSK Điều chế pha trực giao QAM Điều chế biên độ cầu phương PN Chuỗi giả ngẫu nhiên R Tốc độ bit truyền tin ISI Nhiễu xuyên ký tự CP Tiền tố lặp DSP Thuật tốn xử lý tín hiệu kỹ thuật số AWGN Nhiễu Gauss trắng cộng LAN Mạng cục UHF Sóng vô tuyến siêu cao tần BER Tỷ lệ lỗi bit SVTH: Nguyễn Văn Vinh 112 Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM MS Trạm di động BS Trạm gốc FSC Mã đồng khung D/A Chuyển đổi tín hiệu số sang tín hiệu tương tự A/D Chuyển đổi tín hiệu tương tự sang tín hiệu số DVB-T Phát sóng truyền hình số mặt đất MPEG Moving Picture Experts Group SFN Mạng đơn tần (mạng dùng tần số) SVTH: Nguyễn Văn Vinh 113 Lớp _48K - ĐTVT .. .Kỹ thuật OFDM ứng dụng công nghệ OFDM NGHỆ AN, 12-2011 SVTH: Nguyễn Văn Vinh Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM MỤC LỤC Trang Lời Cảm ơn ... Fuorier IFFT Hiện nay, nhờ ứng dụng cơng nghệ mạch tích hợp nên phương pháp đưa vào ứng dụng thực tiễn SVTH: Nguyễn Văn Vinh 19 Lớp _48K - ĐTVT Kỹ thuật OFDM ứng dụng công nghệ OFDM 1.6 Sự trực giao... nguyên lý thuật toán OFDM. Các nguyên lý OFDM, mơ tả tốn học, kỹ thuật đơn sóng mang, đa sóng mang, kỹ thuật điều chế OFDM ưu điểm nhược điểm hệ thống OFDM 1.2 Khái niệm đời OFDM OFDM kỹ thuật ghép