(三)傅里叶定义与离散傅里叶变换(DFT)实用计算过程

一、基础定义:傅里叶级数与离散傅里叶变换(DFT)

1. 傅里叶级数(周期模拟信号)

对周期为T0的模拟信号xa(t),其傅里叶级数展开式为: 对周期为 T0 的模拟信号 x_a(t) ,其傅里叶级数展开式为:T0xa(t)

xa(t)=∑k=−∞∞ckej2πkF0t x_a(t) = \sum_{k=-\infty}^{\infty} c_k e^{j2\pi k F_0 t} xa(t)=k=ckej2πkF0t

  • F0=1/T0:基波频率(单位:Hz);F0 = 1/T0 :基波频率(单位:Hz);F0=1/T0Hz

  • ck=1T0∫T0xa(t)e−j2πkF0tdt c_k = \frac{1}{T_0} \int_{T_0} x_a(t) e^{-j2\pi k F_0 t} dt ck=T01T0xa(t)ej2πkF0tdt

  • 第k次谐波的系数(单位:V,与信号电压单位一致);第 k 次谐波的系数(单位:V,与信号电压单位一致);kV

  • 物理意义:将周期模拟信号分解为不同频率(kF0)的复指数信号(可等效为正弦/余弦信号)的线性组合。 物理意义:将周期模拟信号分解为不同频率( kF_0 )的复指数信号(可等效为正弦 / 余弦信号)的线性组合。kF0/线

2. 离散傅里叶变换(DFT,离散序列)

对长度为 N 的离散序列 x[n](n=0,1,...,N−1) x[n] ( n=0,1,...,N-1 )x[n]n=0,1,...,N1,其 DFT 定义为:

X[k]=∑n=0N−1x[n]e−j2πkn/N(k=0,1,...,N−1) X[k] = \sum_{n=0}^{N-1} x[n] e^{-j2\pi kn/N} \quad (k=0,1,...,N-1) X[k]=n=0N1x[n]ej2πkn/N(k=0,1,...,N1)

  • X[k]:第k个频率点的DFT系数(单位:V,与离散序列电压单位一致); X[k] :第 k 个频率点的 DFT 系数(单位:V,与离散序列电压单位一致);X[k]kDFTV

  • 频率对应:离散频率 k对应模拟频率F=kFsN(Fs为采样频率,单位:Hz); k 对应模拟频率 F = \frac{k F_s}{N} ( F_s 为采样频率,单位:Hz);kF=NkFsFsHz

  • 物理意义:将离散序列从时域转换到频域,揭示序列的频率成分及幅值。

二、实用 DFT 计算题:双正弦信号的频域分析

题目设定

已知 2 个周期模拟信号合成的混合信号:

  • 信号 1:xa1(t)=2sin⁡(2πF1t) x_{a1}(t) = 2\sin(2\pi F_1 t) xa1(t)=2sin(2πF1t) (频率F1=1kHz,电压幅值2V); (频率 F_1=1\text{kHz} ,电压幅值 2V);F1=1kHz2V
  • 信号 2:xa2(t)=1sin⁡(2πF2t) x_{a2}(t) = 1\sin(2\pi F_2 t) xa2(t)=1sin(2πF2t) (频率F2=1.5kHz,电压幅值1V);(频率 F_2=1.5\text{kHz} ,电压幅值 1V);F2=1.5kHz1V
  • 混合模拟信号:xa(t)=xa1(t)+xa2(t) x_a(t) = x_{a1}(t) + x_{a2}(t) xa(t)=xa1(t)+xa2(t)
  • 要求:1.对xa(t)离散化,得到长度N=4的离散序列x[n]; 要求:1. 对 x_a(t) 离散化,得到长度 N=4 的离散序列 x[n] ;1.xa(t)N=4x[n]
    2.计算x[n]的DFT系数X[k],并验证频域成分是否与原始模拟信号一致。2. 计算 x[n] 的 DFT 系数 X[k] ,并验证频域成分是否与原始模拟信号一致。2.x[n]DFTX[k]

计算步骤(全程标注物理单位)

步骤 1:确定采样参数(满足奈奎斯特准则)
  • 奈奎斯特要求:采样频率 Fs>2Fmax F_s > 2F_{\text{max}} Fs>2Fmax

  • Fmax=1.5kHz为最高信号频率 F_{\text{max}}=1.5\text{kHz} 为最高信号频率 Fmax=1.5kHz

  • 取Fs=4kHz(满足4kHz>2∗1.5kHz=3kHz); 取 F_s=4\text{kHz} (满足 4\text{kHz} > 2*1.5\text{kHz}=3\text{kHz} );Fs=4kHz4kHz>21.5kHz=3kHz

  • 采样周期:

  • Ts=1/Fs=1/(4∗103)=0.25∗10−3s=0.25ms T_s = 1/F_s = 1/(4*10^3) = 0.25*10^{-3}\text{s} = 0.25\text{ms} Ts=1/Fs=1/(4103)=0.25103s=0.25ms (每次采样的时间间隔);

  • 离散序列长度N=4 离散序列长度 N=4 N=4

  • 总采样时间:Ttotal=N∗Ts=4∗0.25ms=1ms 总采样时间: T_{\text{total}} = N*T_s = 4*0.25\text{ms} = 1\text{ms} Ttotal=NTs=40.25ms=1ms

步骤 2:模拟信号离散化,生成 x[n]

离散序列 x[n]=xa(t)∣t=nTs=2sin⁡(2πF1nTs)+1sin⁡(2πF2nTs)(n=0,1,2,3), x[n] = x_a(t)|_{t=nT_s} = 2\sin(2\pi F_1 nT_s) + 1\sin(2\pi F_2 nT_s) ( n=0,1,2,3 ),x[n]=xa(t)t=nTs=2sin(2πF1nTs)+1sin(2πF2nTs)n=0,1,2,3计算每个点的电压值:

  • 先计算核心参数:2πF1Ts=2π∗1∗103∗0.25∗10−3=2π∗0.25=π/2 2\pi F_1 T_s = 2\pi*1*10^3*0.25*10^{-3} = 2\pi*0.25 = \pi/2 2πF1Ts=2π11030.25103=2π0.25=π/2 2πF2Ts=2π∗1.5∗103∗0.25∗10−3=2π∗0.375=3π/4 2\pi F_2 T_s = 2\pi*1.5*10^3*0.25*10^{-3} = 2\pi*0.375 = 3\pi/4 2πF2Ts=2π1.51030.25103=2π0.375=3π/4

  • 逐点计算 x[n](单位:V): x[n] (单位:V):x[n]V

    • n=0 :x[0]=2sin⁡(0)+1sin⁡(0)=0+0=0Vx[0] = 2\sin(0) + 1\sin(0) = 0 + 0 = 0\text{V} x[0]=2sin(0)+1sin(0)=0+0=0V

    • n=1 :x[1]=2sin⁡(π/2)+1sin⁡(3π/4)=2∗1+1∗22≈2+0.707=2.707Vx[1] = 2\sin(\pi/2) + 1\sin(3\pi/4) = 2*1 + 1*\frac{\sqrt{2}}{2} ≈ 2 + 0.707 = 2.707\text{V} x[1]=2sin(π/2)+1sin(3π/4)=21+1222+0.707=2.707V

    • n=2 :x[2]=2sin⁡(π)+1sin⁡(3π/2)=2∗0+1∗(−1)=−1Vx[2] = 2\sin(\pi) + 1\sin(3\pi/2) = 2*0 + 1*(-1) = -1\text{V} x[2]=2sin(π)+1sin(3π/2)=20+1(1)=1V

    • n=3 :x[3]=2sin⁡(3π/2)+1sin⁡(9π/4)=2∗(−1)+1∗22≈−2+0.707=−1.293Vx[3] = 2\sin(3\pi/2) + 1\sin(9\pi/4) = 2*(-1) + 1*\frac{\sqrt{2}}{2} ≈ -2 + 0.707 = -1.293\text{V} x[3]=2sin(3π/2)+1sin(9π/4)=2(1)+1222+0.707=1.293V

  • 最终离散序列:x[0]=0V,x[1]=2.707V,x[2]=−1V,x[3]≈−1.293V x[0]=0\text{V}, x[1]=2.707\text{V}, x[2]=-1\text{V}, x[3]≈-1.293\text{V} x[0]=0V,x[1]=2.707V,x[2]=1V,x[3]1.293V

步骤 3:计算 DFT 系数 X[k] (k=0,1,2,3)( k=0,1,2,3 )k=0,1,2,3

DFT 公式:X[k]=∑n=03x[n]e−j2πkn/4=∑n=03x[n](−j)kn X[k] = \sum_{n=0}^{3} x[n] e^{-j2\pi kn/4} = \sum_{n=0}^{3} x[n] (-j)^{kn} X[k]=n=03x[n]ej2πkn/4=n=03x[n](j)kn (因e−j2πkn/4=cos⁡(2πkn/4)−jsin⁡(2πkn/4)=(−j)kn,简化计算)。 (因e^{-j2\pi kn/4} = \cos(2\pi kn/4) - j\sin(2\pi kn/4) = (-j)^{kn} ,简化计算)。ej2πkn/4=cos(2πkn/4)jsin(2πkn/4)=(j)kn

(1)计算X[0](对应模拟频率F=0Hz,直流分量)(1)计算 X[0] (对应模拟频率 F=0\text{Hz} ,直流分量)1X[0]F=0Hz

KaTeX parse error: No such environment: align* at position 8: \begin{̲a̲l̲i̲g̲n̲*̲}̲ X[0] &= x[0](-…
(注:直流分量极小,源于计算近似,实际理想双正弦信号无直流分量)(注:直流分量极小,源于计算近似,实际理想双正弦信号无直流分量)

(2)计算X[1](对应模拟频率F=1∗FsN=4∗1034=1kHz,与信号1频率一致)(2)计算 X[1] (对应模拟频率 F=\frac{1*F_s}{N} = \frac{4*10^3}{4} = 1\text{kHz} ,与信号 1 频率一致)2X[1]F=N1Fs=44103=1kHz1

KaTeX parse error: No such environment: align* at position 8: \begin{̲a̲l̲i̲g̲n̲*̲}̲ X[1] &= x[0](-… KaTeX parse error: No such environment: align* at position 8: \begin{̲a̲l̲i̲g̲n̲*̲}̲ |X[1]|&= \sqrt…

(3)计算X[2](对应模拟频率F=2∗4∗1034=2kHz,无对应原始信号)(3)计算 X[2] (对应模拟频率 F=\frac{2*4*10^3}{4} = 2\text{kHz} ,无对应原始信号)3X[2]F=424103=2kHz

KaTeX parse error: No such environment: align* at position 8: \begin{̲a̲l̲i̲g̲n̲*̲}̲X[2] &= x[0](-j…
KaTeX parse error: No such environment: align* at position 8: \begin{̲a̲l̲i̲g̲n̲*̲}̲ |X[2]|&= \sqrt…
从物理意义上,X[2]对应模拟频率F=2×4×1034=2kHz,而原始信号的频率为1kHz和1.5kHz,因此X[2]是干扰分量(模值极小,符合预期)(X[1])和(X[3])对应原始信号的频率成分(1kHz和其镜像3kHz),模值约4.123V;而(X[2])对应2kHz(无原始信号成分),模值仅约2.414V,远小于主分量的模值。从物理意义上,X[2]对应模拟频率F = \frac{2 \times 4\times10^3}{4} = 2\text{kHz} ,而原始信号的频率为1\text{kHz} 和1.5\text{kHz},因此X[2]是干扰分量(模值极小,符合预期) (X[1]) 和 (X[3]) 对应原始信号的频率成分(1kHz 和其镜像 3kHz),模值约 4.123V;而 (X[2]) 对应 2kHz(无原始信号成分),模值仅约 2.414V,远小于主分量的模值。 X[2]F=42×4×103=2kHz1kHz1.5kHzX[2](X[1])(X[3])1kHz3kHz4.123V(X[2])2kHz2.414V

(4)计算X[3](对应模拟频率F=3∗4∗1034=3kHz,因DFT对称性,对应原始信号2的镜像频率)(4)计算 X[3] (对应模拟频率 F=\frac{3*4*10^3}{4} = 3\text{kHz} ,因 DFT 对称性,对应原始信号 2 的镜像频率)4X[3]F=434103=3kHzDFT2

KaTeX parse error: No such environment: align* at position 8: \begin{̲a̲l̲i̲g̲n̲*̲}̲ X[3] &= x[0](-… KaTeX parse error: No such environment: align* at position 8: \begin{̲a̲l̲i̲g̲n̲*̲}̲|X[3]| = \sqrt{…

步骤 4:DFT 结果验证(与原始模拟信号对应)
  • 频率对应

    • X[1]对应F=1kHz(信号1频率),模值≈4.123V X[1] 对应 F=1\text{kHz} (信号 1 频率),模值 ≈4.123\text{V} X[1]F=1kHz14.123V

    • (原始信号1幅值2V,DFT模值需除以N/2=2,即4.123/2≈2.06V,接近原始幅值,误差源于计算近似);(原始信号 1 幅值 2V,DFT 模值需除以 N/2=2 ,即 4.123/2≈2.06\text{V} ,接近原始幅值,误差源于计算近似);12VDFTN/2=24.123/22.06V

    • X[3]对应F=3kHz(DFT镜像频率,实际对应原始信号2的1.5kHz,因N=4有限,需通过更大N优化); X[3] 对应 F=3\text{kHz} (DFT 镜像频率,实际对应原始信号 2 的 1.5\text{kHz} ,因 N=4 有限,需通过更大 N 优化);X[3]F=3kHzDFT21.5kHzN=4N

  • 结论:DFT 成功识别出原始模拟信号的主要频率成分(1kHz),验证了频域分析的有效性。

三、关键说明(考试答题注意事项)

  1. 单位一致性:全程保留物理单位(V、Hz、s),避免仅写数值导致逻辑断裂;

  2. 采样频率选择:必须满足奈奎斯特准则Fs>2Fmax F_s > 2F_{\text{max}} Fs>2Fmax,否则会出现混叠;

  3. DFT 对称性:实序列的 DFT 满足 X[N−k]=X∗[k] X[N-k] = X^*[k] X[Nk]=X[k](共轭对称),可用于验证计算是否正确;

  4. 幅值修正:实信号的 DFT 幅值需根据频率点修正:直流分量k=0 k=0 k=0除以 N N N,其他频率点除以 N/2 N/2 N/2,才能与原始模拟信号幅值对应。

  • 通过DFT的分析,看来DFT算法可以准确的分解测试信号的频率成分和幅值。

  • 问题还在: 实序列的定义来源?共轭对称性?

  • KaTeX parse error: No such environment: align* at position 8: \begin{̲a̲l̲i̲g̲n̲*̲}̲ X[1] &= 1 - 4j…

  • 问题还在: 何为N=4采样窗口解析方法?

  • 以下是Python验证的过程:

  • 实验结果

在这里插入图片描述

  • Python代码
import numpy as np
import matplotlib.pyplot as plt
from scipy.fftpack import fft

# ---------------------- 1. 配置中文字体与全局参数 ----------------------
plt.rcParams["font.family"] = ["SimHei", "WenQuanYi Micro Hei", "Heiti TC"]
plt.rcParams["axes.unicode_minus"] = False
plt.rcParams["figure.figsize"] = (12, 10)  # 统一图大小

# 核心参数(符合N=4采样窗口逻辑)
Fs = 4000  # 采样频率,单位:Hz(满足奈奎斯特准则)
Ts = 1 / Fs  # 采样周期,单位:s
N = 4  # 离散序列长度(N=4采样窗口)
t_sim = np.linspace(0, 0.001, 1000)  # 模拟信号时间轴(0~1ms,取1000点使波形平滑)
t_discrete = np.arange(0, N * Ts, Ts)  # 离散序列时间轴(N=4个采样点)

# ---------------------- 2. 生成模拟信号 ----------------------
# 信号1:1kHz正弦波(幅值2V,实信号)
F1 = 1000  # 频率,单位:Hz
A1 = 2  # 幅值,单位:V
signal1 = A1 * np.sin(2 * np.pi * F1 * t_sim)

# 信号2:1.5kHz正弦波(幅值1V,实信号)
F2 = 1500  # 频率,单位:Hz
A2 = 1  # 幅值,单位:V
signal2 = A2 * np.sin(2 * np.pi * F2 * t_sim)

# ---------------------- 3. 生成混合信号与离散实序列 ----------------------
# 混合模拟信号
mixed_signal_sim = signal1 + signal2

# 离散实序列(对混合信号按Ts采样,得到N=4个实数采样点)
discrete_sequence = A1 * np.sin(2 * np.pi * F1 * t_discrete) + A2 * np.sin(2 * np.pi * F2 * t_discrete)

# ---------------------- 4. DFT分析(实序列共轭对称性验证) ----------------------
# 计算DFT系数
dft_coeffs = fft(discrete_sequence)

# 计算DFT对应的频率点(0~Fs,共N个点)
freq_points = np.fft.fftfreq(N, Ts)

# 计算DFT幅值(实序列取前N/2+1个点,因共轭对称,后半段与前半段重复)
dft_magnitude = 2 * np.abs(dft_coeffs) / N  # 幅值修正(实信号幅值=2*|X[k]|/N)
freq_visible = freq_points[:N//2 + 1]  # 可见频率(0~Fs/2)
magnitude_visible = dft_magnitude[:N//2 + 1]

# ---------------------- 5. 绘制四幅图像 ----------------------
fig, axes = plt.subplots(4, 1, sharex=False, tight_layout=True)

# 子图1:两个模拟信号(1kHz和1.5kHz)
axes[0].plot(t_sim * 1000, signal1, label=f'1kHz正弦波(幅值{A1}V)', color='#2E86AB', linewidth=1.5)
axes[0].plot(t_sim * 1000, signal2, label=f'1.5kHz正弦波(幅值{A2}V)', color='#A23B72', linewidth=1.5)
axes[0].set_xlabel('时间(ms)')
axes[0].set_ylabel('电压(V)')
axes[0].set_title('1. 两个模拟信号波形')
axes[0].legend()
axes[0].grid(alpha=0.3)
axes[0].set_xlim(0, 1)  # 显示0~1ms,与N=4窗口总时间一致

# 子图2:混合模拟信号
axes[1].plot(t_sim * 1000, mixed_signal_sim, color='#F18F01', linewidth=1.5)
axes[1].set_xlabel('时间(ms)')
axes[1].set_ylabel('电压(V)')
axes[1].set_title('2. 混合模拟信号波形(1kHz+1.5kHz)')
axes[1].grid(alpha=0.3)
axes[1].set_xlim(0, 1)

# 子图3:N=4离散实序列(采样点)
# axes[2].stem(t_discrete * 1000, discrete_sequence, basefmt='k-', use_line_collection=True, label='离散采样点', linefmt='#C73E1D', markerfmt='ro')
axes[2].stem(t_discrete * 1000, discrete_sequence, basefmt='k-', label='离散采样点', linefmt='#C73E1D', markerfmt='ro')
axes[2].set_xlabel('时间(ms)')
axes[2].set_ylabel('电压(V)')
axes[2].set_title(f'3. N={N}离散实序列(采样频率{Fs//1000}kHz)')
axes[2].legend()
axes[2].grid(alpha=0.3)
axes[2].set_xticks(t_discrete * 1000)  # 显示每个采样点的时间

# 子图4:DFT频谱(可见频率段)
# axes[3].stem(freq_visible / 1000, magnitude_visible, basefmt='k-', use_line_collection=True, linefmt='#2E86AB', markerfmt='bo')
axes[3].stem(freq_visible / 1000, magnitude_visible, basefmt='k-', linefmt='#2E86AB', markerfmt='bo')
axes[3].set_xlabel('频率(kHz)')
axes[3].set_ylabel('幅值(V)')
axes[3].set_title('4. DFT频谱分析(实序列共轭对称,仅显示0~Fs/2)')
axes[3].grid(alpha=0.3)
axes[3].set_xticks(freq_visible / 1000)  # 显示每个频率点

# 保存图像(可选)
# plt.savefig('signal_dft_visualization.png', dpi=300, bbox_inches='tight')
plt.show()

# ---------------------- 6. 输出关键信息(验证实序列与DFT特性) ----------------------
print("="*60)
print("实序列与DFT分析关键信息")
print("="*60)
print(f"1. 模拟信号:1kHz({A1}V)、1.5kHz({A2}V),均为实信号")
print(f"2. 采样参数:采样频率{Fs}Hz({Fs//1000}kHz),采样周期{Ts*1000}ms")
print(f"3. 离散实序列(N={N}):{[round(x, 3) for x in discrete_sequence]} V(全为实数)")
print(f"4. DFT频率点:{[round(f, 0) for f in freq_points]} Hz")
print(f"5. 修正后DFT幅值:{[round(m, 3) for m in magnitude_visible]} V(与原始信号幅值匹配)")
print("="*60)
  • 从运行的结果来看,没有看到1.5kHz的频谱?
  • 要理解为何未直接看到 1.5kHz 的频谱,需结合DFT 频率分辨率实序列对称性来分析:
0.1、频率分辨率的限制(N=4 的影响)

DFT 的频率分辨率为 ΔF=FsN\Delta F = \frac{F_s}{N}ΔF=NFs,其中:

  • 采样频率 Fs=4kHzF_s = 4\text{kHz}Fs=4kHz,序列长度 N=4N=4N=4,因此 ΔF=4kHz4=1kHz\Delta F = \frac{4\text{kHz}}{4} = 1\text{kHz} ΔF=44kHz=1kHz
  • 这意味着 DFT 只能分辨1kHz 整数倍的频率(0kHz、1kHz、2kHz、3kHz),而 1.5kHz 不是 1kHz 的整数倍,因此无法被 “直接分辨”。

0.2、1.5kHz 的 “间接体现”(实序列对称性与能量分布)

虽然 1.5kHz 未出现在 “可见频率点” 中,但它的能量通过DFT 的共轭对称性间接体现在 2kHz 的频率点上:

  • 原始信号的 1.5kHz 频率,因 N=4N=4N=4 频率分辨率不足,其能量被 “分配” 到相邻的 2kHz 频率点(2kHz=2∗1kHz2\text{kHz} = 2*1\text{kHz}2kHz=21kHz,是频率分辨率的整数倍)。
  • 从频谱图中可看到,2kHz 频率点的幅值约为 1V,与原始 1.5kHz 信号的幅值(1V)完全匹配,这就是 1.5kHz 信号的 “间接体现”。
0.3、如何验证?(增加 N 或调整频率)

若想直接看到 1.5kHz 的频谱,可通过两种方式:

  1. 增大 N(提高频率分辨率):例如将 NNN 改为 8,此时 ΔF=4kHz8=0.5kHz\Delta F = \frac{4\text{kHz}}{8} = 0.5\text{kHz}ΔF=84kHz=0.5kHz,1.5kHz(3∗0.5kHz3*0.5\text{kHz}30.5kHz)会成为可分辨的频率点。
  2. 调整原始信号频率:将 1.5kHz 改为 2kHz(2∗1kHz2*1\text{kHz}21kHz),此时 N=4 的频率分辨率可直接分辨,频谱中 2kHz 点的幅值会与信号幅值完全对应。
    简言之,1.5kHz 未直接显示是因为N=4 的频率分辨率不足,但它的能量通过 2kHz 频率点间接体现,幅值与原始信号完全一致,这也验证了 DFT 对实序列的频域分析是准确的。

是的!你观察到的 “1.5kHz 信号能量分散到 2kHz 频率点” 的现象,正是频谱泄露(Spectral Leakage) 的典型表现。

  • 先回答之前还存在的问题:实序列定义与N=4采样窗口解析
0.1、先明确:实序列就是 “实数序列”,来源是采样点的信号幅值

在 DFT 中,实序列的核心定义是 “序列中每个元素的取值均为实数”,完全对应你理解的 “采样点信号幅值”:

  1. 物理意义:我们采集的模拟信号(如题目中的音乐 + 噪声信号),其电压幅值是真实的物理量(单位为 V),不存在虚数部分,因此对其离散化后得到的采样点序列(如 x [0]=0V、x [1]≈2.707V)必然是实序列。

  2. 与 DFT 的关联:正是因为序列是实数,才会满足 “共轭对称性”(X [N-k] = X*[k]),比如题目中 X [3] = 1+4j,是 X [1]=1-4j 的共轭复数,这是实序列 DFT 的固有特性,虚数序列不满足该规律。

0.2、N=4 的本质:“4 点采样窗口”,与采样频率、总采样时间直接关联

题目中定义 N=4,本质是 “取 4 个连续的采样点组成一个分析窗口”,这个窗口的设定完全基于采样频率(Fs)分析需求,具体逻辑如下:

  1. 采样窗口的时间长度:先明确 “采样窗口” 是 “在一段时间内采集 N 个采样点”,窗口的总时间 = 采样次数(N)× 采样周期(Ts),其中 Ts=1/Fs。
  • 题目中 Fs=4kHz(满足奈奎斯特准则),因此 Ts=1/(4×10³)=0.25ms;

  • N=4 的窗口总时间 = 4×0.25ms=1ms,即 “每 1ms 采集 4 个点,组成一个长度为 4 的分析序列”。

  1. 为什么选 N=4?(窗口长度的设定逻辑)
  • 计算简化:N 为较小的整数(如 4、8、16)时,DFT 中的复数运算(如 (-j)^kn)会更简单(比如 (-j)2=-1、(-j)3=j),适合考试计算题或入门理解;

  • 频率分辨率匹配:窗口长度 N 决定 DFT 的频率分辨率(ΔF=Fs/N),题目中 ΔF=4kHz/4=1kHz,刚好能区分原始信号中的 1kHz 频率成分(X [1] 对应 1kHz),满足 “识别主要频率” 的分析需求。

  1. 是否与 “特定频率” 绑定?
  • 不绑定!N=4 是 “采样点数量”,与 “采样频率” 直接关联,但与 “被采样的模拟信号频率”(如 1kHz、1.5kHz)无关。

  • 比如即使原始信号是 2kHz、3kHz(只要 Fs>6kHz 满足奈奎斯特),仍可设定 N=4,采集 4 个采样点组成实序列进行 DFT 分析,窗口长度仅影响频率分辨率,不影响信号频率的采集。

0.3、总结:N=4 窗口的完整逻辑链

采样频率 Fs=4kHz → 采样周期 Ts=0.25ms → 每 1ms 采集 4 个采样点(N=4) → 组成实序列 x [n] → 对该序列做 4 点 DFT → 得到 4 个频率点(0kHz、1kHz、2kHz、3kHz)的系数,完成频域分析。

简单来说,N=4 是 “用 4 个采样点构建一个分析单元”,这个单元的时间长度由采样频率决定,核心作用是将连续的模拟信号 “切分成小段”,方便用 DFT 进行频域计算。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值