傅里叶变换的相关函数(笔记02)

 

三角函数的标准式:

y=Acos(ωx+θ)+ky=Acos⁡(ωx+θ)+k

AA代表振幅,函数周期是2πw2πw,频率是周期的倒数w2πw2π,θθ是函数初相位,kk在信号处理中称为直流分量。这个信号在频域就是一条竖线。

我们再来假设有一个比较复杂的时域函数y=f(t)y=f(t),根据傅里叶的理论,任何一个周期函数可以被分解为一系列振幅A,频率ωω或初相位θθ正弦函数的叠加

y=A1sin(ω1t+θ1)+A2sin(ω2t+θ2)+A3sin(ω3t+θ3)

傅里叶变换可以把一个比较复杂的函数转换为多个简单函数的叠加,将时域(即时间域)上的信号转变为频域(即频率域)上的信号,看问题的角度也从时间域转到了频率域,因此在时域中某些不好处理的地方,在频域就可以较为简单的处理,这就可以大量减少处理信号计算量。信号经过傅里叶变换后,可以得到频域的幅度谱以及相位谱,信号的幅度谱相位谱是信号傅里叶变换后频谱的两个属性。

假设我们的输入信号的函数是:

 

S=0.2+0.7∗cos(2π∗50t+20/180π)+0.2∗cos(2π∗100t+70/180π)

直流分量是0.2,以及两个余弦函数的叠加,余弦函数的幅值分别为0.7和0.2,频率分别为50和100,初相位分别为20度和70度。

freqs = np.fft.fftfreq(采样数量, 采样周期)  通过采样数与采样周期得到时域序列经过傅里叶变换后的频率序列

np.fft.fft(原序列)  原函数值的序列经过快速傅里叶变换得到一个复数数组,复数的模代表的是振幅,复数的辐角代表初相位

np.fft.ifft(复数序列)  复数数组 经过逆向傅里叶变换得到合成的函数值数组

通过上面的基本知识进行python编程练习:


import matplotlib.pyplot as plt
import numpy as np
import numpy.fft as fft
import math

plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示符号

Fs = 1000;  # 采样频率
T = 1 / Fs;  # 采样周期
L = 1000;  # 信号长度
t = [i * T for i in range(L)]#获取时间序列
t = np.array(t)
#原始信号
S = 0.2 + 0.7 * np.cos(2 * np.pi * 50 * t + 20 / 180 * np.pi) + 0.2 * np.cos(2 * np.pi * 100 * t + 70 / 180 * np.pi);

#进行傅里叶变换获取振幅和相位角
complex_array = fft.fft(S)
print(complex_array.shape)  # (1000,)
print(complex_array.dtype)  # complex128
print(complex_array[1])  # (-2.360174309695419e-14+2.3825789764340993e-13j)

#################################
plt.subplot(311)##把画布分成3*1的格子,把Y1放在第一格
plt.grid(linestyle=':')
#获取下标1-51的数据
plt.plot(1000 * t[1:51], S[1:51], label='S')  # y是1000个相加后的正弦序列
plt.xlabel("t(毫秒)")
plt.ylabel("S(t)幅值")
plt.title("叠加信号图")
plt.legend()

###################################
plt.subplot(312)#把画布分成3*1的格子,把Y2放在第二格
#进行傅里叶的逆变换
S_ifft = fft.ifft(complex_array)
# S_new是ifft变换后的序列
plt.plot(1000 * t[1:51], S_ifft[1:51], label='S_ifft', color='orangered')
plt.xlabel("t(毫秒)")
plt.ylabel("S_ifft(t)幅值")
plt.title("ifft变换图")
plt.grid(linestyle=':')
plt.legend()

###################################
# 得到分解波的频率序列
freqs = fft.fftfreq(t.size, t[1] - t[0])
# 复数的模为信号的振幅(能量大小)
pows = np.abs(complex_array)
#分别获取复数的实部和虚部
sita = math.atan2(np.real(complex_array),np.imag(complex_array))
print(sita)

plt.subplot(313)
plt.title('FFT变换,频谱图')
plt.xlabel('Frequency 频率')
plt.ylabel('Power 功率')
plt.tick_params(labelsize=10)
plt.grid(linestyle=':')
plt.plot(freqs[freqs > 0], pows[freqs > 0], c='orangered', label='Frequency')
plt.legend()
plt.tight_layout()
plt.show()

效果展示:

频率、幅值、初相角获取

# 得到分解波的频率序列
freqs = fft.fftfreq(t.size, t[1] - t[0])
# 复数的模为信号的振幅(能量大小)
pows = np.abs(complex_array)
#分别获取复数的实部和虚部,初相角
sita = math.atan2(np.real(complex_array),np.imag(complex_array))

 

 

 

 

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《斯坦福大学傅里叶变换及应用笔记.pdf》是一本关于傅立叶变换的学术资料。傅里叶变换是一种数学工具,用于将函数在一个时间或频率域内表示为另一个域中的函数。它可以将一个复杂的信号分解成一系列简单的波的叠加,从而方便我们进行信号处理和分析。 傅立叶变换的应用十分广泛。在信号处理领域,傅立叶变换被用于频域滤波、频谱分析以及频域图像处理等方面。在通信领域,傅立叶变换可以用于信号的传输与接收,例如OFDM调制技术。在图像处理方面,傅立叶变换可以用于图像的压缩、滤波等操作。此外,傅立叶变换也被广泛应用于物理学、工程学、经济学等多个领域的研究和实践中。 《斯坦福大学傅里叶变换及应用笔记.pdf》可能包含了傅立叶变换的基本原理和性质,如时域和频域的关系、傅立叶级数展开、傅立叶变换的性质等。此外,它可能还介绍了傅立叶变换的应用案例和实际问题的求解方法。 对于学习者而言,《斯坦福大学傅里叶变换及应用笔记.pdf》可以作为学习傅立叶变换的参考资料。通过研究其中的理论知识和实例,学习者可以深入了解傅立叶变换的原理和应用,并且能够应用傅立叶变换解决相关问题。对于研究者和工程师而言,这本笔记可以帮助他们理解和应用傅立叶变换,从而提高信号处理和通信等领域的工作效率和质量。 综上所述,《斯坦福大学傅里叶变换及应用笔记.pdf》是一本介绍傅立叶变换及其应用的学术资料,对于理解和应用傅立叶变换具有重要意义。 ### 回答2: 《斯坦福大学傅里叶变换及应用笔记.pdf》是一份关于傅里叶变换及其应用的学习笔记傅里叶变换是一种数学工具,用于将一个函数表示为一系列正弦和余弦函数的和。它在信号处理、图像处理、通信等领域具有广泛的应用。 笔记首先介绍了傅里叶级数,即将周期函数分解成一系列离散的正弦和余弦函数。然后,笔记介绍了傅里叶变换的连续版本,用于将非周期函数表示为一系列连续的正弦和余弦函数的积分。傅里叶变换具有线性性质和频域能量守恒的特点。 在笔记的后续部分,作者详细介绍了傅里叶变换的性质和定理,包括频谱的平移、对称性、卷积定理等。这些定理不仅对于理解傅里叶变换的本质和特性很重要,也为实际应用提供了便利。 此外,笔记还涵盖了傅里叶变换的离散版本,即离散傅里叶变换(DFT)和快速傅里叶变换(FFT)。DFT用于将离散信号表示为离散正弦和余弦函数的和,而FFT则是一种高效计算DFT的算法。 最后,笔记还介绍了傅里叶变换在信号处理和图像处理中的一些应用,如滤波、频谱分析和图像压缩。这些应用广泛应用于音频处理、图像处理和通信系统中,对于理解和应用傅里叶变换具有重要意义。 总的来说,《斯坦福大学傅里叶变换及应用笔记.pdf》是一份非常有价值的学习资料,涵盖了傅里叶变换的基本理论和应用,并通过清晰的讲解和例子帮助读者更好地理解和应用傅里叶变换。 ### 回答3: 《斯坦福大学傅里叶变换及应用笔记.pdf》是一本关于傅里叶变换及其应用的学术笔记傅里叶变换是一种重要的数学工具,可以将一个函数在时间(或空间)域中的表示转换为频率域中的表示。这个变换常常被用于信号处理、图像处理、通信系统和物理学等领域。 这本笔记首先介绍了傅里叶级数,它是傅里叶变换的基础。傅里叶级数可以将周期函数表示为一系列正弦和余弦函数的和,通过调整不同频率分量的幅度和相位,可以精确地重建原始函数。 接着,笔记详细介绍了傅里叶变换,这是连续时间信号的频谱表示。它通过将原始信号分解成不同频率的正弦和余弦函数的和,揭示了信号在不同频率上的能量分布。傅里叶变换在音频信号处理、图像处理和信号压缩等方面有广泛的应用。 此外,笔记还介绍了快速傅里叶变换(FFT),这是一种高效计算傅里叶变换的算法。FFT在数字信号处理中被广泛使用,可以大大提高计算速度,特别是对于大规模信号处理问题。 此外,笔记还探讨了一些傅里叶变换的应用,例如滤波、谱分析和频率调制。通过对信号的分析和处理,可以提取出信号中具有特定频率的成分,对于提高信号质量和去除噪声非常有用。 总的来说,《斯坦福大学傅里叶变换及应用笔记.pdf》是一本全面而深入的关于傅里叶变换及其应用的资料,对于学习和理解傅里叶变换以及应用背后的原理和技术都有很大帮助。无论是在学术研究还是工程实践中,都是一本非常有价值的参考书。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值