Mục lục:

Arduino: Biến đổi tần số (DFT): 6 bước
Arduino: Biến đổi tần số (DFT): 6 bước

Video: Arduino: Biến đổi tần số (DFT): 6 bước

Video: Arduino: Biến đổi tần số (DFT): 6 bước
Video: xlths FFT 4 điểm 8 điểm theo thời gian hoặc tần số (chi tiết) 2024, Tháng bảy
Anonim
Arduino: Biến đổi tần số (DFT)
Arduino: Biến đổi tần số (DFT)

chương trình này là để tính toán biến đổi tần số trên arduino với điều khiển batter đối với các tham số. nó được giải quyết bằng cách sử dụng biến đổi fouriior desecrate.

đây không phải là FFT

FFT là thuật toán được sử dụng để giải quyết DFT với thời gian nhỏ hơn.

Mã cho FFT có thể được tìm thấy ở đây.

Bước 1: Cách thức hoạt động (khái niệm):

Cách hoạt động (khái niệm)
Cách hoạt động (khái niệm)
Cách hoạt động (khái niệm)
Cách hoạt động (khái niệm)

Chương trình cho phép biến đổi tần số cung cấp khả năng kiểm soát tuyệt vời đối với đầu ra mà bạn yêu cầu. chương trình này đánh giá dải tần do người dùng cung cấp tại đầu vào nhất định cho tập dữ liệu.

  • Trong hình, một tập dữ liệu được tạo từ hai tần số có tên f2 và f5 đã cho cần được kiểm tra. f2 và f5 là tên ngẫu nhiên cho hai tần số, số cao hơn cho tần số tương đối cao hơn. ở đây tần số nhỏ hơn f2 có biên độ cao hơn và f5 có biên độ nhỏ hơn.
  • Có thể chỉ ra về mặt toán học rằng - phép nhân của hai tập dữ liệu hài có tần số khác nhau có xu hướng bằng không (số lượng dữ liệu cao hơn có thể dẫn đến kết quả sai). Trong trường hợp của chúng ta Nếu hai tần số nhân này có cùng (hoặc rất gần) tần số thì tổng của phép nhân là số khác không trong đó biên độ phụ thuộc vào biên độ của dữ liệu.
  • để phát hiện tần số cụ thể cho trước, tập dữ liệu có thể được nhân với các tần số thử nghiệm khác nhau và kết quả có thể cung cấp thành phần của tần số đó trong dữ liệu.

Bước 2: Cách hoạt động (trong Code):

Cách hoạt động (trong Code)
Cách hoạt động (trong Code)
Cách hoạt động (trong Code)
Cách hoạt động (trong Code)

đối với dữ liệu đã cho đó (f2 + f5) lần lượt từ f1 đến f6 được nhân và giá trị của tổng được ghi chú xuống. tổng cuối cùng đại diện cho nội dung của tần số đó. phần còn lại (không khớp) của tần số lý tưởng phải bằng 0 nhưng nó không thể thực hiện được trong trường hợp thực. để làm cho tổng bằng không, nó bắt buộc phải có kích thước vô hạn của tập dữ liệu.

  • như thể hiện trong hình f1 đến tần số thử f6 và phép nhân của nó với tập dữ liệu tại mọi điểm được thể hiện.
  • trong hình thứ hai, tổng kết của phép nhân đó ở mỗi tần số được vẽ biểu đồ. hai cực đại ở 1 và 5 có thể nhận biết được.

vì vậy bằng cách sử dụng cùng một cách tiếp cận cho một dữ liệu ngẫu nhiên, chúng ta có thể đánh giá rất nhiều tần số và phân tích nội dung tần suất của dữ liệu.

Bước 3: Sử dụng mã để phân tích tần suất:

Sử dụng mã để phân tích tần suất
Sử dụng mã để phân tích tần suất

ví dụ cho phép sử dụng mã này để tìm DFT của sóng vuông.

đầu tiên dán mã đính kèm (chức năng dft) sau vòng lặp như hình ảnh hiển thị

8 ĐIỀU KHOẢN CẦN CỤ THỂ

  1. một mảng trong đó dft cần phải được thực hiện
  2. kích thước của một mảng
  3. khoảng thời gian giữa 2 lần đọc trong mảng tính bằng milliSECONDS
  4. giá trị thấp hơn của dải tần tính bằng Hz
  5. giá trị trên của dải tần tính bằng Hz
  6. kích thước của các bước cho dải tần số
  7. lặp lại tín hiệu (tối thiểu 1) độ chính xác của bộ đánh số cao hơn nhưng tăng thời gian giải
  8. chức năng cửa sổ:

    0 cho không có window1 cho cửa sổ phẳng 2 cho hann window 3 cho cửa sổ hamming

(nếu bạn không có bất kỳ ý tưởng nào về việc chọn cửa sổ, hãy giữ mặc định 3)

ví dụ: dft (a, 8, 0,5, 0, 30, 0,5, 10, 3); ở đây a là một mảng có kích thước 8 phần tử được kiểm tra từ 0 Hz đến 30 Hz với 0,5 bước (0, 0,5, 1, 1,5,…, 29, 29,5, 30) 10 cửa sổ lặp lại và làm mờ

ở đây có thể sử dụng mảng có kích thước lớn hơn nhiều như arduino có thể xử lý.

Bước 4: Đầu ra:

Đầu ra
Đầu ra
Đầu ra
Đầu ra

nếu bạn bình luận

Serial.print (f); Serial.print ("\ t");

từ máy vẽ nối tiếp mã sẽ cung cấp bản chất của phổ tần số, nếu không phải Máy theo dõi nối tiếp sẽ cung cấp tần số với biên độ của nó.

Bước 5: Kiểm tra các kích thước cửa sổ và mẫu khác nhau:

Kiểm tra các kích thước cửa sổ và mẫu khác nhau
Kiểm tra các kích thước cửa sổ và mẫu khác nhau

trong hình, tần số của sóng sin được đo bằng cách sử dụng cài đặt khác nhau.

Bước 6: Ví dụ:

Thí dụ
Thí dụ

trong biến đổi hình dữ liệu sử dụng SciLab và arduino được so sánh.

Đề xuất: