目的
已知信号
在[0, 10] seconds内的波形
请将其调幅后再输出
例子
自己剪一段音频, 然后调制再解调一下
from util_pkg import *
from sympy.abc import x, y, z, t, a, b, c, w, s
from sklearn import datasets
import pywt
import re
import struct
from scipy.io import wavfile
# 全局配置
fs = 24000
# 原始信号
t1 = np.arange(0, 10, 1/fs)
# xt = np.sin(2 * np.pi * 5 * t1)
freq = 50
freq, xt = wavfile.read('fmt.wav')
xt = sig.resample(xt, t1.size)
#
Cwct = np.cos(2 * np.pi * freq * t1)
Swct = np.sin(2 * np.pi * freq * t1)
yt = (xt + 1) * np.sin(2 * np.pi * 20000 * t1)
# 做一个Butter滤波器
b,a = sig.butter(8, freq / fs, btype='low')
#
r1 = np.power(sig.filtfilt(b, a, yt * Cwct, method='gust'), 2)
r2 = np.power(sig.filtfilt(b, a, yt * Swct, method='gust'), 2)
rt = np.sqrt(r1 + r2) * 4 - 1
#
figure()
plot(rt)
show()
上面是用ffmpeg画出来的结果的音频频谱图ffplay -i dst.wav