Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
1,35 MB
Nội dung
ThiếtkếkhốitổnghợpdaođộngsốNCO Gồm nội dung chính: Định nghĩa sở tốn học NCO Kết mơ modelsim thực hóa khốitổnghợpdaođộngsốNCO FPGA Ứng dụng khốitổnghợpdaođộngsốNCOThiếtkếkhốitổnghợpdaođộngsốNCO Định nghĩa NCO viết tắt Numerically Controler Osillator Là khốitổnghợpdaođộng vi mạch sốKhối có khả tổng tạo daođộng với tần số mong muốn trực tiếp vi mạch số tích hợp Cơ sở tốn học NCO Sóng sin mà ta muốn tổnghợp có hàm số phụ thuộc thời gian tần số sau: Y(t) = U0 sin(∆φt) = U0 sin(2пft) Nếu đặt φ(t) = ∆φt = 2пft φ(t) hàm phụ thuộc tuyến tính theo thời gian, biểu diễn giá trị pha theo thang 0-3600 ThiếtkếkhốitổnghợpdaođộngsốNCOThiếtkếkhốitổnghợpdaođộngsốNCO Chia trục thời gian thành khoảng cách ∆t, giá trị biên độ tương ứng là: yk = U0 sin(φk(t)) = U0 sin(∆φ.k.∆t) Áp dụng định lý kachenhikov rời rạc hóa khơi phục tín hiệu, để thu tổ hợp giá trị Uk đủ để khơi phục hồn tồn sóng ban đầu giá trị phải thỏa mãn: ∆t < 1/2f Giá trị tích lũy pha khơng thiết thay đổi từ 0-3600 mà thực tế chọn miền giá trị 0-2N (2N > 3600),để thu độ xác độ phân giải cao Giá trị tích lũy pha Pk tính khối cộng có đầu vào giá trị tích lũy N bit m Pk = k.m Giá trị biên độ Uk số hóa tương ứng bảng Sin là: Uk = ThiếtkếkhốitổnghợpdaođộngsốNCO Sơ đồ khốiNCO Thời gian để thực hết chu kỳ sóng Sin là: Tần số sóng thu tính theo cơng thức: ThiếtkếkhốitổnghợpdaođộngsốNCO Nếu x3x2= 00 giá trị tương ứng giữ nguyên Nếu x3x2 = 01 giá trị tương biên độ Nếu x3x2 = 10 giá trị tương biên độ Nếu x3x2 = 11 giá trị tương biên độ ThiếtkếkhốitổnghợpdaođộngsốNCO Kết mơ modelsim thực hóa khốitổnghợpdaođộngsốNCO FPGA Tài nguyên sử dụng: Chu kỳ nhỏ nhất: 5.656ns (Tần số lớn nhất: 176.803MHz) Thời gian trễ nhỏ đầu vào trước xung nhịp clock: 2.360ns Thời gian đòi hỏi lớn đầu sau xung nhịp clock: 5.434ns Kết thời gian tĩnh sau thực kết nối phân bố thu chu kỳ nhỏ 4,947 ns tương ứng với xung nhip cực đại xác 202,143 Mhz Thiết kếkhốitổnghợpdaođộngsốNCO Ứng dụng khốitổnghợpdaođộngsốNCO Điều chế biên độ: ThiếtkếkhốitổnghợpdaođộngsốNCO Ứng dụng khốitổnghợpdaođộngsốNCO Điều chế tần số: THUẬT TỐN CORDIC Gồm có nội dung sau A Giới thiệu thuật tốn cordic B Nội dung thuật tốn C Mơ tả VHDL kiểm tra Modelsim D Kết luận A Giới thiệu CORDIC = COordinate Rotation DIgital Computer Được tính tốn mơ tả lần vào năm 1959 •CORDIC thực mộttính lớptốn lớn hàm ứng dụng Jack E Volder cho việc lượng giác,gồm cácnhân hàm: vàlượng chia giác, logarit siêu việt; phép nhân số phức, trị John riêngWalther vector, ma trận đảo, giải Nămtính 1971, phát triển giảinghịch thuật CORDIC tính hàm Cùng gianthường cáccho hệ việc thống tuyến tínhhypebolic phân tích giáthời trị bất Cochran đánhxử dấulýviệc thay đổivàgiải thuật rahọc xử lýcũng tín hiệu, hình ảnh, tính tốnvàkhoa CORDIC lựa chọn tốt cho ứng dụng tính nóirằng chung tốn khoa học Do tiềm năng, hiệu chi phí thấp CORDIC nên phổ biến phát triển mạnh B NỘI DUNG THUẬT TOÁN Y Ý tưởng xuất phát sin f Quay (1,0) góc f để đạt • (x,y) : x = cos (f), y = sin (f) Khi quay vector (x,y) góc f x x cos(f ) y sin(f ) y y cos(f ) x sin(f ) f X cos f Y (x’,y’) (x,y) f X Đưa cos ngoài, viết lại biểu thức x cos(f ).[ x y tan(f )] y cos(f ).[ y x tan(f )] sin(f ) tan(f ) cos(f ) B NỘI DUNG THUẬT TOÁN x cos(f ).[ x y tan(f )] y cos(f ).[ y x tan(f )] Ta chọn góc đặc biệt: f1, f2, …, fm Sao cho: fi = arctan 2-i hay tanfi = 2-i Tại lần quay thứ i, tính (xi+1, yi+1) từ (xi, yi) sau: xi 1 K i [ xi yi d i i ] yi 1 K i [ yi xi d i i ] xi 1 cos(fi ).[ xi yi d i tan(fi )] yi 1 cos(fi ).[ yi xi d i tan(fi )] Trong đó: Sau n lần quay K i cos( i ) cos(tan 1 (2 i )) d i 1 n K K i n , K 0.607 252 935 i 0 B NỘI DUNG THUẬT TỐN i Ví dụ: f=30.0° 0 = 45.045.0 Start with (> 30.0) 45.0 – 26.61 = 18.4 26.6 (0 30.0) 32.4 – 7.1 = 25.3 (< 30.0) 7.10 25.3 + 3.6 = 28.9 (< 30.0) 28.9 + 1.8 = 30.7 3.6(> 30.0) 1.80 tan(i) i f 45° = 2-0 0.5 = 2-1 0.25 = 2-2 0.125 = 2-3 0.0625 = 2-4 0.03125 = 2-5 0.90 0.015625 = 2-6 0.40 0.0078125 = 2-7 = 30.0 0.20 0.00390625 45.0 – 26.60 + 14.0 – 7.1 + 3.6 0.1 0.001953125 + 1.8 – 0.9 + 0.4 – 0.2 + 0.1 … … … = 30.1 = 2-8 = 2-9 … 30° C MÔ TẢ BẰNG VHDL VÀ KIỂM TRA TRÊN MDELSIM I • • • • CORDIC ROTATION MODE Tại bước quay, cố gắng làm cho z = ( với z góc tại) Khởi đầu: x = 1; y = 0, z = f For i = →n x0,y0 y di = when z>0, else -1 -45 xi+1= xi – di 2-i yi 30 -14 -i yi+1 = yi + di xi +26.6 zi+1 = zi – di i Kết quả: xn=cos(f), yn=sin(f) x2,y2 x x3,y3 x1,y1 SƠ ĐỒ KHỐI Ví dụ với góc cần tính 300 Kết mơ hiển thị sau 14 lần quay 01 0110110100001 = 1.425 00 1101001011101 = 0.824 Cos 300 = 1.425*0.6073 = 0.866 Sin 300 = 0.824*0.6073 = 0.5003 C MÔ TẢ BẰNG VHDL VÀ KIỂM TRA TRÊN MODELSIM II CORDIC VECTOR MODE • Sự khác với rotation mode • Khi chọn di, thay cố gắng làm cho z tiến tới 0, cố gắng làm cho yi • di = –sign (xi yi) • Các giá trị tiến tới là: • xn = 1/K (x2 + y2)ẵ yn = Zn = z + tan-1(y/x) • Ứng dụng • Nếu bắt đầu với x= 1, z= 0, giá trị z cuối arctan(y) SƠ ĐỒ KHỐI Ví dụ: arctan 0.577 = 300 = 0.5236 rad Số Slice Flip Flops 56 Kết mô Số LUTs đầu vào Input 270 : 00 1001001111001 = 0.577 Số Slice output 147 : 00 1000011000000 = 0.523 Logic sử dụng STT Sử dụng Có sẵn Tỷ lệ 9312 0% 9312 2% 4656 3% Số IOs 51 Số IOBs ngoại quan 51 158 32 % Số BUFGMUXs 24 4% •Chu kỳ nhỏ nhất: 10.061ns (Tần số lớn nhất: 99.390MHz) • Thời gian trễ nhỏ đầu vào trước xung nhịp clock: 3.672ns • Thời gian đòi hỏi lớn đầu sau xung nhịp clock: 8.570ns .. .Thiết kế khối tổng hợp dao động số NCO Định nghĩa NCO viết tắt Numerically Controler Osillator Là khối tổng hợp dao động vi mạch số Khối có khả tổng tạo dao động với tần số mong muốn... tính theo thời gian, biểu diễn giá trị pha theo thang 0-3600 Thiết kế khối tổng hợp dao động số NCO Thiết kế khối tổng hợp dao động số NCO Chia trục thời gian thành khoảng cách ∆t, giá... trị tương biên độ Thiết kế khối tổng hợp dao động số NCO Kết mô modelsim thực hóa khối tổng hợp dao động số NCO FPGA Tài nguyên sử dụng: Chu kỳ nhỏ nhất: 5.656ns (Tần số lớn nhất: 176.803MHz)