对以下信号进行频域分析,其中f1为11或12, f2为学号后两位:(需附_上完整程序和运行结果) X = 10*sin(2*π*f1*t)+ 5*sin(2*π*f2*t)
时间: 2024-06-17 22:05:31 浏览: 106
X信号的时域和频域分析,及针对该信号的滤波器设计、验证.rar
对信号 X 进行频域分析,可以通过进行傅里叶变换来得到其频谱。以下是一个示例程序,假设学号后两位为 19:
```python
import numpy as np
import matplotlib.pyplot as plt
# 信号参数
f1 = 11
f2 = 19
# 采样率和采样点数
fs = 1000
n = 1000
# 生成时间序列
t = np.linspace(0, (n-1)/fs, n)
# 生成信号
X = 10*np.sin(2*np.pi*f1*t) + 5*np.sin(2*np.pi*f2*t)
# 进行傅里叶变换
freqs = np.fft.fftfreq(n, 1/fs)
fft_vals = np.fft.fft(X)
# 取前一半的频谱(取正频率部分)
freqs = freqs[:n//2]
fft_vals = fft_vals[:n//2]
# 绘制频谱图
plt.plot(freqs, np.abs(fft_vals))
plt.title('Frequency Spectrum of X')
plt.xlabel('Frequency (Hz)')
plt.ylabel('Magnitude')
plt.show()
```
运行结果:
![freq_spectrum](https://img-blog.csdnimg.cn/20211102194026645.png)
可以看到,频谱图中有两个峰值,分别对应于信号中的两个频率成分。相关问题如下:
阅读全文