云文档网 - 专业文章范例文档资料分享平台

数字信号处理第三版高西泉上机实验完整版(含子程序)_-

来源:网络收集 时间:2024-04-28 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xuecool-com或QQ:370150219 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

实验一:系统响应及系统稳定性

一、 实验原理与方法

1、在时域求系统响应的方法有两种,第一种是通过解差分方程求得系统输出; 第二种是已知系统的单位脉冲响应,通过求输入信号和系统单位脉冲响应的线性卷积求得系统输出。 2、检验系统的稳定性,其方法是在输入端加入单位阶跃序列,观察输出波形,如果波形稳定在一个常数值上,系统稳定,否则不稳定。

二、 实验结果及程序清单(含分析及函数用法) 1、%-----(2)调用filter解差分方程以及单位脉冲响应------ close all;clear all A=[1,-0.9];B=[0.05,0.05]; %系统差分方程系数向量B和A x1n=[ones(1,8) zeros(1,25)]; %产生信号x1(n)=R8(n),用zeros用来加点的个数 x2n=ones(1,30); %产生信号x2(n)=u(n) hn=impz(B,A,25); %求系统单位脉冲响应h(n) subplot(3,1,1);stem(hn); %调用函数stem绘图 title('(a) 系统单位脉冲响应h(n)'); y1n=filter(B,A,x1n); %求系统对x1(n)的响应y1(n) subplot(3,1,2);stem(y1n); title('(b) 系统对R8(n)的响应y1(n)'); y2n=filter(B,A,x2n); %求系统对x2(n)的响应y2(n) subplot(3,1,3);stem(y2n); title('(c) 系统对u(n)的响应y2(n)');

word文档可自由复制编辑

分析:

(a)25个点数和程序所写一致。

Filter函数实现线性常系数差分方程的递推求解。 调用格式如下:

Y=[filter(B,A,x)] 计算系统对输入信号x的零状态响应输出信号向量Y, B,A是差分方程的系数向量。即

B=[a1,a2……am] A=[b1,b2……bn] 2、%-----(3)调用conv函数计算卷积------- x1n=[ones(1,8)]; %产生信号x1(n)=R8(n) h1n=[ones(1,10) zeros(1,10)]; h2n=[1 2.5 2.5 1 zeros(1,10)]; y21n=conv(h1n,x1n); y22n=conv(h2n,x1n); subplot(2,2,1);stem(h1n); title('(d) 系统单位脉冲响应h1(n)'); subplot(2,2,3);stem(y21n); title('(e) h1(n)与R8(n)的卷积y21(n)'); subplot(2,2,2);stem(h2n); title('(f) 系统单位脉冲响应h2(n)'); subplot(2,2,4);stem(y22n); title('(g) h2(n)与R8(n)的卷积y22(n)');

word文档可自由复制编辑

分析: (d)(f)单位脉冲响应点数与程序要求一致 (e)(g)卷积点数满足M+N-1的要求,图形也满足要求。 Conv函数用于计算两个有限长序列的卷积

C=conv(A,B)计算两个有限长序列向量A和B的卷积 3、%-----(4)实验方法检查系统是否稳定------- close all;clear all un=ones(1,256); %产生信号u(n) 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 y1n=filter(B,A,un); %谐振器对u(n)的响应y31(n) y2n=filter(B,A,xsin); %谐振器对u(n)的响应y31(n) subplot(2,1,1);stem(y1n); title('(h) 谐振器对u(n)的响应y31(n)'); subplot(2,1,2);stem(y2n); title('(i) 谐振器对正弦信号的响应y32(n)');

分析: (h)中由:在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的 输出显然趋近于零,所以是稳定的 (i)中谐振器具有对某个频率进行谐振的性质,本实验中的谐振器的谐振频率是0.4 rad,因此稳定波形为sin(0.4n)。

word文档可自由复制编辑

三、 思考题简要分析

(1) 如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列,可否用线性卷积法求系统的响应? 如何求?

答: 如果输入信号为无限长序列,系统的单位脉冲响应是有限长序列,可用分段线性卷积法求系统的响应

(2)如果信号经过低通滤波器,把信号的高频分量滤掉,时域信号会有何变化,用前面 第一个实验结果进行分析说明。

答:如果信号经过低通滤波器, 则信号的高频分量被滤掉, 时域信号的变化减缓,在有阶跃处附近产生过渡带。因此,当输入矩形序列时,输出序列的开始和终了都产生了明显的过渡带,见第一个实验结果的波形。

四、 总结

总结即在实验原理中说明的两点:

1、在时域求系统响应的方法有两种,第一种是通过解差分方程求得系统输出; 第二种是已知系统的单位脉冲响应,通过求输入信号和系统单位脉冲响应的线性卷积求得系统输出。 2、检验系统的稳定性,其方法是在输入端加入单位阶跃序列,观察输出波形,如果波形稳定在一个常数值上,系统稳定,否则不稳定。

word文档可自由复制编辑

实验二:时域采样与频域采样

一、 实验原理与方法

1、 时域采样定理:

a) 对模拟信号xa(t)以间隔T进行时域等间隔理想采样,形成的采样信号的频谱

?(j?)是原模拟信号频谱X(j?)以采样角频率?s(?s?2?/T)为周期进Xa行周期延拓。公式为:

?1?(j?)?FT[x?a(t)]??Xa(j??jn?s) XaTn???b) 采样频率?s必须大于等于模拟信号最高频率的两倍以上,才能使采样信号的 频谱不产生频谱混叠。

2、 频域采样定理:

公式为: xN(n)?IDFT[XN(k)]N?[i????x(n?iN)]R?N(n)

由公式可知,频域采样点数N必须大于等于时域离散信号的长度M(即N≥M),才能使时域不产生混叠,则N点IDFT[XN(k)]得到的序列xN(n)就是原序列x(n),即

xN(n)=x(n)。

二、 实验结果及程序清单(含分析及函数用法) 1、% ---------(1)时域采样理论验证程序--------- Tp=64/1000; %观察时间Tp=64毫秒 %产生M长采样序列x(n) Fs=1000; T=1/Fs; M=Tp*Fs; n=0:M-1; A=444.128; alph=pi*50*2^0.5 ;omega=pi*50*2^0.5; xnt=A*exp(-alph*n*T).*sin(omega*n*T); Xk=T*fft(xnt,M); %M点FFT[xnt)] yn='xa(nT)';subplot(3,2,1); stem(xnt); %调用自编绘图函数stem绘制序列图 box on;title('(a) Fs=1000Hz'); word文档可自由复制编辑

k=0:M-1;fk=k/Tp; subplot(3,2,2);stem(fk,abs(Xk));title('(a) T*FT[xa(nT)],Fs=1000Hz'); xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))]); % Fs=300Hz和 Fs=200Hz的程序与上面Fs=1000Hz完全相同。 Tp=64/1000; %观察时间Tp=64毫秒 %产生M长采样序列x(n) Fs=300; T=1/Fs; M=Tp*Fs; n=0:M-1; A=444.128; alph=pi*50*2^0.5 ;omega=pi*50*2^0.5; xnt=A*exp(-alph*n*T).*sin(omega*n*T); Xk=T*fft(xnt,M); %M点FFT[xnt)] yn='xa(nT)';subplot(3,2,3); stem(xnt); %调用自编绘图函数stem绘制序列图 box on;title('(b) Fs=300Hz'); k=0:M-1;fk=k/Tp; subplot(3,2,4);stem(fk,abs(Xk));title('(b) T*FT[xa(nT)],Fs=300Hz'); xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))]); Tp=64/1000; %观察时间Tp=64毫秒 %产生M长采样序列x(n) Fs=200; T=1/Fs; M=Tp*Fs; n=0:M-1; A=444.128; alph=pi*50*2^0.5 ;omega=pi*50*2^0.5; xnt=A*exp(-alph*n*T).*sin(omega*n*T); Xk=T*fft(xnt,M); %M点FFT[xnt)] yn='xa(nT)';subplot(3,2,5); stem(xnt); %调用自编绘图函数stem绘制序列图 box on;title('(c) Fs=200Hz'); word文档可自由复制编辑

k=0:M-1;fk=k/Tp; subplot(3,2,6);stem(fk,abs(Xk));title('(c) T*FT[xa(nT)],Fs=200Hz'); xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))]);

分析:,当采样频率为1000 Hz时,频谱混叠很小:当采样频率为300 Hz时,频谱混叠很严重;当采样频率为200 Hz时,频谱混叠更很严重。 Fft函数的调用格式: Xk=fft(xn,N) 调用参数xn为被交换的时域序列向量,N是DFT变换的区间长度,当N大于xn的长度时,fft函数自动在xn后面补零。当N小于xn的长度时,fft函数计算xn的前面N个元素构成的N长序列的N点DFT,忽略xn后面的元素。 2、%-------------(2)频域采样理论验证----------- M=27;N=32;n=0:M; %产生M长三角波序列x(n) xa=0:floor(M/2); xb= ceil(M/2)-1:-1:0; xn=[xa,xb]; Xk=fft(xn,1024); 24点FFT[x(n)], 用于近似序列x(n)的TF X32k=fft(xn,32) ;2点FFT[x(n)] x32n=ifft(X32k); 2点IFFT[X32(k)]得到x32(n) X16k=X32k(1:2:N); %隔点抽取X32k得到X16(K) word文档可自由复制编辑

x16n=ifft(X16k,N/2); 点IFFT[X16(k)]得到x16(n) subplot(3,2,2);stem(n,xn);box on title('(b) 三角波序列x(n)');xlabel('n');ylabel('x(n)');axis([0,32,0,20]) k=0:1023;wk=2*k/1024; % subplot(3,2,1);plot(wk,abs(Xk));title('(a)FT[x(n)]'); xlabel('\\omega/\\pi');ylabel('|X(e^j^\\omega)|');axis([0,1,0,200]) k=0:N/2-1; subplot(3,2,3);stem(k,abs(X16k));box on title('(c) 16点频域采样');xlabel('k');ylabel('|X_1_6(k)|');axis([0,8,0,200]) n1=0:N/2-1; subplot(3,2,4);stem(n1,x16n);box on title('(d)16点IDFT[X_1_6(k)]'); xlabel('n');ylabel('x_1_6(n)');axis([0,32,0,20]) k=0:N-1; subplot(3,2,5);stem(k,abs(X32k));box on title('(e) 32点频域采样');xlabel('k');ylabel('|X_3_2(k)|');axis([0,16,0,200]) n1=0:N-1; subplot(3,2,6);stem(n1,x32n);box on title('(f)32点IDFT[X_3_2(k)]'); xlabel('n');ylabel('x_3_2(n)');axis([0,32,0,20]) word文档可自由复制编辑

分析;该图验证了频域采样理论和频域采样定理。 对信号x(n)的频谱函数X(e)在[0, 2π]上等间隔采样N=16时, N点IDFT[XN(k)]得到的序列正是原序列x(n)以16为周期进行周期延拓后的主值区序列

当N=16时,由于N

当N=32时,由于N>M,频域采样定理,所以不存在时域混叠失真 Ifft函数用法同fft函数

三、 思考题简要分析

j?X(e)在[0,2?]上的N点等间隔采样,当1、 如果序列x(n)的长度为M,希望得到其频谱

N

答:先对原序列x(n)以N为周期进行周期延拓后取主值区序列,

xN(n)?[?x(n?iN)]RN(n)i????

再计算N点DFT则得到N点频域采样:

XN(k)?DFT[xN(n)]N =X(ej?)??2?kN , k?0,1,2,,N?1

word文档可自由复制编辑

实验三:用FFT对信号作频谱分析

一、 实验原理与方法

1、周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。如果不知道信号周期,可以尽量选择信号的观察时间长一些。

2、对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。

3、频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现的频率分辨率是2?/N,因此要求2?/N?D。

二、 实验结果及程序清单(含分析及函数用法) 1、clear all;close all %---------------实验内容(1)---------------- x1n=[ones(1,4)]; %产生序列向量x1(n)=R4(n) M=8; xa=1:(M/2); xb=(M/2):-1:1; x2n=[xa,xb]; %产生长度为8的三角波序列x2(n) x3n=[xb,xa]; X1k8=fft(x1n,8); %计算x1n的8点DFT X1k16=fft(x1n,16); %计算x1n的16点DFT X2k8=fft(x2n,8); %计算x1n的8点DFT X2k16=fft(x2n,16); %计算x1n的16点DFT X3k8=fft(x3n,8); %计算x1n的8点DFT X3k16=fft(x3n,16); %计算x1n的16点DFT %以下绘制幅频特性曲线 subplot(3,2,1); mstem(X1k8); %绘制8点DFT的幅频特性图 title('(1a) 8点DFT[x_1(n)]');xlabel('ω/π');ylabel('幅度'); axis([0,2,0,1.2*max(abs(X1k8))]) subplot(3,2,2);mstem(X1k16); %绘制16点DFT的幅频特性图 title('(1b)16点DFT[x_1(n)]');xlabel('ω/π');ylabel('幅度'); axis([0,2,0,1.2*max(abs(X1k16))]) subplot(3,2,3);mstem(X2k8); %绘制8点DFT的幅频特性图 word文档可自由复制编辑

百度搜索“yundocx”或“云文档网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,云文档网,提供经典综合文库数字信号处理第三版高西泉上机实验完整版(含子程序)_-在线全文阅读。

数字信号处理第三版高西泉上机实验完整版(含子程序)_-.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.yundocx.com/wenku/184901.html(转载请注明文章来源)
Copyright © 2018-2022 云文档网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:370150219 邮箱:370150219@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:7 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219