### 数字信号处理实验知识点详解 #### 一、实验背景与目标 本次实验主要围绕《数字信号处理》课程展开,旨在通过实际操作加深学生对于数字信号处理基础理论的理解,并掌握MATLAB这一工具在数字信号处理中的应用。实验分为三个部分:采样与混叠现象的观察、离散时间系统的时不变性分析以及利用FIR滤波器进行信号滤波。 #### 二、实验内容详解 ##### (一)采样与混叠现象 **1. 目的与任务** - **观察采样引起的混叠现象**:通过对模拟信号进行采样,理解当采样频率低于奈奎斯特频率时,会出现信号混叠的现象。 - **熟悉MATLAB的基本使用**:包括信号的产生、矢量运算等基础操作。 - **了解系统响应**:包括input-on暂态、input-off暂态和稳态响应的概念。 **2. 内容** - **模拟信号**: \( x(t) = \cos(5\pi t) + 4\sin(2\pi t)\sin(3\pi t) \)。 - **采样频率**: 3KHz。 - **采样重建信号**: 手工计算与MATLAB绘制波形对比。 - **MATLAB代码**: ```matlab fs1 = 50; fs2 = 3; t1 = 0:1/fs1:6; x = cos(5*pi*t1) + 4*sin(2*pi*t1).*sin(3*pi*t1); xa = cos(pi*t1); t2 = 0:1/fs2:6; x_sample = cos(5*pi*t2) + 4*sin(2*pi*t2).*sin(3*pi*t2); xa_sample = cos(5*pi*t2) + 4*sin(2*pi*t2).*sin(3*pi*t2); plot(t1, x, 'r', t1, xa, 'b'); hold on; stem(t2, x_sample, 'ro'), stem(t2, xa_sample, 'bx'); legend('x(t)', 'xa(t)', 'x(nT)', 'xa(nT)'); xlabel('t(ms)'); ``` ##### (二)离散时间系统的时不变性 **1. 目的与任务** - **判断系统的时不变性**:通过改变输入信号的时间位置,观察输出的变化情况。 - **MATLAB代码**: ```matlab D = 30; N = 500; n = 1:N; x = sin(2*pi/100*n); for n = 1:N+D if n-D <= 0 xD(n) = 0; else xD(n) = x(n-D); end end figure; subplot(2,1,1); plot(1:N, x, 'r:', 1:length(xD), xD, 'b'); legend('x(n)', 'xD(n)'); xlabel('n'); ``` **2. 分析** - **输入信号**: \( x(n) = \sin(\frac{2\pi}{100}n) \)。 - **延迟后的信号**: \( x_D(n) = x(n - D) \)。 - **系统的响应**: 对输入信号\( x(n) \)的每第二个样本进行采样。 ##### (三)FIR滤波器的应用 **1. 目的与任务** - **利用卷积计算输出**:使用MATLAB内置的`conv`函数计算信号通过FIR滤波器的输出。 - **观察不同阶段的响应**:包括input-on暂态、input-off暂态和稳态响应。 **2. 内容** - **滤波器单位脉冲响应**: - 第一个滤波器: \( h_1(n) = 0.25(0.75)^n \),其中\( 0 \leq n \leq 14 \)。 - 第二个滤波器: \( h_2(n) = [1, 5, 10, 10, 5, 1]/5 \)。 - **输入信号**: - 周期方波: \( x(n) \)在\( 10 \leq n \leq 24 \)区间内为0.25,在\( 49 \leq n \leq 64 \)区间内为-0.25。 - **MATLAB代码**: ```matlab % 滤波器单位脉冲响应 h1 = 0.25*(0.75).^(0:14); h2 = [1 5 10 10 5 1]/5; % 输入信号 x = zeros(1, 100); x(10:24) = 0.25; x(49:64) = -0.25; % 计算输出 y1 = conv(x, h1); y2 = conv(x, h2); % 绘制波形 figure; subplot(2,1,1); plot(y1); title('Output of the first filter'); subplot(2,1,2); plot(y2); title('Output of the second filter'); ``` #### 三、实验总结 通过本次实验,我们不仅加深了对数字信号处理中关键概念如采样定理、时不变性的理解,还学会了如何使用MATLAB工具进行信号处理操作。特别是在对FIR滤波器的使用上,我们不仅掌握了如何利用卷积计算信号经过滤波器后的输出,还进一步观察了不同阶段的系统响应,这对于理解和设计实际中的数字信号处理系统具有重要意义。此外,实验中MATLAB的运用也极大地提高了我们的实践能力和编程技巧。
- 粉丝: 0
- 资源: 3
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助