Vấn đề chính xác của DDS ở tần số rất thấp


8

Lần đầu tiên trong đời tôi sử dụng chip DDS này (AD9850) để tạo sóng hình sin ở tần số mong muốn, nơi tôi tải lên mã bảng tra cứu và freq mong muốn. lệnh thông qua một với bộ điều khiển vi mô. Vì vậy, kiến ​​thức của tôi tại thời điểm này rất hạn chế.

Điều này có vẻ tốt cho đến nay nhưng vấn đề là ở tần số rất thấp. Ở tần số 1Hz và thậm chí 0,5Hz có vẻ ổn. Nhưng tôi cũng cần xuống đến 0,1Hz.

Đây là đầu ra của DDS khi tôi gửi số 0,1 đến DDS thông qua bộ điều khiển vi mô:

nhập mô tả hình ảnh ở đây

Trong mã của tôi, tôi gửi lệnh từ PC đến micro dưới dạng chuỗi và chuyển đổi nó thành gấp đôi. Nhưng để đơn giản và để xác minh, tôi sử dụng mã này và với 0,1Hz tôi đặt sendFrequency (0.1) trong vòng lặp.

Nhưng như bạn thấy khoảng thời gian là khoảng 11,5 giây thay vì 10 giây cho lệnh 0,1Hz.

Tôi hy vọng tôi có thể giải thích vấn đề tốt. Có cách nào để hiệu chỉnh hoặc tinh chỉnh điều này để tôi có kết quả chính xác hơn không? Hay tôi nên sống với sự chính xác? Btw ở đâu trong bảng dữ liệu người ta có thể đề cập đến sự không chắc chắn tương đối như vậy?


1
vậy, từ điều khiển bạn đang gửi cho chip DDS là gì và đồng hồ tham chiếu bạn đang sử dụng cho chip DDS là gì? Bạn đã mong đợi điều gì xảy ra, và 11,5 giây này cách đó bao xa? Chúng tôi sẽ cần nhiều kiến ​​thức hơn trên hệ thống của bạn!
Marcus Müller

@ MarcusMüller Tôi sử dụng mã này softgeniedoc.dk/contents/projects/AD9850_tonegen/AD9850.html chỉ cần sửa đổi nhưng cốt lõi là như nhau. Tôi không thể suy ra đồng hồ đang được sử dụng từ mã là gì. Tôi đã cung cấp mã và chip những gì bạn cần nhiều hơn hãy để tôi cung cấp.
đĩa mềm

bạn nối chip lên đồng hồ tham chiếu. Bạn thực sự là người duy nhất trên thế giới này có thể cho chúng ta biết đồng hồ tham chiếu là gì; mạch đang ngồi trước mặt bạn, không phải của chúng tôi!
Marcus Müller

Oh tôi thấy tôi nghĩ rằng nó được sửa chữa hoặc thay đổi bởi mã. Tôi sẽ đo và quay lại.
đĩa mềm

Đây là mô-đun telecnatron.com/modules/ad9850/index.html vì vậy có vẻ như
125 MHz

Câu trả lời:


9

Đó không phải là một điều chính xác - đó là độ phân giải.

Mặt trước của bảng dữ liệu chỉ định độ phân giải điều chỉnh 0,0291Hz với xung nhịp 125 MHz.

0,0291125×106232

Vì vậy, đó là khoảng 30% tần số đầu ra mong muốn của bạn. Điều đó xuất phát từ kết quả của việc thêm LSB của từ điều chỉnh vào bộ tích lũy pha ở mức 125 MHz - với tần số xung nhịp nhất định, nó vốn có của chip và số bit họ chọn cho bộ tích lũy pha và từ điều chỉnh.

Bạn có thể thử giảm tần số xung nhịp - mức tối thiểu là 1 MHz để bạn có thể cải thiện độ phân giải hơn hai bậc độ lớn, khoảng +/- 0,23% ở mức 0,1Hz.

0,23×10-31×106232

Thật không may, những thứ khác sẽ phải thay đổi để có hiệu suất tối ưu (đặc biệt là bộ lọc đầu ra - thường là bộ lọc LC hình elip bậc 7 trên các mô-đun này).

Nếu bạn không bao giờ cần phải đi phía trên, giả sử, 1Hz, bạn có thể chỉ cần thêm bộ lọc RC với mức cắt là 100Hz cho đầu ra hiện tại và nó sẽ được chấp nhận cho nhiều mục đích.


1
Tất nhiên, không có gì phân chia 125 MHz từ những gì tôi có thể thấy (trừ bản thân DDS). Bạn sẽ phải hàn bộ dao động và thay thế nó bằng một mô-đun tần số khác (thấp hơn). Hoặc vô hiệu hóa nó và áp dụng đồng hồ bên ngoài (nó có thể có đầu vào kích hoạt..bạn có thể tra cứu nó). Đó là một sự thay đổi phần cứng.
Spehro Pefhany

1
Tất nhiên là có, nhưng họ đã không đặt đủ bit vào đó cho ứng dụng của bạn. Nếu họ đã thêm 8 bit khác vào từ điều chỉnh và bộ tích lũy pha, bạn sẽ rất vui (và những người không cần tần số thấp như vậy sẽ phải trả nhiều hơn một chút và gửi thêm bit để điều chỉnh DDS để họ không được hạnh phúc).
Spehro Pefhany

1
Chính xác. Nhưng nó có dung lượng thấp như xung nhịp 1 MHz nên tất cả không bị mất, ngay cả đối với ứng dụng của bạn. Bộ lọc đầu ra mô-đun (những cuộn cảm và tụ điện và điện trở) sẽ không phù hợp mặc dù vậy đầu ra sẽ có xu hướng nhiễu với tần số xung nhịp thấp hơn nhiều.
Spehro Pefhany

1
Không có gì để làm với chân. Nhưng đồng hồ mô-đun và bộ lọc đầu ra được thiết kế cho 125 MHz cố định.
Spehro Pefhany

1
@SpehroPefhany - FGs băng ghế thấp hơn có thể và sử dụng chip DDS có sẵn. Hơn nữa, các IC như AD9106 có thể thực hiện việc tạo dạng sóng tùy ý kiểu A / FG (tốc độ cố định). (Những thiết bị cao cấp hơn thực sự sẽ sử dụng một bộ xử lý đồ họa + RAM và một bộ xử lý riêng biệt, nhưng chúng vẫn là những thứ cơ bản giống nhau, chỉ cần thực hiện chính nó :)
ThreePhaseEel

7

Những gì bạn đang tìm kiếm trên biểu dữ liệu là độ phân giải điều chỉnh tần số. Đối với chip này, nó là 0,0291 Hz cho đầu vào đồng hồ tham chiếu 125 MHz. Tần số của bạn sẽ được làm tròn thành bội số của số này. Con số này dựa trên tần số đầu vào xung nhịp của chip.

Ví dụ: 0,1 Hz sẽ được làm tròn thành 0,0873 Hz (0,0291 * 3). Khoảng thời gian cho 0,0873 Hz là 11,5 giây, đó là những gì bạn đang thấy.

Tần số xung nhịp đầu vào thấp hơn sẽ cho độ chính xác cao hơn ở tần số thấp hơn. Vì vậy, nếu bạn muốn độ chính xác tốt hơn ở tần số thấp hơn thì hãy giảm tần số xung nhịp.


Làm thế nào để bạn tính toán freq tròn đầu ra.? Ví dụ: nếu tôi gửi 0,5 đến chip, bạn có thể hiển thị công thức nào được sử dụng và đầu ra sẽ là gì không? Vì vậy, tôi có thể dự đoán cho từng
đĩa mềm

Nó làm tròn xuống bội số 0,0291. Để tìm bội số gần nhất, chia 0,5 cho 0,0291, làm tròn xuống số nguyên gần nhất và nhân với 0,0291. 0,5 / 0,0291 = 17,18 mà chúng ta làm tròn thành 17. Sau đó 17 * 0,0291 = 0,4947. Vì vậy, nếu bạn nhập 0,5Hz, bạn thực sự sẽ thấy 0,4947Hz
Pangus

Oh tốt đẹp tôi thậm chí có thể vẽ lỗi so với freq. ngay bây giờ-
đĩa mềm 380

@ChrisStratton Rất tiếc. Vâng, bạn đúng. Tôi chỉnh sửa câu trả lời của tôi. Cảm ơn
Pangus

1
Bạn có thể thực hiện điều chế tần số và điều chế biên độ nhưng tôi không nghĩ bạn có thể thay đổi bảng tra cứu trên chip. Nếu bạn quan tâm đến việc tạo các dạng sóng tùy ý thì có thể đáng để xem xét một con chip khác hoặc nhận một bộ xử lý và cố gắng tạo DDS của riêng bạn
Pangus
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.