Nghiên cứu khoa học công nghệ<br />
<br />
THIẾT KẾ BỘ TỔ HỢP TẦN SỐ TRỰC TIẾP<br />
SỬ DỤNG PHƯƠNG PHÁP ĐỘ CHÊNH LỆCH TUYẾN TÍNH<br />
VỚI XẤP XỈ PHÂN ĐOẠN ĐỀU VÀ CÁC HỆ SỐ TỐI ƯU<br />
Sái Văn Thuận*, Hoàng Văn Phúc, Trần Văn Khẩn, Dương Quang Mạnh<br />
Tóm tắt: Bài báo này trình bày một thiết kế bộ tổ hợp tần số số trực tiếp dựa<br />
trên phương pháp độ chênh lệch tuyến tính với tỷ số nén Sine-LUT cao và cấu trúc<br />
phần cứng đơn giản. Một hàm xấp xỉ phân đoạn tuyến tính với 8 đoạn đều có các hệ<br />
số tối ưu nhằm giảm độ phức tạp phần cứng được đề xuất. Kỹ thuật đề xuất đạt<br />
được tỷ số nén Sine-LUT là 128:1 và giảm kích thước từ nhớ 7 bit cho thiết kế bộ<br />
DDFS với 11 bit biên độ đầu ra. Các kết quả đạt được phù hợp với yêu cầu về giảm<br />
độ phức tạp phần cứng của thiết kế DDFS trên công nghệ VLSI.<br />
Từ khóa: DDFS, Tổ hợp tần số, Phương pháp độ chênh lệch<br />
<br />
1. MỞ ĐẦU<br />
Các hệ thống truyền thông hiện đại với các dịch vụ tốc độ cao đòi hỏi các bộ tổ hợp tần<br />
số chất lượng tốt. Bộ tổ hợp tần số số trực tiếp (DDFS: Direct Digital Frequency<br />
Synthesizer) với nhiều ưu điểm như: độ chính xác tần số cao, tốc độ chuyển tần số nhanh,<br />
độ sạch phổ, nhiễu pha thấp… đã dần thay thế các bộ tổ hợp tần số tương tự truyền thống.<br />
Kiến trúc của DDFS đã được Tierney và các cộng sự đề xuất trong [1] như được thể<br />
hiện trong hình 1. Về mặt tổng quát, một bộ DDFS bao gồm một bộ tích lũy pha (PA:<br />
Phase Accumulator) để tạo ra các giá trị pha tức thời, một bộ chuyển đổi pha thành biên độ<br />
(PAC: Phase to Amplitude Converter) tạo ra các biên độ sóng sin rời rạc, một bộ chuyển<br />
đổi số - tương tự (DAC) kết hợp với một lọc thông thấp (LPF) cho ra tín hiệu sóng sin<br />
dạng tương tự ở đầu ra. Công thức cơ bản để tính tần số của DDFS là:<br />
M f clk<br />
f out (1)<br />
2N<br />
Ở đây, f out là tần số đầu ra của DDFS, M là từ điều khiển tần số nhị phân, f clk là tần<br />
số đồng hồ của hệ thống, và N là độ dài bit của bộ tích lũy pha.<br />
<br />
<br />
<br />
<br />
Hình 1. Kiến trúc tổng quát của DDFS.<br />
Trong kiến trúc của DDFS, bộ PAC được thực thi bởi một bảng tra (LUT: Look-up<br />
Table), gọi là Sine-LUT. Cơ sở của phương thức sử dụng LUT là tính toán trước các giá trị<br />
biên độ sin rời rạc và lưu nó vào trong một cấu trúc dạng bảng tra LUT, mỗi một giá trị<br />
biên độ chứa trong bộ nhớ này được định địa chỉ bởi giá trị pha tương ứng được cung cấp<br />
từ bộ tích lũy pha. Nhược điểm chính của phương pháp này là độ chính xác của tần số đầu<br />
ra phụ thuộc vào kích thước của LUT. Khi đòi hỏi về độ chính xác tần số cao sẽ dẫn đến<br />
yêu cầu kích thước LUT lớn và do đó tăng độ phức tạp về phần cứng. Vì vậy, nhiều<br />
phương pháp nén Sine-LUT cho DDFS đã được đề xuất. Trong các phương thức này,<br />
phương pháp độ chênh lệch tuyến tính hứa hẹn là một giải pháp cho phép đơn giản phần<br />
cứng do chỉ sử dụng các thao tác logic cơ bản cho các phép nội suy tuyến tính. Trong bài<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số 42, 04 - 2016 103<br />
Kỹ thuật điều khiển & Điện tử<br />
<br />
báo này, chúng tôi đề xuất một cải tiến cho phương pháp độ chênh lệch tuyến tính nhằm<br />
đạt được tỷ số nén Sine-LUT cao. Các kết quả tổng hợp và thực thi của chúng tôi cũng<br />
được so sánh với các nghiên cứu trước đó.<br />
2. CÁC PHƯƠNG PHÁP NÉN SINE-LUT<br />
2.1. Phương pháp lợi dụng tính đối xứng của hàm sin<br />
Phương pháp này lợi dụng đặc tính của hàm sin là hàm lẻ trong một chu kỳ do đó giá<br />
trị biên độ ở hai nửa chu kỳ là đối xứng nhau, còn trong một nửa chu kỳ giá trị hàm sin là<br />
hàm chẵn. Do đó, để lưu giữ giá trị của một chu kỳ sóng chỉ cần lưu trữ ¼ chu kỳ (giá trị<br />
biên độ ứng với pha từ 0 đến π/2). Phương pháp này cho phép nén kích thước LUT còn ¼.<br />
Để tạo ra tín hiệu sin đầy đủ cần phải thêm vào một số mạch logic. Hình 2 mô tả phương<br />
pháp lợi dụng tính đối xứng của hàm sin [2]. Bộ bù thứ nhất sẽ sử dụng bit có trong số lớn<br />
thứ hai của chuỗi bit đầu ra bộ tích lũy pha (MSB2) để điều khiển việc đảo pha còn bit có<br />
trọng số lớn nhất của đầu ra bộ tích lũy pha (MSB1) được sử dụng để đảo biên độ đầu ra<br />
của bộ biến đổi pha thành biên độ (PAC).<br />
<br />
<br />
<br />
<br />
Hình 2. Kiến trúc DDFS lợi dụng tính đối xứng góc ¼ của sóng sin.<br />
2.2. Phương pháp phân chia kiến trúc Sine-LUT<br />
Phương pháp này dựa trên ý tưởng phân chia kiến trúc LUT thành 2 phần, LUT thô và<br />
LUT tinh. Giá trị pha đầu vào sẽ được chia thành hai phần, một phần sẽ được sử dụng để<br />
định địa chỉ cho LUT thô và phần còn lại dùng để định địa chỉ cho LUT tinh. Kích thước<br />
từ nhớ trong LUT thô sẽ giống như kích thước từ nhớ trong phương pháp truyền thống<br />
nhưng số từ nhớ của nó sẽ nhỏ hơn phương pháp truyền thống. Trong khi đó, LUT tinh có<br />
số từ nhớ giống như phương pháp truyền thống nhưng kích thước từ nhớ là nhỏ hơn, nó<br />
chứa giá trị độ lệch giữa giá trị thật của hàm sin với giá trị của LUT thô tương ứng. Một bộ<br />
cộng sẽ được sử dụng để tạo ra giá trị hàm sin ở đầu ra. Hình 3 mô tả phương pháp phân<br />
chia kiến trúc LUT như trên.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Hình 3. Phương pháp phân chia LUT thô/tinh.<br />
2.3. Kiến trúc Sunderland và Nicholas<br />
Sunderlan và các cộng sự trong [3] đã đề xuất một kỹ thuật nén LUT dựa trên các tính<br />
chất cơ bản của hàm lượng giác. Trong đó, kích thước của LUT sẽ được giảm bớt bằng<br />
cách xấp xỉ sau:<br />
<br />
<br />
<br />
104 S.V. Thuận, H.V. Phúc, T.V. Khẩn, D.Q. Mạnh, “Thiết kế bộ tổ hợp… các hệ số ối ưu.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
π π π <br />
sin (α+β+γ) = sin (α+β) cos (γ) <br />
2 2 2 <br />
(2)<br />
π π <br />
+ cos (α+β) sin (γ) <br />
2 2 <br />
Lấy một ví dụ cho phương pháp này với 12 bit pha đầu vào được chia thành ba phần 4-<br />
bit như sau: với 1 , 24 , 28 . Với giả thiết này, một phép xấp<br />
xỉ có thể như sau:<br />
<br />
sin ( ) sin ( ) cos ( ) sin (3)<br />
2 2 2 2 <br />
Trong (3) là giá trị trung bình của được cộng với ở số hạng thứ nhất trong vế<br />
trái của (3) để cải thiện độ chính xác của phép xấp xỉ. Số hạng thứ nhất sẽ được lưu trữ<br />
trong LUT thô với độ chính xác thấp và số hạng thứ hai sẽ được lưu trữ trong LUT tinh để<br />
tăng độ chính xác của phép xấp xỉ. Hình 4 mô tả kiến trúc theo phương pháp này.<br />
Kiến trúc Nicholas cũng áp dụng việc phân chia LUT thành LUT thô và LUT tinh<br />
tương tự như trong phương pháp Sunderland. Tuy nhiên, các mẫu lưu trữ được tính toán<br />
bằng phương pháp tối ưu số để tối thiểu hóa lỗi hoặc trung bình bình phương lỗi của giá trị<br />
xấp xỉ và giá trị hàm sin tương ứng [4], [5].<br />
<br />
sin ( ) ( )<br />
2<br />
<br />
<br />
<br />
<br />
<br />
sin( )<br />
2<br />
<br />
<br />
<br />
cos ( ) sin( )<br />
2 2<br />
<br />
<br />
<br />
<br />
Hình 4. Kiến trúc Sunderland.<br />
2.4. Phương pháp phân chia bảng nhiều phần<br />
Davide De Caro và các cộng sự trong [6] đã nghiên cứu và thực thi một kỹ thuật nén<br />
LUT cho DDFS dựa trên phương pháp bảng nhiều phần (MTM: Multipartile Table<br />
Method). Đây là một kỹ thuật nén LUT mới trên cơ sở phân chia bảng tra, trong đó LUT<br />
chia thành A 1 bảng, gồm một bảng của các giá trị nguyên thủy và A bảng của các độ<br />
dịch. Đầu ra của các bảng này sẽ được cộng với nhau để tạo ra giá trị hàm sin của pha<br />
tương ứng. Các kết quả thực thi của phương pháp MTM cho thấy phương pháp này đạt<br />
được tỷ số nén cao và hiệu quả về phần cứng.<br />
2.5. Phương pháp độ chênh lệch<br />
Trong phương pháp độ chênh lệch, như mô tả trên hình 5, một bảng LUT lưu trữ giá trị<br />
lỗi giữa hàm sin và một hàm xấp xỉ D( ) , hàm xấp xỉ được thực thi bằng một vài thao tác<br />
số học cơ bản. Một bộ cộng được sử dụng để cộng giá trị đầu ra LUT và giá trị hàm xấp xỉ<br />
tương ứng. Độ rộng từ nhớ trong LUT sẽ được qui định bởi giá trị cực đại của lỗi xấp xỉ. Giá<br />
trị lỗi cực đại này sẽ nhỏ hơn giá trị của hàm sin, do đó số bit cần lưu trữ trong LUT sẽ giảm.<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số 42, 04 - 2016 105<br />
Kỹ thuật điều khiển & Điện tử<br />
<br />
<br />
<br />
D ( )<br />
<br />
<br />
<br />
<br />
<br />
<br />
sin D( )<br />
<br />
<br />
<br />
<br />
Hình 5. Phương pháp độ chênh lệch.<br />
Một dạng đơn giản nhất của phương pháp độ chênh lệch là thuật toán độ chênh lệch<br />
sin-pha, trong đó một LUT sử dụng để chứa độ chênh lệch giữa hàm sin và hàm xấp xỉ<br />
tuyến tính đơn giản D( ) . Phương pháp này cho phép giảm 2 bit của độ dài từ nhớ.<br />
Để cải thiện tỷ lệ nén LUT nhiều nghiên cứu đã đưa ra các hàm xấp xỉ tốt hơn. Trong số<br />
các nghiên cứu về phương pháp độ chênh lệch cho xấp xỉ hàm sin ứng dụng cho DDFS đã<br />
công bố, các kết quả trong [7] và [8] đạt được tỷ số nén LUT cao. Trong đó, các tác giả đã<br />
thực hiện phương pháp độ chênh lệch tuyến tính với hàm xấp xỉ tối ưu 3 đoạn trong [7] và<br />
bốn đoạn trong [8].<br />
3. ĐỀ XUẤT PHƯƠNG PHÁP ĐỘ CHÊNH LỆCH TUYẾN TÍNH CẢI TIẾN<br />
TRONG XẤP XỈ HÀM SIN<br />
Để thuận tiện cho phân tích về mặt toán học, khoảng giá trị pha của tín hiệu đầu vào<br />
được qui ước là trong khoảng [0, 1] thay vì là [0, 2] cho góc phần tư đầu tiên. Giả<br />
thiết là chỉ các giá trị pha của góc phần tư đầu tiên được lưu trữ trong LUT.<br />
Ý tưởng cơ bản của thuật toán độ chênh lệch là giảm khoảng động của giá trị lưu trữ để<br />
giảm kích thước của LUT. Với thuật toán độ sai lệch sin-pha đơn giản thì giá trị độ chênh<br />
lệch cực đại cần lưu trữ là 0,21 vì vậy số bit cần lưu trữ cho mỗi giá trị pha sẽ giảm được 2<br />
bit.<br />
Để giảm hơn nữa kích thước của LUT, một số hàm xấp xỉ đã được đề xuất. Tuy nhiên,<br />
việc giảm kích thước LUT phải dung hòa với độ phức tạp phần cứng cần đạt được. Hàm<br />
D( ) có thể là một hàm phân đoạn tuyến tính hoặc một hàm bậc cao. Thông thường việc<br />
xấp xỉ bằng các hàm bậc cao sẽ đạt được độ chính xác cao hơn so với xấp xỉ bằng hàm<br />
phân đoạn tuyến tính. Tuy nhiên, khi thực hiện xấp xỉ bằng các hàm bậc cao sẽ đòi hỏi<br />
nhiều tài nguyên phần cứng hơn do cần phải thực hiện các phép nhân cho các hàm phi<br />
tuyến. Trong khi đó, các hệ thống truyền thông hiện đại đòi hỏi công suất thấp và đơn giản<br />
về phần cứng. Do vậy, xấp xỉ bằng các hàm tuyến tính phân đoạn cho thấy là một sự lựa<br />
chọn tốt đảm bảo công suất thấp và giảm độ phức tạp phần cứng.<br />
Để đơn giản về phần cứng, trong phương pháp phân đoạn tuyến tính của chúng tôi, số<br />
đoạn tuyến tính được chia đều và là một số lũy thừa của 2. Trong bài báo này, chúng tôi sử<br />
dụng xấp xỉ phân đoạn tuyến tính với 8 đoạn đều. Hàm xấp xỉ D( ) có dạng như (4).<br />
<br />
a0 b0 0 < 0.125<br />
a b 0.125 < 0.25<br />
<br />
D( ) 1 1<br />
(4)<br />
<br />
a 7 + b7 0.875 < 1<br />
<br />
<br />
106 S.V. Thuận, H.V. Phúc, T.V. Khẩn, D.Q. Mạnh, “Thiết kế bộ tổ hợp… các hệ số ối ưu.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
Để đơn giản hơn nữa cấu trúc phần cứng thực thi, các hệ số ai (i 0 7) có dạng là<br />
tổng của các số lũy thừa của 2 được biểu diễn như công thức (5), khi đó tránh việc sử dụng<br />
các mạch nhân trong cấu trúc phần cứng.<br />
M<br />
ai 2 k (5)<br />
k 0<br />
<br />
Để đạt được tỷ số nén LUT cao với mỗi một đoạn chúng tôi thực hiện tối ưu về mặt<br />
toán học để tìm các hệ số ai và bi tối ưu dựa trên tiêu chí là tối thiểu hóa giá trị cực đại<br />
<br />
của hàm chênh lệch sin( ) D( ) vì giá trị cực đại này qui định số bit của từ nhớ<br />
2<br />
trong LUT. Đồng thời để tránh phức tạp trong thực thi phần cứng giá trị M trong công<br />
thức (5) cũng được giới hạn không quá 5 ( M 5 ). Ngoài ra, giá trị của hàm xấp xỉ luôn<br />
nhỏ hơn giá trị thật của hàm cần xấp xỉ, điều này cho phép chỉ sử dụng các mạch cộng khi<br />
kết hợp mạch xấp xỉ với LUT. Thuật toán tìm các hệ số ai , bi tối ưu theo các tiêu chí như<br />
trên được tiến hành trên Matlab, các giá trị số tối ưu thể hiện trên bảng 1. Độ chênh lệch<br />
cực đại (Maxdiff) cho toàn dải pha đầu vào 0,0076.<br />
Bảng 1. Giá trị các hệ số tối ưu trong hàm xấp xỉ 8 đoạn.<br />
Đoạn Giá trị pha đầu vào chuẩn hóa ai bi Maxdiff<br />
1 0 0,125 0<br />
2 2 1<br />
0 0,0076<br />
2 0,125 0, 25 20 21 0,007 0,0021<br />
3 0, 25 0,375 20 22 23 0,038 0,0038<br />
4 0,375 0,5 20 22 0,082 0,0059<br />
5 0,5 0, 625 20 25 0,186 0,0073<br />
6 0, 625 0, 75 21 22 0,360 0,0063<br />
7 0, 75 0,875 22 23 24 0,595 0,0065<br />
8 0,875 1 23 24 0,812 0,0076<br />
Hình 6 thể hiện lỗi xấp xỉ của phương pháp đề xuất so với các phương pháp trong [7]<br />
và [8]. Bảng 2 thể hiện sự so sánh độ chênh lệch cực đại và số bit có thể rút gọn trong độ<br />
dài từ nhớ của Sine-LUT của phương pháp đề xuất so với các kết quả trong [7] và [8].<br />
0.025<br />
de xuat<br />
Phuc [8]<br />
Hsu [7]<br />
0.02<br />
<br />
<br />
<br />
<br />
0.015<br />
<br />
<br />
<br />
<br />
0.01<br />
<br />
<br />
<br />
<br />
0.005<br />
<br />
<br />
<br />
<br />
0<br />
<br />
<br />
<br />
<br />
-0.005<br />
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />
<br />
<br />
<br />
<br />
Hình 6. So sánh độ chênh lệch của hàm đề xuất với trong [7] và [8].<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số 42, 04 - 2016 107<br />
Kỹ thuật điều khiển & Điện tử<br />
<br />
Bảng 2. So sánh độ chênh lệch cực đại và số bit giảm của từ nhớ trong Sine-LUT.<br />
Phương pháp Maxdiff Số bit giảm của từ nhớ trong LUT<br />
Hsu [7] 0,0219 (1/46) 5<br />
Phuc [8] 0,0120 (1/83) 6<br />
Đề xuất 0,0076 (1/131) 7<br />
4. KẾT QUẢ TỔNG HỢP VÀ THỰC THI<br />
Hình 7 là kiến trúc của bộ chuyển đổi pha thành biên độ sử dụng phương pháp độ<br />
chênh lệch tuyến tính được đề xuất của chúng tôi. Trong đó, khối điều khiển cộng-dịch sẽ<br />
căn cứ vào giá trị pha đầu vào để tạo tín hiệu điều khiển khối logic cộng-dịch ứng với một<br />
trong 8 đoạn tuyến tính. Khối logic cộng-dịch thực hiện các thao tác dịch và cộng để tính<br />
toán hàm tối ưu 8 đoạn D( ) . Khối LUT thô - LUT tinh dùng để chứa giá trị độ chênh<br />
lệch sin( ) D ( ) . Một bộ cộng được sử dụng để tạo tín hiệu sin đầu ra.<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Hình 7. Kiến trúc bộ chuyển đổi pha-biên độ của phương pháp đề xuất.<br />
Để đạt được tỷ số nén cao nhất có thể, trong phương pháp đề xuất của chúng tôi có lợi<br />
dụng tính chất đối xứng ¼ của sóng sin và sử dụng phương thức phân chia LUT thô/tinh.<br />
Vì vậy, chỉ có giá trị pha của góc ¼ đầu tiên của hàm sin được lưu trữ và LUT được phân<br />
chia thành LUT thô và LUT tinh. Kiến trúc đề xuất đã được thực thi trên thiết bị FPGA<br />
Xilinx Spartan-3E và được tổng hợp bởi công cụ Xilinx ISE 12.4 Suite.<br />
Bộ DDFS theo phương pháp đề xuất được thiết kế với bộ tích lũy pha có độ dài N 32<br />
bit, 12 bit pha và 11 bit biên độ sin đầu ra (tương tự với độ chính xác của các thiết kế trong<br />
[7] và [8]). Bảng 3 thể hiện sự so sánh kết quả thực thi của bộ DDFS đề xuất với các nghiên<br />
cứu tương tự trước đó. Phương pháp đề xuất đã đạt được tỷ số nén LUT cao hơn và độ phức<br />
tạp phần cứng nhỏ hơn so với các phương pháp trước đó. Mặc dù số phân đoạn trong<br />
phương pháp đề xuất là lớn hơn so với trong [7] và [8] nhưng vẫn đạt được cấu trúc phần<br />
cứng đơn giản hơn là do các đoạn được chia đều và là một số lũy thừa của 2. Do đó, trong<br />
thực thi phần cứng chỉ sử dụng 3 bit trọng số lớn nhất của pha đầu vào để mã hóa, điều này<br />
cho phép không cần sử dụng các mạch so sánh. Hơn nữa, các hệ số của các đoạn có dạng là<br />
tổng các số lũy thừa của 2 nên trong cấu trúc phần cứng thực thi chỉ cần các mạch cộng- dịch<br />
mà không cần sử dụng mạch nhân. Phương pháp đề xuất có thể cho phép tăng số phân đoạn<br />
để đạt được độ chính xác và tỷ số nén LUT cao hơn. Tuy nhiên, điều đó sẽ làm tăng độ phức<br />
tạp phần cứng. Để dung hòa giữa độ chính xác và tỷ số nén LUT với độ phức tạp của phần<br />
cứng, chúng tôi đề xuất lựa chọn giải pháp xấp xỉ với 8 phân đoạn. Hình 7 là mô tả dạng<br />
sóng đầu ra với mô phỏng bằng Modelsim.<br />
Bảng 3. So sánh phương pháp đề xuất với các trong phương pháp trước đó.<br />
Độ chênh Độ chênh<br />
Sunderla Trong Trong Đề<br />
Phương pháp lệch sin- lệch truyền<br />
nd [7] [8] xuất<br />
pha thống<br />
Kích thước LUT 4096 3854 2688 2560 1536 1408<br />
<br />
<br />
108 S.V. Thuận, H.V. Phúc, T.V. Khẩn, D.Q. Mạnh, “Thiết kế bộ tổ hợp… các hệ số ối ưu.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
(bits)<br />
Tỷ số nén Sine- 117,3:<br />
44:1 50:1 67:1 70:1 128:1<br />
LUT 1<br />
Số Slices 144 146 133 176 136 85<br />
<br />
<br />
<br />
<br />
Hình 7. Dạng sóng tín hiệu sin đầu ra mô phỏng trên Modelsim.<br />
<br />
<br />
5. KẾT LUẬN<br />
Bài báo này đã trình bày một phương pháp thiết kế DDFS dựa trên phương thức độ<br />
chênh lệch tuyến tính với hàm tuyến tính phân đoạn đều có các hệ số tối ưu nhằm đạt được<br />
tỷ số nén LUT cao và cấu trúc phần cứng đơn giản. Một kiến trúc DDFS dựa trên phương<br />
pháp đề xuất đã được tổng hợp và thực thi. Kiến trúc đề xuất đã đạt được tỷ số nén LUT là<br />
128:1 với độ phức tạp phần cứng nhỏ. Vì vậy, kiến trúc đề xuất là phù hợp với các ứng<br />
dụng đòi hỏi độ phức tạp phần cứng thấp.<br />
<br />
<br />
TÀI LIỆU THAM KHẢO<br />
[1]. J. Tierney, C.M. Rader, and B. Gold, “A digital frequency synthesizer,” IEEE Trans.<br />
Audio Electroacoust., vol.AU-19, no.1, pp.48-57, Mar. 1971.<br />
[2]. J. Vankka, M. Waltari, M. Kosunen, and K.A.I. Halonen, “A direct digital synthesizer<br />
with an on-chip D/A-converter,” IEEE J. Solid-State Circuits, vol.33, no.2, pp.218-<br />
227, Feb. 1998.<br />
[3]. D.A. Sunderland, R.A. Strauch, S.S. Wharfield, H.T. Peterson, andC.R. Cole,<br />
“CMOS/SOS frequency synthesizer LSI circuit for spread spectrum communications”,<br />
IEEE J. Solid-State Circuits, vol.SC-19, no.4, pp.497-505, Aug. 1984.<br />
[4]. H.T. Nicholas, H. Samueli, and B. Kim, “The optimization of direct digital frequency<br />
synthesizer in the presence of finite word length effects performance”, Proc. 42nd<br />
Annual Frequency Control Symposium, pp.357-363, Jun. 1988.<br />
[5]. H.T. Nicholas, III and H. Samueli, “A 150-MHz direct digital frequency synthesizer<br />
in 1.25-micron CMOS with −90 dBc spurious performance”, IEEE J. Solid-State<br />
Circuits, vol.26, no.12, pp.1959-1969, Dec. 1991.<br />
[6]. D. De Caro, N. Petra, and A.G.M. Strollo, “Reducing lookup-table size in direct<br />
digital frequency synthesizers using optimized multipartite table method,” IEEE<br />
Trans. Circuits Syst., vol.55, no.7, pp.2116-2127, Aug. 2008.<br />
[7]. L.-W. Hsu and D.-C. Chang, “Design of direct digital frequency synthesizer with high<br />
ROM compression ratio,” 12th IEEE ICECS Conference, pp.1-4, Dec. 2005.<br />
[8]. Van-Phuc Hoang, Cong-Kha Pham, “Improved Linear Difference Method for Sine<br />
ROM Compression in Direct Digital Frequency Synthesizer”, Proc. The First Solid-<br />
<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số 42, 04 - 2016 109<br />
Kỹ thuật điều khiển & Điện tử<br />
<br />
State Systems Symposium-VLSI & Related Technologies (4S-2010), pp. 192-195,<br />
Jun. 2010.<br />
<br />
ABSTRACT<br />
DESIGN OF DIRECT DIGITAL FREQUENCY SYNTHESIZER<br />
BASED ON THE LINEAR DIFFERENCE METHOD WITH EQUAL SEGMENTS<br />
AND OPTIMIZED COEFFICIENTS<br />
This paper presents a design of Direct Digital Frequency Synthesizer based on<br />
the linear difference method with a high Sine-LUT compression ratio and simple<br />
hardware architecture. An even 8-segment piecewise linear approximation function<br />
with optimized coefficients is proposed to reduce hardware complexity. The<br />
proposed technique results in the LUT compression ratio of about 128:1 and the<br />
word size reduction of 7 bits for the design of a DDFS with 11-bit sine amplitude<br />
output. The results achieved are promising to meet the requirement of low hardware<br />
complexity in digital VLSI technology.<br />
Keywords: DDFS, Frequency synthesizer, Difference method.<br />
<br />
<br />
Nhận bài ngày 09 tháng 3 năm 2016<br />
Hoàn thiện ngày 08 tháng 4 năm 2016<br />
Chấp nhận đăng ngày 20 tháng 4 năm 2016<br />
<br />
<br />
Địa chỉ : Khoa Vô tuyến điện tử - Học viện Kỹ thuật quân sự ;<br />
*<br />
Email: saivanthuan@gmail.com<br />
<br />
<br />
<br />
<br />
110 S.V. Thuận, H.V. Phúc, T.V. Khẩn, D.Q. Mạnh, “Thiết kế bộ tổ hợp… các hệ số ối ưu.”<br />