Tải bản đầy đủ (.pdf) (40 trang)

BÀI TẬP MÔN HỌC ĐA TRUY NHẬP VÔ TUYẾN ĐỀ TÀI Bài tập về nhà số 7 SIM_MA 06 + 07

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.28 MB, 40 trang )

BỘ THÔNG TIN VÀ TRUYỀN THÔNG
HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
=====***=====

BÀI TẬP MÔN HỌC
ĐA TRUY NHẬP VÔ TUYẾN
ĐỀ TÀI:

Bài tập về nhà số 7
SIM_MA 06 + 07
SINH VIÊN: HÀ LONG QUYỀN
MÃ SV :

B18DCVT341

LỚP :

D18VT05-B

GIẢNG VIÊN: THẦY NGUYỄN VIẾT ĐẢM
HỌC KÌ 2 NĂM HỌC: 2020-2021

HÀ NỘI – 12/2021


Hà Long Quyền – B18DCVT341

Mục Lục
SIM_MA_06 ................................................................. 3
A. Tín hiệu và phổ tần tín hiệu OFDM ..................... 4
B. Điều chế và giải điều chế tín hiệu OFDM trên cơ


sở khơng gian tín hiệu : ............................................. 4
C. Minh họa tín hiệu và phổ tín hiệu OFDM trong
băng tần gốc. .............................................................. 7
E. Mơ hình hóa hệ thống truyền dẫn OFDM trên cơ
sở thực hiện IFFT/FFT và chèn/khử CP................ 14
F. Chèn CP/ Khử CP ................................................ 22
SIM_MA_07 ............................................................... 30
A. Mơ hình hóa và mơ phỏng hệ thống truyền dẫn
OFDM cơ bản trên Matlab. ..................................... 30
B. Mơ hình hóa và mơ phỏng hệ thống truyền dẫn
BPSK-OFDM dùng mã hóa kênh trong kênh AWGN
35

2


Hà Long Quyền – B18DCVT341

SIM_MA_06
Trực quan hóa nguyên lý hoạt động hệ thống truyền dẫn
OFDM trên cơ sở thực hiện FFT/FFT và chèn/khử CP
❖ Mục tiêu :
✓ Làm sáng quá trình xây dựng mơ hình và ngun lý hoạt động của hệ
thống truyền dẫn OFDM trên cơ sở xử lý IFFT/FFT và chèn/khử CP.
✓ Trực quan hóa nguyên lý hoạt động trên cơ sở mô tả và mô phỏng các tín
hiệu điển hình trên Matlab.

❖ Nội dung
✓ Khái niệm cơ bản:
• Tín hiệu và phổ tần của tín hiệu băng tần cơ sở .

• Tín hiệu và phổ tần của tín hiệu thơng dải/điều chế và dịch phổ tần tín
hiệu .
• Truyền dẫn đơn sóng mang/đa sóng mang, MCM/FDM.
• FDM và OFDM.
✓ Xây dựng và trình bày nguyên lý hoạt động điều chế/giải điều chế
OFDM trên cơ sở không gian tín hiệu.
• Mơ hình hóa q trình truyền thơng tín hiệu trên cơ sở khơng gian tín
hiệu.
• Mơ hình hóa q trình điều chế/giải điều chế tín hiệu OFDM trên cơ
sở khơng gian tín hiệu: Ngun lý hoạt động q trình điều chế/giải
điều chế.
• Tín hiệu và hệ thống trong miền thời gian .
• Tín hiệu và hệ thống trong miền tần số .
• Thực hiện điều chế/giải điều chế tín hiệu OFDM bằng thuật tốn
IFFT/FFT .
• Matlab hóa và mơ phỏng hệ thống OFDM trên cơ sở thuật tốn
IFFT/FFT.
✓ Các tham số đặc trưng của tín hiệu OFDM
• Tham số tín hiệu OFDM trong miền thời gian .
• Tham số tín hiệu OFDM trong miền tần số .
• Lựa chọn các tham số OFDM trên cơ sở các tham số của kênh vơ
tuyến .
✓ Truyền dẫn tín hiệu OFDM
• Truyền dẫn tín hiệu OFDM trong băng tần cơ sở;

3


Hà Long Quyền – B18DCVT341




Matlab hóa để tính tốn biểu diễn tín hiệu OFDM trong băng tần cơ
sở;
• Truyền dẫn tín hiệu OFDM trong băng tần vơ tuyến;
• Matlab hóa để tính tốn biểu diễn tín hiệu OFDM trong băng tần vơ
tuyến.
✓ Trực quan hóa ngun lý hoạt động trên cơ sở mơ tả và mơ phỏng các tín
hiệu đặc trưng của sơ đồ (mơ hình) trên Matlab.

A.

Tín hiệu và phổ tần tín hiệu OFDM

- Tín hiệu ở miền thời gian dưới dạng xung có chu kì T . Tín hiệu phổ
tần ở miền tần số tuân theo hàm Sinc2.
B. Điều chế và giải điều chế tín hiệu OFDM trên cơ sở khơng gian
tín hiệu :

4


Hà Long Quyền – B18DCVT341

- Luồng dữ liệu đầu vào 𝑋0,𝑘 ; 𝑋1,𝑘 ; 𝑋2,𝑘 ; … 𝑋𝑁−1,𝑘 qua khối xử lí số liệu S/P tách
thành các luồng dữ liệu con được điều chế độc lập :
𝑿𝒊,𝒌 . 𝒈𝒊 (𝒕) 𝒗ớ𝒊 𝒊 = 𝟎, 𝟏, 𝟐, … 𝑵 − 𝟏.
- Sau đó các luồng con này được tổng hợp lại tạo nên tín hiệu s(t) trước khi gửi
lên kênh truyền pha ding.


5


Hà Long Quyền – B18DCVT341
𝑵−𝟏

𝑺𝒌 (𝒕) = ∑ 𝑿𝒊,𝒌 . 𝒆𝒋𝟐𝝅𝒇𝒊𝒕
𝒊=𝟎
+∞ 𝑵−𝟏

𝑺(𝒕) = ∑ ∑ 𝑿𝒊,𝒌 . 𝒆𝒋𝟐𝝅𝒇𝒊𝒕
𝒌=−∞ 𝒊=𝟎

- Sau khi đi qua kênh truyền ở phía thu ta được tín hiệu y(t)
+ y(t) = s(t) * h(t) + n(t) ( h(t) – đáp ứng xung của kênh truyền ; n(t) là thành
phần tạp âm của kênh truyền ).
- Sau đó tín hiệu y(t) được đưa vào bộ nhân kết hợp với các thành phần
𝒈∗ 𝒋 (𝒕) = 𝒆−𝒋𝟐𝝅𝒇𝒋𝒕 với j = 0,1,2,..N-1 .
- Sau đó tín hiệu tiếp tục được đưa qua bộ tích phân
𝟏 𝑻𝒃
∫ 𝒚(𝒕). 𝒆−𝒋𝟐𝝅𝒇𝒊𝒕 𝒅𝒕 𝒗ớ𝒊 𝒊 = 𝟎, 𝟏, 𝟐, … 𝑵 − 𝟏
𝑻𝒃 𝟎
=

𝟏

𝑻𝒃

∫ (𝒔(𝒕) + 𝒏(𝒕)). 𝒆−𝒋𝟐𝝅𝒇𝒋𝒕 dt
𝑻𝒃 𝟎


𝑻𝒃
𝟏 𝑻𝒃
−𝒋𝟐𝝅𝒇𝒋 𝒕
=
∫ 𝒔(𝒕). 𝒆
𝒅𝒕 + ∫ 𝒏(𝒕). 𝒆−𝒋𝟐𝝅𝒇𝒋 𝒕 𝒅𝒕
𝑻𝒃 𝟎
𝟎
𝑵−𝟏

𝟏 𝑻𝒃
𝟏 𝑻𝒃
−𝒋𝟐𝝅𝒇𝒋 𝒕
𝒋𝟐𝝅𝒇𝒊𝒕
=
∫ ∑ 𝑿𝒊,𝒌 . 𝒆
.𝒆
𝒅𝒕 +
∫ 𝒏(𝒕). 𝒆−𝒋𝟐𝝅𝒇𝒋𝒕 𝒅𝒕
𝑻𝒃 𝟎
𝑻𝒃 𝟎
𝒊=𝟎

- Sau bộ tích phân ta thu được các tín hiệu 𝑋 ^ 𝑖,𝑘 𝑣ớ𝑖 𝑖 = 0 ,1,2, . . 𝑁 − 1.
- Nhờ có tính chất trực giao của các sóng mang con 𝑔𝑖,𝑘 (𝑡) 𝑡𝑎 𝑡á𝑐ℎ đượ𝑐 𝑋𝑖,𝑘 .
❖ Tính chất trực giao giữa các sóng mang con .

6



Hà Long Quyền – B18DCVT341





𝑵−𝟏

𝟏 𝑻𝒃
∫ ∑ 𝑿𝒊,𝒌 . 𝒆𝒋𝟐𝝅𝒇𝒊𝒕 . 𝒆−𝒋𝟐𝝅𝒇𝒋𝒕 𝒅𝒕 = 𝑿𝒋,𝒌 𝒗ớ𝒊 𝒋 = 𝟎, 𝟏, 𝟐, … 𝑵 − 𝟏.
𝑻𝒃 𝟎
𝒊=𝟎

C. Minh họa tín hiệu và phổ tín hiệu OFDM trong băng tần gốc.

7


Hà Long Quyền – B18DCVT341

-> Tín hiệu OFDM sẽ có chu kì gấp N lần tín hiệu băng gốc nên độ rộng phổ
của tín hiệu ODFM sẽ nhỏ hơn N lần so với tín hiệu gốc -> Chứa được nhiều
thành phần phổ con trong băng tần cho trước.

D. Mô tả phổ của OFDM trong băng tần gốc trên Matlab.
➢ Khai báo và khởi tạo các tham số đầu vào

8



Hà Long Quyền – B18DCVT341

➢ Tính tốn PSD

→ Kết quả :
* Xét BW = 500Hz ; Delta_f = 100Hz

9


Hà Long Quyền – B18DCVT341

→ Nhận xét :
- Hai hình trên biểu thị phổ tần của tín hiệu cơ sở đơn sóng mang tại giá trị
f=0 và f = frf, độ rộng phổ là 2/Tb. Băng thông BW .
- Hai hình dưới biểu thị phổ tần của tín hiệu OFDM . Băng thông cũng BW
nhưng được điều chế OFDM với nhiều sóng mang con -> Nhiều phổ con
trong băng tần, khoảng cách giữa các băng con là delta_f . Số lượng thành
phần sóng mang con là : BW/delta_f .

10


Hà Long Quyền – B18DCVT341

→ Nhận xét : So sánh PSD của các tín hiệu.
- Phổ tần của tín hiệu
𝑆𝐶𝑟𝑓 𝑐ó độ 𝑟ộ𝑛𝑔 𝑝ℎổ 𝑙à


2
𝑇𝑏

. 𝑇ầ𝑛 𝑠ố 𝑡𝑟𝑢𝑛𝑔 𝑡â𝑚 𝑡ạ𝑖 𝑓 = 𝑓𝑅𝑓

- Phổ tần của tín hiệu OFDM khi có nhiều thành phần sóng mang con. Các
thành phần sóng mang con có độ rộng phổ là 2/T_ofdm. Khoảng cách giữa
các tần số trung tâm là deta_f = 1/T_ofdm, tần số trung tâm bắt đầu từ
f=detal_f. Độ rộng băng tần là BW.
- Phổ của tín hiệu 𝑂𝐹𝐷𝑀𝑅𝐹 nhiều thành phần sóng mang con tương tự như
tín hiệu OFDM nhiều thành phần sóng mang. Điểm khác nhau là tần số
trung tâm của OFDMrf bắt đầu từ f= frf.

➢ Dịch đoạn code chương trình :
STT
Câu lệnh
1
2

Clc ;
Clear ;

Giải thích
Xóa cửa sổ lệnh
Xóa các mục khỏi không gian

11

Ghi
chú



Hà Long Quyền – B18DCVT341

làm việc, giải phóng bộ nhớ
hệ thống
Xóa tất cả hình đã chỉ định

3

Close all ;

4

deta_f

5

BW_channel

6

num_subcarrier =
round(BW_channel/deta_f);

7

T_ofdm

= 1/deta_f;


8

R_ofdm

= 1/T_ofdm;

9

Tb = T_ofdm/num_subcarrier;

10

Rb

= 1/Tb;

- Khai báo R_ofdm =
1/T_ofdm
- Khai báo Tb =
T_ofdm/num_subcarrier.
- Khai báo Rb = 1/Tb

11

A1

= A^2*Tb;

- Khai báo A1 = A^2 * Tb ;


12

AA

= 20;

- Khai báo deta_f = 20
(Subcarrier_ space)

= 200;

- Khai báo BW_channel =
200
( Băng thơng kênh )
- Khai báo num_subcarrier
(số lượng thành phần sóng
mang)
= BW / delta_f
- Khai báo T_ofdm = 1/deta_f

= A^2*T_ofdm;

- Khai báo AA =
A^2*T_ofdm;

13

f_i
=

deta_f:deta_f:BW_channel+deta_f;

14

f = -Rb:BW_channel+4*deta_f;

15

fc

16

f2
= f:1:(fc+BW_channel+4*deta_f);

17

PSD_ofdm_in =
A1*(sinc((f*Tb)).^2);

- Khai báo f2 là mảng gồm cá
giá trị từ -f đến
fc+BW_channel+4*deta_f
- Khai báo PSD_ofdm_in =
A1*(sinc((f*Tb)).^2);

18

PSD_RF_SC = A1*(sinc(((f2fc)*Tb)).^2);


- Khai báo PSD_RF_SC =
A1*(sinc(((f2-fc)*Tb)).^2);

= 3*max(f);

12

- Khai báo f_i là 1 mảng có
các giá trị bắt đầu từ deta_f > BW_channel+deta_f .
Khoảng cách là deta_f.
- Khai báo f là mảng gồm các
giá trị từ -Rb đến
BW_channel+4*deta_f
- Khai báo fc = 3 * max(f)


Hà Long Quyền – B18DCVT341

19

20

21

21

PSD_OFDM
=
- Khai báo PSD_OFDM là 1
zeros(num_subcarrier,max(size(f))); mảng zeros gồm

num_subcarrier hàng x
max(size(f)) cột.
for k = 1:num_subcarrier (*)
-(*) Bắt đầu vòng lặp for cho
PSD_OFDM(k,:)
=
k từ 1 -> num_subcarrier
AA*(sinc((f-f_i(k))*T_ofdm)).^2;
PSD_OFDM(k,:) ( Giá trị (1)
(1)PSD_OFDM tại hàng thứ
PSD_OFDM_RF(k,:) =
k của các cột ) = AA*(sinc((fAA*(sinc((f2-f_i(k)f_i(k))*T_ofdm)).^2.
fc)*T_ofdm)).^2; (2)
-(2) PSD_OFDM_RF(k,:) (
Giá trị -(1)PSD_OFDM_RF
end (3)
tại hàng thứ k của các cột ) =
AA*(sinc((f2-f_i(k)fc)*T_ofdm)).^2
-(3) Kết thúc vòng lặp for (*)
PSD_OFDM_sum_RF =
- Khai báo
sum(PSD_OFDM_RF,'double');
PSD_OFDM_sum_RF = tổng
PDS_OFDM_RF kiểu dữ liệu
double
Các lệnh tiếp theo cấu tạo figure

13



Hà Long Quyền – B18DCVT341

E. Mơ hình hóa hệ thống truyền dẫn OFDM trên cơ sở thực hiện
IFFT/FFT và chèn/khử CP

14


Hà Long Quyền – B18DCVT341

15


Hà Long Quyền – B18DCVT341

❖ Minh họa thực hiện IFFT/FFT trên mathlab.

16


Hà Long Quyền – B18DCVT341

❖ Thực hiện mô phỏng trên mathlab.
➢ Khởi tạo ma trận WH và ma trận W thủ cơng

➢ Tích của 2 ma trận WH và W

→ Kết quả :

→ Nhận xét : Kết quả đúng là ma trận đơn vị I[nxn].


17


Hà Long Quyền – B18DCVT341

➢ Thực hiện biến đổi FFT/IFFT của dãy số liệu đầu vào

→ Kết quả :

→ Kết quả đầu ra của biến đổi IFFT/FFT và đầu vào ở dạng ma trận là như
nhau ,khơng có khác nhau . Qua đó ta thấy nhờ biến đổi FFT kết hợp IFFT
mà ta tạo được kết quả đầu ra như đầu vào mong muốn.
➢ Khởi tạo ma trận IFFT và FFT theo hình thức dùng vịng lặp for.

18


Hà Long Quyền – B18DCVT341

→ Kết quả :

19


Hà Long Quyền – B18DCVT341

→ Nhận xét : So sánh với kết quả tạo W_H và W theo thủ công thì kết quả
khơng có sự khác biệt → Chương trình tạo đúng.
➢ Giải thích đoạn code chương trình :

STT
Câu lệnh

Giải thích

1
2

Clc ;
Clear ;

Xóa cửa sổ lệnh
Xóa các mục khỏi khơng gian
làm việc, giải phóng bộ nhớ
hệ thống

3

Close all ;

Xóa tất cả hình đã chỉ định

4

W_H = [1 1 1 1;
- Khởi tọa ma trận W_H có
1 exp(j*2*pi/4) exp(j*4*pi/4) các giá trị như bên.
exp(j*6*pi/4);
1 exp(j*4*pi/4) exp(j*8*pi/4)
exp(j*12*pi/4);

1 exp(j*6*pi/4) exp(j*12*pi/4)
exp(j*2*3*3*pi/4)];

5

W_H=1/2*W_H

- W_H = ½ * W_H

6

W

- Khởi tạo ma trận W có các
giá trị như bên.

= [1 1 1 1;
1 exp(-j*2*pi/4) exp(j*4*pi/4) exp(-j*6*pi/4);

20

Ghi
chú


Hà Long Quyền – B18DCVT341

1 exp(-j*4*pi/4) exp(j*8*pi/4) exp(-j*12*pi/4);
1 exp(-j*6*pi/4) exp(j*12*pi/4) exp(-j*2*3*3*pi/4)];
7


W=1/2*W

W=1/2*W

8

test = abs(W_H*W)

9

x11 = 1:4 (1)
x12 = W_H*x11' (2)
x13 = W*x12 (3)
test2 = x11~=round(x13') (4)

10

N= 4; (1)
W_H_2 = zeros(N); (2)

11

for i =1:N (*)
for m= 1:N (**)
W_H_2(i,m) =
exp(j*2*pi/N*(i-1)*(m-1)); (1)
end (2)
end (3)


12

W_H_2 = 1/sqrt(N)*W_H_2 (1)
W_H_2~=W_H (2)

13

W_2 = zeros(N);

14

for m =1:N (*)
for i= 1:N (**)
W_2(m,i) = exp(j*2*pi/N*(m-1)*(i-1)); (1)
end (2)
end (3)

15

W_2 = 1/sqrt(N)*W_2 (1)
W_2~=W (2)

- Tính giá trị modul của tích
W_H * W.
- (1) Khởi tạo chuỗi x11 =
1,2,3,4.
- (2) x12 = W_H * x11’(x11
chuyển vị )
-(3) x13 = W*x12
-(4) So sánh x11 và x13’.

- (1) Khai báo N =4
- (2) Tạo ma trận W_H_2 là
ma trận tồn 0 có N phần tử.
- (*) Bắt đầu vòng for cho i
chạy từ 1:N
- (**) Bắt đầu vòng for con
trong (*) cho m chạy từ 1 :N
-(1) W_H_2(i,m) phần tử ở vị
trí hàng i cột m =
exp(j*2*pi/N*(i-1)*(m-1))
-(2) kết thúc (**)
-(3) Kết thúc (*).
- (1) W_H_2 =
1/sqrt(N)*W_H_2
-(2) W_H_2 so sánh W_H
Tạo ma trận W_2 là ma trận
toàn 0 có N phần tử.
(*) Bắt đầu vịng for cho i
chạy từ m:N
- (**) Bắt đầu vòng for con
trong (*) cho i chạy từ 1 :N
-(1) W_H_2(m,i) phần tử ở vị
trí hàng m cột i = exp(j*2*pi/N*(m-1)*(i-1));
-(2) kết thúc (**)
-(3) Kết thúc (*).
-(1) W_2 = 1/sqrt(N)*W_2
- So sánh W_2 và W .

21



Hà Long Quyền – B18DCVT341

F. Chèn CP/ Khử CP

22


Hà Long Quyền – B18DCVT341

❖ Thực hiện mô phỏng chèn/khử CP trên mathlab.
➢ Tạo ma trận chèn Cp trên mathlab

→ Kết quả với N=8 và V = 2 .

23


Hà Long Quyền – B18DCVT341

→ Nhận xét : Kết quả đúng với lí thuyết .
➢ Tạo ma trận khử CP trên mathlab.

→ Kết quả : Ma trận khử CP với N =8 và V =2 .

→ Nhận xét : Kết quả đúng với lí thuyết.
➢ Giải thích đoạn code chương trình
* Chèn CP
STT
1


Câu lệnh

Giải thích

function [CP_insert] =

- Tạo function
MA_06_CP_insert với đầu
vào là N & V . Đầu ra là

MA_06_CP_insert(N,V)

24

Ghi
chú


Hà Long Quyền – B18DCVT341

2

O_I

3

O_V_N_V = zeros(V,N-V);

4


I_V

5

for i=1:V (*)
O_I(i,:) = [O_V_N_V(i,:)
I_V(i,:)] ; (1)
end (2)

6

I_N

7

CP_insert = [O_I;I_N];

* Khử CP
STT

CP_insert.
- Khai báo O_I là mảng toàn
0 gồm V hàng x N cột.
- Khai báo 0_V_N_V là
mảng toàn 0 gồm V hàng và
N-V cột.
- Khai báo I_V là ma trận đơn
vị kích thước VxV
-(*) Bắt đầu vòng for cho i

chạy từ 1:V
-(1) O_I hàng thứ i của tất cả
các cột = [O_V_N_V(i,:)
I_V(i,:)]
-(2) Kết thúc vòng for (*)
- Khai báo I_N là ma trận đơn
vị NxN
- Gán CP_insert = [O_I;I_N]

= zeros(V,N);

= eye(V);

= eye(N);

Câu lệnh

Giải thích

1

function [CP_Remve] =
MA_06_CP_Remove(N,V)

2

CP_Remve = zeros(N,N+V);

3


O_V

4

I_N

5

for i =1:N (*)
CP_Remve(i,:) = [O_V(i,:)
I_N(i,:)]; (1)
end (2)

= zeros(N,V);
= eye(N);

G. MA_06_OFDM_Principle

25

- Tạo function
MA_06_CP_Remove với đầu
vào là N & V . Đầu ra là
CP_Remove.
- Khai báo CP_Remve là
mảng toàn 0 gốm N hàng x
N+V cột.
- Khai báo O_V = là mảng
toàn 0 gồm N hàng x V cột.
- Khai báo I_N là ma trận đơn

vị kích thước NxN
-(*) Bắt đầu vòng for cho i
chạy từ 1:N
-(1) CP_Remve(i,:) (hàng thứ
i của tất cả các cột ) =
[O_V(i,:) I_N(i,:)];
-(2) Kết thúc vòng for (*)

Ghi
chú


×