目录

  • 基本概念
  • 复数
  • 傅里叶级数
  • 冲激函数及其取样(筛选)性质
  • 连续单变量函数的傅里叶变换
  • 卷积


基本概念

复数

复数Python pytorch 共轭梯度法 python求复共轭_fft的定义为

Python pytorch 共轭梯度法 python求复共轭_数据挖掘_02

Python pytorch 共轭梯度法 python求复共轭_fft_03为实数,Python pytorch 共轭梯度法 python求复共轭_numpy_04是实部,Python pytorch 共轭梯度法 python求复共轭_numpy_05是虚部,Python pytorch 共轭梯度法 python求复共轭_图像处理_06。复数的共轭表示为Python pytorch 共轭梯度法 python求复共轭_fft_07

Python pytorch 共轭梯度法 python求复共轭_图像处理_08

从几何角度来看,复数可视为平面(称为复平面)上的一个点,其横坐标是实轴,纵坐标是虚轴,也就是说Python pytorch 共轭梯度法 python求复共轭_numpy_09是得平面直角坐标系中的点Python pytorch 共轭梯度法 python求复共轭_图像处理_10

极坐标表示复数

Python pytorch 共轭梯度法 python求复共轭_opencv_11
Python pytorch 共轭梯度法 python求复共轭_numpy_12是从复平面的原点延伸到点Python pytorch 共轭梯度法 python求复共轭_图像处理_10的向量长度,Python pytorch 共轭梯度法 python求复共轭_图像处理_14是该向量与实轴的夹角。

使用欧拉公式
Python pytorch 共轭梯度法 python求复共轭_fft_15

可以给坐极坐标的复数表示为
Python pytorch 共轭梯度法 python求复共轭_numpy_16

复函数:
Python pytorch 共轭梯度法 python求复共轭_fft_17
Python pytorch 共轭梯度法 python求复共轭_numpy_18
幅值是
Python pytorch 共轭梯度法 python求复共轭_图像处理_19

a = np.complex(1 + 2j)
radian = np.arctan2(a.imag, a.real)
radian
1.1071487177940904
degree = np.rad2deg(radian)
degree
63.43494882292201

傅里叶级数

周期为Python pytorch 共轭梯度法 python求复共轭_图像处理_20的连续变量Python pytorch 共轭梯度法 python求复共轭_fft_21的周期函数Python pytorch 共轭梯度法 python求复共轭_opencv_22,可表示为乘以适当系数的正弦函数和余弦函数之和
Python pytorch 共轭梯度法 python求复共轭_fft_23

Python pytorch 共轭梯度法 python求复共轭_fft_24

冲激函数及其取样(筛选)性质

连续变量Python pytorch 共轭梯度法 python求复共轭_fft_21Python pytorch 共轭梯度法 python求复共轭_数据挖掘_26处的单位冲激表示为Python pytorch 共轭梯度法 python求复共轭_opencv_27,定义是
Python pytorch 共轭梯度法 python求复共轭_opencv_28
它被限制为满足恒等式
Python pytorch 共轭梯度法 python求复共轭_numpy_29

自然地,将Python pytorch 共轭梯度法 python求复共轭_fft_21解释为时间时,冲激就可视为幅度无限、持续时间为0、具有单位面积的尖峰信息。冲激具有关于积分的所谓取样性质

Python pytorch 共轭梯度法 python求复共轭_数据挖掘_31

冲激
冲激并不是通常意义上的函数,更准确的名称是分布或广义函数。

任意一点Python pytorch 共轭梯度法 python求复共轭_numpy_32的取样性质为:
Python pytorch 共轭梯度法 python求复共轭_图像处理_33

例如: 若Python pytorch 共轭梯度法 python求复共轭_numpy_34,则使用冲激Python pytorch 共轭梯度法 python求复共轭_数据挖掘_35得到结果Python pytorch 共轭梯度法 python求复共轭_图像处理_36

冲激串KaTeX parse error: \tag works only in display equations

离散冲激定义为
Python pytorch 共轭梯度法 python求复共轭_numpy_37
Python pytorch 共轭梯度法 python求复共轭_图像处理_38
Python pytorch 共轭梯度法 python求复共轭_数据挖掘_39
Python pytorch 共轭梯度法 python求复共轭_opencv_40

def impulse(x, x0):
    return np.piecewise(x, [x==x0, x!=x0], [1, 0])
# 按定义写的,不知道是否正确,如不正确,请指出,感谢,只做展示
x = np.arange(10)
plt.stem(x, impulse(x, 5), )
plt.show()

Python pytorch 共轭梯度法 python求复共轭_图像处理_41

def impulse_serial(x):
    s = np.ones_like(x)
    return s
# 只做展示
x = np.arange(10)
plt.stem(impulse_serial(x))
plt.show()

Python pytorch 共轭梯度法 python求复共轭_numpy_42

连续单变量函数的傅里叶变换

傅里叶变换对

连续变量Python pytorch 共轭梯度法 python求复共轭_fft_21的连续函数Python pytorch 共轭梯度法 python求复共轭_opencv_22的傅里叶变换由Python pytorch 共轭梯度法 python求复共轭_numpy_45表示,定义为
Python pytorch 共轭梯度法 python求复共轭_numpy_46
Python pytorch 共轭梯度法 python求复共轭_numpy_47
所以有
Python pytorch 共轭梯度法 python求复共轭_图像处理_48
反变换:
Python pytorch 共轭梯度法 python求复共轭_opencv_49

通常表示为Python pytorch 共轭梯度法 python求复共轭_fft_50

使用欧拉公式,可以写为
Python pytorch 共轭梯度法 python求复共轭_图像处理_51

傅里叶变换是Python pytorch 共轭梯度法 python求复共轭_opencv_22乘以正弦函数的展开式, 其中正弦函数的频率是由Python pytorch 共轭梯度法 python求复共轭_opencv_53值决定。因此积分后留下的唯一变量是频率,因此,我们说傅里叶变换域是频率域。

盒式函数的傅里叶变换

Python pytorch 共轭梯度法 python求复共轭_数据挖掘_54

最后的结果是Python pytorch 共轭梯度法 python求复共轭_opencv_55函数
Python pytorch 共轭梯度法 python求复共轭_图像处理_56

通常傅里叶变换中包含复数项,这是为了显示变换的幅值(一个实量)的约定。这个幅值称为傅里叶频谱或频谱
Python pytorch 共轭梯度法 python求复共轭_图像处理_57

def box_function(x, w):
    w_2 = w / 2
    y = np.where(x, x > -w_2, 0)
    y = np.where(x < w_2, y, 0)
    return y
import mpl_toolkits.axisartist as axisartist
def setup_axes(fig, rect):
    ax = axisartist.SubplotZero(fig, rect)
    fig.add_axes(ax)
    
    for direction in ["xzero", "yzero"]:
        # adds arrows at the ends of each axis
        ax.axis[direction].set_axisline_style("-|>")

        # adds X and Y-axis from the origin
        ax.axis[direction].set_visible(True)

    for direction in ["left", "right", "bottom", "top"]:
        # hides borders
        ax.axis[direction].set_visible(False)
    
    return ax
# 盒式函数的傅里叶变换
x = np.arange(-5, 5, 0.1)
y = box_function(x, 6)

fig = plt.figure(figsize=(15, 5))
ax_1 = setup_axes(fig, 131)
ax_1.plot(x, y), ax_1.set_title('f(t)', loc='center', y=1.05), ax_1.set_ylim([0, 2]), ax_1.set_yticks([])

f_u = np.sinc(x)
ax_2 = setup_axes(fig, 132)
ax_2.plot(x, f_u), ax_2.set_title('F(u)', loc='center', y=1.05), ax_2.set_yticks([]), #ax_2.set_ylim([-1, 2]),

f_u_absolute = abs(f_u)
ax_3 = setup_axes(fig, 133)
ax_3.plot(x, f_u_absolute), ax_3.set_title('|F(u)|', loc='center', y=1.05), ax_3.set_yticks([]), #ax_3.set_ylim([-1, 2]),

plt.tight_layout()
plt.show()

Python pytorch 共轭梯度法 python求复共轭_fft_58

冲激和冲激串的傅里叶变换

Python pytorch 共轭梯度法 python求复共轭_numpy_59

Python pytorch 共轭梯度法 python求复共轭_fft_60

冲激串的傅里叶变换

Python pytorch 共轭梯度法 python求复共轭_opencv_61

卷积

Python pytorch 共轭梯度法 python求复共轭_图像处理_62

Python pytorch 共轭梯度法 python求复共轭_图像处理_63

  • 傅里叶正变换
    Python pytorch 共轭梯度法 python求复共轭_numpy_64
  • 傅里叶反变换
    Python pytorch 共轭梯度法 python求复共轭_numpy_65