1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Mô phỏng ảnh hưởng của bộ khuếch đại công suất cao tới việctruyền tín hiệu vô tuyến điện và giải pháp khắc phục

81 41 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 81
Dung lượng 3,43 MB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ LÊ HỒ NAM TUẤN MÔ PHỎNG ẢNH HƯỞNG CỦA BỘ KHUẾCH ĐẠI CƠNG SUẤT CAO TỚI VIỆC TRUYỀN TÍN HIỆU VÔ TUYẾN ĐIỆN VÀ GIẢI PHÁP KHẮC PHỤC LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ ĐIỆN TỬ - VIỄN THÔNG Huế - 2014 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ LÊ HỒ NAM TUẤN MÔ PHỎNG ẢNH HƯỞNG CỦA BỘ KHUẾCH ĐẠI CÔNG SUẤT CAO TỚI VIỆC TRUYỀN TÍN HIỆU VƠ TUYẾN ĐIỆN VÀ GIẢI PHÁP KHẮC PHỤC Ngành: Công nghệ Điện tử - Viễn thông Chuyên ngành: Kỹ thuật điện tử Mã số: 60.52.02.03 LUẬN VĂN THẠC SĨ NGÀNH CÔNG NGHỆ ĐIỆN TỬ - VIỄN THÔNG NGƯỜI HƯỚNG DẪN KHOA HỌC: TS TRẦN ĐỨC TÂN Huế - 2014 LỜI CẢM ƠN Em xin chân thành cảm ơn thầy TS Trần Đức Tân, ngƣời trực tiếp hƣớng dẫn đề tài Trong trình làm luận văn, thầy tận tình hƣớng dẫn thực đề tài, giúp em giải cá vấn đề nảy sinh q trình làm luận văn hồn thành luận văn định hƣớng ban đầu Xin chân thành cảm ơn thầy cô hội đồng chấm luận văn cho em đóng góp quý báu để luận văn thêm hoàn chỉnh Cuối xin đƣợc gửi lời cảm ơn tới tất bạn bè ngƣời chia chuyện buồn vui sống nhƣ giúp đỡ em lúc khó khăn Một lần em xin chân thành cảm ơn Chúc tất ngƣời sức khỏe thành đạt Huế - 2014 Học viên Lê Hồ Nam Tuấn LỜI CAM ĐOAN Đồ án đƣợc hoàn thành sau thời gian nghiên cứu, tìm hiểu nguồn tài liệu sách báo chuyên ngành thông tin mạng mà theo em hoàn toàn tin cậy Em xin cam đoan nội dung đồ án chép đồ án cơng trình có từ trƣớc Học viên Lê Hồ Nam Tuấn MỤC LỤC LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC……………………………… DANH MỤC CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT DANH MỤC CÁC BẢNG .8 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ MỞ ĐẦU 11 CHƢƠNG TỔNG QUAN VỀ KỸ THUẬT OFDM 12 1.1 Đa truy cập theo phân chia tần số trực giao OFDMA (Orthogonal Frequency Division Multiple Access) 12 1.1.1 Giới thiệu OFDM 12 1.1.2 Trực giao 13 1.1.3 Cấu trúc OFDM 15 1.1.4 Mã hóa sửa sai trƣớc FEC (Forward Error Correcting) 16 1.1.5 Điều chế OFDM 16 1.1.5.1 Điều chế BPSK (Binary Phase Shift Keying) 16 1.1.5.2 Điều chế QPSK (Quadrature Phase Shift Keying) 18 1.1.5.3 Điều chế QAM (Quadrature Amplitude Modulation) .20 1.2 Sơ lƣợc hệ thống OFDM 21 1.2.1 Các khối chức 21 1.2.1.1 Máy phát 21 1.2.1.2 Máy thu .21 1.2.1.3 Tầng chuyển đổi nối tiếp sang song song 21 1.2.1.4 Tầng điều chế sóng mang 22 1.2.1.5 Tầng chuyển đổi từ miền tần số sang miền thời gian 22 1.2.1.6 Tầng điều chế sóng mang RF 22 1.2.2 Nguyên tắc chèn chuỗi bảo vệ 23 1.2.3 Phép biến đổi nhanh IFT/FFT 26 1.3 Đồng 27 1.3.1 Đồng kí tự 27 1.3.1.1 Đồng ký tự dựa vào CP 27 1.3.1.2 Lỗi thời gian 28 1.3.1.3 Nhiễu pha sóng mang 29 1.3.2 Đồng tần số sóng mang .29 1.3.2.1 Lỗi tần số 29 1.3.2.2 Ƣớc lƣợng khoảng dịch tần số sóng mang CFO dựa vào pilot 29 1.3.2.3 Ƣớc lƣợng tần số sóng mang sử dụng CP 30 1.3.3 Đồng tần số lấy mẫu .31 1.4 Đánh giá kỹ thuật OFDM 31 1.4.1 Ƣu điểm 31 1.4.2 Nhƣợc điểm 31 1.5 Kết luận chƣơng 32 CHƢƠNG 2: MÉO PHI TUYẾN VÀ CÁC MƠ HÌNH KHUẾCH ĐẠI CƠNG SUẤT LỚN HPA .33 2.1 Méo tín hiệu hệ thống thơng tin vệ tinh 33 2.2 Các ảnh hƣởng phi tuyến .34 2.3 Các mơ hình khuếch đại .35 2.3.1 Các mơ hình khơng nhớ 36 2.3.2 Các mơ hình có nhớ 37 2.4 Kết luận chƣơng 39 CHƢƠNG 3: CÁC GIẢI PHÁP KHẮC PHỤC 40 3.1 Phƣơng pháp sử dụng Back off tối ƣu 40 3.2 Phƣơng pháp dự đoán méo (Predistorsion) 40 3.2.1 Bộ dự đoán méo .40 3.2.2 Phân loại dự đoán méo 41 3.2.2.1 Dự đốn méo tín hiệu (Signal Predistortion - SP) 42 3.2.2.2 Dự đoán méo liệu (Data Predistortion - DP) .42 3.2.2.3 Dự đoán méo tƣơng tự 42 3.2.2.4 Dự đoán méo số 42 3.2.3 Thiết kế PD dựa phƣơng pháp chuỗi Volterra 43 3.2.3.1 Phƣơng pháp chuỗi Volterra .43 3.2.3.2 Nguyên lý thiết kế PD dựa phƣơng pháp chuỗi Volterra [7] .45 3.3 Kỹ thuật san (Equalizer) 46 3.3.1 Kỹ thuật san kênh tuyến tính 46 3.3.2 Kỹ thuật san kênh phi tuyến 48 3.3.2.1 Đánh giá chuỗi hợp lệ cực đại 48 3.3.2.2 Các phƣơng pháp mạng Nơron 48 3.4 Kết luận chƣơng 49 CHƢƠNG 4: MÔ PHỎNG BẰNG MATLAB 50 4.1 Thực mô .50 4.2 Kết mô 51 4.2.1 Dạng tín hiệu thu đƣợc .51 4.2.2 Đánh giá kiểm tra thông số kernel H 53 4.2.3 Tỉ lệ lỗi bit BER .56 4.3 Kết luận chƣơng 57 KẾT LUẬN 58 TÀI LIỆU THAM KHẢO 59 PHẦN PHỤ LỤC 60 DANH MỤC CÁC KÝ HIỆU VÀ TỪ VIẾT TẮT ACI Adjacent Channel Interference Nhiễu kênh phụ cận AWGN Additive White Gaussian Noise Nhiễu trắng Gaussian BPSK Binary Phase Shift Keying Điều chế pha nhị phân CP Cyclic Prefix Tiền tố lặp DFE Decision Feedback Equanlizer Bộ san hồi tiếp định FEC Forward Error Correcting Mã hóa sửa sai trƣớc FF Feed Forward Bộ san truyền thẳng FFT Fast FourierTransformers Biến đổi Fourier nhanh FIR Finite Impulse Response Bộ lọc FIR HPA High Power Amplifier Khuếch đại công suất lớn IBO Input Back Off Lùi công suất đầu vào IDFT Inverse Discrete Fourier Transform Biến đổi Fourier rời rạc ngƣợc IFFT Inverse Fast Fourier Transform Biến đổi Fourier ngƣợc nhanh IFT Inverse Fourier Transform Biến đổi Fourier ngƣợc ISI Intersymbol Interference Nhiễu xuyên ký tự ICI Interchannel Interference Nhiễu xuyên kênh LE Linear Equalizer Bộ san tuyến tính ML Maximum Likelihood Tiêu chuẩn hợp lệ cực đại MSE Minimum Square Error Sai số bình phƣơng trung bình nhỏ NLOS Non Line Of Sight Tầm nhìn bị che chắn OBO Output Back Off Lùi công suất đầu OFDMA Orthogonal Frequency Division Đa truy cập phân chia theo tần Multiple Access số trực giao Peak-to-Average Power Ratio Tỉ số cơng suất đỉnh trung PAPR bình PD Predistorsion Dự đoán méo PSD Power Spectral Density Hàm mật độ phổ công suất PSK Phase Shift Keying Điều biến dịch pha QAM Quadrature Amplitude Modulation Điều chế biên độ cầu phƣơng QPSK Quadrature Phase Shift Keying Điều chế dịch pha cầu phƣơng RF Radio Frequency Sóng vơ tuyến SP Signal Predistortion Dự đốn méo tín hiệu SSPA Solid State Power Amplifier Khuếch đại công suất sử dụng bán dẫn TWTA Travelling WaveTube Amplifier Khuếch đại công suất sử dụng đèn bóng chạy ZF Zero – Forcing Tiêu chuẩn cƣỡng không 64 % Lay mau OFDM_matriz_us_det1=reshape(OFDM_vector_us_det1,8, length(OFDM_vector_us_det1)/8); OFDM_vector_rx1=OFDM_matriz_us_det1(1,:); OFDM_vector_rx1=OFDM_vector_rx1(1:(1024*sim_OFDM)).'; OFDM_matriz_us_det2=reshape(OFDM_vector_us_det2,8, length(OFDM_vector_us_det2)/8); OFDM_vector_rx2=OFDM_matriz_us_det2(1,:); OFDM_vector_rx2=OFDM_vector_rx2(1:(1024*sim_OFDM)).'; OFDM_matriz_us_det3=reshape(OFDM_vector_us_det3,8, length(OFDM_vector_us_det3)/8); OFDM_vector_rx3=OFDM_matriz_us_det3(1,:); OFDM_vector_rx3=OFDM_vector_rx3(1:(1024*sim_OFDM)).'; OFDM_matriz_us_det4=reshape(OFDM_vector_us_det4,8, length(OFDM_vector_us_det4)/8); OFDM_vector_rx4=OFDM_matriz_us_det4(1,:); OFDM_vector_rx4=OFDM_vector_rx4(1:(1024*sim_OFDM)).'; %******************************************************************** % Thuat toan FFT OFDM_matrix_rx1=reshape(OFDM_vector_rx1,1024,sim_OFDM); QAM16_matrix_rx1=fft(OFDM_matrix_rx1); OFDM_matrix_rx2=reshape(OFDM_vector_rx2,1024,sim_OFDM); QAM16_matrix_rx2=fft(OFDM_matrix_rx2); OFDM_matrix_rx3=reshape(OFDM_vector_rx3,1024,sim_OFDM); QAM16_matrix_rx3=fft(OFDM_matrix_rx3); OFDM_matrix_rx4=reshape(OFDM_vector_rx4,1024,sim_OFDM); QAM16_matrix_rx4=fft(OFDM_matrix_rx4); %****************************************************************** % Chuyen doi ma tran sang vector de tinh toan BER QAM16_vector_rx1=serializa(QAM16_matrix_rx1); QAM16_vector_rx2=serializa(QAM16_matrix_rx2); 65 QAM16_vector_rx3=serializa(QAM16_matrix_rx3); QAM16_vector_rx4=serializa(QAM16_matrix_rx4); %******************************************************************** QAM16_vector_rx1=sqrt(length(QAM16_vector_rx1)/ (QAM16_vector_rx1'*QAM16_vector_rx1))*QAM16_vector_rx1; QAM16_vector_rx2=sqrt(length(QAM16_vector_rx2)/ (QAM16_vector_rx2'*QAM16_vector_rx2))*QAM16_vector_rx2; QAM16_vector_rx3=sqrt(length(QAM16_vector_rx3)/ (QAM16_vector_rx3'*QAM16_vector_rx3))*QAM16_vector_rx3; QAM16_vector_rx4=sqrt(length(QAM16_vector_rx4)/ (QAM16_vector_rx4'*QAM16_vector_rx4))*QAM16_vector_rx4; % Tin hieu 16QAM nhan duoc % mo hinh HPA dang khong nho figure(2); plot(real(QAM16_vector_rx1),imag(QAM16_vector_rx1),'r.') hold on;grid on; title('Tin hieu chom HPA kenh khong nho nhan duoc IBO=8,K=3,Q=3') xlabel('Pha') ylabel('Bien do') % mo hinh HPA dang co nho figure(3); plot(real(QAM16_vector_rx2),imag(QAM16_vector_rx2),'b.') hold on;grid on; title('Tin hieu chom kenh co nho nhan duoc IBO=8,K=3,Q=3') xlabel('Pha') ylabel('Bien do') % HPA phi tuyen figure(4); plot(real(QAM16_vector_rx3),imag(QAM16_vector_rx3),'r.') hold on;grid on; title('Tin hieu chom HPA phi tuyen nhan duoc IBO=8,K=3,Q=3') 66 xlabel('Pha') ylabel('Bien do') % HPA tuyen tinh figure(5); plot(real(QAM16_vector_rx4),imag(QAM16_vector_rx4),'r.') hold on;grid on; title('Tin hieu chom HPA tuyen tinh nhan duoc IBO=8,K=3,Q=3') xlabel('Pha') ylabel('Bien do') % Decisor QAM16_vector_det1=decisor_QAM16(QAM16_vector, QAM16_vector_rx1,sim_OFDM); QAM16_vector_det2=decisor_QAM16(QAM16_vector, QAM16_vector_rx2,sim_OFDM); QAM16_vector_det3=decisor_QAM16(QAM16_vector, QAM16_vector_rx3,sim_OFD QAM16_vector_det4=decisor_QAM16(QAM16_vector, QAM16_vector_rx4,sim_OFDM); % Tinh toan loi BER tasa_bits_erroneos1=length(find(abs((QAM16_vector_det1- QAM16_vector.'))>1e-3)); tasa_bits_erroneos_vector1(iter)=tasa_bits_erroneos1; tasa_bits_erroneos2=length(find(abs((QAM16_vector_det2- QAM16_vector.'))>1e-3)); tasa_bits_erroneos_vector2(iter)=tasa_bits_erroneos2; tasa_bits_erroneos3=length(find(abs((QAM16_vector_det3- QAM16_vector.'))>1e-3)); tasa_bits_erroneos_vector3(iter)=tasa_bits_erroneos3; tasa_bits_erroneos4=length(find(abs((QAM16_vector_det4- QAM16_vector.'))>1e-3)); tasa_bits_erroneos_vector4(iter)=tasa_bits_erroneos4; 67 %******************************************************************** % Ket thuc vong lap end; tasa_BER1(indice_BER)=sum(tasa_bits_erroneos_vector1)/(4*1024*max_iter* sim_OFDM); tasa_BER2(indice_BER)=sum(tasa_bits_erroneos_vector2)/(4*1024*max_iter* sim_OFDM); tasa_BER3(indice_BER)=sum(tasa_bits_erroneos_vector3)/(4*1024*max_iter* sim_OFDM); tasa_BER4(indice_BER)=sum(tasa_bits_erroneos_vector4)/(4*1024*max_iter* sim_OFDM); [indice_BER,No] % Dong vong lap BER end; % Do thi so sanh BER figure(6); semilogy(vector_Eb_No,tasa_BER1,' gs'); hold on; grid on; semilogy(vector_Eb_No,tasa_BER2,' bs'); semilogy(vector_Eb_No,tasa_BER3,' rs'); semilogy(vector_Eb_No,tasa_BER4,' ys'); title('So sanh ty le BER IBO=8,K=3,Q=3, iter=5'); legend ('HPA khong nho','HPA co nho','HPA phi tuyen', 'HPA tuyen tinh'); xlabel('Eb/No'); ylabel('BER'); % Do thi tin hieu %******************************************************************** kernel_simb_obtencion.m % Mo phong PD theo thuat toan de xuat % Tao mot tin hieu mo phong sim_OFDM, tin hieu di qua mot HPA phi 68 % tuyen va tinh PD thich hop Kernel thu duoc duoc luu lai, qua trinh duoc % lap lai cho den thu duoc indice_error toi thieu Vao cuoi vong lap ta % Thong so ban dau indice_error=1; sim_OFDM=1; IBO=8; %******************************************************************** for indice_error=1:5 % Khoi tao tin hieu dau vao [OFDM_vector_us,QAM16_vector]=gen_datos_ensayo(sim_OFDM); potencia=(OFDM_vector_us'*OFDM_vector_us)/length(OFDM_vector_us) K=3; Q=3; % Tao ma tran du lieu dau vao X=create_V(OFDM_vector_us,K,Q); % Thuc hien HPA phi tuyen [canal_no_lineal,OBO]=HPA(OFDM_vector_us,IBO); canal_con_memoria=canal_no_lineal; % Mo hinh HPA dang khong nho % Tinh toan kernel H [H(indice_error,:),d,e_c_m(indice_error)]= predistorter(canal_con_memoria,OFDM_vector_us,K,Q); % Tin hieu dau PD OFDM_vector_us_2=X*(H(indice_error,:)).'; OFDM_vector_us_2=sqrt(potencia/(OFDM_vector_us_2'* OFDM_vector_us_2/length(OFDM_vector_us_2)))*OFDM_vector_us_2; %******************************************************************* figure(1); plot(abs(H(indice_error,:))); hold on; grid on; title('Bieu danh gia su hoi tu kernel H') xlabel('So luong mau') 69 ylabel('Mo-dun') figure(2); plot(angle(H(indice_error,:))); hold on; grid on; title('Bieu danh gia su hoi tu kernel H') xlabel('So luong mau') ylabel('Pha') indice_error % Ket thuc vong lap end; %******************************************************************** % Gia tri trung binh cua kernel H_kernel=sum(H)/length(H(:,1)); save kernel_K3_Q3_IBO8_sim1_iter5_ml H_kernel % Ket qua figure(3); plot(abs(OFDM_vector_us),'b') hold on;grid on; plot(abs(OFDM_vector_us_2),'r') plot(abs(canal_con_memoria),'g') title('So sanh tin hieu vao/ra sau thuc hien PD IBO=8') xlabel('so luong mau') ylabel('Mo-dun') legend('x(n)','d(n)', 'y(n)') figure(4); plot(unwrap(angle(OFDM_vector_us)),'b') hold on;grid on; 70 plot(unwrap(angle(OFDM_vector_us_2)),'r') plot(unwrap(angle(canal_con_memoria)),'g') title('So sanh tin hieu vao/ra sau thuc hien PD IBO=8') xlabel('So luong mau') ylabel('Pha') legend('x(n)','d(n)', 'y(n)') %******************************************************************* predistorter.m function [H,d,e_c_m]=predistorter(x,y,K,Q) % Ham tinh toan kernel theo phuong phap chuoi Volterra dang don gian dua % tren cau truc Hammerstein % x: Dau vao tin hieu % y: Dau HPA (phi tuyen) % K: Bac phi tuyen % Q: Chieu dai bo nho % H: kernel Volterra % d: Dau PD % e_c_m: Loi trung binh bac hai kernel V=create_V(x,K,Q); H=(pinv(V)*y); d=V*H; e_c_m=(d-y)'*(d-y); H=H.'; %******************************************************************** HPA.m function [OFDM_vector_us_out,OBO]=HPA(OFDM_vector_us,IBO) % Mo phong HPA phi tuyen theo mo hinh Saleh pot_s=(OFDM_vector_us'*OFDM_vector_us)/length(OFDM_vector_us); p_in=10^(-IBO/10); 71 OFDM_vector_us_n=sqrt(p_in/pot_s)*OFDM_vector_us; % Bien do+pha theo mo hinh den song chay Saleh a_t=(2*abs(OFDM_vector_us_n))./(1+abs(OFDM_vector_us_n).^2); fase_t=((pi/3)*abs(OFDM_vector_us_n).^2)./(1+abs(OFDM_vector_us_n).^2); OFDM_vector_us_n_out=a_t.*exp(i*(unwrap(angle(OFDM_vector_us)+fase_t))); % CAG gia dinh pot_r=(OFDM_vector_us_n_out'*OFDM_vector_us_n_out)/ length(OFDM_vector_us_n_out); OFDM_vector_us_out=sqrt(pot_s/pot_r)*OFDM_vector_us_n_out; % Tinh toan OBO pot_r_out=(OFDM_vector_us_out'*OFDM_vector_us_out)/ length(OFDM_vector_us_out); OBO=10*log10(1/pot_r_out); %******************************************************************** gen_datos_ensayo.m function [OFDM_vector_us,QAM16_vector]=gen_datos_ensayo(sim_OFDM) % Thong so dau vao: sim_OFDM : Tin hieu OFDM mo phong % Thong so dau ra: OFDM_vector_us : Tin hieu thu duoc % Thong so bits_x_sim_QAM=4; % So bit per symbol n_portadoras=1024; % So luong truyen %******************************************************************** %Bo phat % Tao cac chuoi bit muon truyen bits_tx=round(rand(bits_x_sim_QAM*sim_OFDM*n_portadoras,1)); % Dieu che 16-QAM QAM16_vector=qam16(bits_tx); % Thuat toan IFFT QAM16_matrix=reshape(QAM16_vector,1024,sim_OFDM); OFDM_matrix=ifft(QAM16_matrix); 72 % Chuyen doi ma tran sang vector OFDM_vector=serializa(OFDM_matrix); OFDM_vector=sqrt(length(OFDM_vector)/(OFDM_vector' *OFDM_vector))*OFDM_vector; filtro_raiz_coseno_alzado=rcosine(1,8,'sqrt',0.5,3); OFDM_vector_ensanchado=kron([OFDM_vector],[1 0 0 0 0]'); OFDM_vector_us=conv(OFDM_vector_ensanchado,filtro_raiz_coseno_alzado); %******************************************************************** qam16.m function out=qam16(data) % Dieu che 16-QAM tamanno=size(data); if tamanno(2)=0.5 & out_i=2.5)==1 simbolos1_det(indice)=1+j*3; end; if ((out_i>=1.5 & out_i2.5)==1 simbolos1_det(indice)=2+j*3; end; if (out_i>=2.5 & out_j>=2.5)==1 simbolos1_det(indice)=3+j*3; end; % hang if (out_i=1.5 & out_j=0.5 & out_i=1.5 & out_j=1.5 & out_i=1.5 & out_j=2.5 & (out_j>=1.5 & out_j=0.5 & out_j

Ngày đăng: 23/03/2020, 21:34

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w