Mô hình này đang sử dụng chuỗi training sequence có chiều dài ½ nên khối submatrix được thiết lập như sau: Do sau khi qua điều chế QPSK thì chiều dài chuỗi tín hiệu còn lại ½, tức 256 cò
Trang 1Câu 1:
Vẽ lại mô hình QPSK, BPSK
Tốc độ bit, baud, băng thông bao nhiêu?
BER theo Eb/No bao nhiêu?
Thiết kế bộ ước lượng SNR
Ví dụ: thiết kế hệ thống dung QPSK tôc độ 1Mbps Vẽ BER theo Eb/No bằng BER tool sau đó kiểm chứng với lý thuyết
-
Bài làm:
BPSK qua kênh truyền AWGN
Boud =bit rate
Trang 2Vẽ BER theo Eb/No như sau:
Chú ý: Number of errors và number of bits trên đây nên để bằng thông số Target num ber
of error và Maximun number of symbol trong khối Error Rate Calculation
Trang 3Vẽ thêm 1 đường lý thuyết nữa:
Kết quả tượng trưng như sau:
Trang 5Bài 2: kênh truyền fading
phải dùng matlab vẽ ra đáp ứng về thời gian và tần số
Dùng tính toán để suy ra loại kênh truyền
k k
k k k
k k
P P
Trong công thức trên, là giới hạn trễ trung bình, là trễ hiệu dụng
Chú ý, P tính theo giai W nên khi đề cho dB phải chuyển ngược lại theo công thức sau:
10 ( ) 10 log W
c T
Trang 6Bandwidth of the signal: B s=boud rate
Loại tác động tới kênh truyền:
Ví dụ: Thiết kế hệ thống QPSK 1Mbps qua kênh truyền có trễ [0 6 9]*10^-6 s, đáp ứng
trên từng đường là [0 -3 -6]dB Đánh giá loại tác động kênh truyền? giả sử f d 40Hz, và sample per frame=20
Ta thiết lập mô hình như sau:
Trang 7Kết quả mô phỏng:
QPSK:
Nhận xét: có nhiều frame đều có nhiều đỉnh sóng nên là chọn lọc tần số và thay đổi đều nhau theo thời gian nên là slow
Trang 8Nhận xét: giống QPSK trên
Chú thích thêm:
Flat: các frame chỉ có một đỉnh sóng
Fast: Các tín hiệu trên các frame thay đổi khác nhau
Tính toán theo lý thuyết:
6 0,3 6 0,6
6 0,3 0,6
Trang 92.10500000
s
cho QPSK
61
1.101000000
Trang 10Mô hình này đang sử dụng chuỗi training sequence có chiều dài ½ nên khối submatrix
được thiết lập như sau:
Do sau khi qua điều chế QPSK thì chiều dài chuỗi tín hiệu còn lại ½, tức 256 còn
128, do yêu cầu chuỗi trainning là ½ nên chỉ lấy ½ của 128 mà thôi, nghĩa là có thể lấy index từ first cho tới index=64 Nếu yêu cầu chuỗi trainning là ¼ thì index=32, 1/8 thì index=16
Nếu index=32 thì khối matrix concatenate phải thay đổi Number of inputs=4
Nếu index=16 thì khối matrix concatenate phải thay đổi Number of inputs=8
Giải thích mô hình:
Trang 11Giải thích mô hình: Mô hình này để so sánh chất lượng của tín hiệu qua kênh fading và qua bộ cân bằng Tạm chia mô hình thành 2 phần A và B như trên
Phần A: Tín hiệu được điều chế QPSK truyền qua kênh truyền fading, sau đó được giải điều chế ta được tín hiệu thu Qua mô phỏng ta thấy, tín hiệu thu được bị sai gần như hoàn toàn (BER khá lớn)
Phần B: Tín hiệu qua bộ cân bằng, có thể giải thích cụ thể mô hình như sau:
Như trên mô hình, nhánh 1 là tín hiệu X đã được ước lượng nhờ bộ training sequence (trong matlab là Submatrix) và được chuyển từ miền thời gian sang miền tần số nhờ bộ FFT, nhánh 2 là tín hiệu Y đã được ước lượng và chuyển sang miền tần số Nhánh 3 là tín hiệu Y ban đầu được chuyển sang miền tần số Nhánh 4 là tín hiệu đáp ứng kênh truyền của bộ training là H, được tính bằng bộ chia Y/X Đáp ứng H’ của hệ thống (nhánh 4) được tạo ra bằng cách nhân đôi H Tín hiệu chúng ta cần là X’ (vì mong muốn HH’, XX’)
Ta có quan hệ sau: X’=(Y)/H’=(H*X)/H’
Vì vậy, X’ được tạo ra tại nhánh 6 bằng bộ chia với ngõ vào là nhánh 3 và 5
Trang 12Kết quả sau khi qua bộ cân bằng: tín hiệu thu chính xác so với tín hiệu phát
Bài 4: OFDM
Trường hợp qua kênh AWGN (tự vẽ)
Trường hợp qua kênh fading (tự vẽ khối demodulation)
Mô hình:
Khối OFDM modulation
Trang 13Khối AWGN
OFDM demodulation
Kết quả BER với SNR = 10 Phổ Spectrum
Trang 14Trường hợp qua kênh fading (tự vẽ khối demodulation)
Mô hình :
Data source :
Do trong mô h nh này ta sử dụng bộ mapper QPSK nên nguồn phát tín hiệu sẽ tạo ra tín hiệu dạng 4 bậc, 2 bit, tốc độ sample là 192kHz, được đóng gói vào frame ở ngõ ra, mỗi frame 192 sample Định dạng ngõ ra là double
IQ Mapper
Trang 15Bộ IQ mapper sử dụng điều chế QPSK để ánh xạ thông tin lên các c ùm sao dạng QPSK sau đó điều chế OFDM Ta gọi bộ này là bộ mapper chứ không là bộ modulator vì lúc này điều chế QPSK chỉ có nhiệm vụ ánh xạ các bit thông tin chứ chưa đưa lên sóng mang để truyền đi nên chỉ
có thể gọi là bộ mapper
OFDM modulation
Trang 16Rayleigh
OFDM demodulator
Ngõ ra để đưa vào IQ demapper là lấy từ out, ngõ ra out1 ko có bộ cân bằng nên giải điều chế sẽ
bị lỗi,muốn xem có lỗi hay không thì ra ngoài khối lớn đổi ngõ tín hiệu ra đưa vào IQ demapper
sẽ thấy
Trang 17Ngõ ra out1 phía trên là ngõ ra bộ giải điều chế không có cân bằng, ngõ ra out bên dưới là ngõ ra
có bộ cân bằng Phần giải điều chế không có cân bằng đă được t nh bày trong phần kênh truyền
AWGN, ở đây sẽ giới thiệu phần giải điều chế có cân bằng
Đây là bộ giúp đưa vào các pilot đă biết trước(được truyền đi ở đầu phát)
Equalizer2
Ta có thể thấy in1 là ngỏ vào lấy từ tín hiệu nhận được ở đầu thu, sau khi qua select rows sẽ lấy
lại được thông tin pilot sau khi đi qua kênh truyền, tạm gọi là Y pilot, sau đó đem chia cho các
bit pilot biết trước, tạm gọi là X Sau khi lấy Y pilot chia X được đáp ứng của pilot Tiếp đó đáp
ứng này sẽ được đưa đến khối MATLB function để xử lý Nội dung của function này là nội suy
ra đáp ứng kênh truyền pilot
function output = channel_estimation(input)
% No_pilot = input(1);
Trang 19Thông tin đi qua các bộ select rows để tách pilot
IQ demapper Discrete time scartter plot
Trang 20Bài 5: trãi phổ
Tự vẽ cho 2 người dùng
Trang 21Chú ý:
Khối Repeating Sequence Stair: Trong bài trải phổ gấp 3 lần, nên sample time nhỏ hơn sample time của khối Random Interger 3 lần(tần số tăng gấp 3 lần)
Khối Intergate and Dump: Cộng tích lũy k bit lại theo nguyên tắc đa số: 0010,
1101, sau khi cộng xong reset lại 0 Với k là số bit trãi phổ
Intergation period: số bit trãi phổ (k)
Nguyên tắc hoạt động của hệ thống dựa theo công thức sau:
Đầu phát: M1(x)*C (x)1 M2(x)*C (x)2
Đầu thu 1: [M(x)*C (x)1 M2(x)*C (x)]*C (x)2 1 M (x)1
Đầu thu 2: [M(x)*C (x)1 M2(x)*C (x)]*C (x)2 2 M (x)2
Khảo sát BER trong các trường hợp
TH1: dữ liệu và code 2 user giống nhau: Không có bit sai
TH2: Dữ liệu 2 user khác nhau mã giống nhau: đầu thu phục hồi lại sai
TH3: Dữ liệu 2 user khác nhau, mã trực giao nhau: không có bit sai
Sử dụng mã Hadamard để tạo mã cho 2 user
Khối Hadamard Code Generator: tạo ra mã Hadamard từ ma trận Hadamard Trong đó
ma trận Hadamard là một ma trận vuông NxN,với N là số có dạng 2n (n: nguyên dương)
mà các hàng của nó trực giao với nhau
Code length: Số dạng 2 mũ, chiều dài của Hadamard(N)
Code index: là một số nguyên dương có độ lớn từ 0 đến N-1(xác định lấy hàng thứu mấy trong ma trân Hadamard để làm code)
Sample time: thời gian lấy mẫu phải bé hơn thời gian lấy mẫu của dữ liệu thông tin N lần Frame-base output
Samples per frame
Chức năng của khối Raise Cosine Transmit Filter: dùng để lọc Thông tin trong matlab sau khi điều chế vẫn là sóng vuông, để đưa về được dạng sine thì cần dùng
bộ lọc này, lúc này băng
Trang 22thông sẽ bằng (1 r)
2
B , lí tưởng thì r = 0, vậy r càng nhỏ thì bộ lọc này càng lí tưởng, tuy nhiên băng thông sẽ nhỏ Thông số Up Sampling Factor(N): 1 mẫu thì không có khả năng nắn, cho nên cần nhiễu mẫu gọp lại đến nắn số mẫu cần gọp lại là up sampling factor Thông số Group delay: xác định độ trễ của ngõ ra so với ngõ vào bao nhiêu xung
Mô hình:
Trang 23Bài 6: Bluetooth_trãi phổ nhảy tần
Mô hình:
Giải thích các thông số:
Khối Binary Generator:
Tạo chuỗi bit vào có thời gian lấy mẫu 1,5e-6, Mỗi
frame có 10 mẫu
Trang 24Câu hỏi đặt ra là yêu cầu đề bài tốc độ là 1Mbps, mà ở đây chỉ thiết lập 1,5e-6 tức là 1/(1,5e-6)=6.6667e+005=0.7 Mbps, tại sao?
Trả lời: có 10 mẫy trên 1 frame, nên ngõ vào khối mã hóa vòng là 10, nhưng ngõ ra lại tới 15, nhanh 1,5 lần, nên tốc độ sau khi qua khối Cyclic Encoder =
(6.6667e+005)*1,5=1Mbps
Khối Cyclic Encoder:
mã hóa kênh Hamming (15,10), vào 10, ra
15; tạo ra 1 mã vòng
Codeword length N: chuỗi mã đầu ra, có
dạng 2M -1 với M ≥ 3
Message length K: đa thức sinh (chuỗi đầu
vào), do khối Bernoulli Binary có đầu ra là
frame, nên K phải là 1 đa thức sinh
Khối Buffer:
Nhóm 625 bít lại trong 1 frame (chuẩn chung)
Trang 25Khối Signal From Workspace - tạo tần số
nhảy:
Randint(1,100,78): tạo ma trận 1 dòng
100 cột, các giá trị chọn ngẫu nhiên từ
0-78
Sample time: Thời gian lấy mẫu 1/1600
=> trong 1 giây nhảy 1600 lần (Theo yêu
Trang 26GFSK Modulation (khối CPM Modulator
Baseband):
Thực chất là điều chế CPM (điều chế pha
liên tục) Ở đây, hình dạng xung là dạng
Gaussian (frequency pulse shape)
M-ary number: 2 (2k với k=1), chọn input
type là bit thì khối này sẽ nhóm k=1 bit lại, 1
nhóm k bit như vậy gọi là 1 binary word (1
sample lúc này tương ứng đang là 1 bit), sau
đó sẽ điều chế theo mỗi nhóm k bit
Samples per symbol: là hệ số upsampling,
dùng để tăng chiều dài chuỗi ngõ ra Do ngõ
vào là framebased, nên ta có:
Output sample time = input sample
M-ary: số tần số trong tín hiệu đã
được điều chế (79 là 79 kênh tần số)
Input type: do M-ary mình mong
muốn là 79 kênh tần số, nên phần này phải để Integer, nếu muốn để Bit thì M-ary phải là số lũy thừa của 2
Trang 27Frequency Separation: khoảng cách giữa các tần số kế tiếp nhau (1MHz) Phase Continuity: chọn là Continuous thì tín hiệu đã được điều chế sẽ thay đổi
pha liên tục khi tần số thay đổi
Samples per symbol: số sample đầu ra
Đầu ra của GFSK Modulation và khối tạo tần số nhảy phải có chung 1 lượng sample output, vì vậy nên khi qua bộ nhân, mỗi tín hiệu ra sẽ được gán với 1 tần
số riêng và truyền đi
Khối AWGN:
Khối Selector: Lấy 512 mẫu để
hiển thị scope
Trang 28Giải điều chế FH-FM:
Các thành phần:
Khối M-FSK Modulator Baseband (Generate 79 possible carriers -39MHz to 39MHz)
Khối Math:
Trang 29Khối M-FSK Demodulator Baseband – M-FSK Demodulator Baseband