数字信号处理实验1

合集下载

数字信号处理实验

数字信号处理实验

实验一: 系统及响应时域采样及频域采样1. 实验目的(1)掌握用卷积求系统响应及卷积定理的验证;(2)掌握连续信号经理想采样前后的频谱变化关系, 加深对时域采样定理的理解。

(3)掌握频域采样引起时域周期化概念, 加深对频域采样定理的理解。

(4) 掌握序列傅里叶变换的计算机实现方法, 利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。

3. 实验内容及步骤(1) 认真复习卷积定理、 时域采样和频域采样理论。

(2) 编制实验用主程序及相应子程序。

①系统单位脉冲响应序列产生子程序。

有限长序列线性卷积子程序,用于完成两个给定长度的序列的卷积。

可以直接调用MATLAB 语言中的卷积函数conv 。

conv 用于两个有限长度序列的卷积,它假定两个序列 都从n=0开始。

调用格式如下: y=conv (x, h) ② 卷积定理的验证。

(3)时域采样定理的验证:信号产生子程序, 用于产生实验中要用到的下列信号序列:x a (t)=Ae -at sin(Ω0t)u(t) 进行采样, 可得到采样序列x a (n)=x a (nT)=Ae -anT sin(Ω0nT)u(n), 0≤n<50其中A 为幅度因子, a 为衰减因子, Ω0是模拟角频率, T 为采样间隔。

这些参数都要在实验过程中由键盘输入, 产生不同的x a (t)和x a (n)。

>> %1时域采样序列分析 A=400;a=200;w=200; n=0:50-1;fs=1000;xa=A*exp((-a)*n/fs).*sin(w*n/fs); k=-200:200;w=(pi/100)*k;Xk=fft(xa,length(k));magX=abs(Xk);angX=angle(Xk); subplot(2,1,1);stem(n,xa,'.');xlabel('n');ylabel('xa(n)'); title('信号的类型');)()(10n R n h a =)3()2(5.2)1(5.2)()(-+-+-+=n n n n n h b δδδδ1,,2,1,0,)()()(-==M k e H e X e Y k k k j j a j ωωωsubplot(2,1,2);plot(w/pi,magX);xlabel('w/pi'); ylabel('|Yjw|');title('Y(|jw|)');5101520253035404550n x a (n )信号的类型-2.5-2-1.5-1-0.500.51 1.5205001000w/pi|Y j w |Y(|jw|)(4)频域采样定理的验证:>> %1时域采样序列分析fs=1000 A=400; a=200; w=200;;ts=64*10^(-3); fs=1000;T=1/fs;n=0:ts/T-1; xn=A*exp((-a)*n/fs).*sin(w*n/fs); Xk=fft(xn);subplot(3,2,1);stem(n,xn);xlabel('n,fs=1000Hz'); ylabel('xn');title('xn'); subplot(3,2,2);plot(n,abs(Xk));xlabel('k,fs=1000Hz'); title('|X(k)|');20406080n,fs=1000Hzx nxn2040608005001000k,fs=1000Hz|X(k)|51015n,fs=200Hzx nxn51015100200k,fs=200Hz |X (k)|10203040n,fs=500Hzx nxn102030400500k,fs=500Hz|X (k)|>> %频域采样定理验证M=26;N=32;n=0:M;n1=0:13;x1=n1+1; n2=14:26;x2=27-n2; x=[x1,x2];Xk=fft(x,512); X32k=fft(x,32);k=0:511;w=(pi/512)*k;subplot(321);stem(n,x);xlabel('n'); ylabel('xn');axis([0,31,0,15]);subplot(322);plot(w,abs(Xk));xlabel('k'); ylabel('|X(k)|');axis([0,1,0,200]) X16k=X32k(1:2:N);x32n=ifft(X32k);x16n=ifft(X16k,16); k1=0:31;k2=0:15;subplot(323);stem(k1,abs(X32k));xlabel('k'); ylabel('X32k');axis([0,31,0,200]);subplot(325);stem(k2,abs(X16k));xlabel('k'); ylabel('|X(k)|');axis([0,15,0,200]) n=0:31;subplot(324);stem(n,abs(x32n));xlabel('n'); ylabel('|x(n)|');axis([0,31,0,15]) n1=0:15;subplot(326);stem(n1,abs(x16n));xlabel('n'); ylabel('|x(n)|');axis([0,31,0,15])102030nx n0.51100200k|X (k )|kX 32kn|x (n )|k|X (k )|102030n|x (n )|实验二:用FFT作谱分析1.实验目的(1) 进一步加深DFT算法原理和基本性质的理解(因为FFT只是DFT的一种快速算法,所以FFT的运算结果必然满足DFT的基本性质)。

数字信号处理实验报告

数字信号处理实验报告

实验一 信号、系统及系统响应一、实验目的1、熟悉理想采样的性质,了解信号采样前后的频谱变化,加深对时域采样定理的理解。

2、熟悉离散信号和系统的时域特性。

3、熟悉线性卷积的计算编程方法:利用卷积的方法,观察、分析系统响应的时域特性。

4、掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对离散信号、系统及其系统响应进行频域分析。

二、 实验原理1.理想采样序列:对信号x a (t)=A e −αt sin(Ω0t )u(t)进行理想采样,可以得到一个理想的采样信号序列x a (t)=A e −αt sin(Ω0nT ),0≤n ≤50,其中A 为幅度因子,α是衰减因子,Ω0是频率,T 是采样周期。

2.对一个连续时间信号x a (t)进行理想采样可以表示为该信号与一个周期冲激脉冲的乘积,即x ̂a (t)= x a (t)M(t),其中x ̂a (t)是连续信号x a (t)的理想采样;M(t)是周期冲激M(t)=∑δ+∞−∞(t-nT)=1T ∑e jm Ωs t +∞−∞,其中T 为采样周期,Ωs =2π/T 是采样角频率。

信号理想采样的傅里叶变换为X ̂a (j Ω)=1T ∑X a +∞−∞[j(Ω−k Ωs )],由此式可知:信号理想采样后的频谱是原信号频谱的周期延拓,其延拓周期为Ωs =2π/T 。

根据时域采样定理,如果原信号是带限信号,且采样频率高于原信号最高频率分量的2倍,则采样以后不会发生频率混叠现象。

三、简明步骤产生理想采样信号序列x a (n),使A=444.128,α=50√2π,Ω0=50√2π。

(1) 首先选用采样频率为1000HZ ,T=1/1000,观察所得理想采样信号的幅频特性,在折叠频率以内和给定的理想幅频特性无明显差异,并做记录;(2) 改变采样频率为300HZ ,T=1/300,观察所得到的频谱特性曲线的变化,并做记录;(3) 进一步减小采样频率为200HZ ,T=1/200,观察频谱混淆现象是否明显存在,说明原因,并记录这时候的幅频特性曲线。

数字信号处理实验实验一

数字信号处理实验实验一

数字信号处理实验报告实验名称:离散时间系统的时域特性分析学生姓名:z学生学号:学生班级:上课时间:周二上午指导老师:一、实验目的线性时不变离散时间系统在时域中可以通过常系数线性差分方程来描述,冲激响应序列可以刻画其时域特性。

本实验通过使用MATLAB函数研究离散时间系统的时域特性,以加深对离散时间系统的差分方程、冲激响应和系统的线性和时不变特性的理解。

二、实验原理1.线性系统满足叠加原理的系统称为线性系统,即若某一输入是由N个信号的加权和组成的,则输出就是系统对这几个信号中每一个输入的响应的加权和。

即:如果系统在x1(n)和x2(n)输入时对应的输出分别为y1(n)和y2(n),当对任意常数a1和a2,式T[a1x1(n)+a2x2(n)]=a1T[x1(n)]+a2[x2(n)]=a1y1(n)+a2y2(n)成立,则该系统是线性系统。

2.时不变系统若输入x(n)的输出为y(n),则将输入序列移动任意位后,其输出序列除了跟着位移外,数值应保持不变。

即:当T[x(n)]=y(n),满足T[x(n-m)]=y(n-m) (m为任意整数)时,则该系统就称为时不变系统。

3.常系数线性差分方程线性时不变离散系统的输入、输出关系可以用以下常系数线性差分描述: y(n)=- ∑aky(n-k)+ ∑brx(n-r)当输入x(n)为单位冲激序列时,输出y(n)即为系统的单位冲击响应h(n)。

三、实验内容考虑如下差分方程描述的两个离散时间系统:系统1:y(n)=0.5x(n)+0.27x(n-1)+0.77x(n-2)系统2:y(n)=0.45x(n)+0.5x(n-1)+0.45x(n-2)+0.53y(n-1)-0.46y(n-2)输入想x(n)=cos(20n/256)+cos(200n/256)(1)编程求上述两个系统的输出,并分别画出系统的输入与输出波形。

(2)编程求上述两个系统的冲激响应序列,并画出其波形。

数字信号处理实验实验说明(1)

数字信号处理实验实验说明(1)

数字信号处理实验实验说明(1)《数字信号处理实验》实验说明(1)实验名称:常用序列及序列运算的MATLAB 实现(1)实验目的:(1)通过本实验熟悉MATLAB 平台的基本操作。

(2)学会简单的M 文件程序设计。

(3)使用MATLAB 实现常用的离散序列并进行简单的序列运算。

实验要求:请按照本实验说明的实验内容部分的信息独立完成本实验,并提交实验报告,实验报告请参照实验报告模板的格式。

实验内容:(可参考教材2.9.1节的内容完成本实验)(1)单位抽样序列(建立并使用M 函数文件)单位抽样序列的定义为:≠==0n 00n 1)(n δ在MATLAB 中,函数zeros(1,N)可以产生一个包含N 个零的行向量,在给定的区间上,可以用这个函数来产生)(n δ。

在MATLAB 的命令行窗口输入:>>delta=[1,zeros(1,N)]%>>是提示符启动MATLAB,新建一个M 文件,并输入以下内容,则该MATLAB 函数可以实现序列?≠==?000n n 0 n n 1)(n n δ。

f unction [x,n]=impseq(n0,n1,n2) %Generates x(n)=delta(n-n0);n1<=n0,n0<=n2%-----------------------------------------------------------------%[x,n]=impseq(n0,n1,n2)n=[n1:n2];x=[(n-n0)==0];%x=[zeros(1,(n0-n1)),1,zeros(1,(n2-n0))];注意:该M 文件的文件名应和函数名impseq 一致,%开始的内容是注释。

在MATLAB 的命令窗口输入以下命令:>>n0=>>n0=00%设置n0的值,后面的n1和n2也是一样,可自行改变>>n1=-3>>n2=3%n1和n2其实决定了n 的取值范围>>[x,n]=impseq(n0,n1,n2)%调用函数并产生输入>>stem(n,x)%显示序列的图形【要求】改变上面的相关参数,显示出移位序列的图形。

数字信号处理实验

数字信号处理实验
实验一:抽样定理与信号恢复
抽样定理: 1、分别对三角波和正弦波抽样,至少给出三 个抽样频率的结果。一个满足抽样定理,一个 不满足抽样定理,另一个随意。 信号恢复 2、分别对三个抽样结果进行信号恢复。
要求:实验报告中有理论分析。 可以用信号与系统实验箱做,也可以用matlab或C 做。
实验2:FFT频谱分析实验
1、用matlab或C编程计算N点序列x(n)的N 点DFT和FFT。 2、设x(n)=R8(n),求x(n)的离散傅立叶变换, 给出幅频图像和相频图像,然后用上述程序 求16点和32点的DFT及FFT. 给出
要求:实验报告中有理论分析(要有计算量的表 示)。
实验3:IIR滤波器设计实验
1、已知通带截止频率为5KHz,通带最大衰减2dB, 阻带截止频率12KHz,阻带最小衰减30dB,按照如 上指标设计巴特沃斯低通滤波器。 2、用双线性变换法设计一个带通数字滤波器,通带 频率为20~ 30Hz,在通带内的最大衰减为0.5dB在 频率为10Hz和40Hz的最小衰减为50dB,在阻带内, 采样频率为150Hz。 要求:实验报告中有理论分析(要有双线性变换 法的变换式,说明模拟频率和数字频率的关系)。
实验4:窗函数法FIR滤波器设计实验
• 利用矩形窗、汉宁窗(Hanning)、海明窗(Hamming) 设计线性相位FIR低通滤波器,要求通带截止频率 c 4 • 求出分别对应的单位脉冲响应,并进行比较。
• 画出单位脉冲响应图形和对数幅度响应图形。

[工学]数字信号处理实验

[工学]数字信号处理实验

h
8
七,例题
例1.3.2
设x(n)2(n)(n1)2(n2), h(n)(n)2(n1)(n2),
求y(n)=x(n)h(n)
两个有限长序列的卷积计算程序如下:
xn=[2,1,-2];
hn=[1,2,-1];
yn=conv(xn,hn);
n=0:length(yn)-1;
subplot(3,2,1);stem(n,yn,'.');line([0,5],[0,0])
xlabel('n');ylabel('y(n)');grid
on; h
9
仿真结果如下图所示:
h
10
八,实验报告要求
1, 报 告 中 要 给 出 实 验 的 MATLAB 程 序 , 并 对 每 个 语 句 给 出 注 释 , 说 明 语 句 作 用 ;
2,

Hale Waihona Puke 述实验目




;
3, 给 出 用 笔 算 时 卷 积 和 conv 计 算 线 性 卷 积 对 照 图 ;
2.Length 功能:取某一变量的长度(采样点数)
调用格式:N=Length(n) 取变量n的采样点数为N。
h
7
3. Real 功能:取某一复数的实部。
调用格式:x=real(h);取复数h的实部。
4. Imag 功能:取某一复数的虚部。
调用格式:y=imag(h);取复数h的虚部。
还有一些其它相关函数等:如plot(按线性比例关系绘制二维图形),stem(绘制二维离散序列图形),subplot (在同一图形界面上产生多个绘图区间),title(在图形的上方标注说明),xlabel(在横坐标的下方标 注说明),ylabel (在纵坐标的下方标注说明)conv(通用卷积函数)等等。

数字信号处理实验一

数字信号处理实验一

数字信号处理实验一实验目的:掌握利用Matlab产生各种离散时间信号,实现信号的相加、相乘及卷积运算实验函数:参考课本77-19页,注意式(2.11.1)的表达与各matlab子函数间的关系。

1、stem(x,y) % 绘制以x为横轴,y为纵轴的离散序列图形2、[h ,t] = impz(b, a) % 求解数字系统的冲激响应h,取样点数为缺省值[h, t] = impz(b, a, n) % 求解数字系统的冲激响应h,取样点数为nimpz(b, a) % 在当前窗口用stem(t, h)函数出图3、[h ,t] = dstep(b, a) % 求解数字系统的阶跃响应h,取样点数为缺省值[h, t] = dstep (b, a, n) % 求解数字系统的阶跃响应h,取样点数为ndstep (b, a) % 在当前窗口用stairs(t, h)函数出图4、y = filter(b,a,x) % 在已知系统差分方程或转移函数的情况下求系统输出实验原理:一、常用的时域离散信号及其程序1、产生单位抽样函数δ(n)n1 = -5;n2 = 5;n0 = 0;n = n1:n2;x = [n==n0]; % x在n=n0时为1,其余为0stem(n,x,'filled'); %filled:序列圆心处用实心圆表示axis([n1,n2,0,1.1*max(x)])title('单位抽样序列')xlabel('time(n)')ylabel('Amplitude:x(n)')2、产生单位阶跃序列u(n)n1 = -2;n2 = 8;n0 = 0;n = n1:n2;x = [n>=n0]; % x在n>=n0时为1,其余为0stem(n,x,'filled');axis([n1,n2,0,1.1*max(x)])title('单位阶跃序列')xlabel('time(n)')ylabel('Amplitude:x(n)')3、复指数序列复指数序列的表示式为()(),00,0j n e n x n n σω+⎧≥⎪=⎨<⎪⎩,当0ω=时,()x n 为实指数序列;当0σ=时,()x n 为虚指数序列,即()()cos sin j n e n j n ωωω=+,即其实部为余弦序列,虚部为正弦序列。

数字信号处理实验报告实验一

数字信号处理实验报告实验一

实验一:系统响应及系统稳定性1 实验目的(1)掌握求系统响应的方法。

(2)掌握时域离散系统的时域特性。

(3)分析、观察及检验系统的稳定性。

2 实验原理与方法在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。

已知输入信号,可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。

在计算机上适合用递推法求差分方程的解,最简单的方法是采用MA TLAB语言的工具箱函数filter函数。

也可以用MATLAB语言的工具箱函数conv函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。

系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。

重点分析系统的稳定性,包括观察系统的暂态响应和稳态响应。

系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。

或者系统的单位脉冲响应满足绝对可和的条件。

系统的稳定性由差分方程的系数决定。

实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件,可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的,系统的稳态输出是指当n→∞时,系统的输出。

如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随n的加大,幅度趋于稳定,达到稳态输出。

注意在以下实验中均假设系统的初始状态为零。

3 实验内容及步骤(1)编制程序,包括产生输入信号、单位脉冲响应序列的子程序,用filter函数或conv 函数求解系统输出响应的主程序。

程序中要有绘制信号波形的功能。

(2)给定一个低通滤波器的差分方程为y(n) = 0.05x(n) + 0.05x(n-1) + 0.9y(n-1)输入信号x1(n) = R8(n) , x8 = u(n)①分别求出x1 = R8(n) 和x8 = u(n) 的系统响应,并画出其波形。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1.(1)
clear;clc;close all; n1=[-2 -1 0 1 2 3]; n2=[0 1 2]; n3=0:7; n4=3-n1;
x1=[2 4 6 8 10 12]; x2=0.5.^n2;
x3=exp(i*(n3/6-pi)); figure(1)
subplot(2,1,1); stem(n1,x1);
axis([-3 4 0 14]);
title('实验1-1 x1(n)');
subplot(2,1,2); stem(n2,x2);
axis([-1 3 0 1.5]);
title('实验1-1 x2(n)'); figure(2)
subplot(2,2,1); stem(n3,real(x3));
title('实验1-1 x3(n)的实部');
subplot(2,2,2); stem(n3,imag(x3));
title('实验1-1 x3(n)的虚部');
subplot(2,2,3); stem(n3,abs(x3));
title('实验1-1 x3(n)的模');
subplot(2,2,4); stem(n3,angle(x3)); title('实验1-1 x3(n)的幅角'); figure(3) stem(n4,x1);
title('实验1-1 x4(n)');
(2)
clear;clc;close all; t1=0:1:10; t2=0:0.1:10;
x5=2*sin(2*pi*t1/7-pi/8); x6=2*sin(2*pi*t2/7-pi/8); figure;
subplot(2,1,1); stem(t1,x5);
axis([0 10 -2.4 2.4]); title('实验1-1 x5(n)'); subplot(2,1,2); stem(t2,x6);
axis([0 10 -2.4 2.4]); title('实验1-1 x6(n)'
(3)
clear;clc;close all;
t1=0:1:10;
t2=0:0.1:10;
x5=2*sin(2*pi*t1/7-pi/8);
x6=2*sin(2*pi*t2/7-pi/8); figure;
subplot(2,1,1);
plot(t1,x5);
axis([0 10 -2.4 2.4]);
title('实验1-1 plot x5(n)'); subplot(2,1,2);
plot(t2,x6);
axis([0 10 -2.4 2.4]);
title('实验1-1 plot x6(n)');
2.
clear;clc;close all;
t1=0:1:10;
x1=[2 4 6 8 10 12];
x5=2*sin(2*pi*t1/7-pi/8); x11=x1.*x1;
x51=x5.*x5;
e=sum(x11)
p=sum(x51(1:7))/7 e =
364
p =
2.0000
3.
clear;clc;close all; f=[1 -0.5];
g=[2 0.75 0.125];
disp('传递函数模型:') f
g disp('零级增益模型:') [z p k]=tf2zp(f,g) disp('极点留数模型:') [r p h]=residuez(f,g) disp('状态空间模型:') [A B C D]=tf2ss(f,g)
传递函数模型:
f =
1.0000 -0.5000
g =
2.0000 0.7500 0.1250 零级增益模型:
z =
0.5000 p =
-0.1875 + 0.1654i -0.1875 - 0.1654i k =
0.5000
极点留数模型:
r =
0.2500 + 1.0394i
0.2500 - 1.0394i p =
-0.1875 + 0.1654i -0.1875 - 0.1654i h =
[]
状态空间模型:
A =
-0.3750 -0.0625 1.0000 0
B =
1
C =
0.5000 -0.2500
D =
4.
clear;clc;close all; f=[1 0 2];
g=[1 1 2 2];
disp('传递函数模型:') f
g disp('零级增益模型:') [z p k]=tf2zp(f,g) disp('极点留数模型:') [r p h]=residuez(f,g) disp('状态空间模型:') [A B C D]=tf2ss(f,g)
传递函数模型:
f =
1 0 2
g =
1 1
2 2 零级增益模型:
z =
0.0000 + 1.4142i
0.0000 - 1.4142i
p =
0.0000 + 1.4142i
0.0000 - 1.4142i
-1.0000 + 0.0000i
k =
1
极点留数模型:
r =
-0.0000 - 0.0000i
-0.0000 + 0.0000i
1.0000 + 0.0000i p =
0.0000 + 1.4142i 0.0000 - 1.4142i -1.0000 + 0.0000i h =
[]
状态空间模型:
A =
-1 -2 -2 1 0 0
0 1 0
B =
1
C =
1 0 2
D =。

相关文档
最新文档