Hướng dẫn sampling a sine wave in python - lấy mẫu một làn sóng sin trong python
0 Show Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm. Vì vậy, tôi muốn tạo tín hiệu 1.95kHz, đó là đơn giản.
Để có ít nhất 2 giai đoạn. Làm thế nào tôi có thể mô phỏng rằng tôi đang đọc nó lại, sử dụng tần số mẫu là 96kHz. Tôi muốn 1024 mẫu. Ngoài ra, khi tôi gửi nó ra, mỗi điểm được gửi mỗi 1040ns (mỗi phần tử của mảng tín hiệu được gửi mỗi 1040ns). hỏi ngày 17 tháng 1 năm 2016 lúc 11:54Jan 17, 2016 at 11:54
2
Sau đó, thời gian vectơ chứa thời gian lấy mẫu của bạn và tín hiệu chứa tín hiệu của bạn tại thời điểm này. Đã trả lời ngày 18 tháng 1 năm 2016 lúc 9:28Jan 18, 2016 at 9:28
PeterpeterPeter 11.1k9 Huy hiệu vàng65 Huy hiệu bạc77 Huy hiệu đồng9 gold badges65 silver badges77 bronze badges Tôi đã cố gắng lấy mẫu tín hiệu sóng hình sin 12,8 MHz (78.125 ns) sau mỗi 160us (micro giây). Vì 160US là bội số của giai đoạn cơ sở 78.125Ns (x2048), tôi dự kiến sẽ nhận được một mẫu biên độ cố định nhưng thay vào đó, những gì tôi đang thấy là một sóng hình sin định kỳ khác. Tôi không hiểu tại sao? Tôi nghi ngờ lỗi lượng tử hóa nhưng không nên tạo ra tiếng ồn đồng nhất thay vì tạo sóng hình sin định kỳ.
Edit1: 1. 12,8 MHz được cố tình lấy mẫu
EDIT2: Tôi đã cố gắng tăng độ chính xác bằng cách sử dụng thập phân và tôi thấy nó đang hoạt động như mong đợi. Tôi mong đợi một đường thẳng vì điểm lấy mẫu là một bội số chính xác của giai đoạn.
EDIT3: Tôi tiếp tục thực hiện một số phân tích nhờ bình luận của @jithin. Có vẻ như đây là một vấn đề với Linspace. Tôi đã cố gắng tạo khoảng thời gian chỉ bằng phép nhân như trong mã bên dưới và loại bỏ sơ đồ gốc sử dụng không gian linspace (điều này rất quan trọng) vì vậy bây giờ tôi có thể thấy các giá trị trong phạm vi 1E-9 như các giá trị khác. Vì vậy, có thực sự có vấn đề với Linspace?So is there indeed issue with linspace ?
Hình ảnh của mã python ở trên là bên dưới Làm thế nào để bạn tìm thấy mẫu của sóng hình sin?Số hóa sóng hình sin Thời gian liên tục, T, được thay thế bằng N/SR được số hóa trong đó N là số mẫu.Do đó, chúng ta có thể sử dụng công thức sn = a sin (2πfn/sr) trong đó n là một số nguyên dương để tạo ra các mẫu cho tần số f chu kỳ F mỗi giây.sn = A sin(2πfn/sr) where n is a positive integer to generate samples for a frequency of f cycles per second.
Làm thế nào để bạn mã hóa một sóng hình sin trong Python?Example:.. Nhập Numpy dưới dạng NP .. Nhập matplotlib.pyplot dưới dạng cốt truyện .. # Nhận x giá trị của sóng hình sin .. thời gian = np.Arange (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.sin (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 .. lô.plot (thời gian, biên độ). Làm thế nào để bạn vẽ đồ thị sinx trong Python?Âm mưu sin và cosin với matplotlib và python.. Trong [1]: Nhập matplotlib.pyplot như PLT Nhập Numpy dưới dạng NP # nếu sử dụng máy tính xách tay Jupyter %matplotlib nội tuyến .. Trong [2]: x = np.Arange (0,4*np. .... Trong [3]: plt.Lô đất (x, y) plt..... Trong [4]: x = np.Arange (0,4*np. .... Trong [5]: plt.Biểu đồ (x, y, x, z) plt..... Trong [6]: x = np..... Trong [7]: plt .. |