1. Trang chủ
  2. » Luận Văn - Báo Cáo

Chương trình mô phỏng điều chế khóa dịch pha 4PSK

16 881 3
Tài liệu đã được kiểm tra trùng lặp

Đ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 16
Dung lượng 651,58 KB

Nội dung

Chương trình mô phỏng điều chế khóa dịch pha 4PSK

Trang 1

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

Trang 2

1 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 symbol

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

2 PHƯƠNG THỨC ĐIỀU CHẾ 4PSK

2.1 Cơ sở toán học của điều chế 4PSK

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:

Trong đó:

Ta có thể viết công thức cho sóng mang được điều chế 4PSK như sau:

Si(t) =√2 E T .cos[2πffct + θ (t )+θ] Với: θ)(t) = (2i – 1).π4; và E = 12A2.T

dsd Trang 2 ds

Trang 3

Trong đó:

10

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πf, 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) = √2 E T .cos[2πffct + θ (t )] = √2 E T .cos[2πffct + (2 i−1) π

4] Qua biến đổi lượng giác, ta có thể viết lại biểu thức như sau:

Si(t) = −√2 E T .sin[(2i−1) π

4] sin(2πffct) +√2 E T .cos[(2i−1) π

4]cos(2πffct)

Theo công thức trên, ta có nhận xét:

Ø1(t) = √T2.cos(2πffct)

Ø2(t) = √T2.sin(2πffct) Khi đó ta viết lại:

Si(t) = √E cos[(2i−1) π

4¿].¿ Ø1(t) – √E sin[(2i−1) π

4¿]¿ Ø2(t)

Trang 4

Chuyển mã NRZ

Chuyển mã NRZ

+ 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)

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

Bảng: Các Vectơ không gian tín hiệu 4PSK

hiệu 4PSK

Tọa độ của các điểm bản

tin

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ẽ

dsd Trang 4 ds

Chuyển đổi nối tiếp sang song song

Tín hiệu nhị

phân nhập vào

1 1 0 0 0 1 1 0

i (t)

Tín hiệu sau điều chế

bitI

bitQ

I

1 0 1 0

ø 1(t )=T2 .cos(2πffct)

Trang 5

Hình: 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(ø 1(t )=T2 .cos(2πffct) và ø 2(t )=T2 .sin(2πffct) ).

Tính hiện 4PSK sau khi được điều chế là tổng hai thành phần

3 ĐOẠN MÃ CHƯƠNG TRÌNH MÔ PHỎNG

function qpsk(chuoibit,f)

if nargin > 2;

error('Tham So Dau Vao Khong Nhieu Hon 2 Gia Tri');

elseif nargin==1 % ?????????

f=1; % ???????????

Thong bao ('ban da nhap dung');

end

Q

1 0 0 1

ø 2(t )=T2.sin(2πffc

Trang 6

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/99: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,100);

else chuoibit(2*n-1)==1;

dsd Trang 6 ds

Trang 7

i=ones(1,100);

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,100);

else chuoibit(2*n)==1;

q=ones(1,100);

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,100);

Q=sqrt(2)/2*ones(1,100);

se=[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,100);

Trang 8

Q=sqrt(2)/2*ones(1,100);

se=[ones(1,50) zeros(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,100);

Q=-sqrt(2)/2*ones(1,100);

se=[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,100); %Q: die, chuyen thanh I

Q=-sqrt(2)/2*ones(1,100); %I: die1

se=[zeros(1,50) ones(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 se];

end

% VE HINH MO PHONG

% Tin hieu nhi phan dau vao

subplot(6,1,1);

dsd Trang 8 ds

Trang 9

grid on;

title('Hinh 1: Tin Hieu Nhi Phan Duoc Dua Vao Dieu Che') axis([0 25*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 O 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 O 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);

Trang 10

grid on;

title('Hinh 4: Song Hinh Sin O Nhanh I')

axis([0 25*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 O Nhanh Q')

axis([0 25*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 25*length(chuoibit) -1.5 3]);

xlabel('Thoi gian (t)')

ylabel('Bien do (A)')

4 HÌNH MÔ PHỎNG

dsd Trang 10 ds

Trang 11

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

function qpsk(g,f)

if nargin > 2

%error('ban da dua nhieu tham so

chi duoc dua 2 tham so dau vao');

elseif nargin==1

f=1;

function qpsk(chuoibit,f)

if nargin > 2;

Thong bao('Tham ….Tri');

elseif nargin==1 f=1;

end

Trang 12

if f<1;

error('tan so phai lon hon 1');

end

%*-*-*-*-*-*

l=length(g);

r=l/2;

re=ceil(r);

val=re-r;

if val~=0;

error('so bit nhi phan nhap vao phai

la chan');

end

%*-*-*-*-*-*

t=0:2*pi/199:2*pi;

cp=[];

sp=[];

mod=[];

mod1=[];

bit=[];

bit1=[];

bit2=[];

bit0=[];

for n=1:length(g)/2;

if g(2*n-1)==0;

se1=zeros(1,200);

else g(2*n-1)==1;

se1=ones(1,200);

end

bit1=[bit1 se1];

end

for n=1:length(g)/2;

if g(2*n)==0;

se2=zeros(1,200);

else g(2*n)==1;

se2=ones(1,200);

end

bit2=[bit2 se2];

if f<1;

Thong bao('Tan ….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 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

dsd Trang 12 ds

Trang 13

for n=1:2:length(g);

if g(n)==0 && g(n+1)==1;

die=sqrt(2)/2*ones(1,200);

die1=-sqrt(2)/2*ones(1,200);

se=[zeros(1,50) ones(1,50)];

elseif g(n)==0 && g(n+1)==0;

die=-sqrt(2)/2*ones(1,200);

die1=-sqrt(2)/2*ones(1,200);

se=[zeros(1,50) zeros(1,50)];

elseif g(n)==1 && g(n+1)==0;

die=-sqrt(2)/2*ones(1,200);

die1=sqrt(2)/2*ones(1,200);

se=[ones(1,50) zeros(1,50)];

elseif g(n)==1 && g(n+1)==1;

die=sqrt(2)/2*ones(1,200);

die1=sqrt(2)/2*ones(1,200);

se=[ones(1,50) ones(1,50)];

end

c=cos(f*t);

s=sin(f*t);

cp=[cp die]; %Amplitude cosino

sp=[sp die1]; %Amplitude sino

mod=[mod c]; %cosino carrier

(Q)

mod1=[mod1 s]; %sino carrier (I)

bit=[bit se];

end

bpsk=cp.*mod+sp.*mod1;

subplot(4,1,1);

plot(bit,'LineWidth',1.5);

grid on;

title('tin hieu dua vao dieu che')

axis([0 50*length(g) -1.5 1.5]);

subplot(4,1,2);

plot(bit1,'LineWidth',1.5);

grid on;

title('tin hieu nhanh 1')

axis([0 50*length(g) -1.5 1.5]);

subplot(4,1,3);

bitQ=[bitQ q];

end

for n=1:2:length(chuoibit);

if chuoibit(n)==1 &&

chuoibit(n+1)==1;

I=sqrt(2)/2*ones(1,200);

Q=sqrt(2)/2*ones(1,200);

se=[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);

se=[ones(1,50) zeros(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);

se=[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: die, chuyen thanh I

Q=-sqrt(2)/2*ones(1,200); %I: die1

se=[zeros(1,50) ones(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

Trang 14

grid on;

title('tin hieu nhanh 2')

axis([0 50*length(g) -1.5 1.5]);

subplot(4,1,4);

plot(bpsk,'LineWidth',1.5);

grid on;

title('tin hieu dieu che qpsk')

axis([0 50*length(g) -1.5 1.5]);

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 se];

end

% VE HINH MO PHONG

% Tin hieu nhi phan dau vao subplot(6,1,1);

plot(bit,'linewidth',3) 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);

dsd Trang 14 ds

Trang 15

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 3]); xlabel('Thoi gian (t)')

ylabel('Bien do (A)')

Ngày đăng: 26/04/2013, 09:50

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w