资讯动态

信号分析与处理实验全解析:从时域到频域再到系统

发布时间:2026/10/23 17:37:38 来源:尧图企业网站定制
简介这份资源是南京邮电大学「信号分析与处理实验」课程的完整实验报告面向正在修读数字信号处理、信号与系统相关课程的高校学生以及需要借助 MATLAB 完成实验与课程设计的自学者。报告覆盖信号的产生和运算、连续时间信号的频域分析、时域采样与重建、离散傅里叶变换及应用等核心实验并延伸至连续时间系统频域与复频域分析、数字滤波器设计及信号处理综合应用配有程序代码、波形图与结果解析便于对照理解时域与频域特性。资源包共 1 个 docx 文件约 1.02MB内容为可直接参考的实验报告文档结构完整、条理清晰。目前已有 952 人学习下载适合作为实验预习、报告撰写与 DSP 入门练习的参考材料。1. 信号分析与处理实验一张从时域到频域再到系统的知识地图很多人复习信号分析与处理时习惯按教材章节从头翻翻到傅里叶变换已经忘了拉普拉斯翻到滤波器又忘了采样定理。这门课真正的难点不在单个公式而在于时域、频域、复频域三条线始终交织在一起。这份实验报告把整门课拆成四个实验信号的产生和运算、连续时间信号的频域分析、信号的时域采样和重建、离散傅里叶变换与应用后面还延伸到连续时间系统的频域和复频域分析、数字滤波器设计与综合应用。梳理下来会发现它其实是一条完整链路先会造信号再看清信号的频率成分然后理解采样为什么不会丢信息最后用系统去改变信号。适合正在做实验报告、准备期末复习、或者想用 MATLAB 把 DSP 概念跑通的人。下面按知识模块逐层拆开重点标出容易翻车的地方。2. 信号产生与基本运算离散序列和连续信号的复习重点2.1 常用信号在 MATLAB 里到底怎么表示实验一的核心是“造信号”。连续信号和离散序列在 MATLAB 里的表示方式完全不同这是第一个容易混淆的点。连续时间信号用时间向量加plot离散序列用序号向量加stem。单位阶跃序列u[n]不能直接调用阶跃函数而是用逻辑判断或分段拼接。比如要画u[n]和u[n7]本质是控制序列的起始位置% 单位阶跃序列 u[n] 与 u[n7] 的对比 n -10:20; x [zeros(1,10) 1 ones(1,20)]; % n0 处为 1之前为 0 subplot(1,2,1); stem(n,x); xlabel(n); ylabel(u[n]); M 7; xd [zeros(1,10M) 1 ones(1,20-M)]; % 左移 7 位起点提前 subplot(1,2,2); stem(n,xd); xlabel(n); ylabel(u[n7]);这里的关键参数是zeros(1,10)和ones(1,20)的长度它们决定了阶跃点落在哪个序号上。移位操作在离散域就是数组索引的平移不是时间轴整体加减。复指数序列x[n]1.5e^{(0.2j3)n}则要注意实部和虚部分开画real和imag分别取分量否则一张图看不出复数序列的物理意义。实指数序列x[n]2(0.8)^n用点乘.^而不是矩阵乘这是 MATLAB 里最常见的翻车点之一。正弦序列的周期判断是实验一的重点。x[n]2.5sin(0.16πn-π/2)的基本周期不是直接读数字而是用2π/ω算再取最小正整数。ω0.16π时2π/0.16π12.5不是整数所以这个序列其实不是周期序列。但实验里给出的答案是 12.5说明它按连续正弦的周期来理解。这里要区分“离散周期序列”和“连续正弦采样后的周期”考试里经常在这设陷阱。2.2 序列运算与线性卷积的易错细节序列的加、乘、移位、卷积是实验一的操作重点。加法和乘法要求两个序列长度一致、序号对齐否则 MATLAB 会直接报错。偶部x_e[n]和奇部x_o[n]的分解公式是% 序列奇偶分解 n -2:2; x [1 2 4 -5 -2]; y fliplr(x); % 翻转序列 xe 0.5*(x y); % 偶部 xo 0.5*(x - y); % 奇部fliplr只翻转数值顺序不改变序号向量。如果序列不是关于n0对称翻转后对应的序号会错位这是最容易忽略的地方。线性卷积conv(x,h)的结果长度是length(x)length(h)-1画图时序号要从 0 开始重新生成不能沿用原来的n。实验里x[n](-1)^n和h[n]cos(0.25πn)卷积后长度是 22序号0:21如果直接stem(y)而不给序号横轴含义就丢了。连续正弦信号x_a(t)cos(5000πt)4sin(2000πt)sin(3000πt)的绘制要注意采样间隔。t0:0.5e-6:6e-3表示 0.5 微秒步长这个精度是为了让 5000π 的高频分量不混叠。如果步长取太大画出来的波形会失真看起来像低频信号这是时域绘图里最隐蔽的坑。3. 连续时间信号频域分析傅里叶级数、频谱与吉布斯现象3.1 周期矩形脉冲的频谱变化规律实验二的核心是周期信号的傅里叶级数展开和频谱绘制。周期矩形脉冲信号的双边幅度谱和相位谱由sinc函数决定谱线间隔是基频Ω₀2π/T。当T从 0.5s 增大到 1s、2s 时谱线变得更密集幅度整体下降。这个规律可以总结成一句话周期越长频谱越密幅度越小。因为周期信号的能量被分散到更多谐波上单根谱线的幅度自然降低。用 MATLAB 画双边谱时要注意正负频率都要画幅度谱是偶对称相位谱是奇对称。如果只画正频率会漏掉一半信息相位谱的符号也容易搞反。实验里A1, τ0.1s, T0.5s的参数下第一零点在2π/τ附近这个截止频率决定了频谱的主瓣宽度。3.2 谐波叠加与吉布斯现象的定量计算周期矩形脉冲用有限项傅里叶级数重构时不连续点附近会出现过冲这就是吉布斯现象。实验里N15, 25, 50的合成波形显示N越大波形越接近矩形脉冲但过冲峰值不会消失而是趋近于一个常数。这个常数大约是跳变幅度的 8.95%。实验程序p2_4直接算出了最大过冲function p2_4(N) t -2:1e-4:2; A 1; tau 1; T 2; Omega_0 2*pi/T; c0 A*tau/T; f_N c0*ones(1,length(t)); for k 1:N f_N f_N 2*A*tau/T*sinc(k*Omega_0*tau/2/pi)*cos(k*Omega_0*t); end overshoot max(f_N); fprintf(The maximum overshoot is %.4f\n, overshoot); end运行结果是1.0896即过冲约 8.96%。这个数字要记住考试里常问“吉布斯现象会不会随 N 增大而消失”答案是不会只会越来越靠近不连续点。另一个易错点是sinc函数的定义MATLAB 的sinc(x)是sin(πx)/(πx)不是sin(x)/x代入时要把π处理好否则频谱包络形状会完全不对。3.3 男声女声频谱差异与语音转换思路实验二还涉及实际音频的 FFT 分析。男声基音频率低能量集中在低频波形粗糙女声基音频率高能量分布更均匀波形细致。在语音转换中男声转女声的核心操作是基频调整同时配合声道长度模拟和谐波分布调整。基频调整可以通过重采样或相位声码器实现声道长度调整则改变共振峰位置。这些方法在 MATLAB 里可以用resample和滤波器组近似实现但实验里只要求定性比较不要求完整转换。4. 时域采样与重建奈奎斯特间隔和混叠的判定方法4.1 采样定理的验证逻辑实验三的核心是采样定理。升余弦脉冲信号的频谱大部分集中在[0, 2π/τ]截止频率Ω_m2奈奎斯特间隔T_sπ/2。当T_sπ/2时频谱未混叠当T_s2时频谱发生混叠。判定混叠的方法很直接看采样后信号的频谱在Ω_m以外是否还有重叠。如果采样频率低于两倍截止频率高频分量会折叠到低频频谱出现叠加。这里最容易错的是把采样间隔和采样频率搞反。T_s越小采样频率越高越不容易混叠。实验里T_sπ/2是临界值T_s2大于临界值所以混叠。复习时要记住奈奎斯特频率是2Ω_m奈奎斯特间隔是π/Ω_m两者互为倒数关系。4.2 重建误差的来源与低通滤波器截止频率的影响信号重建用理想低通滤波器从采样信号中恢复原信号。实验 3.4 把T_s改为 2低通截止频率改为Ω_cΩ_m重建误差大大增加。误差来源有两个一是采样间隔增大导致混叠高频分量折叠后无法通过低通滤波器分离二是低通截止频率减小把部分有效高频分量也滤掉了。这两个因素叠加误差自然变大。重建时要注意低通滤波器的截止频率必须满足Ω_m ≤ Ω_c ≤ Ω_s - Ω_m其中Ω_s2π/T_s。如果Ω_c取太小会丢失信号的高频细节取太大又会引入混叠分量。实验里Ω_cΩ_m是下限刚好卡在边界上所以误差明显。实际重建时通常取Ω_cΩ_s/2但前提是Ω_s ≥ 2Ω_m。5. 离散傅里叶变换与数字滤波器从 DFT 到系统频域分析5.1 DFT 的计算要点与频谱分析离散傅里叶变换把有限长序列变换到频域公式是X[k]Σx[n]W_N^{nk}其中W_Ne^{-j2π/N}。MATLAB 里用fft实现但要注意fft的输出是0到N-1的频率索引画频谱时要用fftshift把零频移到中心。如果不移低频分量会出现在两端看起来像高频这是 DFT 分析里最常见的视觉误导。DFT 的频率分辨率是fs/NN越大分辨率越高但计算量也越大。实验里通常取N1024或2048既能看清频谱细节又不会太慢。如果信号长度不够要补零到N补零不改变频谱形状只改变采样密度这一点经常被误解为“补零能提高分辨率”其实不能。5.2 数字滤波器设计与系统频域分析数字滤波器设计是实验四的延伸内容。IIR 滤波器用双线性变换法从模拟原型映射到数字域FIR 滤波器用窗函数法直接设计单位脉冲响应。MATLAB 里butter、cheby1、fir1分别对应不同类型的滤波器。设计时要关注通带截止频率、阻带截止频率、通带波纹和阻带衰减四个参数。连续时间系统的频域和复频域分析则涉及系统函数H(s)和频率响应H(jΩ)。拉普拉斯变换把微分方程变成代数方程傅里叶变换是拉普拉斯变换在虚轴上的特例。复习时要能把H(s)的零极点分布和频率响应的形状对应起来极点靠近虚轴谐振峰越尖锐零点靠近虚轴幅度响应出现凹陷。6. 易漏点与易错点采样、卷积、频谱分析里最容易翻车的地方6.1 易漏点一离散序列的序号向量为什么漏很多人只关注序列值忘了序号n也是信号的一部分。stem(n,x)里n和x必须等长且n的起始值决定信号的绝对位置。怎么补每次画图前先检查length(n)length(x)移位操作后重新生成n不要复用旧的序号向量。6.2 易漏点二卷积结果的序号范围为什么漏conv(x,h)只返回数值不返回序号。如果直接stem(y)横轴默认从 1 开始和实际序号对不上。怎么补卷积后手动生成序号n0:length(y)-1如果原序列有负序号还要做相应平移。6.3 易漏点三采样定理的临界条件为什么漏把T_s和f_s混用或者把奈奎斯特频率记成Ω_m而不是2Ω_m。怎么补记住f_s ≥ 2f_mT_s ≤ 1/(2f_m)。实验里Ω_m2所以T_s ≤ π/2T_sπ/2是临界T_s2超了。6.4 易漏点四FFT 频谱的横轴映射为什么漏fft输出索引0:N-1对应的频率是0:fs/N:fs-fs/N不是0:fs。如果不做fftshift零频在第一个点正负频率分居两端。怎么补画频谱时用f(0:N-1)*fs/N再用fftshift把零频移到中心横轴改成(-N/2:N/2-1)*fs/N。6.5 易漏点五吉布斯过冲的定量值为什么漏以为N增大过冲会消失或者记不住 8.95% 这个数。怎么补记住过冲峰值约为跳变幅度的 1.0895 倍即 8.95%。实验程序p2_4可以直接算出这个值复习时跑一遍加深印象。7. 复习清单从实验报告到考点的查漏补缺方法复习信号分析与处理最有效的方式不是重读教材而是把四个实验的 MATLAB 代码重新跑一遍每跑一个就问自己三个问题这个操作对应哪个理论公式参数改了会怎样如果结果不对最可能错在哪下面这份清单按模块整理可以直接对照查漏。模块核心公式/操作易错点自检方法信号产生stemvsplotzeros/ones拼接序号向量长度不匹配检查length(n)length(x)序列运算fliplrconv奇偶分解翻转后序号错位卷积序号从 0 开始画图前手动生成序号傅里叶级数sinc函数双边谱sinc定义含 π相位谱符号正负频率都画检查对称性吉布斯现象有限项重构过冲 8.95%以为 N 增大过冲消失跑p2_4看max(f_N)采样定理T_s ≤ π/Ω_m混叠判定T_s和f_s混用算2Ω_m和π/Ω_m信号重建低通滤波截止频率Ω_c取太小丢高频检查Ω_m ≤ Ω_c ≤ Ω_s-Ω_mDFTfftfftshift横轴频率映射错误用f(0:N-1)*fs/N滤波器设计butterfir1通带阻带参数混淆画幅频响应验证复习时建议按这个顺序走先跑实验一确认能造出所有基本信号再跑实验二把周期矩形脉冲的频谱和吉布斯现象过一遍然后跑实验三改T_s看混叠最后跑实验四用fft分析一段音频再用butter设计一个低通滤波器滤掉高频。每步都记录参数和结果形成自己的参数笔记。我自己的习惯是每次改参数前先写下预期结果跑完对比。如果和预期不符先检查序号向量和频率轴再检查公式里的 π 和 2π。从那以后我每次做采样实验都强制走一遍T_s ≤ π/Ω_m的判断再也没在混叠判定上翻过车。希望这份梳理帮到你。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑