Đề tài Mô phỏng điều chế khóa dịch pha QPSK (4PSK) bằng MatLab
Tín hiệu nhị phân vào được chuyển đổi thành 2 thành phần song song nhau, mỗi nhánh sẽ qua bộ chuyển từ mã RZ sang mã NRZ. Tín hiệu NRZ ở mỗi nhánh được nhân với hai thành phần sóng mang lệch nhau 900 ( cos(2πfct) và sin(2πfct) ).
Tính hiện 4PSK sau khi được điều chế là tổng hai thành phần
13 trang |
Chia sẻ: banmai | Lượt xem: 5696 | Lượt tải: 2
Bạn đang xem nội dung tài liệu Đề tài Mô phỏng điều chế khóa dịch pha QPSK (4PSK) bằng MatLab, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
BỘ GIÁO DỤC & ĐÀO TẠO
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI CỞ SỞ II
KHOA: ĐIỆN – ĐIỆN TỬ
------- a&b --------
Chuyên Đề Môn Mô Phỏng Hệ Thống Thông Tin
“Mô phỏng điều chế khóa dịch pha QPSK (4PSK) bằng MatLab”
TP.Hồ Chí Minh– 1/2011
GVHD : TS. Trịnh Quang Khải
HVTH : Trần Quang Nhu
LỚP : Kỹ Thuật Điện Tử
HỆ : Cao Học
KHOÁ : 18
Bộ Giáo Dục Và Đào Tạo
Trường Đại Học Giao Thông Vận Tải Cơ Sở 2
Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam
Độc Lập-Tự Do-Hạnh Phúc
LỜI NHẬN XÉT CỦA GIẢNG VIÊN
Họ và tên học viên thực hiện: Trần Quang Nhu
Lớp: Kỹ Thuật Điện Tử - Khóa 18 – Hệ Cao Học
Tổng quát về chuyên đề:
Nguyên lý điều chế số
Phương thức điều chế 4PSK
Đoạn mã chương trình mô phỏng
Hình mô phỏng
Tp Hồ Chí Minh, ngày ….. tháng ….. năm 2011
Giảng viên đọc duyệt
LỜI GIỚI THIỆU
Trong bài tập này em viết đoạn chương trình dùng MatLab để mô phỏng điều chế khóa dịch pha QPSK. Nội dung bài gồm các phần sau:
Tổng quát về điều chế số
Phương thức điều chế QPSK
Đoạn mã chương trình mô phỏng
Hình mô phỏng
Với thời gian và kiến thức có hạn, trong quá tìm hiểu và trình bày, dù đã cố gắng nhưng sẽ không tránh được thiếu sót, em rất mong nhận được đóng góp ý kiến của thầy để những chuyên đề sau, và đặc biệt là luận văn tốt nghiệp trong thời gian tới em được hoàn thiện hơn.
Một lần nữa, em xin chân thành cảm ơn thầy – TS. Trịnh Quang Khải đã giảng dạy, cung cấp tài liệu và hướng dẫn em hoàn thành chuyên đề này.
Rất mong góp ý, hướng dẫn của thầy.
Em xin chân thành cảm ơn!
Tp Hồ Chí Minh, ngày …. tháng 1 năm 2011
Học viên thực hiện
TRẦN QUANG NHU
NGUYÊN LÝ ĐIỀU CHẾ SỐ
Điều chế tín hiệu là quá trình biến đổi một hay nhiều thông số của một tín hiệu tuần hoàn theo sự thay đổi một tín hiệu mang thông tin cần truyền đi xa. Tín hiệu tuần hoàn gọi là sóng mang. Tín hiệu mang thông tin gọi là tín hiệu được điều chế. Ở đầu thu bộ giải điều chế sẽ dựa vào sự thay đổi thông số đó của sóng mang để tái tạo lại tín hiệu mang thông tin ban đầu. Các thông số của sóng mang được dùng trong quá trình điều chế có thể là biên độ, pha, tần số.
Trong điều chế số, một sóng mang tương tự sẽ được biến đổi theo một chuỗi bit có chiều dài cố định hoặc thay đổi. Đây cũng có thể được coi là một dạng biến đổi tương tự-số. Hình dạng của sóng mang được lấy từ một tập hợp hữu hạn các ký hiệu.
Ta cũng có thể hiểu: Điều chế số là sử dụng thông tin số tác động lên các thông số của sóng mang, làm cho các thông số của sóng mang biến thiên theo quy luật của thông tin.
PHƯƠNG THỨC ĐIỀU CHẾ QPSK (4PSK)
Cơ sở toán học của điều chế QPSK
PSK là phương thức điều chế mà pha của tín hiệu sóng mang cao tần biến đối theo tín hiệu băng gốc.
Sóng mang hình sin được biểu thị theo công thức chung như sau:
S(t) = A.cos(ɷct + θ)
Trong đó
A là biên độ sóng mang
ɷc= 2πfc là tần số góc của sóng mang
fc là tần số sóng mang.
θ là pha sóng mang
Ta có thể viết công thức cho sóng mang được điều chế 4PSK như sau:
Si(t) =cos[2πfct + ]
Với: θ(t) = (2i – 1).; và E = A2.T
Trong đó:
i= 1, 2, 3 và 4 tương ứng với phát đi các ký hiệu gồm 2 bit: 00, 01, 11 và 10
E là năng lượng tín hiệu phát trên một ký hiệu
T = 2Tb là thời gian tồn tại một ký hiệu
Tb là thời gian tồn tại một bit
fc là tần số sóng mang
θ(t) là góc pha được điều chế
θ là góc pha ban đầu của tín hiệu
Mỗi giá trị của pha tương tứng với hai bit duy nhất của tín hiệu được gọi là cặp bit, như vậy ta có thể lập các giá trị pha để biểu diễn tập các cặp bit như sau: 00, 01, 11 và 10.
Góc pha ban đầu θ là một hằng số, nó nhận giá trị bất kỳ trong khoảng từ 0 đến 2π, vì góc pha này không ảnh hưởng đến quá trình phân tích tín hiệu được điều chế nên ta đặt giá trị pha ban đầu θ bằng không. (θ = 0)
Hay: Si(t) = cos[2πfct + ] = cos[2πfct + ]
Qua biến đổi lượng giác, ta có thể viết lại biểu thức như sau:
Si(t) = sin(2πfct) +cos(2πfct)
Trong đó: θ(t) = (2i – 1).; ( i=1, 2, 3, 4)
Theo công thức trên, ta có nhận xét:
+ Có hai hàm cơ sở trong biểu thức Si(t), ta định nghĩa như sau:
Ø1(t) = cos(2πfct) và Ø2(t) = sin(2πfct)
Khi đó ta viết lại:
Si(t) = Ø1(t) – . Ø2(t)
+ Tồn tại 4 điểm tương ứng với các Vectơ được xác định như sau:
Si = (Với i = 1, 2, 3, 4)
Các phần tử của các Vectơ tín hiệu là Si1 và Si2 có các giá trị được tổng kết ở bảng dưới đây. Hai cột đầu tiên biểu diễn các cặp bit và pha tương ứng của tín hiệu 4PSK ở ngõ ra của bộ điều chế, trong đó bit 0 tương ứng với điện áp và bit 1 tương ứng với điện áp .
Bảng: Các Vectơ không gian tín hiệu 4PSK
Cặp bit
Pha của tín hiệu 4PSK
Tọa độ của các điểm bản tin
Si1
Si2
11
π/4
01
3π/4
00
5π/4
10
7π/4
Từ khảo sát ở trên ta thấy một tín hiệu 4PSK được đặc trưng bởi không gian 2 chiều và bốn điểm bản tin như hình vẽ sau
Hình 1: Giản đồ chòm sao của tín hiệu 4PSK
(Mỗi ký hiệu kề nhau chỉ khác nhau 1 bit)
Sơ đồ khối điều chế 4PSK
Chuyển mã
NRZ
Chuyển mã
NRZ
I
1 0 1 0
cos(2πfct)
900
s(t)
bitI
Chuyển đổi nối tiếp sang song song
chuoibit
∑
si(t)
Tín hiệu nhị phân nhập vào
1 1 0 0 0 1 1 0
Tín hiệu sau điều chế
bitQ
sin(2πfct)
Q
1 0 0 1
Hình 2: Sơ đồ khối điều chế 4PSK
Tín hiệu nhị phân vào được chuyển đổi thành 2 thành phần song song nhau, mỗi nhánh sẽ qua bộ chuyển từ mã RZ sang mã NRZ. Tín hiệu NRZ ở mỗi nhánh được nhân với hai thành phần sóng mang lệch nhau 900 (cos(2πfct) và sin(2πfct) ).
Tính hiện 4PSK sau khi được điều chế là tổng hai thành phần
ĐOẠN MÃ CHƯƠNG TRÌNH MÔ PHỎNG
function qpsk(chuoibit,f)
if nargin > 2;
Thong bao('Tham So Dau Vao Khong Nhieu Hon 2 Gia Tri');
elseif nargin==1
f=1;
end
if f<1;
Thong bao('Tan So Phai La Gia Tri Lon Hon Hoac Bang 1');
end
% Kiem Tra Tong So Bit Cua Chuoi Co Phai La So Chan Hay Khong
l=length(chuoibit);
a=l/2;
b=ceil(a);
c=b-a;
if c~=0;
Thong Bao: ('Tong So Bit Nhi Phan Dau Vao Phai La Mot So Chan');
end
% Khai Bao Bien Thoi Gian t Va Cac Ma Tran Su Dung Trong Bai Toan
t=0:2*pi/199:2*pi;
AI=[];
AQ=[];
carrierI=[];
carrierQ=[];
bit=[];
bitI=[];
bitQ=[];
% Lay Gia Tri Cac Bit O Vi Tri Le Cho Nhanh I
for n=1:length(chuoibit)/2;
if chuoibit(2*n-1)==0;
i=zeros(1,200);
else chuoibit(2*n-1)==1;
i=ones(1,200);
end
bitI=[bitI i];
end
% Lay Gia Tri Cac Bit O Vi Tri Chan Cho Nhanh Q
for n=1:length(chuoibit)/2;
if chuoibit(2*n)==0;
q=zeros(1,200);
else chuoibit(2*n)==1;
q=ones(1,200);
end
bitQ=[bitQ q];
end
% Dung 2 Bit Cho 1 Symbol Trong Dieu Che QPSK
for n=1:2:length(chuoibit);
% Dat Trang Thai Goc Pha Cho Cac Ky Tu
% Goc pha cho Symbol 11 la pi/4, bien do la (sqrt(2)/2;sqrt(2)/2)
if chuoibit(n)==1 && chuoibit(n+1)==1;
I=sqrt(2)/2*ones(1,200);
Q=sqrt(2)/2*ones(1,200);
IQ=[ones(1,50) ones(1,50)];
% Goc pha cho Symbol 01 la 3pi/4, bien do la (-sqrt(2)/2;sqrt(2)/2)
elseif chuoibit(n)==0 && chuoibit(n+1)==1;
I=-sqrt(2)/2*ones(1,200);
Q=sqrt(2)/2*ones(1,200);
IQ=[zeros(1,50) ones(1,50)];
% Goc pha cho Symbol 00 la 5pi/4, bien do la (-sqrt(2)/2;-sqrt(2)/2)
elseif chuoibit(n)==0 && chuoibit(n+1)==0;
I=-sqrt(2)/2*ones(1,200);
Q=-sqrt(2)/2*ones(1,200);
IQ=[zeros(1,50) zeros(1,50)];
% Goc pha cho Symbol 10 la 7pi/4, bien do la (sqrt(2)/2;-sqrt(2)/2)
elseif chuoibit(n)==1 && chuoibit(n+1)==0;
I=sqrt(2)/2*ones(1,200);
Q=-sqrt(2)/2*ones(1,200);
IQ=[ones(1,50) zeros(1,50)];
end
% Khai Bao Cac Thanh Phan Song Mang Dua Vao Dieu Che
c=cos(f*t); % Khai bao ham Cos
s=sin(f*t); % Khai bao ham Sin
AI=[AI I]; %Gia tri bien do cua song hinh Cos
AQ=[AQ Q]; %Gia tri bien do cua song hinh Sin
carrierI=[carrierI c]; %Song mang hinh Cos cho nhanh I
carrierQ=[carrierQ s]; %Song mang hinh Sin cho nhanh Q
bit=[bit IQ];
end
% VE HINH MO PHONG
% Tin hieu nhi phan dau vao
subplot(6,1,1);
plot(bit,'linewidth',2)
grid on;
title('Hinh 1: Tin Hieu Nhi Phan Duoc Dua Vao Dieu Che')
axis([0 50*length(chuoibit) -1.5 2]);
xlabel('Thoi gian (t)')
ylabel('Bien do (A)')
% Tin hieu duoc tach ra lam thanh phan nhanh 1
subplot(6,1,2);
plot(bitI,'r','linewidth',2);
grid on;
title('Hinh 2: Tin Hieu Nhi Phan Nhanh I')
axis([0 50*length(chuoibit) -1.5 2]);
xlabel('Thoi gian (t)')
ylabel('Bien do (A)')
% Tin hieu duoc tach ra lam thanh phan nhanh 2
subplot(6,1,3);
plot(bitQ,'g','linewidth',2);
grid on;
title('Hinh 3: Tin Hieu Nhi Phan Nhanh Q')
axis([0 50*length(chuoibit) -1.5 2]);
xlabel('Thoi gian (t)')
ylabel('Bien do (A)')
% Tin hieu nhanh I sau dieu che
I=AI.*carrierI;
subplot(6,1,4);
plot(I,'r','linewidth',2);
grid on;
title('Hinh 4: Song Hinh Sin Nhanh I')
axis([0 50*length(chuoibit) -1.5 2]);
xlabel('Thoi gian (t)')
ylabel('Bien do (A)')
%Tin hieu nhanh Q sau dieu che
Q=AQ.*carrierQ;
subplot(6,1,5);
plot(Q,'g','linewidth',2);
grid on;
title('Hinh 5: Song Hinh Sin Nhanh Q')
axis([0 50*length(chuoibit) -1.5 2]);
xlabel('Thoi gian (t)')
ylabel('Bien do (A)')
% Tin hieu duoc dieu che QPSK o dau ra
qpsk=AI.*carrierI+AQ.*carrierQ;
subplot(6,1,6);
plot(qpsk,'linewidth',3);
grid on;
title('Hinh 6: Song Hinh Sin Sau Khi Duoc Dieu Che QPSK')
axis([0 50*length(chuoibit) -1.5 2]);
xlabel('Thoi gian (t)')
ylabel('Bien do (A)')
HÌNH MÔ PHỎNG
Dòng bit vào: chuoibit = 1 1 0 0 1 1 1 0 1 1 1 1 0 1 0 1 0 1 0 0
Tần số: f = 2
Cách chạy chương trình
Gõ lệnh: dieucheqpsk_tranquangnhu([chuoi bit],tan so f])
+ Ví dụ: dieucheqpsk_tranquangnhu([1 1 0 0 1 1 1 0 1 1 1 1 0 1 0 1 0 1 0 0],2)
Hình 3: Mô phỏng điều chế khóa dịch pha 4PSK
TÀI LIỆU THAM KHẢO
[1]. Phạm Hồng Liên, “MatLab và ứng dụng trong viễn thông”, ĐH Quốc gia Tp. Hồ Chí Minh, 2006
[2]. Phan Thanh Tao, “Giáo trình MatLab”, ĐH Bách khoa Đà Nẵng, 2004
[3]. Haykin, Simon (1988), “Digital Communications”, John Wiley & Sons Toronto, Canada, 1988
--------------------------------- The End -------------------------------