Chương 3 Nhiễu, can nhiễu và tính toán dự trữ tuyến
4.6 Một giải pháp kết hợp các kỹ thuật: bảo mật thông tin dữ liệu mã hóa
4.6.5 Đặc tính phi tuyến của kênh truyền và điều chế QPSK, MPSK
4.6.5.1. Đặc tính phi tuyến của kênh truyền vệ tinh
Các kênh truyền trong thông tin vệ tinh có đặc điểm là tần số cao (từ vài GHz đến vài chục GHz), dải thông rộng và công suất phát lớn. Các bộ khuếch đại công suất của trạm mặt đất hoặc của bộ phát đáp thường sử dụng đèn sóng chạy TWT (Tranvelling Wave Tube), đèn klystron hoặc transistor công suất ghép song song.
Các bộ khuếch đại công suất đó, cho dù có lùi công suất đầu ra, OBO (Output Back Off) hoặc lùi công suất đầu vào, IBO (input back off) thì vẫn còn làm việc trong vùng phi tuyến của đường đặc tuyến. Với bộ phát đáp có nhiệm vụ thu nhận tín hiệu từ tuyến lên, đổi tần - khuếch đại công suất và truyền lại ở tuyến xuống thì đặc tính phi tuyến đó cần đặc biệt quan tâm. Nó không những gây méo tín hiệu nhiễu điều chế với các tín hiệu ghép kênh mà còn gây dịch pha giữa tín hiệu đầu vào và đầu ra.
Đối với các tín hiệu điều chế MPSK thì sự dịch pha đó cộng với các ảnh hưởng điều biên các nhánh I và Q (V trong MQPSK) sẽ làm gia tăng đáng kể xác suất lỗi bit Pevà gặp nhiều khó khăn trong việc giải điều chế.
Giải pháp khắc phục là sử dụng điều chế OPSK và MMK.
4.6.5.2. QPSK và OQPSK
Điều chế khóa dịch pha cầu phương QPSK (Quadrature Phase Shift Keying) được hiểu là khóa dịch pha bốn mức (4 PSK) có biên độ sóng mang là
A và bốn trạng thái pha vuông góc nhau (90o) hoặc là một sự xếp chồng của hai tín hiệu khóa dịch biên nhị phân BASK (Binary Amphitude Shift Keying) có các biên độ bằng nhau là A
2
và các sóng mang trực giao là cos2fct và sin2fct. Đồ thị chòm sao của một tín hiệu QPSK được mô tả ở hình 4.13.
Hình 4.13. Đồ thị chòm sao của một tín hiệu QPSK và các khả năng chuyển trạng thái
Các mũi tên trên đồ thị 4.13 là mô tả tất cả các khả năng có thể chuyển tiếp giữa bốn trạng thái. Lưu ý ở đây các khả năng chuyển tiếp theo các đường chéo (chuyển pha 180o) là điều bất lợi trong kênh truyền phi tuyến.
Hình 4.14 mô tả sơ đồ khối chức năng của bộ phát QPSK (OQPSK) và hình 4.15 mô tả bộ thu. Bộ phát và bộ thu QPSK có thể xem như hai bộ phát và bộ thu của khóa đảo pha PRK (Phase Reverse Keying) được sắp xếp vuông pha nhau trong đó mỗi một kênh đồng pha (kênh I) và kênh vuông pha (kênh Q) làm việc với một nửa tốc độ bit của hệ thống QPSK.
Hình 4.14. Sơ đồ khối chức năng bộ điều chế QPSK (OQPSK)
Hiệu năng suất lỗi bit Pb của một hệ chống QPSK lý tưởng được xác định theo biểu thức 1/2 b b o E 1 P 1 erf 2 N - (4.4)
Nếu biểu thị Pb theo tỷ số C/N sẽ có dạng: 1/2 1/2 b B 1 C P 1 erf (T ) 2 N - (4.5)
Bộ điều chế OQPSK (offset QPSK) như mô tả ở hình 4.14 về cơ bản giống như bộ điều chế QPSK, chỉ có khác là dãy symbol ở kênh Q trước khi nhân với sóng mang được offset (làm trễ) so với dãy symbol ở kênh I một thời gian là nửa chu kỳ symbol (tức chu kỳ một bit) như mô tả ở hình 4.16.
Hình 4.15. Sơ đồ khối chức năng giải bộ điều chế QPSK (OQPSK)
Hình 4.16. Mô tả dãy bit dầu vào, dãy bit kênh I và kênh Q của điều chế QPSK và kênh Q của điều chế OQPSK
Hình 4.17. Đồ thị chòm sao và các đường chuyển tiếp trạng thái của điều chế OQPSK
Hình 4.17 mô tả đồ thị chòm sao của điều chế OQPSK. Ở đồ thị này không có các đường chuyển tiếp trạng thái chéo (180o) như ở đồ thị chòm sao của QPSK (hình 4.1). Điểm đó đặc biệt quan trọng đối với các kênh không tuyến tính gây nhiễu điều chế và dịch pha tín hiệu đã ra so với tín hiệu đầu vào, đặc biệt là các kênh truyền qua các bộ phát đáp vệ tinh. Hiệu ứng không tuyến tính cũng gây ra sự trải rộng phổ dẫn đến khả năng nhiễu đối với kênh lân cận.
4.6.5.3. Khóa dịch tối thiểu, MSK
Điều chế khóa dịch tối thiểu MSK (Minimum Shift Keing) là một dạng điều chế được cải biên từ điều chế OQPSK trong đó các dãy symbol của kênh I và kênh Q trước khi đưa đến trộn với sóng mạng, được tạo dạng thành các sung hình sin. Bộ tạo tần số để tạo dạng có tần số bằng 1/4 chu kỳ của dãy symbol
ft' 1/ 4Tb).
Hình 4.18. Sơ đồ khối chức năng bộ điều chế MSK
Hình 4.18 mô tả sơ đồ khối chức năng của bộ điều chế MSK. Tín hiệu truyền MS có thể được biểu thị bởi biểu thức:
2 2
( ) sin os2 os sin 2
4 4 n c n c b b t t f t a c f t b c f t T T (4.6)
trong đo: an, bn là các symbol thứ n của kênh I và kênh Q; fc là tần số sóng mang và Tb là chu kỳ symbol đưa vào.
Hình 4.19. Các dạng sóng và đồ thị phasor của bộ điều chế MSK
a) Dữ liệu nhị phân; b) Các symbol được tạo dạng hình sin của kênh I và kênh Q; c) Tín hiệu MSK được truyền; d) Đồ thị phasor MSK
Hình 4.19a, 4.19b, 4.19c mô tả một ví dụ về dãy dữ liệu bit đầu vào, dạng xung hình sin tương ứng được tạo ra, các symbol trên kênh I, kênh Q và tín hiệu MSK đầu ra của bộ điều chế. Kỹ thuật điều chế MSK như trên còn được gọi là điều chế pha liên tục, CPM (Continous Phase Modulation). Chòm Sao của tín hiệu MSK có thể được biểu thị bởi một đồ thị phasor biến đổi theo thời gian (hình 4.19d). Phasor của đồ thị quay với một vận tốc góc không đổi từ một điểm của chòm sao đến điểm lân cận trong khoảng thời gian của một symbol MSK (giống như ở điều chế OQPSK, chu kỳ symbol của MSK cũng bằng chu kỳ bit của dữ liệu nhị phân chưa được điều chế). Khi an = bn thì phasor quay theo chiều ngược kim đổng hồ và khi an bn thì phasor quay theo chiều ngược chiều kim đồng hồ. Khi phasor quay theo chiều ngược kim đồng hồ thì tần số của tín hiệu MSK là fc 1/ (4T )b Hz và khi phasor quay theo chiều kim đồng hồ thì tần số là fc - 1/(4Tb).
Do tín hiệu MSK có pha biến đổi liên tục cho nên các dịch pha do tác động phi tuyến của kênh truyền gây xác suất lỗi bit coi như không đáng kể.
Xác suất lỗi bit đối với tách sóng MSK cũng giống như ở các hệ thống QPSK (biểu thức 4.4 và 4.5) bởi vì ở đây cũng có sự trực giao giữa kênh I và kênh Q. Dữ liệu của điều chế MSK được mã hóa vi phân trước khi điều chế (tức FFSK) cho nên nó có cùng độ suy giảm về hiệu năng Pb như mã hóa vi phân PSK. Hình 4.20 mô tả bộ giải điều chế MSK.
Hình 4.20: Mô tả sơ đồ khối chức năng bộ giải điều chế MSK
Ví dụ: Tính xác suất lỗi bit của một kênh truyền tín hiệu MSK với tốc độ 1.0 Mbps, công suất sóng mang thu được là -130 dBw/Hz mật độ phổ công suất nhiễu tại cùng điểm thu đó đo được là -200 dBw/Hz. Như vậy:
130/10 19 C 100 - 10- w 13 6 19 b b E CT 10 .10- - 10- w 200/10 20 o N 10- 10- W / Hz 1/2 19 1/2 b b 20 o E 1 1 10 P 1 erf 1 erf 2 N 2 10 - - - - 6 1 1 1 erf (3,162) 1 0,99999924 3,88.10 2 2 - - -
KẾT LUẬN
Luận văn nghiên cứu hiệu năng của kênh truyền tin số trong hệ thống thông tin vệ tinh và có những nhận xét và kết luận sau:
1. Có thể có những tham số khác nhau để đánh giá hiệu năng của một kênh truyền thông tin vệ tinh. Nhiều tham số đã được chuẩn hóa, tùy thuộc vào cấu trúc kênh và yêu cầu chất lượng dịch vụ (QoS) cụ thể. Với các kênh truyền tin số thì tham số quan trọng thường được sử dụng để xem xét đánh giá hiệu năng kênh truyền là tác động của nhiễu, can nhiễu và xác suất lỗi bit Pe hoặc BER.
2. Phân tích và tính toán dự trữ tuyến, tỷ số tín hiệu trên nhiễu (C/N) tại đầu vào thiết bị thu trong trường hợp kênh truyền có tác động của nhiễu và can nhiễu. Một số ví dụ tính toán tỷ số C/N tại thiết bị thu trạm mặt đất trong các trường hợp có nhiễu (nhiễu trắng, nhiễu nhiệt) và can nhiễu từ các hệ thống khác. Tỷ số C/N toàn tuyến được tính trong hai trường hợp.
- Bộ phát đáp làm việc ở chế độ tuyến tính.
- Bộ phát đáp làm việc ở chế độ không tuyến tính (bão hòa).
So sánh hiệu năng của kênh truyền với các tín hiệu điều chế khác nhau (M-PSK, M-QAM).
3. Xem xét hiệu năng của kênh truyền trong trường hợp có sử dụng kỹ thuật kiểm soát lỗi và kết hợp bảo mật thông tin. Kiểm soát lỗi ở đây sử dụng các kết quả của mã kênh và kỹ thuật ARQ được giả thiết để tính toán hiệu năng (chương 4). Bộ tạo mã giả ngẫu nhiên được đề xuất đưa vào để vừa phân tán bit (giảm lỗi cụm) vừa bảo mật thông tin. Mã kênh được phân tích sử dụng phục vụ cho mô phỏng là mã chập (2,1,3).
Hướng nghiên cứu phát triển tiếp theo của đề tài.
1. Nghiên cứu hiệu năng kênh truyền tin số của hệ thống thông tin vệ tinh trong các điều kiện sau:
- Biến động các thông số môi trường
- Bộ phát đáp làm việc trong vùng phi tuyến - Thiết bị thu mặt đất di chuyển.
2. Nghiên cứu hiệu năng kênh truyền trong trường hợp sử dụng kỹ thuật OFDM/CDMA.
MÔ PHỎNG
KÊNH TRUYỀN SỬ DỤNG MÃ CHẬP VÀ ĐIỀU CHẾ QPSK
Sơ đồ khối hệ thống mô phỏng
Tí n hi ệu v ào Bộ m ã hó a kê nh Bộ đ iề u ch ế K ên h tru yề n Bộ g iả i đ iề u ch ế Bộ g iả i m ã kê nh Bộ tạ o nh iễ u Tí n hi ệu ra
Chương trình mô phỏng một hệ thống truyền tin sử dụng mã chập (Code Convolution) và điều chế khóa dịch pha cầu phương (QPSK) bằng chương trình mô phỏng Matlab 2009. Chương trình cũng chỉ ra khả năng sửa lỗi của mã chập. Trong chương trình có sử dụng các loại hàm sử dụng trong Matlab như POLY2TRELLIS, CONVENC, VITDEC, INTDUMP, RECTPULSE, BITERR, BERCODING, RANDI, AWGN, MODEM.PSKMOD, MODEM.PSKDEMOD.
Dưới đây trình bày kết quả mô phỏng:
EbNo = 4.5:.5:7; linEbNo = 10.^(EbNo(:).*0.1);
M = 4; codeRate = 1/2; constlen = 7; k = log2(M); codegen = [171 133];
tblen = 32; % traceback length
trellis = poly2trellis(constlen, codegen); dspec = distspec(trellis, 7);
expVitBER = bercoding(EbNo, 'conv', 'hard', codeRate, dspec); semilogy(EbNo, expVitBER, 'g'); xlabel('Eb/No (dB)');
ylabel('BER');
title('Hiệu năng của hệ thống sử dụng mã chập và điều chế QPSK với quyết định cứng');
grid on; axis([4 8 10e-7 10e-3]); legend('Union Bound');
Đầu tiên, cần thiết lập thông số cần thiết cho mô phỏng. Tín hiệu nhị phân được tạo ra bởi hàm RANDI.
% Tạo tín hiệu nhị phân bằng hàm random
numSymb = 100; numPlot = 30;
EbNoDemo = 3; EsN0 = EbNoDemo + 10*log10(k); seed = [654321 123456];
rand('state', seed(1)); randn('state', seed(2)); msg_orig = randi([0 1], numSymb, 1);
stem(0:numPlot-1, msg_orig(1:numPlot),'bx'); axis([ 0 numPlot -0.2 1.2]); xlabel('Time'); ylabel('Amplitude');
title(‘Ký tự nhị phân trước khi mã hóa kênh' ); legend off
Tín hiệu được tạo ra
Chuỗi bit nhị phân đầu vào là: 111001010011111010011001011101. Bước tiếp theo xử dụng hàm CONVENC để mã hóa thông tin. Do sử dụng mã chập với r = 1/2 nên tốc độ ký tự sau mã hóa sẽ gấp đôi tốc độ thông tin ban đầu.
% Mã hóa bằng mã chập
msg_enc = convenc(msg_orig, trellis);
numEncPlot = numPlot / codeRate; tEnc = (0:numEncPlot-1) * codeRate;
stem(tEnc, msg_enc(1:length(tEnc)),'rx');
axis([min(tEnc) max(tEnc) -0.2 1.2]); xlabel('Time'); ylabel('Amplitude');
Tín hiệu sau khi được mã hóa
Sử dụng hàm pskmod để thực hiện điều chế QPSK cho tín hiệu vừa được mã hóa. Thêm vào nhiễu trắng Gauss.
%Điều chế tín hiệu sau khi mã hóa randn('state', seed(2));
hMod = modem.pskmod('M', M, 'PhaseOffset', pi/4, ... 'SymbolOrder', 'Gray', 'InputType', 'Bit');
msg_tx = modulate(hMod, msg_enc); msg_tx = rectpulse(msg_tx, Nsamp);
msg_rx = awgn(msg_tx, EsN0-10*log10(1/codeRate)- 10*log10(Nsamp));
numModPlot = numEncPlot * Nsamp / k; tMod = (0:numModPlot-1) / Nsamp * k;
plot(tMod, real(msg_tx(1:length(tMod))),'c-', ... tMod, imag(msg_tx(1:length(tMod))),'m-');
axis([ min(tMod) max(tMod) -1.5 1.5]); xlabel('Time'); ylabel('Amplitude');
title('Dữ liệu mã hóa được điều chế QPSK'); legend('In-phase', 'Quadrature');
Sử dụng INTDUMP and MODEM.PSKDEMOD để điều chế và phát hiện ký tự mã hóa.
% Giải điều chế QPSK
'SymbolOrder', 'Gray', 'OutputType', 'Bit'); msg_rx_int = intdump(msg_rx, Nsamp);
msg_demod = demodulate(hDemod, msg_rx_int);
stem(tEnc, msg_enc(1:numEncPlot),'rx'); hold on; stem(tEnc, msg_demod(1:numEncPlot),'bo'); hold off; axis([0 numPlot -0.2 1.2]);
xlabel('Time'); ylabel('Amplitude'); title('Demodulated Symbols' );
Tín hiệu sau giải điều chế.
Sử dụng VITDEC để giải mã kênh chuỗi ký tự vừa được giải điều chế.
msg_dec = vitdec(msg_demod, trellis, tblen, 'cont', 'hard');
stem(0:numPlot-1, msg_orig(1:numPlot), 'rx'); hold on; stem(0:numPlot-1, msg_dec(1+tblen:numPlot+tblen), 'bo'); hold off;
axis([0 numPlot -0.2 1.2]); xlabel('Time'); ylabel('Amplitude');
Tín hiệu sau khi được giải điều chế
Cuối cùng sử dụng BITERR để so sánh bản tin gốc với bản tin vừa được giải điều chế. BITERR để tính toán tốc độ lỗi bit.
[nChnlErrs BERChnl] = biterr(msg_enc, msg_demod); [nCodErrs BERCoded] = biterr(msg_orig(1:end-tblen), msg_dec(1+tblen:end));
cla;
load('vitsimresults.mat');
semilogy(EbNo, expVitBER, 'g', EbNo, ratio, 'b*-'); xlabel('Eb/No (dB)'); ylabel('BER');
title('Performance for R=1/2, K=7 Conv. Code and QPSK with Hard Decision');
axis([4 8 10e-7 10e-3]); legend('Union Bound', 'Simulation Results'); grid on;
PHỤ LỤC
Mã nguồn chương trình mô phỏng EbNo = 4.5:.5:7; linEbNo = 10.^(EbNo(:).*0.1);
M = 4; codeRate = 1/2; constlen = 7; k = log2(M); codegen = [171 133]; tblen = 32; % traceback length
trellis = poly2trellis(constlen, codegen); dspec = distspec(trellis, 7);
expVitBER = bercoding(EbNo, 'conv', 'hard', codeRate, dspec); semilogy(EbNo, expVitBER, 'g'); xlabel('Eb/No (dB)'); ylabel('BER');
title('Hiệu năng của hệ thống sử dụng mã chập và điều chế QPSK với quyết định cứng');
grid on; axis([4 8 10e-7 10e-3]); legend('Union Bound'); numSymb = 100; numPlot = 30;
Nsamp = 4; % oversampling rate
EbNoDemo = 3; EsN0 = EbNoDemo + 10*log10(k); seed = [654321 123456];
rand('state', seed(1)); randn('state', seed(2)); msg_orig = randi([0 1], numSymb, 1);
stem(0:numPlot-1, msg_orig(1:numPlot),'bx');
axis([ 0 numPlot -0.2 1.2]); xlabel('Time'); ylabel('Amplitude'); title('Ký tự nhị phân trước khi mã hóa kênh' );
legend off
msg_enc = convenc(msg_orig, trellis);
numEncPlot = numPlot / codeRate; tEnc = (0:numEncPlot-1) * codeRate; stem(tEnc, msg_enc(1:length(tEnc)),'rx');
axis([min(tEnc) max(tEnc) -0.2 1.2]); xlabel('Time'); ylabel('Amplitude'); title('Dữ liệu sau khi được mã hóa kênh');
randn('state', seed(2));
hMod = modem.pskmod('M', M, 'PhaseOffset', pi/4, ...
'SymbolOrder', 'Gray', 'InputType', 'Bit'); msg_tx = modulate(hMod, msg_enc); msg_tx = rectpulse(msg_tx, Nsamp);
msg_rx = awgn(msg_tx, EsN0-10*log10(1/codeRate)-10*log10(Nsamp)); numModPlot = numEncPlot * Nsamp / k;
tMod = (0:numModPlot-1) / Nsamp * k;
tMod, imag(msg_tx(1:length(tMod))),'m-');
axis([ min(tMod) max(tMod) -1.5 1.5]); xlabel('Time'); ylabel('Amplitude'); title('Dữ liệu mã hóa được điều chế QPSK');
legend('In-phase', 'Quadrature');
hDemod = modem.pskdemod('M', M, 'PhaseOffset', pi/4, ...
'SymbolOrder', 'Gray', 'OutputType', 'Bit'); msg_rx_int = intdump(msg_rx, Nsamp);
msg_demod = demodulate(hDemod, msg_rx_int); stem(tEnc, msg_enc(1:numEncPlot),'rx'); hold on; stem(tEnc, msg_demod(1:numEncPlot),'bo'); hold off; axis([0 numPlot -0.2 1.2]);
xlabel('Time'); ylabel('Amplitude'); title('Demodulated Symbols' ); msg_dec = vitdec(msg_demod, trellis, tblen, 'cont', 'hard'); stem(0:numPlot-1, msg_orig(1:numPlot), 'rx'); hold on;
stem(0:numPlot-1, msg_dec(1+tblen:numPlot+tblen), 'bo'); hold off; axis([0 numPlot -0.2 1.2]); xlabel('Time'); ylabel('Amplitude');
title('Decoded Symbols' );
[nChnlErrs BERChnl] = biterr(msg_enc, msg_demod);
[nCodErrs BERCoded] = biterr(msg_orig(1:end-tblen), msg_dec(1+tblen:end)); load('vitsimresults.mat');
semilogy(EbNo, expVitBER, 'g', EbNo, ratio, 'b*-'); xlabel('Eb/No (dB)'); ylabel('BER');
title('Performance for R=1/2, K=7 Conv. Code and QPSK with Hard Decision'); axis([4 8 10e-7 10e-3]); legend('Union Bound', 'Simulation Results'); grid on;
TÀI LIỆU THAM KHẢO
Tiếng Việt
1. Thái Hồng Nhị (2008), Hệ thống thông tin vệ tinh – Tập I và II, Nhà xuất bản Bưu điện.
2. Thái Hồng Nhị, Phạm Minh Việt (2005), Kỹ thuật truyền tin số và truyền dữ liệu, Nhà xuất bản Giáo dục.
Tiếng Anh
3. G.Maral – Bousquet (2000), Satellite communication systems, John Wile. 4. Jan Glover (2000), Digital Communications, Prentice Hall.
5. RAY E SHERIFF and Y. FUNHU (2001), Mobile satellite communication systems, John Wiley & Sons – England.