步骤二:信号抽样和重构(
tu1_3_sinsmpling.py
)
import numpy as np
import pylab as pl
import scipy.signal as signal
import matplotlib.pyplot as plt
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei'] #
图形中正确显示汉字
import matplotlib
matplotlib.rcParams['axes.unicode_minus']=False #
坐标轴正确显示负数
#
产生
50Hz
的模拟信号
#
较高的采样频率
2000Hz
模拟
f0 = 50
# 50Hz
Fs = 2000 #
模拟信号采样频率为
2000Hz
t = np.arange(-0.1, 0.1, 1/Fs) #
产生
-0.1s-0.1s
范围的信号
xat = np.sin(2*np.pi*f0*t + np.pi/8) #
产生
f0=50Hz
信号
#
抽样频率
200Hz
产生信号
#
方法一:用函数重新生成
#
方法二:对步骤一模拟信号进行抽样
fs = 200 # sampling rate 200Hz
Ts = 1/fs # sampling perido
n = np.arange(-0.1/Ts, 0.1/Ts) #
对应的时间轴
# xn = np.sin(2*np.pi*f0/fs*n + np.pi/8) #
方法一
tmpn = np.arange(-0.1*Fs, 0.1*Fs, Fs/fs) #
方法二抽样
tmpn = list(map(int, tmpn+200)) #
矩阵下标平移
xn = xat[tmpn] #
抽取对应采样点的数据
#
利用采样重构公式进行重构
xat = []
xatt = 0
for ti in t:
for nj in n:
#xskt = np.cos(2*np.pi*f0/fs*nj + pi/8);
xskt = xn[int(nj+20)] #
下标移位