Hình 3.9 : Sơ đồ thiết kế bộ tách pha
Hình 3.9-1 Sơ đồ khối bộ tách pha
Hình 3.9-3: Cấu tạo bộ định vị ký hiệu 16-QAM Hình 3.9-2: Xác định điểm trên giản đồ Hình 3.9-2: Xác định điểm trên giản đồ
chòm sao dựa vào góc sai pha
Nếu phân tích theo thành phần cấu tạo, bộ tách pha sẽ bao gồm bộ định vị lại ký hiệu, bộ hợp kênh phức, khối ATAN(I,Q) mà thực chất là bảng tìm kiếm sine/cosine để tính góc pha trên chòm sao tín hiệu thu đƣợc. Sự sai khác pha giữa pha ở tín hiệu thu và pha ƣớc lƣợng đƣợc biểu diễn: ˆ trong khoảng từ -/2 /2 và ƣớc lƣợng pha trong khoảng này là đảm bảo. Với sự sai pha nhỏ, có thể coi sin().
Để giảm sự phức tạp của bộ tách pha, ngƣời ta làm nhƣ sau: pha lỗi đƣợc tính bằng cách so sánh sự khác pha giữa tín hiệu nhận x(n)+jy(n) và điểm tín hiệu trên chòm sao gần nhất Iˆ(n) jQˆ(n). Sai khác pha đƣợc tính: ) ( ) ( ) ( ˆ ) ( ˆ ) ( ˆ ) ( ) ( ˆ )) ( sin( 2 2 2 2 n Y n X n Q n I n Q n Y n I n
Hình 3.9-2 minh họa việc tính góc sai pha để xác định vị trí của tín hiệu trên giản đồ chòm sao. Tức là nó sẽ thực hiện ƣớc lƣợng ký hiệu thu đƣợc gồm hai thành phần thực và ảo ở trên với ký hiệu có sẵn trên giản đồ chòm sao để xác định ký hiệu vừa thu đƣợc ứng với điểm nào trên giản đồ chòm sao với sự sai khác cho phép tối thiểu nhất.
Còn bản đồ định vị lại ký hiệu ở đầu thu này để hiệu chỉnh thời gian đầu vào lấy mẫu đến điểm trên chòm sao gần nhất (dựa vào khoảng cách Euclid). Mạch này thực hiện đơn giản bằng một vài toán tử quan hệ đơn giản, bộ hợp kênh và bảng
tìm kiếm để truy xuất đến các giá trị tọa độ của chòm sao theo thành phần của véctơ [1/3, 1,-1,-1/3]. Sẽ có hai bộ định vị ký hiệu cho hai thành phần đồng pha và vuông pha của tín hiệu sau khi đã tách pha [12].
Còn lại là khối ATAN(I,Q), nó lƣu các giá trị góc tƣơng ứng với địa chỉ của ô nhớ trong bộ nhớ ROM để dễ dàng truy xuất đến giá trị góc cần tìm.
Nếu phân tích trên sơ đồ thiết kế mô phỏng, bộ tách pha sẽ bao gồm các khối Slicer, khối
NegaB_Cmplx Mult và khối Cordic. Một bộ tách pha tín hiệu thu với mật độ điểm của chòm sao điều chế dày nhƣ 16-QAM thì ngƣời ta phải tách thành hai pha để thực hiện so sánh, do khối
Slicer thực hiện (trong sơ đồ khối ngƣời ta kí hiệu là 2D-Slicer ám chỉ hai chiều thành phần
cho hai pha I,Q của tín hiệu). Mỗi pha so sánh vẫn tính toán sai pha theo công thức trình bày ở trên. Chú ý rằng điểm đƣợc phát hiện bằng cách định vị nó trên biểu đồ chòm sao dựa vào góc sai khác với các điểm liền kề. Sẽ xảy ra trƣờng hợp điểm này không hoàn toàn trùng khít với một điểm trên chòm sao, đó là vì nhiễu đã tác động lên tín hiệu đƣợc truyền, dẫn đến sự sai khác trên. Góc pha cho điểm dữ liệu càng lớn thì càng ít nhiễu và vòng lặp pha nên lợi dụng thông tin ở một pha để dùng cho pha còn lại. Khối con Gain Det trong bộ tách pha tăng độ lợi SNR độc lập bằng cách dùng hệ số vô hƣớng khác nhƣ là một hàm của bán kính pha đƣợc tách. Vậy có thể thấy, khối Slicer thực hiện việc lƣu điểm chòm sao gần nhất (là điểm chính xác của tín hiệu 16-QAM) căn cứ vào tín hiệu hai lối vào mà nó biểu thị điểm bị méo so với điểm trên chòm sao. Để làm đƣợc việc này
Slicer dùng mức ngƣỡng và một bảng tìm kiếm để lấy chính xác biên độ của tín hiệu 16- QAM sau khi so sánh. Trong trƣờng hợp này, ngƣỡng đƣợc chọn có giá trị là 0.7, có nghĩa là ngƣỡng cho phép của biên độ tín hiệu thu đến khối Slicer lấy là 0.7.
Hình 3.9-5: I (Q) Map
Hình 3.9-7: Tín hiệu Det_I và Det_Q sau khối Slicer
Chúng ta có thể quan sát thấy ở trên, hình 3.9-6 biểu diễn 2 lối vào tín hiệu, còn hình 3.9-7 cho ta biết tín hiệu đầu ra có biên độ chính xác tƣơng ứng thông qua so sánh biên độ tín hiệu vào với ngƣỡng.
Sau khối Slicer, tín hiệu đƣợc đƣa vào khối NegaB_Cmplx Mult, với bốn đầu vào: hai đầu vào tín hiệu trƣớc khi qua khối Slicer, hai đầu vào tín hiệu sau khi qua Slicer, do đó, giá trị thu đƣợc tại lối ra là:
Det_ I
Det_ Q Pi
Pr
Pre_c_r= cos ∆ ( Det2I + Det2Q) Pre_c_i= - sin ∆ ( Det2I + Det2Q)
Cuối cùng, tín hiệu Pre_c_i và Pre_c_r đƣợc đƣa vào khối Cordic, là khối xử lý thuật toán để tính sai pha cho quy trình khôi phục sóng mang của bộ thu.
Hình 3.9-8: Tín hiệu Pre_c_i và Pre_c_r trước khối Cordic
Khối giải thuật CORDIC ( coordinate rotation digital computer arithemetic ) Tín hiệu sau khi qua khối Slicer và khối NegaB_Cmplx Mult sẽ đƣợc đƣa đến khối
Cordic để xử lý tính pha lỗi. Nguyên tắc của giải thuật CORDIC nhƣ sau:
Giải thuật CORDIC là một thuật toán lặp dùng để tính góc quay của hai vectơ (có thể là đƣờng thẳng, đƣờng tròn hoặc hypebol trong hệ tọa độ sử dụng phép cộng và phép dịch làm cơ sở. Vì ở đây ta xét tín hiệu điều chế 16-QAM có các điểm nằm trên giản đồ chòm sao là hình tròn nên sẽ tính góc quay của hai vectơ trên hệ trục tọa độ là đƣờng tròn. Có hai chế độ điều khiển là chế độ quay RM (Rotation mode) và chế độ vectơ VM (Vectoring mode). Trong chế độ quay, một vectơ có tọa độ (x,y) sẽ bị quay pha một góc thành một vectơ mới có tọa độ (x’,y’). Mỗi một lần dịch đi một góc quay rất nhỏ i thì giá trị của góc
Pre_c_r
tan-1(2-i) sẽ lƣu lại ở bộ nhớ ROM sau đó đƣợc trừ hoặc thêm vào góc dƣ i, do vậy góc dƣ này sẽ tiến dần đến 0. Các bƣớc bao gồm:
1. Khởi tạo i=0, zi=0,
ai=-1 nếu zi <0 và ngƣợc lại zi>0. 2.Thực hiện vòng lặp: xi+1 = xi + ai .yi .2-i
yi+1 = yi + ai .xi .2-i zi+1 = zi + ai tan-1(2-i) i=i+1
trong đó x, y là biên độ và pha của góc chòm sao tƣơng ứng đƣợc tạo ra bởi bộ hợp kênh phức trong bộ tách pha, còn z là giá trị góc dịch đi. Vòng lặp tính i khởi tạo giá trị ban đầu bằng 0. Mỗi vòng lặp thực hiện việc thêm một bit xác định vào biên độ và pha I, Q cho đến khi nhận đƣợc kết quả cuối cùng. Điều kiện kiểm tra của thuật toán nhằm giảm giá trị y đến tối thiểu trong mỗi lần lặp. Khi số bƣớc lặp cần thiết đƣợc thực hiện xong thì góc dịch z lƣu giá trị xấp xỉ tính đƣợc vào bảng ATAN2(x,y).
Thuật toán CORDIC là một thuật toán cần thiết cho công nghệ FPGA. Nó chỉ là các phép tính cộng và trừ đơn giản. Những hàm của nó đƣợc bổ sung rất hiệu quả và chỉ đòi hỏi N/2 slices logic cho N-bit thêm hoặc bớt. Tuy nhiên thuật toán này bị hạn chế là không hội tụ với góc vào >/2. Để cấp phát đầy đủ các giá trị góc vào, máy tính phân tích thành ba trạng thái nhƣ hình 3.9-9. Khối quadrant map bao gồm phần tử logic so sánh, phần tử logic đảo, và phần tử logic nhân. Còn khối thứ hai chính là khối xử lý giải thuật CORDIC, thực hiện N vòng lặp với giá trị khởi tạo ban đầu là 0 với kết quả nhận đƣợc là x_n và y_n. Khối chức năng cuối cùng quadrant correct sẽ cho kết quả là giá trị góc z_n để xác định vị trí ký hiệu trên giản đồ chòm sao [12].
Hình 3.9-9: Sơ đồ thiết kế khối Cordic
3.1.5.3 Bộ lọc lặp (Loop Filter)
Hình 3.10: Sơ đồ thiết kế bộ lọc lặp
Trên đây là hai sơ đồ của bộ lọc lặp: một là sơ đồ thiết kế bằng Simulink, một là sơ đồ khối, nó mô tả vòng lặp của bộ lọc nhằm tăng hệ số Kp và Ki. Bộ lọc lặp thực thi vòng
lặp bằng cách dùng hai bộ nhân có hệ số tỷ lệ Kp và hệ số nguyên Ki, một bộ tích phân và
một bộ cộng. Hai hệ số Kp và hệ số Ki của bộ nhân để điều khiển dải thông của bộ lọc. Pha lỗi lấy từ đầu ra của bộ tách pha ở trên, đi vào bộ lọc lặp và vòng lặp sẽ điều chỉnh dải thông của bộ lọc tự động mở hoặc đóng. Có thể mở rộng dải thông bộ lọc lặp khi sóng mang bị mất hoặc thu hẹp dải thông khi có lỗi tín hiệu dao động dƣới ngƣỡng cho phép. Tóm lại, muốn điều chỉnh đƣợc dải thông của bộ lọc thì chúng ta cần giải quyết ổn thỏa xung đột giữa việc mở rộng hay thu hẹp dải thông cho vòng lặp, nhằm mục đích cải thiện tốc độ lỗi bít của hệ thống [12].
z-1
Kp
Ki
z-1 sin - cos table 0 DDS subsystem Hình 3.11: Sơ đồ khối DDS Hình 3.10-1: Tín hiệu sau khối PLL Loop Filter
3.1.5.4 Hệ thống đồng bộ số trực tiếp (DDS - Direct digital synthesizer subsystem) subsystem)
Có nhiều lựa chọn để bù pha của sóng mang và đồng bộ tần số ở trong các hệ thống thông tin liên lạc số. Phƣơng pháp điển hình ngƣời ta hay sử dụng là dùng vòng lặp bám pha (PLL) mà ta đã trình bày ở trên. Khi cải tiến các bộ thu kĩ thuật số, ngƣời ta dùng vòng bám pha số (DPLL) thay cho
vòng bám pha thông thƣờng. Hai hệ số Kp và Ki của hai bộ lọc điều khiển tần số góc của bộ lọc và hệ số suy giảm. Ở vòng lặp bám pha số DPLL, VCO của PLL đƣợc thay thế bằng khối đồng bộ số trực tiếp - DDS. DDS là hệ thống đồng bộ số trực tiếp gồm bộ tích lũy pha 32 bit, một bảng tìm kiếm lƣu 1024 giá trị sine/cosine và 12 bit mẫu chính xác. Nhiễu pha có thể giảm đƣợc nhờ sử dụng khối DDS này. Đại lƣợng bù pha đƣợc đƣa vào
khối DDS sau khi so sánh với góc pha ban đầu để tìm độ dốc pha, rồi qua bộ lƣợng tử hóa và bảng tìm kiếm sine/cosine để tìm ra góc pha tƣơng ứng nhƣ sơ đồ làm việc ở dƣới [12].
Minh họa chi tiết bằng sơ đồ:
Hình 3.11-1: Cấu tạo khối con DDS
Hình 3.11-2: Sơ đồ thiết kế khối con DDS (DDS Subsystem)
Một cải tiến mạnh mẽ trong các bộ thu kỹ thuật số nhằm đạt hiệu quả cao về tốc độ xử lý phụ thuộc vào việc cấp phát chính xác góc tƣơng ứng trên giản đồ chòm sao một cách nhanh nhất. Điều này đòi hỏi bảng tìm kiếm càng phải lớn hơn nữa khi số bít trên một mẫu càng lớn (ví dụ bảng tìm kiếm với điều chế 16-QAM sẽ nhỏ hơn bảng tìm kiếm 64-QAM, hoặc 256-QAM). Nếu chỉ có một bít điều chế dùng cho mỗi mẫu I và Q, tức là bảng tra chỉ có một đƣờng vào dữ liệu, thì kích thƣớc bảng sẽ tăng lên bốn lần, đến 16384 lối vào trên bảng tìm kiếm. Tăng lối vào của bảng tra sẽ xử lý tìm kiếm góc pha tƣơng ứng nhanh hơn, từ đó ƣớc lƣợng ký hiệu cần tìm một cách nhanh nhất. Trong điều chế 16- QAM này, ngƣời ta sử dụng bảng tra bốn lối vào để giảm kích thƣớc bảng và việc tra bảng thực hiện sẽ nhanh hơn so với một lối vào. Ngoài ra, lƣợng tử hóa tăng cả về độ lớn vectơ lỗi RMS và thời gian nhận đƣợc kết quả nhanh hơn. Việc cấp phát nhiều bit chính xác để biểu diễn phần thực và phần ảo của góc pha chòm sao sẽ giảm thời gian nhận kết quả. Điều này lại có ý nghĩa là tăng độ chính xác của góc tra trên bảng tìm kiếm [12].
sin / cos table ) ( ˆ n z-1 Bộ lƣợng tử hóa Độ dốc pha (n) sinˆ(n) cosˆ(n) Tăng pha (n)
Hình 3.11-3: Sơ đồ thiết kế khối DDS_TRUNC1
Chúng ta có thể thấy trên hình 3.11-3, khối DDS_trunc1 nằm trong khối gồm có khối con Counter, bảng sine, và bảng cosine và các bộ cộng, nhân thực hiện chức năng tính toán logic. Lý do của việc dùng khối Counter thay cho việc dùng bộ tích phân số nhƣ trong vòng lặp PLL bởi nó xử lý để tạo ra tín hiệu 16-QAM. Tín hiệu error trong khối đóng vai trò mang thông tin khác pha của tín hiệu và là một dạng của điện áp trực tiếp. Sự kết hợp giữa điện áp trực tiếp và khối Counter này sẽ tạo ra chính xác tín hiệu sine và cosine nhƣ trong quá trình tạo ra tín hiệu 16-QAM. Do đó, dù tín hiệu sine hay cosine có đƣợc tạo ra hay không trong khối DDS đều phụ thuộc vào thiết kế hoặc đặt giá trị cho khối Counter và thay đổi giá trị error phù hợp. Đầu tiên, ta đặt giá trị khởi tạo cho khối
Counter là 0, khi đồng bộ pha trong khối khôi phục sóng mang thì phải đặt lại giá trị cho khối Counter khác 0, bởi vì khi tín hiệu đến bên thu đã bị trễ đi một khoảng thời gian.
Bây giờ chúng ta tính toán đến sự thay đổi giá trị error. Tín hiệu error trƣớc khi thay đổi:
Hình 3.11-5: tín hiệu error trước khi thay đổi
Sau khi thêm vào hằng số và nhân nó bởi một hằng số khác, tín hiệu lỗi sẽ là:
Hình 3.11-6: tín hiệu error sau khi thay đổi
Có thể thấy sau một khoảng thời gian, giá trị khởi tạo của bộ đếm Counter khác 0 sẽ đƣợc bù bởi tín hiệu error (đại lƣợng bù thêm này phụ thuộc vào hằng số thêm vào sơ đồ thiết kế). Điều này cũng có nghĩa tín hiệu sine và cosine tạo ra tƣơng tự nhƣ những tín hiệu khác khi đang truyền.
Kết quả thu đƣợc cuối cùng khi qua bộ khôi phục sóng mang:
a. Tín hiệu khi mô phỏng b.Tín hiệu quan sát trên osilo
Hình 3.12: Tín hiệu sau khi qua khối khôi phục sóng mang
3.2 HẠN CHẾ CỦA SƠ ĐỒ DEMO HÃNG XILINX
Qua phân tích sơ đồ demo, chúng ta nhận thấy thành phần không thể thiếu của sơ đồ demo cũng nhƣ sơ đồ thiết kế thực mà ta đang hƣớng tới phải bao gồm khối phát tín hiệu, khối cân bằng thích nghi và khối khôi phục sóng mang. Các khối này có nhiệm vụ điều chế và giải điều chế tín hiệu khi truyền từ bên phát đến bên thu. Còn khối mô phỏng kênh truyền ta có thể thiết kế riêng cho từng loại điều kiện kênh truyền để hệ thống làm việc ổn định và tốt nhất.
Việc phân tích sơ đồ demo cũng giúp ta nhận ra những hạn chế mà sơ đồ này còn tồn tại và cần phải khắc phục khi thiết kế sơ đồ thực áp dụng cho thực tế. Đó là, với sơ đồ demo, tín hiệu chỉ làm việc ở băng tần cơ sở (baseband), tức là tín hiệu không hề đƣợc điều chế để phát đi xa, tín hiệu điều chế ở bên phát đƣợc đƣa thẳng đến bên thu có tác động của nhiễu dịch tần Dopler. Điều này là thiếu thực tế, chỉ phù hợp ở mức độ mô phỏng, vì với một hệ thống muốn làm việc trong môi trƣờng thực, thì việc điều chế tín hiệu lên băng tần thông dải (passband) để truyền đi xa là điều kiện thiết yếu, một hệ thống không dây trong thông tin liên lạc không thể làm việc với khoảng cách vài mét mà phải hàng ngàn kilomet.
Ngoài ra, còn một hạn chế nữa của sơ đồ demo đó là không có sự đồng bộ thời gian. Nếu có trễ thay đổi thì sơ đồ demo sẽ không làm việc đƣợc nữa. Ta có thể lý giải vì sao sơ đồ demo không có đồng bộ về mặt thời gian. Ta thấy ở khối khôi phục sóng mang, ngƣời ta chỉ tính toán đến sự thay đổi về pha mà không tính đến thời gian trễ trong truyền sóng.