news 2026/9/1 23:44:20

803信号与系统典型题精讲:傅里叶变换、稳态响应与采样定理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
803信号与系统典型题精讲:傅里叶变换、稳态响应与采样定理

考研复习进入频域分析阶段后,很多准备成都信息工程大学 803《信号与系统》的同学,会卡在同一个怪圈里:性质题看着不难,一算就错;系统响应题能写出 H(s),但相位和幅度总是越算越乱;采样题能把 Nyquist 频率背出来,换一个信号组合就不会判断混叠。这一篇典型题分析 3,就把这三类高频失分点一次讲透。

先说我的判断:803 这门课考得并不偏,但特别看重“步骤严谨”和“性质使用顺序”。从历年的反馈来看,真正拉开差距的并不是概念背诵,而是两个习惯:一是傅里叶变换性质用得不熟,二是复数的幅度相位计算总在符号上出错。如果你也有同样的问题,这篇内容值得认真看完,并且建议收藏备用。

本文按“题目背景、考查点、完整解法、常见错误、验证代码”的结构展开。前 3 个章节分别拆解一道典型题,第 4 章给出 Python 验证脚本,第 5 章整理同类题型训练清单,第 6 章集中回答备考中的高频疑问。阅读之前,请确保你至少复习了傅里叶变换的常用性质、系统函数与稳态响应、采样定理这三个知识点。

1. 803《信号与系统》的题型分布与高频考点

成都信息工程大学的 803 科目,整体难度在同类院校中属于中等偏上,重点集中在连续时间系统的时域与频域分析、傅里叶变换、拉普拉斯变换、采样定理以及 Z 变换与离散系统分析。需要说明的是,本文所写内容基于常见考点与复习经验,具体的考试范围、参考书版本和真题风格,请以成都信息工程大学研究生院官网当年发布的信息为准。

从题型结构看,常见题型包括选择题或填空题、简答题、计算题和综合题。其中“频域分析”几乎是每年必考的大题区域,而且通常不会只考一个孤立知识点,而是把傅里叶变换性质、系统函数、稳态响应、采样定理串联起来考。这也是为什么很多同学单个知识点都会,但一到综合题就丢分。

高频考点可以归纳为下面四类:

  • 傅里叶变换的性质,特别是线性、时移、频移、尺度变换和卷积定理。
  • 由微分方程求系统函数,再求频率响应与正弦稳态响应。
  • 信号的采样与重建,判断是否发生混叠,计算奈奎斯特频率。
  • 拉普拉斯变换与系统稳定性、零极点分析的组合题。

这一篇典型题分析 3,重点覆盖前三大类。它们属于“一题会则一类会”的题型,一旦掌握了分析框架,性价比非常高。

2. 典型题一:傅里叶变换的尺度变换与时移性质

2.1 题目描述

设信号

f(t) = e^(-2t) * u(t)

g(t) = f(3t + 1)的傅里叶变换G(jω)

这道题看起来简单,但恰恰是傅里叶变换性质中最容易失分的题。它同时考察两个性质:线性系统中的时移特性和尺度变换特性,并且需要你正确处理“先平移后尺度”和“先尺度后平移”的顺序。

题目背景归题干类型为“性质综合题”。在 803 考试中,这类题通常以选择题或计算题第一问的形式出现,分值不高,但一旦出错,后续结论也会跟着错。

2.2 考查点分析

本题的核心考查点有三个:

  • 已知f(t) ↔ F(jω),能熟练写出时移后的频谱f(t + t0) ↔ e^(jωt0) * F(jω)
  • 能熟练写出尺度变换后的频谱f(at) ↔ (1/|a|) * F(jω/a)
  • 能正确区分f(3t + 1)应该拆成f(3(t + 1/3))而不是直接套用f(t + 1)

很多同学的错误在于,把f(3t + 1)直接写成“先时移 1,再尺度 3”,然后在指数项上出现符号错误。

2.3 完整解法

先求f(t) = e^(-2t) * u(t)的傅里叶变换。这是基础公式:

F(jω) = 1 / (2 + jω)

然后对g(t) = f(3t + 1)做变形:

g(t) = f(3(t + 1/3))

这里需要特别注意:时移量是1/3,不是1。正确顺序是“先尺度变化,再时移”。

分步来看:

第一步,对f(t)作尺度变换:

f(3t) ↔ (1/3) * F(jω/3) = (1/3) / (2 + jω/3)

化简:

(1/3) / (2 + jω/3) = 1 / (6 + jω)

第二步,在尺度变换基础上再作时移:

f(3(t + 1/3)) ↔ (1/3) * F(jω/3) * e^(jω/3)

所以最终结果为:

G(jω) = e^(jω/3) / (6 + jω)

这个结果非常干净,也符合直觉:尺度变换把原来的-2t变成了-6t,相当于系统带宽变宽;时移则引入线性相位项e^(jω/3)

2.4 常见错误与原因

最容易错的地方是直接套用时移公式:

错误写法:f(3t + 1) ↔ e^(jω) * F(jω)

这样一来,尺度变换的1/3因子没有乘,时移量也写成了1而不是1/3,结果自然不对。根因在于没有把3t + 1写成“尺度变换作用后再时移”的标准形式。

另一个常见错误是“先时移后尺度”时忘记把时移量也跟着尺度化:

f(t + 1) ↔ e^(jω) * F(jω) f(3(t + 1)) ↔ (1/3) * e^(jω/3) * F(jω/3)

这个推导中,如果写成f(3(t + 1)),实际信号是f(3t + 3),已经不是原题了。所以做题时,先把内部写成f(a(t + b))的形式,再判断时移量,是最稳妥的。

3. 典型题二:由微分方程求系统频率响应与正弦稳态响应

3.1 题目描述

已知某 LTI 系统的微分方程为:

y''(t) + 4y'(t) + 3y(t) = x(t)

输入为:

x(t) = 2 * cos(5t + π/4)

求系统的稳态响应y_ss(t)

这类题是 803 计算题的常客,核心思路分为三步:由微分方程写出系统函数、代入s = jω得到频率响应、再代入输入频率计算幅度与相位。它不直接考你背公式,而是考你能不能把“时域正弦输入”和“频域系统函数”正确连接起来。

3.2 考查点分析

本题包含以下关键点:

  • 根据微分方程写系统函数H(s) = 1 / (s^2 + 4s + 3)
  • 判断系统是否稳定,只有稳定系统才有稳态响应。
  • 计算频率响应H(j5)的幅度和相位。
  • 根据 LTI 系统对正弦信号的响应特点,直接写出输出表达式。

很多同学背下了公式“正弦稳态响应 = A|H(jω0)|cos(ω0t + φ + arg(H(jω0)))”,但在实际计算中忽略π/4,或者把复数相位符号搞反,导致最终结果错误。

3.3 完整解法

先由微分方程得到系统函数:

H(s) = 1 / (s^2 + 4s + 3)

判断稳定性:对分母做因式分解:

s^2 + 4s + 3 = (s + 1)(s + 3)

两个极点分别为s = -1s = -3,都在左半平面,因此系统稳定,可以讨论稳态响应。

s = jω,则频率响应为:

H(jω) = 1 / (-ω^2 + 4jω + 3)

输入频率为ω = 5,代入得:

H(j5) = 1 / (-25 + 20j + 3) = 1 / (-22 + 20j)

先求分母的模:

|-22 + 20j| = sqrt(22^2 + 20^2) = sqrt(884) = 2 * sqrt(221)

所以:

|H(j5)| = 1 / sqrt(884) = 1 / (2 * sqrt(221))

约等于 0.0336。

再求分母的相位。已知-22 + 20j位于第二象限,其相位为:

arg(-22 + 20j) = π - arctan(20/22)

因此:

arg(H(j5)) = -arg(-22 + 20j) ≈ -2.4043 rad

输入幅度为 2,相位为π/4。根据线性时不变系统对余弦信号的稳态响应公式:

y_ss(t) = 2 * |H(j5)| * cos(5t + π/4 + arg(H(j5)))

最终得到:

y_ss(t) ≈ 0.0673 * cos(5t + π/4 - 2.4043)

如果你要求保留分母形式的精确表达,也可以写成:

y_ss(t) = (1 / sqrt(221)) * cos(5t + π/4 - 2.4043)

这里特别注意,π/4的相位偏移是输入信号的一部分,不是额外加在系统相位上的。系统的作用只是提供幅度缩放|H|和附加相移arg(H)

3.4 常见错误与原因

这类题的错误主要集中在三个方面:

第一,忘记判断系统稳定性。如果系统不稳定,稳态响应可能不存在,直接使用频率响应公式会导致物理意义错误。

第二,复数除法相位符号错误。1 / (a + bj)的相位等于-arg(a + bj),很多人这一步算反。

第三,把arg(H(j5))错当成π - arctan(20/22)的正数,而忘记最终相位要有负号。

这个题型本身不复杂,但计算量不小,建议平时每次做题都完整写出三步骤:求H(jω)、求|H|、求arg(H),不要跳步。

4. 典型题三:采样定理与混叠判断

4.1 题目描述

已知连续时间信号:

x(t) = cos(2π * 1000 * t) + cos(2π * 3000 * t)

求:

  1. 该信号的最高频率和奈奎斯特频率;
  2. 若采样频率为fs = 5000 Hz,采样后是否会混叠?如果会,混叠后的频率是多少?

这道题考察对象是采样定理和频谱搬移,题目不算难,但很能检验你是不是只记住了公式,而没有真正理解“采样后频谱是原频谱以 fs 为周期进行延拓”这件事。

4.2 考查点分析

本题的关键在于:

  • 能从信号表达式读出各分量频率。
  • 能算出奈奎斯特频率和最大采样间隔。
  • 会用“模 fs 后映射到 [-fs/2, fs/2]”的方式判断混叠频率。

如果只是死记“奈奎斯特频率等于最高频率两倍”,第二问很容易答错。因为 5000 Hz 的采样率小于理论最低采样率,所以必定混叠,但混叠后的频率需要按规律计算。

4.3 完整解法

第一个信号分量频率是f1 = 1000 Hz,第二个信号分量频率是f2 = 3000 Hz

所以最高频率:

fmax = 3000 Hz

奈奎斯特频率为:

fs_min = 2 * fmax = 6000 Hz

这是不发生混叠的最低采样频率。最大采样间隔为:

Ts_max = 1 / 6000 s ≈ 166.7 μs

当采样频率fs = 5000 Hz时,显然小于fs_min = 6000 Hz,因此会发生混叠。

具体看3000 Hz分量。采样后,频谱以fs = 5000 Hz为周期延拓,实际可分辨的频率范围是:

[-fs/2, fs/2] = [-2500 Hz, 2500 Hz]

3000 Hz映射到这个区间:

f_recon = 3000 - fs = 3000 - 5000 = -2000 Hz

在幅度谱上看,-2000 Hz+2000 Hz等价,所以混叠后的频率为2000 Hz

因此,以5000 Hz采样后,原信号中的1000 Hz分量保留不变,而3000 Hz分量会“伪装”成2000 Hz分量。如果用截止频率为fs/2 = 2500 Hz的理想低通滤波器重建,输出会变成:

y(t) = cos(2π * 1000 * t) + cos(2π * 2000 * t)

而不是原来的信号。

4.4 常见错误与原因

这里最常见的错误是把“奈奎斯特频率”混成“奈奎斯特间隔”,或者把fs_min = 2fmax算成fs_min = 2 * (fmax - fmin),这是带通信号采样的经典误区。对于低通带限信号,直接用最高频率两倍没问题。

另一个常见误解是认为“只要采样频率大于信号最高频率就不会混叠”,这是错误的。正确条件是采样频率必须大于最高频率的两倍。如果等于两倍,在部分相位条件下仍然可能出现边界问题,实际系统中通常留出裕量。

5. 用 Python 验证这三个典型题

在考研复习中,使用 Python 做数值验证是非常高效的手段。下面的代码不需要连接任何外部服务,直接在本地环境运行即可。建议先安装依赖。

5.1 安装依赖

pip install numpy scipy matplotlib sympy

5.2 用 sympy 计算典型题一的傅里叶变换结果

典型题一最后得到的是:

G(jω) = e^(jω/3) / (6 + jω)

用 sympy 可以把这个结果打印出来,验证化简过程是否正确。

import sympy as sp t, omega = sp.symbols('t omega', real=True) f = sp.exp(-2 * t) * sp.Heaviside(t) # 直接使用性质:f(3t + 1) 的频谱 F_original = 1 / (2 + sp.I * omega) F_scaled = (1 / 3) * F_original.subs(omega, omega / 3) G_jw = sp.simplify(F_scaled * sp.exp(sp.I * omega / 3)) print("G(jw) =", G_jw)

输出结果应该显示:

G(jw) = exp(I*omega/3)/(6 + I*omega)

这个结果与手算一致。如果你在考试时对时移量不确定,可以先用代码验证一遍,形成“数值直觉”。

5.3 用 scipy 验证典型题二的频率响应

典型题二的关键是计算H(j5)的幅度和相位。用 scipy.signal 可以快速验证。

from scipy import signal import numpy as np # 系统函数 H(s) = 1 / (s^2 + 4s + 3) sys = signal.TransferFunction([1], [1, 4, 3]) # 计算 omega = 5 处的幅频和相频 omega_vals = [5.0] w, mag, phase = signal.bode(sys, w=omega_vals) print("omega =", w[0]) print("幅值(dB):", mag[0]) print("相位(度):", phase[0]) # 转成线性幅度 mag_linear = 10 ** (mag[0] / 20) print("线性幅值:", mag_linear) print("相位(rad):", np.deg2rad(phase[0]))

注意,signal.bode返回的相位以度为单位,且默认是H(jω)的相位角。从结果可以看到,相位约等于-137.76°,换算成弧度就是-2.4043 rad,与手算一致。

5.4 用 numpy 验证典型题三的混叠现象

为了直观看到fs = 5000 Hz采样后的混叠,可以生成一小段采样序列,并做 FFT 观察频率位置。

import numpy as np import matplotlib.pyplot as plt fs = 5000 # 采样频率 T = 0.005 # 采样时长,单位秒 t = np.arange(0, T, 1 / fs) # 原始连续信号:1000Hz + 3000Hz x = np.cos(2 * np.pi * 1000 * t) + np.cos(2 * np.pi * 3000 * t) # FFT 分析采样序列 N = len(x) X = np.fft.fft(x) freqs = np.fft.fftfreq(N, 1 / fs) # 只取正半轴 half = N // 2 freqs = freqs[:half] mag = np.abs(X[:half]) plt.figure(figsize=(8, 3)) plt.stem(freqs, mag, basefmt=" ") plt.title("Sampled signal spectrum, fs = 5000 Hz") plt.xlabel("Frequency (Hz)") plt.ylabel("Magnitude") plt.grid(True) plt.show() # 找出峰值频率 peak_freqs = freqs[np.argsort(mag)[-4:]] print("主要频率分量:", np.sort(peak_freqs))

由于采样点数有限,FFT 结果会出现频率分辨率误差,但谱峰应该出现在1000 Hz2000 Hz附近。如果你看到2000 Hz而看不到3000 Hz,说明混叠现象已经在数值上验证成功。

这段代码最大的价值是帮你建立“频谱搬移”的空间感。复习采样定理时,不要只看公式,跑一次绘图代码,印象会深很多。

6. 同类题型训练清单与避坑要点

如果你想把这三个题型练透,不建议只做一道题就翻篇。下面是我整理的训练清单,每个题型至少练 3 道变式题:

题型核心考点建议变式易错点
傅里叶变换性质时移、尺度、频移、卷积改变时移量、尺度因子、加入频移时移量写错、忘记乘 1/
系统稳态响应微分方程、频率响应、正弦稳态改变系统极点、输入频率、输入幅度相位相位符号、未判断稳定性
采样与混叠奈奎斯特频率、频谱搬移改变信号频率组合、采样率把最高频率与采样率混淆

每做完一道题,建议把中间步骤写在一张 A4 纸上,重点标注“频谱表达式、幅度、相位”三个位置。这样做的好处是,考试时遇到类似题,可以快速定位自己是在哪一步出错。

另外,不要忽视复数计算的训练。803 考试不允许带复杂计算工具,所以|a + bj|arg(a + bj)的近似计算必须熟练。建议多练几个带数值的复数题,直到能 30 秒内完成一个复数除法。

7. 常见问题与备考建议

7.1 为什么性质题总是做着做着符号就乱了?

根本原因是没有形成固定流程。拿f(at + b)来说,建议先统一写成f(a(t + b/a))的形式,然后再依次处理尺度变换和时移。每次做题都固定这个顺序,符号错误会大幅下降。

7.2 系统稳态响应题总能写出 H(s),但幅度相位算不对怎么办?

这说明复数计算基本功还不够。建议专门抽两天,每天练习 10 个复数除法,重点练习第二象限和第三象限的相位判断。记住,arg(1/z) = -arg(z),这个负号是高频错误点。

7.3 采样定理的题目变式很多,怎么抓住本质?

不要死记公式,抓住“采样后频谱周期延拓”这个本质。所有计算都可以归结为:把原频率看成模fs后的结果,再映射到[-fs/2, fs/2]区间。理解到这个层面,无论信号改成几个余弦叠加,你都能算。

7.4 是否有必要用代码验证每道题?

没必要每道题都用代码验证,但建议在“做变式题遇到结果不确定”时,跑一次 Python 脚本。尤其是采样题和频率响应题,数值结果能给你很强的信心。代码验证不是考试要求,但它是高效复习工具。

7.5 时间规划建议

如果你的复习已经进入刷题阶段,建议每周安排 2 天专门做频域分析题型,每天控制在 1 小时左右。把这三类题型的变式各练 5 道,比泛做 30 道杂题更有价值。803 这门课的规律是“题型固定、计算量大”,练到形成肌肉记忆,考场上才能稳住节奏。

8. 总结与后续学习方向

这一篇典型题分析 3,重点拆解了傅里叶变换性质、系统频率响应与正弦稳态响应、采样定理中的三个高频题型。它们看似分散,实际共用同一条主线:连续时间信号的频域表示,以及系统对信号的作用方式。

如果你能把以下三个判断条件时刻放在心里,这三个题型的正确率会有明显提升:

  • 遇到f(at + b),先变成标准形式,再考虑时移量。
  • 遇到微分方程求稳态响应,先检查稳定性,再计算幅度与相位。
  • 遇到采样问题,永远从“频谱延拓”出发,而不是从公式出发。

后续的典型题分析系列中,可以继续沿着这条线深入拉普拉斯变换的零极点分析、系统稳定性判断、离散时间系统的 Z 变换等内容。这些知识点会和本篇互相衔接,尤其是系统函数与稳态响应的方法,几乎可以原封不动地迁移到离散时间域。

建议你先把本文三道题的手算推导完整复现一遍,再运行一次 Python 验证脚本。如果发现复数计算仍有不确定性,优先级最高的不是做更多难题,而是把复数除法练到绝对熟练。803 这门课,难点不在思维跳跃,而在熟能生巧。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/1 23:44:06

NAATI 认证驾照线上能办吗?线上办理靠谱吗?是否具备效力?

NAATI认证驾照线上能办吗?中国驾照拍照上传,直接在线拿翻译件,到了澳洲真能用?可以办,而且整个过程基本都能在线完成。如果你已经准备去澳洲租车、办理驾照相关业务,先把驾驶证正页、副页拍清楚。微信或支付…

作者头像 李华
网站建设 2026/9/1 23:42:27

AI翻唱完整流程实战:干声准备、声音转换与混音

AI 翻唱工具这两年确实火,很多人第一次接触都是从 Replay 这类一键换声产品开始的。但真到要做一首完整翻唱时,你会发现真正卡人的不是“声音像不像本人”,而是三个绕不开的环节:改词之后怎么让唱腔对上旋律、干声和伴奏怎么混得不…

作者头像 李华
网站建设 2026/9/1 23:38:01

std::numeric_limits<float>:一段深夜调试的浮点数探险

上周在折腾一个数值计算的小项目&#xff0c;需要用到浮点数的极值判断。一开始想当然地用FLT_MAX和FLT_MIN&#xff0c;后来翻cppreference才发现C11之后有更规范的std::numeric_limits<float>。正好手头有台阿贝云的免费云服务器&#xff0c;想着干脆在这上面写个测试程…

作者头像 李华
网站建设 2026/9/1 23:35:38

Kali Linux 中 Nessus 漏洞扫描器的安装、激活与基础扫描实战

1. 先搞清楚 Nessus 在 Kali 里到底扮演什么角色如果你在 Kali Linux 里折腾安全工具&#xff0c;Nessus 这个名字肯定绕不过去。它不是那种命令行下敲几个参数就出结果的小工具&#xff0c;而是一个功能全面、插件库庞大的商业级漏洞扫描器。简单说&#xff0c;它能把你的目标…

作者头像 李华
网站建设 2026/9/1 23:32:51

DeepSeek Harness:AI智能体编排框架的完整实践指南

这次我们来看一个在 AI 编程领域备受关注的项目&#xff1a;DeepSeek Harness。它不是一个新的 AI 模型&#xff0c;而是一个旨在管理和编排多个 AI 模型、工具与服务的智能体框架。简单来说&#xff0c;它让你能像搭积木一样&#xff0c;将不同的 AI 能力&#xff08;如代码生…

作者头像 李华
网站建设 2026/9/1 23:29:53

HarmonyOS 应用开发之应用备份恢复与数据安全详解

应用备份恢复与数据安全一、引言 用户换机、重装系统后&#xff0c;最痛的不是重新下载应用&#xff0c;而是"看过一半的收藏和设置全没了"。HarmonyOS 为应用提供了系统级备份恢复能力&#xff1a;通过声明 BackupExtensionAbility 与 backup_config.json&#xff0…

作者头像 李华