给定模拟信号, ,式中A=444.128,=50π,=50πrad/s,观测时间选。选取三种采样频率,=1kHz,300Hz,200Hz。。编写实验程序,计算、和的幅度特性,并绘图显示
时间: 2024-06-13 16:08:35 浏览: 150
根据题目要求,我们需要编写实验程序,计算模拟信号x(t)在三种不同采样频率下的幅度特性,并绘图显示。具体步骤如下:
1. 定义模拟信号x(t)的表达式,其中A=444.128,a=50π,w0=50πrad/s。
2. 定义采样频率fs1=1kHz,fs2=300Hz,fs3=200Hz。
3. 计算每种采样频率下的采样间隔Ts1=1/fs1,Ts2=1/fs2,Ts3=1/fs3。
4. 生成每种采样频率下的采样序列n1,n2,n3。
5. 计算每种采样频率下的采样信号x1(n),x2(n),x3(n)。
6. 对每种采样信号进行DFT变换,得到频域采样信号X1(k),X2(k),X3(k)。
7. 计算每种采样频率下的幅度谱Mag1,Mag2,Mag3。
8. 绘制每种采样频率下的幅度特性曲线。
下面是Python代码实现:
```python
import numpy as np
import matplotlib.pyplot as plt
# 定义模拟信号x(t)的表达式
A = 444.128
a = 50 * np.pi
w0 = 50 * np.pi
t = np.linspace(0, 1, 1000)
x_t = A * np.sin(a * t + w0)
# 定义采样频率
fs1 = 1000
fs2 = 300
fs3 = 200
# 计算采样间隔
Ts1 = 1 / fs1
Ts2 = 1 / fs2
Ts3 = 1 / fs3
# 生成采样序列
n1 = np.arange(0, 1000, Ts1)
n2 = np.arange(0, 1000, Ts2)
n3 = np.arange(0, 1000, Ts3)
# 计算采样信号
x1_n = A * np.sin(a * n1 * Ts1 + w0)
x2_n = A * np.sin(a * n2 * Ts2 + w0)
x3_n = A * np.sin(a * n3 * Ts3 + w0)
# 计算频域采样信号
X1_k = np.fft.fft(x1_n)
X2_k = np.fft.fft(x2_n)
X3_k = np.fft.fft(x3_n)
# 计算幅度谱
Mag1 = np.abs(X1_k)
Mag2 = np.abs(X2_k)
Mag3 = np.abs(X3_k)
# 绘制幅度特性曲线
plt.figure(figsize=(10, 8))
plt.subplot(3, 1, 1)
plt.plot(np.arange(0, 1000), Mag1)
plt.title('fs=1kHz')
plt.subplot(3, 1, 2)
plt.plot(np.arange(0, 1000, 3.33), Mag2)
plt.title('fs=300Hz')
plt.subplot(3, 1, 3)
plt.plot(np.arange(0, 1000, 5), Mag3)
plt.title('fs=200Hz')
plt.show()
```
阅读全文