实验一Matlab软件的使用.docx
《实验一Matlab软件的使用.docx》由会员分享,可在线阅读,更多相关《实验一Matlab软件的使用.docx(12页珍藏版)》请在冰豆网上搜索。
实验一Matlab软件的使用
实验一Matlab软件的使用
1、实验目的和要求
㈠掌握Matlab软件的使用方法;
㈡常用离散时间信号的产生、显示和运算。
2、实验内容
㈠Matlab软件常用命令和工具箱的使用,学会简单的编程;
㈡编程实现常用离散时间信号;
㈢离散时间信号的叠加、移位、线性卷积等基本运算。
3、实验原理
利用软件生成数字信号处理系统中所涉及的信号及信号的加、移位、卷积等运算。
4、主要仪器设备
计算机,Matlab软件。
实验步骤:
程序1:
n=-5:
30;
x=[zeros(1,5),1,zeros(1,30)];
stem(n,x,'fill');
gridon
程序2:
n=-5:
30;x=[zeros(1,5),ones(1,8),zeros(1,23)];stem(n,x,'fill');
gridon;
程序3:
n=-15:
20;
x=[zeros(1,15),1,2,3,4,5,zeros(1,16)];
stem(n,x,'fill');
gridon;
程序4:
N=10;
M=10;
L=N+M-1;x=[1,2,3,4,5,zeros(1,5)];h=[1,2,1,2,zeros(1,6)];y=conv(x,h);
n=0:
L-1;stem(n,y,'*k');gridon;
实验结果:
1、
2、
3、
实验二DTFT和Z变换的Matlab实现
1、实验目的和要求
㈠掌握DTFT和Z变换的Matlab实现的方法;
㈡进一步了解离散时域系统的时频特性。
2、实验内容
㈠DTFT和z变换的计算和基本性质;
㈡离散时域系统的仿真;
㈢利用函数实现离散时域系统的频率响应,分析零、极点的分布,进一步了解离散时域系统的时域特性。
3、实验原理
利用Matlab软件计算出系统函数的零极点分布、单位脉冲响应和系统频率响应等的图像并于笔算结果进行比较,找出异同。
编译合适程序能计算取值范围不同的离散卷积。
4、主要仪器设备
计算机,Matlab软件。
实验步骤:
stem(n,x);
axis([0,30,0,2]);
title('输入序列');xlabel('n');
ylabel('x(n)');
subplot(3,1,2);
stem(n,h);
axis([0,30,0,2]);
程序1:
n=0:
30;x=zeros(1,length(n));h=zeros(1,length(n));x([find((n>=0)&(n<=4))])=1;h([find((n>=0)&(n<=8))])=0.5;figure
(1)subplot(3,1,1);
title('冲激响应序列');
xlabel('n');
ylabel('h(n)');
y=conv(x,h);
subplot(3,1,3);
n=0:
length(y)-1;
stem(n,y);
title('输出响应');
xlabel('n');
ylabel('y(n)');
程序2:
b=[0.0181,0.0543,
0.0543,0.0181];a=[1.000,-1.76,1.1829,-0.2781];
实验结果:
1、
w=pi*freqspace(500);
H=freqz(b,a,w);
MH=abs(H);
AH=angle(H);
subplot(2,1,1);
plot(w/pi,MH);
grid;
axis([0,1,0,1]);
xlabel('w(pi)');
ylabel('|H|');
title('幅度、相位响应');
subplot(2,1,2);
plot(w/pi,AH);
grid;
xlabel('w(pi)');
ylabel('angle(H)');
2、
实验三DFS和DFT的Matlab实现
1、实验目的和要求
㈠加深DFS和DFT的算法原理和基本性质的理解;
㈡熟悉利用FFT对典型数字信号进行频谱分析。
2、实验内容
㈠使用Matlab实现程序周期序列的DFS;
㈡利用FFT和IFFT编程实现两个有限长序列的循环卷积;
3、实验原理
对有限长序列使用离散Fouier变换(DFT)可以很好的反映序列的频谱特性,而且易于用快速算法在计算机上实现。
4、主要仪器设备
计算机,Matlab软件。
实验步骤:
程序1:
functionshiyan22()
F=50;
N=64;
T=0.000625;
n=1:
N;
x=cos(2*pi*F*n*T);
subplot(2,1,1);
plot(n,x);
holdontitle('x(n)');xlabel('n');
X=fft(x);
subplot(2,1,2);
plot(n,X);
gridtitle('FFT|X|');xlabel('f(pi)');
程序2:
n=0:
30;%输入x(n)和冲激响应h(n)x=zeros(1,length(n));
h=zeros(1,length(n));x([find((n>=0)&(n<=4))])
=1;
h([find((n>=0)&(n<=8))])
=0.5;subplot(3,1,1);stem(x);
title('x(n)');axis([0,30,0,2]);subplot(3,1,2);
stem(h);
title('h(n)');axis([0,30,0,2]);
X=fft(x);
H=fft(h);
Y=X.*H;
y=ifft(Y);
subplot(3,1,3);
实验结果:
1、
2、
实验四IIR数字滤波器的设计和实现
1、实验目的和要求
㈠掌握冲击响应不变法和双线形变换法设计IIR数字滤波器的原理和方法;
㈡通过观察对实际信号的滤波,获得对数字滤波的感性认识。
2、实验内容
㈠巴特沃思滤波器设计实现模拟低通滤波器;
㈡利用冲击响应不变法和双线形变换法对模拟滤波器进行A/D转换;
3、实验原理
用数字滤波器的单位脉冲响应序列h(n)模仿模拟滤波器的冲激响应ha(t),让h(n)正好等于ha(t)的采样值,即h(n)ha(nT)。
4、主要仪器设备
计算机,Matlab软件。
实验步骤:
设计一个巴特沃思数字低通滤波器,设计指标如下:
通带内p0.2幅度衰减不大于1dB;阻带s0.35幅度衰减不小于15dB。
编制实现该数字滤波器程序并且实
现数字滤波。
functionshiyan3()fp=200*pi;fs=300*pi;wp=0.2*pi;ws=0.3*pi;
Rp=1;
As=15;
T=1;
Fs=1000;
[N,fc]=buttord(fp,fs,Rp,As,'s');[b,a]=butter(N,fc,'s');
w=[0:
1000*2*pi];[hf,w]=freqs(b,a,1000);[d,c]=impinvar(b,a,Fs);
wd=[0:
512]*pi/512;hw1=freqz(d,c,wd);
[f,e]=bilinear(b,a,Fs);hw2=freqz(f,e,wd);
OmegaP=(2/T)*tan(wp/2);
OmegaS=(2/T)*tan(ws/2);ep=sqrt(10^(Rp/10)-1);
Ripple=sqrt(1/(1+ep.^2));
Attn=1/10^(As/20);subplot(3,1,1);plot(wd/pi,abs(hw1)/abs(hw1
(1)));title('幅度响应(冲击响应不变法)');xlabel('w(pi)');
ylabel('H');
ylabel('H');
axis([0,1,0,1.1]);
set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]);set(gca,'YTickmode','manual','YTick',[0,Attn,Ripple,1]);grid;
subplot(3,1,2);plot(wd/pi,20*log10((abs(hw2)+eps)/abs(hw2
(1))));title('幅度响应(双线性变换法(dB))');xlabel('w(pi)');
ylabel('H');axis([0,1,-40,5]);set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]);set(gca,'YTickmode','manual','YTick',[-50,-15,-1,0]);grid;
subplot(3,1,3);plot(wd/pi,-angle(hw2));title('相位响应');xlabel('w(pi)');ylabel('piunit');
%axis([0,1,0,1.1]);
set(gca,'XTickmode','manual','XTick',[0,0.2,0.35,1.1]);set(gca,'YTickmode','manual','YTick',[-1,0,1]);
grid;
实验结果:
1、实验目的和要求
㈠掌握用窗函数法设计FIR数字滤波器的原理和方法;
㈡熟悉线性相位FIR滤波器的幅频特性和相频特性;
㈢了解不同窗函数对滤波器性能的影响。
2、实验内容
㈠用Hanning窗设计线性相位带通滤波器;
㈡分别改用矩形窗和Blackman窗设计线性带通滤波器;
3、实验原理
确定数字滤波器的性能要求,根据性能要求,合理选择单位脉冲响应h(n)的奇偶对称性,从而确定理想频率响应Hd(e)的幅频特性和相频特性;求理想单位脉冲响应hd(n),
选择适当的窗函数w(n),根据h(n)hd(n)w(n)求所需设计的FIR滤波器单位脉冲响应;
4、主要仪器设备
计算机,Matlab软件。
实验步骤:
设计一个FIR数字滤波器,设计指标如下:
通带内p0.2幅度衰减不大于
1dB;阻带s0.35幅度衰减不小于15dB;编制计算设计的数字滤波器幅度特
性和相位特性的程序。
wp=0.2*pi;
ws=0.3*pi;tr_width=ws-wp;
M=ceil(6.6*pi/tr_width)+1;
n=0:
M-1;
wc=(ws+wp)/2;
alpha=(M-1)/2;m=n-alpha+eps;hd=sin(wc*m)./(pi*m);w_ham=(hamming(M))';
[mag,db,pha,w]=freqz_m(h,[1]);delta_w=2*pi/1000;
Rp=-(min(db(1:
wp/delta_w+1)));
As=-round(max(db(ws/delta_w+1:
501)));subplot(2,2,1);
stem(n,hd);
title('理想冲激响应');axis([0,M-1,-0.1,0.3]);
ylabel('hd(n)');subplot(2,2,2);
stem(n,h);
title('实际冲激响应');
axis([0,M-1,-0.1,0.3]);ylabel('h(n)');
subplot(2,2,3);plot(w/pi,pha);
title('滤波器相位响应');axis([0,1,-pi,pi]);
ylabel('pha');
set(gca,'XTickmode','manual','XTick',[0,0.2,0.3,1.1]);set(gca,'YTickmode','manual','YTick',[-pi,0,pi]);
grid;
subplot(2,2,4);
plot(w/pi,db);
title('滤波器幅度响应');axis([0,1,-100,10]);
ylabel('H(db)');
set(gca,'XTickmode','manual','XTick',[0,0.2,0.3,1.1]);set(gca,'YTickmode','manual','YTick',[-50,-15,0]);function[mag,db,pha,w]=freqz_m(b,a)[H,w]=freqz(b,a,1000,'whole');
H=(H(1:
501))';
w=(w(1:
501))';mag=abs(H);
db=20*log10((mag+eps)/max(mag));
pha=angle(H);
实验结果: