wav2lip / learn_fft.py
zhangbo2008's picture
Upload folder using huggingface_hub
6a20b7b
raw
history blame
No virus
887 Bytes
import numpy as np
from scipy.fftpack import fft
import matplotlib.pyplot as plt
Fs =10e3 # 采样频率
Fs=int(Fs)
f1 =390 # 信号频率1
f2 = 2e3 # 信号频率2
t=np.linspace(0,1,Fs) # 生成 1s 的实践序列
noise1 = np.random.random(Fs) # 0-1 之间的随机噪声
noise2 = np.random.normal(1,10,Fs)
#产生的是一个10e3的高斯噪声点数组集合(均值为:1,标准差:10)
y=2*np.sin(2*np.pi*f1*t)+5*np.sin(2*np.pi*f2*t)+noise2
def FFT (Fs,data):
L = len (data) # 信号长度
N =np.power(2,np.ceil(np.log2(L)))
N=int(N) # 下一个最近二次幂
FFT_y1 = np.abs(fft(data,N))/L*2 # N点FFT 变化,但处于信号长度
Fre = np.arange(int(N/2))*Fs/N # 频率坐标
FFT_y1 = FFT_y1[range(int(N/2))] # 取一半
return Fre, FFT_y1
Fre, FFT_y1 = FFT(Fs,y)
print(1)