山东建筑大学数字信号处理实验报告
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三、 实验步骤及内容
(1) 编制程序, 包括产生输入信号、 单位脉冲响应序列的子程序, 用 filter 函数或 conv 函 数求解系统输出响应的主程序。 程序中要有绘制信号波形的功能。 (2) 给定一个低通滤波器的差分方程为 y(n)=0.05x(n)+0.05x(n-1)+0.9y(n-1) 输入信号 x1(n)=R8(n) x2(n)=u(n) ① 分别求出 x1(n)=R8(n)和 x2(n)=u(n)的系统响应 y1(n)和 y2(n), 并画出其波形。 ② 求出系统的单位脉冲响应, 画出其波形。
图像显示:
0.05 (h) 谐 振 器 对 u(n)的 响 应 y31(n)
0
-0.05050Fra bibliotek100
150
200
250
300
1 0.5 0 -0.5 -1 0 50
(i) 谐 振 器 对 正 弦 信 号 的 响 应 y32(n)
100
150
200
250
300
图 3:谐振器对 u(n)的响应 y31(n)及对正弦信号 x(n)响应 y32(n)谱分析
二、实验原理
在时域中, 描写系统特性的方法是差分方程和单位脉冲响应, 在频域可以用系统函数描述系统特 性。 已知输入信号可以由差分方程、 单位脉冲响应或系统函数求出系统对于该输入信号的响应。 本实 验仅在时域求解。 在计算机上适合用递推法求差分方程的解, 最简单的方法是采用 MATLAB 语言的工 具箱函数 filter 函数。 也可以用 MATLAB 语言的工具箱函数 conv 函数计算输入信号和系统的单位脉冲响 应的线性卷积, 求出系统的响应。 系统的时域特性指的是系统的线性时不变性质、 因果性和稳定性。 重点分析实验系统的稳定性, 包括 观察系统的暂态响应和稳定响应。 系统的稳定性是指对任意有界的输入信号, 系统都能得到有界的系统响应。 或者系统的单位脉冲响 应满足绝对可和的条件。 系统的稳定性由其差分方程的系数决定。 实际中检查系统是否稳定, 不可能检查系统对所有有界的输入信号, 输出是否都是有界输出, 或 者检查系统的单位脉冲响应满足绝对可和的条件。 可行的方法是在系统的输入端加入单位阶跃序列, 如 果系统的输出趋近一个常数(包括零), 就可以断定系统是稳定的[12]。 系统的稳态输出是指当 n→∞时, 系统的输出。 如果系统稳定, 则信号加入系统后, 系统输出的 开始一段称为暂态效应, 随着 n 的加大, 幅度趋于稳定, 达到稳态输出。 注意在以下实验中均假设系统的初始状态为零
程序代码:
(1) clear all; close all; clc; b=[0.05,0.05]; a=[1,-0.9]; x0=0; y0=[0.9,1]; xic=filtic(b,a,y0,x0); xn1=ones(1,30); yn1=filter(b,a,xn1,xic); xn2=[1,1,1,1,1,1,1,1]; yn2=filter(b,a,xn2,xic); xn3=[1,zeros(1,30)]; yn3=filter(b,a,xn3,xic); n1=0:length(yn1)-1; n2=0:length(yn2)-1; n3=0:length(yn3)-1; subplot(2,3,1); stem(n1,xn1,'.','k'); title('x1(n)');xlabel('n');ylabel('x(n)'); subplot(2,3,4); stem(n1,yn1,'.','k'); title('y1(n)');xlabel('n');ylabel('y(n)'); subplot(2,3,2); stem(n2,xn2,'.','k'); title('x2(n)');xlabel('n');ylabel('x(n)'); subplot(2,3,5); stem(n2,yn2,'.','k'); title('y2(n)');xlabel('n');ylabel('y(n)'); subplot(2,3,3); stem(n3,xn3,'.','k'); title('x3(n)');xlabel('n');ylabel('x(n)'); subplot(2,3,6); stem(n3,yn3,'.','k'); title('y3(n)');xlabel('n');ylabel('y(n)');
并画出波形。
程序代码
x1n=[1,1,1,1,1,1,1,1]; h1n=ones(1,10); h2n=[1,2.5,2.5,1,zeros(1,11)]; y1n=conv(x1n,h1n); y2n=conv(x1n,h2n); n1=0:length(y1n)-1; n2=0:length(y2n)-1; subplot(2,1,1); stem(n1,y1n,'.','k'); title('x1(n)');xlabel('n');ylabel('x(n)'); subplot(2,1,2); stem(n2,y2n,'.','k'); title('x2(n)');xlabel('n');ylabel('x(n)');
程序代码
(1) x1n=[1,1,1,1]; n1=0:3; n2=4:7; x2n=n1+1+8-n2; x3n=4-n1+n2-3; h1k=fft(x1n,8); h1k2=fft(x1n,16); i1=0:length(h1k)-1; i2=0:length(h1k2)-1; subplot(3,2,1); stem(i1,h1k,'.'); title('fft8_1');ylabel('h1k');xlabel('n'); subplot(3,2,2); stem(i2,h1k2,'.'); title('fft16_1');ylabel('h1k2');xlabel('n'); h2k=fft(x2n,8); h2k2=fft(x2n,16); i3=0:length(h2k)-1; i4=0:length(h2k2)-1; subplot(3,2,3); stem(i3,h2k,'.'); title('fft8_2');ylabel('h2k');xlabel('n'); subplot(3,2,4); stem(i4,h2k2,'.'); title('fft16_2');ylabel('h2k2');xlabel('n'); h3k=fft(x3n,8); h3k2=fft(x3n,16); i5=0:length(h3k)-1; i6=0:length(h3k2)-1; subplot(3,2,5); stem(i5,h3k,'.'); title('fft8_3');ylabel('h3k');xlabel('n'); subplot(3,2,6); stem(i6,h3k2,'.'); title('fft16_3');ylabel('h3k2');xlabel('n');
图像显示:
8 6 x1(n)
x(n)
4 2 0 0 2 4 6 8 n x2(n) 10 12 14 16
8 6
x(n)
4 2 0 0 5 10 15 20 25
n
图 2:x1(n)对系统 h1(n) x1(n)对系统 h2(n)输出响应谱分析 (3)给定一谐振器的差分方程为 y(n)=1.8237y(n-1)-0.9801y(n-2)+b0x(n)-b0x(n-2) 令 b0=1/100.49, 谐振器的谐振频率为 0.4 rad。 ① 用实验方法检查系统是否稳定。 输入信号为 u(n)时, 画出系统输出波形 y31(n)。 ② 给定输入信号为 x(n)=sin(0.014n)+sin(0.4n) 求出系统的输出响应 y32(n), 并画出其波形。
并进
x 4 ( n ) cos x 5 ( n ) cos
πn πn cos 4 8
π n 4
选择 FFT 的变换区间 N 为 8 和 16 的两种情况分别对以上序列进行频谱分析。分别打印其幅频特性曲线。并 进行对比、 分析和讨论。
(3) 对模拟周期信号进行谱分析: x6(t)=cos8πt+cos16πt+cos20πt 选择采样频率 Fs=64 Hz, 变换区间 N=16, 32, 64 的三种情况进行谱分析。 分别打印其幅频特性, 并 进行分析和讨论。
四、 思考题 (1)如果输入信号为无限长序列, 可用分段线性卷积法求系统的响应。 (2)如果信号经过低通滤波器, 则信号的高频分量被滤掉, 时域信号 系统的单位脉冲响应是有限长序列,
的变化减缓, 在有阶跃处附近产生过渡带。 因此, 当输入矩形序列时, 输 出序列的开始和终了都产生了明显的过渡带, 见第一个实验结果的波形。
三、 实验步骤及内容
(1) 对以下序列进行谱分析: x1(n)=R4(n) n+1 0≤n≤3 8-n 4≤n≤7 0 其它 n 4-n 0≤n≤3 n-3 4≤n≤7 0 其它 n 选择 FFT 的变换区间 N 为 8 和 16 的两种情况进行频谱分析。 分别打印其幅频特性曲线, 行对比、 分析和讨论。 (2) 对以下周期序列进行谱分析:
上机实验三:用 FFT 对信号作频谱分析
一、实验目的
学习用 FFT 对连续信号和时域离散信号进行频谱分析(也称谱分析)的方法, 误差及其原因, 以便正确应用 FFT。 二、 了解可能出现的分析
实验原理
用 FFT 对信号作频谱分析是学习数字信号处理的重要内容。 经常需要进行谱分析的信号是模拟信号和 时域离散信号。 对信号进行谱分析的重要问题是频谱分辨率 D 和分析误差。 频谱分辨率直接和 FFT 的变换区间 N 有关, 因为 FFT 能够实现的频率分辨率是 2π/N , 因此要求 2π/N≤D。 可以根据此式选择 FFT 的变换区间 N。 误差主要来自于用 FFT 作频谱分析时, 得到的是离散 谱, 而信号(周期信号除外)是连续谱, 只有当 N 较大时, 离散谱的包络才能逼近于连续谱, 因此 N 要适当选择大一些。 周期信号的频谱是离散谱, 只有用整数倍周期的长度作 FFT, 得到的离散谱才能代表周期信号的频 谱。 如果不知道信号周期, 可以尽量选择信号的观察时间长一些。 对模拟信号进行谱分析时, 首先要按照采样定理将其变成时域离散信号。 如果是模拟周期信号, 也应 该选取整数倍周期的长度, 经过采样后形成周期序列, 按照周期序列的谱分析进行。
图像显示:
1 x1(n) 1 x2(n) 1 x3(n)
x(n)
x(n)
0.5
0.5
x(n)
0 5 n y2(n) 10
0.5
0
0
1
20 n y1(n)
40
0
0
0
1
1
20 n y3(n)
40
y(n)
y(n)
0.5
0.5
y(n)
0 5 n 10
0.5
0
0
20 n
40
0
0
0
20 n
40
图 1:系统单位脉冲 h(n)谱分析 x1(n)响应 y1(n)和 x2(n)响应 y2(n)谱分析 (2 ) 给定系统的单位脉冲响应为 h1(n)=R10(n) h2(n)=δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3) 用线性卷积法求 x1(n)=R8(n)分别对系统 h1(n)和 h2(n)的输出响应 y21(n)和 y22(n),
山东建筑大学实验报告
学院:信息与电气工程学院 班级: 姓名:学号: 课程: 数字信号处理 实验日期: 2013 年 10 月 15 日 成绩:
数字信号处理上机实验 上机实验一:信号系统及系统响应
一、 实验目的
(1) 掌握求系统响应的方法。 (2) 掌握时域离散系统的时域特性。 (3) 分析、 观察及检验系统的稳定性。
subplot(2,1,1);y='y31(n)';stem(y31n, 'y'); title('(h) 谐振器对 u(n)的响应 y31(n)'); subplot(2,1,2);y='y32(n)';stem(y32n, 'y');
title('(i) 谐振器对正弦信号的响应 y32(n)');
程序代码
un=ones(1,256); n=0:255; xsin=sin(0.014*n)+sin(0.4*n); %产生正弦信号 A=[1,-1.8237,0.9801];B=[1/100.49,0,-1/100.49]; %系统差分方程系数向量 B 和 A y31n=filter(B,A,un); y32n=filter(B,A,xsin); %谐振器对 u(n)的响应 y31(n) %谐振器对 u(n)的响应 y31(n) %产生信号 u(n)