Python tổng của sóng hình sin
nhập numpy dưới dạng np Show nhập matplotlib. pyplot như cốt truyện # Nhận giá trị x của sóng hình sin thời gian = np. sắp xếp (0, 10, 0. 1); # Biên độ của sóng hình sin là hình sin của một biến như thời gian biên độ = np. tội lỗi (thời gian) # Vẽ một sóng hình sin sử dụng thời gian và biên độ thu được cho sóng hình sin kịch bản. cốt truyện (thời gian, biên độ) # Đặt tiêu đề cho biểu đồ sóng hình sin kịch bản. title('Sóng sin') # Đặt nhãn trục x cho biểu đồ sóng hình sin kịch bản. xlabel('Thời gian') # Đặt nhãn trục y cho biểu đồ sóng hình sin kịch bản. ylabel('Biên độ = sin(thời gian)') kịch bản. grid(True, which='cả hai') kịch bản. đường trục (y=0, màu='k') kịch bản. chỉ() # Hiển thị sóng hình sin kịch bản. chỉ() \[sq(t) = \frac{4}{\pi}\sum_{\text{$k=1$, $k$ lẻ}}^\infty \frac{\sin(2\pi k f t)}{ Các tần số khác nhau được gọi là sóng hài. Điều hòa đầu tiên còn được gọi là cơ bản. Chú ý chuỗi này chỉ có các thuật ngữ lẻ. Tôi. e. , tất cả các hài chẵn là 0. (Các chuỗi Fourier khác có thể có các số hạng chẵn khác 0. ) Chúng tôi sử dụng Python cùng với các mảng Numpy và Matplotlib trong Máy tính xách tay Jupyter để tạo ra một sóng kết hợp bao gồm hai sóng hình sin ở 50Hz và 100Hz trong 2 khoảng thời gian. Sau đó, chúng tôi vẽ biểu đồ miền thời gian của sóng kết hợp, rồi tính toán Biến đổi Fourier nhanh rời rạc bằng thư viện Python. Dữ liệu miền thời gian sau đó được xuất thành một tệp và được sử dụng làm đầu vào cho chương trình DFFT Fortran để tính toán DFFT và vẽ sơ đồ đầu ra của nó bằng GNUPlot Giới thiệu. Python+Numpy+Matplotlib trên mã Jupyter Notebook để tạo sóng kết hợp gồm hai sóng hình sin ở Tải xuống mã bằng cách nhấp vào liên kết bên dưới. Sau đó, chúng tôi chạy mã và thu được biểu đồ miền thời gian và biểu đồ miền tần số. Các kết quả được vẽ bằng GNUPlot Hình ảnh về sóng hình sin 50Hz được tạo bằng Python+Numpy trên Jupyter Notebook và được vẽ bằng GNUPlot Tải xuống hình ảnh bằng cách nhấp vào liên kết bên dưới. Hình ảnh sóng kết hợp Tải xuống hình ảnh bằng cách nhấp vào liên kết bên dưới. Hình ảnh FFT của sóng kết hợp Nhận được Biến đổi Fourier nhanh rời rạc của tệp dữ liệu thô Chạy chương trình Fortran 2003 DFFT và lấy tệp đầu ra Biên dịch bằng cách gõ. gfortran -o a. ra data_file_FFTW_ver6. F03 -lfftw3 Tệp đầu ra từ chương trình DFFT Fortran 2003 Toàn văn có thể tải về tại đây Các biểu đồ của tệp đầu ra cường độ bằng GNUPlot Có thể tải xuống tệp tập lệnh GNUPlot bằng cách nhấp vào đây. Âm mưu cường độ Thảo luậnDường như có sự giảm nhẹ về đỉnh của cường độ của biểu đồ DFFT. Do các đầu vào dữ liệu thô khác vào chương trình Fortran tạo ra kết quả như mong đợi, nên độ lệch có thể liên quan đến cách tạo dữ liệu trong Python+Numpy hoặc cách dữ liệu được lưu vào tệp văn bản. Dường như cũng có một số đỉnh phụ lăn nhanh về hai phía của đỉnh chính. Điều này rất có thể là do thuật toán FFTW3 phản ứng với sự không liên tục của dữ liệu đầu vào. Cần nhiều nghiên cứu hơn để tìm ra nguyên nhân Bạn có thể thêm các hình sin với các tần số khác nhau không?Việc thêm các hình sin có tần số khác nhau dẫn đến tín hiệu không còn là hình sin nữa . Nhưng nó có định kỳ không? . Hình 2. Thêm các hình sin ở 3, 6, 9 Hz sẽ tạo ra tín hiệu tuần hoàn ở 3 Hz.
Điều gì xảy ra khi bạn thêm hai hình sin?Chúng ta đã thấy rằng việc cộng hai hình sin có cùng tần số và cùng pha (sao cho hai tín hiệu tỷ lệ với nhau) sẽ cho một hình sin có tổng của hai biên độ< . .
Tổng của hai hình sin có phải là một hình sin không?Tổng của hai hàm số thực hình sin
. the sum of two equal-frequency real sinusoids is itself a single real sinusoid. |