周期信号的傅里叶级数表示

基本概念

  • 复指数集包括连续时间的estest 和离散时间信号的zNzN信号,其中ssz都是复数.一般来说,ssz可以是任意复数,但傅里叶分析仅限于这些变量的特殊形式.
    • 在连续时间情况下仅涉及ss的纯虚部值,即s=jw,因此仅考虑ejwtejwt形式的复指数.
    • 在离散时间情况下仅限于单位振幅的zz值,即z=ejw,因此仅考虑ejwnejwn形式的复指数.

线性时不变系统对复指数信号的响应

  • 在研究线性时不变系统时,将信号表示为基本信号的线性组合是有利的,这些基本信号应该具有以下两个性质.

    • 有这些基本信号能够构成相当广泛的一类有用信号
    • 线性时不变系统对每一个基本信号的响应应该十分简单,以使系统对任意输入信号的响应有一个很方便的表达式
  • 连续和离散时间信号集都具有上述两个性质,即连续时间的estest 和离散时间信号的zNzN信号,其中ssz都是复数.

  • 在研究线性时不变系统时,复指数信号的重要性在于这样一个事实.即一个线性时不变系统对复指数信号的响应也是同样一个复指数信号,不同的只是幅度上的变换,即
    estH(s)estzNH(z)zN(1)(1)est→H(s)estzN→H(z)zN

    其中H(s)H(s)H(z))H(z))是一个复振幅因子,一般来说是复变量ssz的函数.

对公式(1)的证明如下

  • 连续时间系统,其单位冲激响应为h(t)h(t),输入x(t)=estx(t)=est
    y(t)=+h(τ)x(tτ)dτ=+h(τ)es(tτ)dτ=est+h(τ)esτdτ(1)(2)(3)(1)y(t)=∫−∞+∞h(τ)x(t−τ)dτ(2)=∫−∞+∞h(τ)es(t−τ)dτ(3)=est∫−∞+∞h(τ)e−sτdτ

    H(s)=+h(τ)esτdτH(s)=∫−∞+∞h(τ)e−sτdτ ,假定H(s)H(s)收敛,于是系统对estest的响应为
    y(t)=H(s)esty(t)=H(s)est

    其中H(s)H(s)是一个常复数,其值决定于ss.
  • 离散时间系统,其单位冲激响应为h(n),输入x(n)=znx(n)=zn
    y(n)=k=+h(k)x(nk)=k=+h(k)znk=k=+znh(k)zk(4)(5)(6)(4)y(n)=∑k=−∞+∞h(k)x(n−k)(5)=∑k=−∞+∞h(k)zn−k(6)=∑k=−∞+∞znh(k)z−k

    H(z)=+k=h(k)zkdτH(z)=∑k=−∞+∞h(k)z−kdτ ,假定H(z)H(z)收敛,于是系统对znzn的响应为
    y(n)=H(z)zny(n)=H(z)zn

    其中H(z)H(z)是一个常数,其值决定于zz.

连续时间傅里叶级数

  • 连续时间周期信号的傅里叶级数表示
    x(t)=k=+akejkw0t=k=+akejk(2π/T)tak=1TTx(t)ejkw0tdt=1TTx(t)ejk(2π/T)tdt

    • 傅里叶级数的收敛
      • 问题引出:对于任何周期信号,总能求得一组akak.然而,在某些情况下,akak求得的值可能是无限大,导致求得的x(t)x(t)不收敛.
      • 对于大部分周期信号而言不存在不收敛问题. 如果一个周期信号满足如下条件,就能保证该信号可用傅里叶级数表示.
        • 在任何周期内,x(t)x(t)必须绝对可积,即
          T|x(t)|<∫T|x(t)|<∞

          这一条件保证了每一系数akak都是有限值,
        • 在任意区间内,x(t)x(t)具有有限个起伏变化;也就是说,在任何单个周期内,x(t)x(t)的最大值和最小值的数目有限.
        • x(t)x(t)的任何有限区间内,只有有限个不连续点,而且在这些不连续点上,函数是有限值.

连续时间傅里叶级数性质

这里写图片描述

部分性质证明

  • 时移性质
    ak=1TTx(t)ejkw0tdt=1TTx(t)ejk(2π/T)tdtak=1T∫Tx(t)e−jkw0tdt=1T∫Tx(t)e−jk(2π/T)tdt

    bk=1TTx(tt0)ejkw0tdt=1TTx(τ)ejk(2π/T)(τ+t0)dττ=tt0=1TTx(τ)ejk(2π/T)τdτ ejk(2π/T)t0=ejk(2π/T)t0 ak(7)(8)(9)(10)(7)bk=1T∫Tx(t−t0)e−jkw0tdt(8)=1T∫Tx(τ)e−jk(2π/T)(τ+t0)dτ⇐τ=t−t0(9)=1T∫Tx(τ)e−jk(2π/T)τdτ ⋅e−jk(2π/T)t0(10)=e−jk(2π/T)t0 ⋅ak
  • 时域相乘 待证明,未完成
    这里写图片描述
    假设x(t)x(t),y(t)y(t)是两个周期为T的周期信号,则乘积x(t)y(t)x(t)y(t)也是周期信号,周期为T.
    x(t)aky(t)bkx(t)y(t)hkx(t)↔aky(t)↔bkx(t)y(t)↔hk

    ak=1TTx(t)ejkw0tdt=1TTx(t)ejk(2π/T)tdtbk=1TTy(t)ejkw0tdt=1TTy(t)ejk(2π/T)tdtx(t)=k=+akejkw0t=k=+akejk(2π/T)ty(t)=k=+bkejkw0t=k=+bkejk(2π/T)tak=1T∫Tx(t)e−jkw0tdt=1T∫Tx(t)e−jk(2π/T)tdtbk=1T∫Ty(t)e−jkw0tdt=1T∫Ty(t)e−jk(2π/T)tdtx(t)=∑k=−∞+∞akejkw0t=∑k=−∞+∞akejk(2π/T)ty(t)=∑k=−∞+∞bkejkw0t=∑k=−∞+∞bkejk(2π/T)t

    hk=1TTx(t)y(t)ejkw0tdt=1TTm=+amejmw0t n=+bnejnw0t ejkw0tdt=1TTm=+n=+ambnej(m+n)w0t ejkw0tdt=1TTm=+n=+ambnej(m+nk)w0t}dt=1TTm=+n=+ambnej(m+nk)w0t}dt(11)(12)(13)(14)(15)(11)hk=1T∫Tx(t)y(t)e−jkw0tdt(12)=1T∫T∑m=−∞+∞amejmw0t ⋅∑n=−∞+∞bnejnw0t ⋅e−jkw0tdt(13)=1T∫T∑m=−∞+∞∑n=−∞+∞ambnej(m+n)w0t ⋅e−jkw0tdt(14)=1T∫T∑m=−∞+∞∑n=−∞+∞ambnej(m+n−k)w0t}dt(15)=1T∫T∑m=−∞+∞∑n=−∞+∞ambnej(m+n−k)w0t}dt

    • 时域卷积
      这里写图片描述
### 周期信号傅里叶级数表示方法 周期信号可以通过傅里叶级数(Fourier Series)进行表示,这是一种将周期性函数分解为一系列正弦和余弦函数的方法。其核心思想是:任意一个满足一定条件的周期信号都可以用一组正弦和余弦函数的加权和来表示。这组三角函数的频率是原始信号基频的整数倍。 #### 数学表达式 连续时间周期信号 $ f(t) $ 的 **傅里三角级数** 展开形式如下: $$ f(t) = a_0 + \sum_{n=1}^{\infty} \left( a_n \cos(n\omega_0 t) + b_n \sin(n\omega_0 t) \right) $$ 其中: - $ \omega_0 = \frac{2\pi}{T} $ 是基波角频率; - $ T $ 是信号周期; - $ a_0, a_n, b_n $ 是傅里系数,分别由以下公式计算: $$ a_0 = \frac{1}{T} \int_{t_0}^{t_0+T} f(t) dt $$ $$ a_n = \frac{2}{T} \int_{t_0}^{t_0+T} f(t) \cos(n\omega_0 t) dt $$ $$ b_n = \frac{2}{T} \int_{t_0}^{t_0+T} f(t) \sin(n\omega_0 t) dt $$ 在数域上,通过欧拉恒等式 $ e^{j\omega t} = \cos(\omega t) + j\sin(\omega t) $,可以将三角函数形式转换为 **指数形式傅里叶级数**: $$ f(t) = \sum_{n=-\infty}^{\infty} c_n e^{jn\omega_0 t} $$ 其中系数 $ c_n $ 为: $$ c_n = \frac{1}{T} \int_{t_0}^{t_0+T} f(t) e^{-jn\omega_0 t} dt $$ #### 原理分析 傅里叶级数的核心原理在于利用正交函数系对周期信号进行展开。具体来说,正弦和余弦函数构成了一组正交基函数,在一定的条件下,任何周期信号都可以在这组正交基下投影,从而得到相应的傅里系数。 从物理意义上来看: - 每个傅里分量代表了该频率下的幅度和相位信息; - 低阶项对应于信号的主要能量分布; - 高阶项则用于更精确地逼近信号的细节部分。 此外,傅里叶级数也揭示了时域与频域之间的关系。在时域中,信号表现为随时间变化的波形;而在频域中,则表现为不同频率成分的幅度和相位分布。这种“频谱图”能够直观反映信号的能量集中在哪些频率上,便于进一步的滤波、压缩或特征提取等操作[^3]。 ### 示例代码:傅里叶级数近似方波信号 ```python import numpy as np import matplotlib.pyplot as plt def fourier_series_square_wave(t, N): result = 0.0 for n in range(1, N+1, 2): # 只取奇数次谐波 result += (4 / (np.pi * n)) * np.sin(n * t) return result # 时间轴 t = np.linspace(-np.pi, np.pi, 1000) # 使用前100项傅里叶级数近似 approximation = fourier_series_square_wave(t, 100) # 绘制结果 plt.plot(t, approximation, label='Fourier Approximation') plt.title('Fourier Series Approximation of Square Wave') plt.xlabel('Time') plt.ylabel('Amplitude') plt.grid(True) plt.legend() plt.show() ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值