华南理工大学数字信号处理matlab实验1.docx
- 文档编号:17593912
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:14
- 大小:279.80KB
华南理工大学数字信号处理matlab实验1.docx
《华南理工大学数字信号处理matlab实验1.docx》由会员分享,可在线阅读,更多相关《华南理工大学数字信号处理matlab实验1.docx(14页珍藏版)》请在冰点文库上搜索。
华南理工大学数字信号处理matlab实验1
数字信号处理matlab实验
学院:
电子与信息
专业班级:
5
学号:
201130302068
姓名:
梁敏健
实验名称:
离散时间信号与系统分析、滤波器
实验日期:
2013.10
实验1离散时间信号与系统分析(2课时)
题目一:
以下程序中分别使用conv和filter函数计算h[n]=[321-210-403]和x[n]=[1-23-4321]的卷积y和y1,并分析y和y1是否有差别
代码:
h=[321-210-403];
x=[1-23-4321];
y=conv(h,x);
n=0:
14;
subplot(2,1,1);
stem(n,y);
xlabel('Timeindexn');ylabel('Amplitude');
title('OutputObtainedbyConvolution');grid;
x1=[xzeros(1,8)];
y1=filter(h,1,x1);
subplot(2,1,2);
stem(n,y1);
xlabel('Timeindexn');ylabel('Amplitude');
title('OutputGeneratedbyFiltering');grid;
可见,y与y1没有差别。
题目二:
编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。
要求分别用filter、conv、impz三种函数完成。
,
源代码:
对
,
单位冲激响应
a1=[1,0.75,0.125];
b1=[1,-1];
n=0:
20;
x1=[1zeros(1,20)];
y1filter=filter(b1,a1,x1);
subplot(2,2,1);
stem(n,y1filter);
title('y1filter');
xlabel('x');
ylabel('y');
title('impulseresponsegeneratedbyfilter')
x1_1=[1zeros(1,10)];
[h]=impz(b1,a1,10);
y1conv=conv(h,x1_1);
n=0:
19;
subplot(2,2,2);
stem(y1conv);
title('impulseresponsegeneratedbyconv')
h=impz(b1,a1,21);
subplot(2,2,3);
stem([0:
20],h);
title('impulseresponsegeneratedbyimpz')
结果:
单位阶跃:
a1=[1,0.75,0.125];
b1=[1,-1];
n=0:
20;
x2=ones(1,21);
y1filter=filter(b1,a1,x2);
subplot(2,2,3);
stem(n,y1filter);
title('y1filter_step');
xlabel('x');
ylabel('y');
title('impulseresponsegeneratedbyfilter')
x2=ones(1,21);
[h]=impz(b1,a1,20);
y1=conv(h,x2);
y1conv=y1(1:
21);
n1=0:
20;
subplot(2,2,2);
stem(n1,y1conv,'filled');
title('y1conv');
xlabel('n');
ylabel('y1[n]');
title('impulseresponsegeneratedbyconv')
a=[1,0.75,0.125];
b=1;
h=impz(b,a,21);
subplot(2,2,1);
stem([0:
20],h);
title('impulseresponsegeneratedbyimpz')
结果:
对
单位冲激响应:
a2=1;
b2=[00.25*ones(1,4)];
n=0:
9;
x1=[1zeros(1,9)];
y2filter=filter(b2,a2,x1);
subplot(2,2,1);
stem(n,y2filter);
title('y2filter');
xlabel('x');
ylabel('y')
title('impulseresponsegeneratedbyfilter')
x2=[1zeros(1,5)];
[h]=impz(b2,a2,5);
y2conv=conv(h,x2);
subplot(2,2,2);
stem(n,y2conv,'filled')
title('impulseresponsegeneratedbyconv')
h=impz(b2,a2,10);
subplot(2,2,3);
stem([0:
9],h);
title('impulseresponsegeneratedbyimpz')
结果:
单位阶跃
a1=1;
b1=[00.25*ones(1,4)];
n=0:
20;
x1=ones(1,21);
y2filter=filter(b1,a1,x1);
subplot(2,2,1);
stem(n,y2filter);
title('y2filter_step');
xlabel('x');
ylabel('y');
title('impulseresponsegeneratedbyfilter')
y2=conv(b1,x1);
y2conv=y2(1:
21);
subplot(2,2,2);
stem(n,y2conv,'filled');
title('y2conv');
xlabel('n');
ylabel('y[n]');
title('impulseresponsegeneratedbyconv')
n=0:
20;
b=[0,0.25,0.5,0.75,ones(1,17)];
a=1;
h=impz(b,a,21);
subplot(2,2,3);
stem([0:
20],h);
title('impulseresponsegeneratedbyimpz')
题目三
2N点实数序列
N=64。
用一个64点的复数FFT程序,一次算出,
并绘出
的图形。
代码:
N=64;n=[0:
1:
N-1];
n1=2*n;n2=2*n+1;k=[0:
1:
N-1];
xn1=cos(2*pi/N*7*n1)+1/2*cos(2*pi/N*19*n1);
xn2=cos(2*pi/N*7*n2)+1/2*cos(2*pi/N*19*n2);
XK1=fft(xn1);XK2=fft(xn2);
X1=XK1+exp(-j*pi*k/N).*XK2;
X2=XK1-exp(-j*pi*k/N).*XK2;
X1=[X1zeros(1,N)];X2=[zeros(1,N)X2];
XK=X1+X2;
k=[0:
1:
2*N-1];
XK=abs(XK);stem(k,XK);
xlabel('k');ylabel('|X(k)|');
title('X(k)=DFT[x(n)]2N')
题目四:
已知某序列
在单位圆上的N=64等分样点的Z变换为:
。
用N点IFFT程序计算
出和
。
代码:
N=64;
k=[0:
1:
63];
xk=1./(1-0.8*exp(-j*2*pi*k/N));
xn=ifft(xk,64);
stem(k,xn)
xlabel('k');ylabel('x(n)');
disp('xnÐòÁÐ');disp(xn);
xn序列
1.0000-0.0000i0.8000+0.0000i0.6400+0.0000i0.5120+0.0000i
0.4096+0.0000i0.3277+0.0000i0.2621+0.0000i0.2097+0.0000i
0.1678+0.0000i0.1342+0.0000i0.1074-0.0000i0.0859+0.0000i
0.0687-0.0000i0.0550-0.0000i0.0440-0.0000i0.0352-0.0000i
0.0281-0.0000i0.0225-0.0000i0.0180-0.0000i0.0144-0.0000i
0.0115-0.0000i0.0092-0.0000i0.0074-0.0000i0.0059-0.0000i
0.0047-0.0000i0.0038-0.0000i0.0030-0.0000i0.0024-0.0000i
0.0019-0.0000i0.0015-0.0000i0.0012-0.0000i0.0010+0.0000i
0.0008+0.0000i0.0006+0.0000i0.0005+0.0000i0.0004+0.0000i
0.0003+0.0000i0.0003+0.0000i0.0002+0.0000i0.0002+0.0000i
0.0001+0.0000i0.0001+0.0000i0.0001+0.0000i0.0001+0.0000i
0.0001+0.0000i0.0000+0.0000i0.0000+0.0000i0.0000-0.0000i
0.0000+0.0000i0.0000+0.0000i0.0000+0.0000i0.0000-0.0000i
0.0000-0.0000i0.0000-0.0000i0.0000-0.0000i0.0000-0.0000i
0.0000-0.0000i0.0000-0.0000i0.0000-0.0000i0.0000-0.0000i
0.0000-0.0000i0.0000-0.0000i0.0000-0.0000i0.0000-0.0000i
实验2滤波器设计(2课时)
1、求系统
的零、极点和幅度频率响应和相位响应。
代码:
num=[1-0.1-0.3-0.3-0.2];
den=[10.10.20.20.5];
[z,p,k]=tf2zp(num,den);
m=abs(p);
disp('零点');
disp(z);
disp('极点');
disp(p);
disp('增益系数');
disp(k);
sos=zp2sos(z,p,k);
disp('二阶节');
disp(real(sos));
zplane(num,den)
零点
0.9615
-0.5730
-0.1443+0.5850i
-0.1443-0.5850i
极点
0.5276+0.6997i
0.5276-0.6997i
-0.5776+0.5635i
-0.5776-0.5635i
增益系数
1
二阶节
1.0000-0.3885-0.55091.00001.15520.6511
1.00000.28850.36301.0000-1.05520.7679
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 华南理工大学 数字信号 处理 matlab 实验
![提示](https://static.bingdoc.com/images/bang_tan.gif)