一、概念

1. 什么是频谱?

  • 频谱描述了信号在不同频率上的能量分布
  • 对于一个周期信号,其频谱通常是离散的,由一系列离散的频率成分组成

2. 周期信号与傅里叶级数

  • 周期信号可以用傅里叶级数展开,表示为无数个正弦和余弦(或指数形式)的加权和
  • 这些正弦和余弦对应着信号的频率成分,其幅度和相位由傅里叶系数决定

二、周期信号的频谱分析

1. 傅里叶级数复指数形式

对于周期为 T 的信号 x(t),其傅里叶级数的复指数形式为:
                        ​​​​​​​        

其中:

  • ω0=2π/T 是信号的基频角速度。
    • cn 是复数形式的傅里叶系数,计算公式为:
      ​​​​​​​​​​​​​​        ​​​​​​​        ​​​​​​​  

2. 频谱的表示

  • 幅度谱(Amplitude Spectrum):表示各频率分量的幅度,∣cn∣
  • 相位谱(Phase Spectrum):表示各频率分量的相位,∠cn

三、周期矩形脉冲的频谱

1. 周期矩形脉冲信号的定义

考虑一个周期为 T 的矩形脉冲信号 x(t),在每个周期内,脉冲宽度为 τ(τ<T),幅值为 A:

  • 在 −τ/2<t<τ/2 时,x(t)=A
  • 在其他时间,x(t)=0

示意图:

A  ──┐      ┌──
     │      │
     │      │
0 ───┼──────┼─────
    -τ/2    τ/2

2. 计算傅里叶系数 cn
        ​​​​​​​        

利用欧拉公式:
        ​​​​​​​        ​​​​​​​        ​​​​​​​        

所以:
        ​​​​​​​        ​​​​​​​ 

进一步整理,定义 Dirichlet 核心函数(归一化的 sinc 函数):
        ​​​​​​​        ​​​​​​​        ​​​​​​​        

因此:
        ​​​​​​​        ​​​​​​​        ​​​​​​​        

3. 幅度谱和相位谱

  • 幅度谱
            ​​​​​​​        ​​​​​​​        

  • 相位谱

    • 由于 cn 为实数,当 sin⁡(nω0τ/2) 为正时,cn 为正;为负时,cn 为负
    • 因此,相位为 0 或 π

四、代码实现与频谱绘制

为了更直观地理解周期矩形脉冲的频谱,这里使用 Python 编写代码,计算并绘制其幅度谱和相位谱

import numpy as np
import matplotlib.pyplot as plt

# 参数设置
A = 1       # 脉冲幅值
T = 1       # 信号周期
tau = 0.2   # 脉冲宽度(占空比D = tau / T)
N = 20      # 计算的谐波数量

omega0 = 2 * np.pi / T  # 基频角速度
n = np.arange(-N, N+1)  # 谐波次数

# 计算傅里叶系数 c_n
def sinc(x):
    return np.sinc(x / np.pi)  # numpy 的 sinc 函数定义为 sin(πx)/(πx)

cn = A * tau / T * sinc(n * omega0 * tau / 2)

# 计算幅度谱和相位谱
amplitude = np.abs(cn)
phase = np.angle(cn)

# 绘制幅度谱
plt.figure(figsize=(12, 6))
plt.stem(n, amplitude, basefmt=" ")
plt.title('周期矩形脉冲的幅度谱')
plt.xlabel('谐波次数 n')
plt.ylabel('幅度 |cₙ|')
plt.grid(True)
plt.show()

# 绘制相位谱
plt.figure(figsize=(12, 6))
plt.stem(n, phase, basefmt=" ")
plt.title('周期矩形脉冲的相位谱')
plt.xlabel('谐波次数 n')
plt.ylabel('相位 ∠cₙ (弧度)')
plt.grid(True)
plt.show()

解释

  • 参数设置

    • A:矩形脉冲的幅值
    • T:信号的周期
    • tau:脉冲宽度
    • N:计算的谐波数量(正负方向各 N 个,一共 2N + 1 个谐波)
  • 计算傅里叶系数

    • 使用定义的 sinc 函数来计算傅里叶系数 cn
  • 绘制幅度谱和相位谱

    • 使用 plt.stem 函数绘制离散谱线

运行结果

  • 幅度谱:显示了各个谐波分量的幅度,呈现出中心对称的分布,幅度随着谐波次数的增加而衰减
  • 相位谱:相位谱只取 0 或 π,对应于傅里叶系数的正负

幅度图:

相位图:

五、深入理解

1. 占空比对频谱的影响

  • 占空比 D=τT:表示脉冲在一个周期内的持续时间比例
  • 当占空比变化时,频谱的形状也会相应变化
  • 代码修改:可以尝试改变 tau 的值,观察频谱的变化

2. 谐波分量的特性

  • 主瓣和旁瓣:幅度谱的中心部分称为主瓣,远离中心的部分称为旁瓣
  • sinc 函数的性质:主瓣宽度与脉冲宽度成反比,脉冲越窄,主瓣越宽,频谱越宽

3. 时域与频域的关系

  • 时域缩短,频域拉宽:窄脉冲在频域上占据更宽的频带
  • 时域宽化,频域变窄:脉冲宽度增加,频谱集中在低频部分

六、周期信号的功率

1. 功率的定义

对于周期信号,其功率定义为平均功率,即在一个周期内的能量平均值。对于周期信号 x(t) ,其平均功率 P 定义为:
        ​​​​​​​        ​​​​​​​        ​​​​​​​        

其中:

  • T 是信号的周期
  • t0 是时间起点,通常可取任意值,因为周期信号的功率计算与时间起点无关

2. 周期矩形脉冲信号的功率

对于周期矩形脉冲信号,我们可以计算其平均功率。

(1) 周期矩形脉冲信号的表达式

如前所述,周期矩形脉冲信号 x(t) 定义为:

  • 在 −τ/2<t<τ/2 ,x(t)=A
  • 在其他时间,x(t)=0

其中:

  • A 是脉冲幅值
  • τ 是脉冲宽度(持续时间)
  • T 是信号周期,τ<T
(2) 平均功率的计算

根据功率定义,平均功率 P 为:

物理意义

  • 占空比 D=τT 表示脉冲在一个周期内的持续时间比例
  • 因此,平均功率可表示为 P=A²D

3. 时域功率与频域功率的关系(Parseval 定理)

Parseval 定理建立了信号在时域和频域中的功率关系。对于周期信号,其在一个周期内的平均功率等于其傅里叶系数平方的和:
        ​​​​​​​        

cn 是信号的傅里叶系数(后面填坑)

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐