Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?

Theo ghi nhận của Tcaswell, chức năng phù hợp để sử dụng là step. Dưới đây là một ví dụ xấp xỉ cốt truyện đã cho của bạn:

Show
import matplotlib.pyplot as plt
import numpy as np

def my_lines(ax, pos, *args, **kwargs):
    if ax == 'x':
        for p in pos:
            plt.axvline(p, *args, **kwargs)
    else:
        for p in pos:
            plt.axhline(p, *args, **kwargs)

bits = [0,1,0,1,0,0,1,1,1,0,0,1,0]
data = np.repeat(bits, 2)
clock = 1 - np.arange(len(data)) % 2
manchester = 1 - np.logical_xor(clock, data)
t = 0.5 * np.arange(len(data))

plt.hold(True)
my_lines('x', range(13), color='.5', linewidth=2)
my_lines('y', [0.5, 2, 4], color='.5', linewidth=2)
plt.step(t, clock + 4, 'r', linewidth = 2, where='post')
plt.step(t, data + 2, 'r', linewidth = 2, where='post')
plt.step(t, manchester, 'r', linewidth = 2, where='post')
plt.ylim([-1,6])

for tbit, bit in enumerate(bits):
    plt.text(tbit + 0.5, 1.5, str(bit))

plt.gca().axis('off')
plt.show()

Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?

Tính toán một loạt các mẫu của hàm sin từ 50 Hz (ví dụ 300 trở lên). Vẽ những mẫu này như các dấu chấm vào

Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
to a scalar value x(t). We call x a signal and also denote the signal as x(t).

Một biểu đồ và vẽ đồ hình sin là tốt. Thay đổi số lượng mẫu thành số thấp hơn. Bạn có thể suy luận gì từ kết quả?

Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
. We can characterize signals by looking at the time domain. Traditionally time is represented as a real value running from
Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
to
Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
. Such signals are called continuous time signals.

Khi sử dụng máy tính, chúng tôi bắt đầu biểu diễn tín hiệu với luồng số riêng biệt và có thể đếm được: chúng tôi gọi các mẫu tín hiệu này. Tại mỗi trường hợp, giá trị tín hiệu được lưu trữ trong bộ nhớ. Tất cả giá trị tín hiệu giữa thời gian mẫu chỉ đơn giản là bỏ qua. Những tín hiệu này được gọi là tín hiệu thời gian riêng biệt.

Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
the signal value
Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
is stored in memory. All signal valuess between the sample times are simply ignored. These signals are called discrete time signals.

Vẽ vạch ra các giá trị thực tín hiệu lor

Xem xét tín hiệu CT. Một tín hiệu CT có giá trị thực được vẽ bằng cách sử dụng các cách tiêu chuẩn để vẽ một hàm. Hãy xem xét tín hiệu hình sin trong một khoảng thời gian ngắn chúng ta có thể vẽ điều này như:

Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
. A real valued CT signal is plotted using the standard ways to plot a function
Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
. Consider the sinusoidal signal
Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
for a short interval of time we can plot this as:

t = np.linspace(-0.02, 0.05, 1000)
plt.plot(t, 325 * np.sin(2*np.pi*50*t));
plt.xlabel('t');
plt.ylabel('x(t)');
plt.title(r'Plot of CT signal \$x(t)=325 \sin(2\pi 50 t)\$');
plt.xlim([-0.02, 0.05]);
#@savefig sineplot.png
plt.show()

(Mã nguồn, PNG, HIRES.PNG, PDF)

Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?

Rõ ràng cốt truyện trên là một lời nói dối. Bạn không thể vẽ tín hiệu CT trên thiết bị kỹ thuật số. Trong lớp đồ họa máy tính, bạn có hoặc sẽ học được rằng một hàm (tín hiệu) được vẽ như một chuỗi các đường thẳng (và thậm chí các đường thẳng được rời rạc như một tập hợp các dấu chấm). Nhưng nó chắc chắn trông giống như một tín hiệu CT không phải là nó?

Mọi thứ là khác nhau khi chúng ta xem xét tín hiệu DT. Đưa ra các giá trị để nói với chúng ta có thể sử dụng cùng một chiến lược và vẽ nó như chúng ta đã làm cho tín hiệu CT: chỉ cần kết nối các dấu chấm $ (n, x [n]) $. Điều đó được thực hiện trong thực tế thường xuyên. Tuy nhiên, trong các ghi chú này khi xử lý sự khác biệt giữa tín hiệu CT và DT, chúng tôi muốn nhấn mạnh rằng tín hiệu DT về cơ bản chỉ là một chuỗi các số. Không cần phải suy nghĩ trong miền riêng biệt và chắc chắn không cần phải hình dung nó.

Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
for say
Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
to
Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
we could use the same strategy and plot it as we did for the CT signal: just connect the dots $(n, x[n])$. That is done in practice often. However in these notes when dealing with the differences between CT and DT signals we want to stress that a DT signal essentially is just a sequence of numbers. There is no need to think about
Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
in the discrete domain and certainly no need to visualize it.

Do đó, tín hiệu DT được vẽ như một chuỗi các thanh dọc. Một âm mưu thân cây:

n = np.arange(50);
dt = 0.07/50
x = np.sin(2 * np.pi * 50 * n * dt)
plt.xlabel('n');
plt.ylabel('x[n]');
plt.title(r'Plot of DT signal \$x[n] = 325 \sin(2\pi 50 n \Delta t)\$');
#@savefig dtsineplot.png
plt.stem(n, x);

(Mã nguồn, PNG, HIRES.PNG, PDF)

Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?

Rõ ràng cốt truyện trên là một lời nói dối. Bạn không thể vẽ tín hiệu CT trên thiết bị kỹ thuật số. Trong lớp đồ họa máy tính, bạn có hoặc sẽ học được rằng một hàm (tín hiệu) được vẽ như một chuỗi các đường thẳng (và thậm chí các đường thẳng được rời rạc như một tập hợp các dấu chấm). Nhưng nó chắc chắn trông giống như một tín hiệu CT không phải là nó?

Mọi thứ là khác nhau khi chúng ta xem xét tín hiệu DT. Đưa ra các giá trị để nói với chúng ta có thể sử dụng cùng một chiến lược và vẽ nó như chúng ta đã làm cho tín hiệu CT: chỉ cần kết nối các dấu chấm $ (n, x [n]) $. Điều đó được thực hiện trong thực tế thường xuyên. Tuy nhiên, trong các ghi chú này khi xử lý sự khác biệt giữa tín hiệu CT và DT, chúng tôi muốn nhấn mạnh rằng tín hiệu DT về cơ bản chỉ là một chuỗi các số. Không cần phải suy nghĩ trong miền riêng biệt và chắc chắn không cần phải hình dung nó.

Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?

Do đó, tín hiệu DT được vẽ như một chuỗi các thanh dọc. Một âm mưu thân cây:

t = np.linspace(-0.02, 0.05, 1000)
plt.subplot(2,1,1); plt.plot(t, np.exp(2j*np.pi*50*t).real );
plt.xlabel('t');
plt.ylabel('Re x(t)');
plt.title(r'Real part of  \$x(t)=e^{j 100 \pi t}\$');
plt.xlim([-0.02, 0.05]);
plt.subplot(2,1,2); plt.plot(t, np.exp(2j*np.pi*50*t).imag);
plt.xlabel('t');
plt.ylabel('Im x(t)');
plt.title(r'Imaginary part of  \$x(t)=e^{j 100\pi t}\$');
plt.xlim([-0.02, 0.05]);
#@savefig csineplot.png
plt.show()

(Mã nguồn, PNG, HIRES.PNG, PDF)

Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?

Rõ ràng cốt truyện trên là một lời nói dối. Bạn không thể vẽ tín hiệu CT trên thiết bị kỹ thuật số. Trong lớp đồ họa máy tính, bạn có hoặc sẽ học được rằng một hàm (tín hiệu) được vẽ như một chuỗi các đường thẳng (và thậm chí các đường thẳng được rời rạc như một tập hợp các dấu chấm). Nhưng nó chắc chắn trông giống như một tín hiệu CT không phải là nó?

t = np.linspace(-0.02, 0.05, 1000)
plt.subplot(2,1,1); plt.plot(t, np.abs(np.exp(2j*np.pi*50*t)) );
plt.xlabel(r'\$t\$');
plt.ylabel(r'\$|x(t)|\$');
plt.title(r'Absolute value of  \$x(t)=e^{j 100 \pi t}\$');
plt.xlim([-0.02, 0.05]);
plt.subplot(2,1,2);
plt.plot(t, np.angle(np.exp(2j*np.pi*50*t))*360/(2*np.pi));
plt.xlabel('\$t\$');
plt.ylabel(r'\$\angle x(t)\$');
plt.title(r'Phase of \$x(t)=e^{j 100 \pi t}\$');
plt.xlim([-0.02, 0.05]);
#@savefig cabsanglesineplot.png
plt.show()

(Mã nguồn, PNG, HIRES.PNG, PDF)

Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?

Rõ ràng cốt truyện trên là một lời nói dối. Bạn không thể vẽ tín hiệu CT trên thiết bị kỹ thuật số. Trong lớp đồ họa máy tính, bạn có hoặc sẽ học được rằng một hàm (tín hiệu) được vẽ như một chuỗi các đường thẳng (và thậm chí các đường thẳng được rời rạc như một tập hợp các dấu chấm). Nhưng nó chắc chắn trông giống như một tín hiệu CT không phải là nó?phase wrapping. If we would allow angles outside the range from -180 to +180 we could obtain a perfectly straight line (doing just that is called phase unwrapping).

Mọi thứ là khác nhau khi chúng ta xem xét tín hiệu DT. Đưa ra các giá trị để nói với chúng ta có thể sử dụng cùng một chiến lược và vẽ nó như chúng ta đã làm cho tín hiệu CT: chỉ cần kết nối các dấu chấm $ (n, x [n]) $. Điều đó được thực hiện trong thực tế thường xuyên. Tuy nhiên, trong các ghi chú này khi xử lý sự khác biệt giữa tín hiệu CT và DT, chúng tôi muốn nhấn mạnh rằng tín hiệu DT về cơ bản chỉ là một chuỗi các số. Không cần phải suy nghĩ trong miền riêng biệt và chắc chắn không cần phải hình dung nó.

Do đó, tín hiệu DT được vẽ như một chuỗi các thanh dọc. Một âm mưu thân cây:

Âm mưu các tín hiệu có giá trị phức tạp

Bây giờ hãy xem xét tín hiệu CT có giá trị phức tạp:
Vẽ một tín hiệu như thể đó là một tín hiệu có giá trị thực sự dẫn đến một cảnh báo Python rằng các số phức được chuyển thành thật bằng cách loại bỏ các phần tưởng tượng. Để xem mọi thứ chúng ta phải vẽ cả phần thực và tưởng tượng của tín hiệu.Thay vì vẽ phần thực tế và tưởng tượng của tín hiệu phức tạp, chúng ta cũng có thể vẽ đồ thị cường độ và góc của các giá trị phức tạp.
Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?

Lưu ý rằng cả hai ô của tín hiệu phức tạp là tương đương. Cả hai đều đại diện cho cùng một tín hiệu. Cũng lưu ý hành vi dường như kỳ lạ của biểu đồ pha (góc). Nó trông khá không liên tục. Nhưng nó thực sự không phải vì pha nhảy từ +180 độ lên -180 độ và đó tất nhiên là cùng một góc! Hiện tượng này sẽ được nhìn thấy khá nhiều khi vẽ giai đoạn của các tín hiệu và chức năng phức tạp. Nó được gọi là bọc pha. Nếu chúng ta cho phép các góc bên ngoài phạm vi từ -180 đến +180, chúng ta có thể có được một đường thẳng hoàn toàn (làm chỉ được gọi là giải nén pha).2. Step function **

Một vài chức năng đặc biệt

Trong DSP, chúng tôi sử dụng một số chức năng đặc biệt:
Vẽ một tín hiệu như thể đó là một tín hiệu có giá trị thực sự dẫn đến một cảnh báo Python rằng các số phức được chuyển thành thật bằng cách loại bỏ các phần tưởng tượng. Để xem mọi thứ chúng ta phải vẽ cả phần thực và tưởng tượng của tín hiệu.Thay vì vẽ phần thực tế và tưởng tượng của tín hiệu phức tạp, chúng ta cũng có thể vẽ đồ thị cường độ và góc của các giá trị phức tạp.
Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?

Lưu ý rằng cả hai ô của tín hiệu phức tạp là tương đương. Cả hai đều đại diện cho cùng một tín hiệu. Cũng lưu ý hành vi dường như kỳ lạ của biểu đồ pha (góc). Nó trông khá không liên tục. Nhưng nó thực sự không phải vì pha nhảy từ +180 độ lên -180 độ và đó tất nhiên là cùng một góc! Hiện tượng này sẽ được nhìn thấy khá nhiều khi vẽ giai đoạn của các tín hiệu và chức năng phức tạp. Nó được gọi là bọc pha. Nếu chúng ta cho phép các góc bên ngoài phạm vi từ -180 đến +180, chúng ta có thể có được một đường thẳng hoàn toàn (làm chỉ được gọi là giải nén pha).

Một vài chức năng đặc biệt

Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
. The DT pulse is written as
Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
.

Trong DSP, chúng tôi sử dụng một số chức năng đặc biệt:

Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
. It is mathematically defined with the sifting

property:

Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?

1. Tín hiệu không đổi

Hàm liên tục

Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?

CT

Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
but still the total area under the function remains 1. In a sloppy way we may define:

Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?

Dt

** 2. Chức năng bước **

Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
is plotted as:

n = np.arange(10);
x = np.zeros_like(n);
x[2]=3;
plt.vlines(n,0,x,'b');
plt.ylim(-1,4);
plt.plot(n,0*n, 'b');
#@savefig pulseplot.png
plt.show();

(Mã nguồn, PNG, HIRES.PNG, PDF)

Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?

Hàm bước giống như một công tắc đèn được bật tại t = 0.

Chức năng bước
Vẽ một tín hiệu như thể đó là một tín hiệu có giá trị thực sự dẫn đến một cảnh báo Python rằng các số phức được chuyển thành thật bằng cách loại bỏ các phần tưởng tượng. Để xem mọi thứ chúng ta phải vẽ cả phần thực và tưởng tượng của tín hiệu.Thay vì vẽ phần thực tế và tưởng tượng của tín hiệu phức tạp, chúng ta cũng có thể vẽ đồ thị cường độ và góc của các giá trị phức tạp.
Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?
Hướng dẫn how do you plot a digital signal in python? - làm thế nào để bạn vẽ một tín hiệu kỹ thuật số trong python?

Lưu ý rằng cả hai ô của tín hiệu phức tạp là tương đương. Cả hai đều đại diện cho cùng một tín hiệu. Cũng lưu ý hành vi dường như kỳ lạ của biểu đồ pha (góc). Nó trông khá không liên tục. Nhưng nó thực sự không phải vì pha nhảy từ +180 độ lên -180 độ và đó tất nhiên là cùng một góc! Hiện tượng này sẽ được nhìn thấy khá nhiều khi vẽ giai đoạn của các tín hiệu và chức năng phức tạp. Nó được gọi là bọc pha. Nếu chúng ta cho phép các góc bên ngoài phạm vi từ -180 đến +180, chúng ta có thể có được một đường thẳng hoàn toàn (làm chỉ được gọi là giải nén pha).

Một vài chức năng đặc biệt

  • Trong DSP, chúng tôi sử dụng một số chức năng đặc biệt:
  • 1. Tín hiệu không đổi

Hàm liên tục

Làm thế nào để bạn vẽ một tín hiệu trong Python?

Matplotlib với Python..
Đặt kích thước hình và điều chỉnh phần đệm giữa và xung quanh các ô phụ ..
Nhận giá trị hạt giống ngẫu nhiên ..
Khởi tạo DT cho khoảng thời gian lấy mẫu và tìm tần số lấy mẫu ..
Tạo các điểm dữ liệu ngẫu nhiên cho T ..
Để tạo tiếng ồn, nhận NSE, R, CNSE và S bằng cách sử dụng Numpy ..

Làm thế nào để bạn vẽ dữ liệu trong Python?

Dữ liệu cũng có thể được vẽ bằng cách gọi trực tiếp chức năng cốt truyện matplotlib ...
Lệnh là plt.plot (x, y).
Màu sắc và định dạng của các điểm đánh dấu cũng có thể được chỉ định là một đối số tùy chọn bổ sung, ví dụ: B- là một đường màu xanh lam, G-- là một đường nét đứt màu xanh lá cây ..

Cốt truyện () làm gì trong Python?

Hàm lô () được sử dụng để vẽ các điểm (điểm đánh dấu) trong sơ đồ.Theo mặc định, hàm lô () vẽ một dòng từ điểm này sang điểm khác.Hàm lấy các tham số để chỉ định các điểm trong sơ đồ.draw points (markers) in a diagram. By default, the plot() function draws a line from point to point. The function takes parameters for specifying points in the diagram.

Làm thế nào đồ thị được vẽ trong Python?

Đồ thị trong Python có thể được vẽ bằng cách sử dụng thư viện matplotlib.Thư viện Matplotlib chủ yếu được sử dụng để vẽ đồ thị.Bạn cần cài đặt matplotlib trước khi sử dụng nó để vẽ đồ thị.Matplotlib được sử dụng để vẽ một dòng đơn giản, bargraph, biểu đồ và piecharts.by using the Matplotlib library. Matplotlib library is mainly used for graph plotting. You need to install matplotlib before using it to plot graphs. Matplotlib is used to draw a simple line, bargraphs, histograms and piecharts.