文档库 最新最全的文档下载
当前位置:文档库 › 数字信号处理实验 IIR数字滤波器设计及软件实现

数字信号处理实验 IIR数字滤波器设计及软件实现

数字信号处理实验 IIR数字滤波器设计及软件实现
数字信号处理实验 IIR数字滤波器设计及软件实现

IIR数字滤波与软件实现N=800;

Fs=10000;T=1/Fs;Tp=N*T;

t=0:T:(N-1)*T;k=0:N-1;f=k/Tp;

fc1=Fs/10;

fm1=fc1/10;

fc2=Fs/20;

fm2=fc2/10;

fc3=Fs/40;

fm3=fc3/10;

xt1=cos(2*pi*fm1*t).*cos(2*pi*fc1*t);

xt2=cos(2*pi*fm2*t).*cos(2*pi*fc2*t);

xt3=cos(2*pi*fm3*t).*cos(2*pi*fc3*t);

st=xt1+xt2+xt3;

fxt=fft(st, N);

subplot(3, 1, 1);

plot(t, st);grid;xlabel('t/s');ylabel('s(t)');

axis([0, Tp/4, min(st), max(st)]);title('(a) s(t)的波形')

subplot(3, 1, 2);

stem(f, abs(fxt)/max(abs(fxt)), '.');grid;title('(b) s(t)的频谱');

axis([0, Fs/5, 0, 1.2]);

xlabel('f/Hz');ylabel('幅度')

Fs=10000;

fp=280;fs=450;

wp=2*fp/Fs;ws=2*fs/Fs;

rp=0.1;rs=60;

[N,wp0]=ellipord(wp,ws,rp,rs);

[B,A]=ellip(N,rp,rs,wp0);

y1t=filter(B,A,st);

figure(2);

subplot(2,1,1);

[H1,w]=freqz(B,A,1000);

m=abs(H1);

plot(w/pi,20*log(m/max(m)));grid on;

title('低通滤波损耗函数曲线');

xlabel('w');ylabel('H1');

subplot(2,1,2);

plot(t,y1t);title('低通滤波后的波形');

xlabel('t');ylabel('y1t');

Fs=10000;

fpl=450;fpu=550;fsl=280;fsu=900;

wp=[2*fpl/Fs,2*fpu/Fs];

ws=[2*fsl/Fs,2*fsu/Fs];

rp=0.1;rs=60;

[N,wp0]=ellipord(wp,ws,rp,rs); [B,A]=ellip(N,rp,rs,wp0);

y2t=filter(B,A,st);

figure(3);

subplot(2,1,1);

[H2,w]=freqz(B,A,1000);

m=abs(H2);

plot(w/pi,20*log(m/max(m)));grid on; title('带通滤波损耗函数曲线'); xlabel('w');ylabel('H2');

subplot(2,1,2);

plot(t,y2t);title('带通滤波后的波形'); xlabel('t');ylabel('y2t');

Fs=10000;

fp=550;fs=900;

wp=2*fp/Fs;ws=2*fs/Fs;

rp=0.1;rs=60;

[N,wp0]=ellipord(wp,ws,rp,rs); [B,A]=ellip(N,rp,rs,wp0,'high');

y3t=filter(B,A,st);

figure(4);

subplot(2,1,1);

[H3,w]=freqz(B,A,1000);

m=abs(H3);

plot(w/pi,20*log(m/max(m)));grid on; title('高通滤波损耗函数曲线'); xlabel('w');ylabel('H3');

subplot(2,1,2);

plot(t,y3t);title('高通滤波后的波形'); xlabel('t');ylabel('y3t');

0.0020.0040.0060.008

0.010.0120.0140.0160.0180.02

-1012

3t/s

s (t )(a) s(t)的波形

200

400

600

800

10001200

1400

1600

1800

2000

00.5

1(b) s(t)的频谱

f/Hz

幅度

00.10.20.3

0.40.50.60.70.80.91

-300

-200-100

低通滤波损耗函数曲线

w

H 1

0.010.020.03

0.040.050.060.070.08

-101

2低通滤波后的波形

t

y 1t

00.10.20.3

0.40.50.60.70.80.91

-300

-200-100

带通滤波损耗函数曲线

w

H 2

0.01

0.02

0.03

0.040.05

0.06

0.07

0.08

-1-0.500.5

1带通滤波后的波形

t

y 2t

00.10.20.3

0.40.50.60.70.80.91

-300

-200-100

高通滤波损耗函数曲线

w

H 3

0.01

0.02

0.03

0.040.05

0.06

0.07

0.08

-2-101

2高通滤波后的波形

t

y 3t

数字信号处理实验五

实验五:FIR数字滤波器设计与软件实现 信息学院 10电本2班王楚炘 2010304224 10.5.1 实验指导 1.实验目的 (1)掌握用窗函数法设计FIR数字滤波器的原理和方法。 (2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。 (3)掌握FIR滤波器的快速卷积实现原理。 (4)学会调用MATLAB函数设计与实现FIR滤波器。 2.实验内容及步骤 (1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理; (2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图10.5.1所示; 图10.5.1 具有加性噪声的信号x(t)及其频谱如图(3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅频失真小于0.1dB,将噪声频谱衰减60dB。先观察xt的频谱,确定滤波器指标参数。 (4)根据滤波器指标选择合适的窗函数,计算窗函数的长度N,

调用MATLAB函数fir1设计一个FIR低通滤波器。并编写程序,调用MATLAB快速卷积函数fftfilt实现对xt的滤波。绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。 (4)重复(3),滤波器指标不变,但改用等波纹最佳逼近法,调用MATLAB函数remezord和remez设计FIR数字滤波器。并比较两种设计方法设计的滤波器阶数。 提示:MATLAB函数fir1和fftfilt的功能及其调用格式请查阅本书 第7章和第?章; 采样频率Fs=1000Hz,采样周期T=1/Fs; 根据图10.6.1(b)和实验要求,可选择滤波器指标参数:通带截止频率fp=120Hz,阻带截至频率fs=150Hz,换算成数字频率,通带截止频率,通带最大衰为0.1dB,阻带截至频率,阻带最小衰为60dB。]实验程序框图如图10.5.2所示,供读者参考。 Fs=1000,T=1/Fs xt=xtg 产生信号xt, 并显示xt及其频谱 用窗函数法或等波纹最佳逼近法 设计FIR滤波器hn 对信号xt滤波:yt=fftfilt(hn,xt) 1、计算并绘图显示滤波器损耗函数 2、绘图显示滤波器输出信号yt End 图10.5.2 实验程序框图 4.思考题 (1)如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?请写出设计步骤. 答:用窗函数法设计线性相位低通滤波器的设计步骤: a.根据对阻带衰减及过渡带的指标要求,选择窗函数的类型,并估计窗口的长度N; b.构造希望逼近的频率响应函数; c.计算h d(n); d.加窗得到设计结果h(n)=h d(n)w(n)。 (2)如果要求用窗函数法设计带通滤波器,且给定通带上、下截止频率为和,阻带上、下截止频率为和,试求理想带通滤波器的截止频率。 答:希望逼近的理想带通滤波器的截止频率分别为:

实验五:FIR数字滤波器设计与软件实现

实验五:FIR数字滤波器设计与软件实现 一、实验指导 1.实验目的 (1)掌握用窗函数法设计FIR数字滤波器的原理和方法。 (2)掌握用等波纹最佳逼近法设计FIR数字滤波器的原理和方法。 (3)掌握FIR滤波器的快速卷积实现原理。 (4)学会调用MATLAB函数设计与实现FIR滤波器。 2.实验容及步骤 (1)认真复习第七章中用窗函数法和等波纹最佳逼近法设计FIR数字滤波器的原理; (2)调用信号产生函数xtg产生具有加性噪声的信号xt,并自动显示xt及其频谱,如图1所示; 图1 具有加性噪声的信号x(t)及其频谱如图 (3)请设计低通滤波器,从高频噪声中提取xt中的单频调幅信号,要求信号幅频失真小于0.1dB,将噪声频谱衰减60dB。先观察xt的频谱,确定滤波器指标参数。 (4)根据滤波器指标选择合适的窗函数,计算窗函数的长度N,调用MATLAB函数fir1设计一个FIR低通滤波器。并编写程序,调用MATLAB快速卷积函数fftfilt实现对xt的滤波。绘图显示滤波器的频响特性曲线、滤波器输出信号的幅频特性图和时域波形图。 (4)重复(3),滤波器指标不变,但改用等波纹最佳逼近法,调用MATLAB函数remezord 和remez设计FIR数字滤波器。并比较两种设计方法设计的滤波器阶数。 提示:○1MATLAB函数fir1的功能及其调用格式请查阅教材; ○2采样频率Fs=1000Hz,采样周期T=1/Fs; ○3根据图1(b)和实验要求,可选择滤波器指标参数:通带截止频率fp=120Hz,阻带截

至频率fs=150Hz ,换算成数字频率,通带截止频率p 20.24p f ωπ=T =π,通带最大衰为0.1dB ,阻带截至频率s 20.3s f ωπ=T =π,阻带最小衰为60dB 。 ○ 4实验程序框图如图2所示,供读者参考。 图2 实验程序框图 4.思考题 (1)如果给定通带截止频率和阻带截止频率以及阻带最小衰减,如何用窗函数法设计线性相位低通滤波器?请写出设计步骤. (2)如果要求用窗函数法设计带通滤波器,且给定通带上、下截止频率为pl ω和pu ω,阻带上、下截止频率为sl ω和su ω,试求理想带通滤波器的截止频率cl cu ωω和。 (3)解释为什么对同样的技术指标,用等波纹最佳逼近法设计的滤波器阶数低? 5.信号产生函数xtg 程序清单(见教材) 二、 滤波器参数及实验程序清单 1、滤波器参数选取 根据实验指导的提示③选择滤波器指标参数: 通带截止频率fp=120Hz ,阻带截至频率fs=150Hz 。代入采样频率Fs=1000Hz ,换算成数字频率,通带截止频率p 20.24p f ωπ=T =π,通带最大衰为0.1dB ,阻带截至频率

数字信号处理基础实验指导书

《数字信号处理》实验指导书 光电工程学院二○○九年十月

实验一离散时间信号分析 一、实验目的 1.掌握各种常用的序列,理解其数学表达式和波形表示。 2.掌握在计算机中生成及绘制数字信号波形的方法。 3.掌握序列的相加、相乘、移位、反转等基本运算及计算机实现与作用。 4.掌握线性卷积软件实现的方法。 5.掌握计算机的使用方法和常用系统软件及应用软件的使用。 6.通过编程,上机调试程序,进一步增强使用计算机解决问题的能力。 二、实验原理 1.序列的基本概念 离散时间信号在数学上可用时间序列来表示,其中代表序列的第n个数字,n代表时间的序列,n的取值范围为的整数,n取其它值没有意义。离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号进行等间隔采样,采样间隔为T,得到一个有序的数字序列就是离散时间信号,简称序列。 2.常用序列 常用序列有:单位脉冲序列(单位抽样)、单位阶跃序列、矩形序列、实指数序列、复指数序列、正弦型序列等。 3.序列的基本运算 序列的运算包括移位、反转、和、积、标乘、累加、差分运算等。 4.序列的卷积运算 上式的运算关系称为卷积运算,式中代表两个序列卷积运算。两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。其计算的过程包括以下4个步骤。 (1)反褶:先将和的变量换成,变成和,再将以纵轴为对称轴反褶成。 (2)移位:将移位,得。当为正数时,右移位;当为负数时,左

移位。 (3)相乘:将和的对应点值相乘。 (4)求和:将以上所有对应点的乘积累加起来,即得。 三、主要实验仪器及材料 微型计算机、Matlab软件6.5或更高版本。 四、实验内容 1.知识准备 认真复习以上基础理论,理解本实验所用到的实验原理。 2.离散时间信号(序列)的产生 利用MATLAB或C语言编程产生和绘制下列有限长序列: (1)单位脉冲序列 (2)单位阶跃序列 (3)矩形序列 (4)正弦型序列 (5)任意序列 3.序列的运算 利用MATLAB编程完成上述两序列的移位、反转、加法、乘法等运算,并绘制运算后序列的波形。 4.卷积运算 利用MATLAB编制一个计算两个序列线性卷积的通用程序,计算上述两序列,并绘制卷积后序列的波形。 5.上机调试并打印或记录实验结果。 6.完成实验报告。 五、实验报告要求 1. 简述实验原理及目的。 2. 给出上述序列的实验结果。 3. 列出计算卷积的公式,画出程序框图,并列出实验程序清单 (可略)(包括必要的程序说明)。 4. 记录调试运行情况及所遇问题的解决方法。 5. 给出实验结果,并对结果做出分析。 6. 简要回答思考题。 1 如何产生方波信号序列和锯齿波信号序列? 2 实验中所产生的正弦序列的频率是多少?是否是周期序列?

数字信号处理实验及参考程序

数字信号处理实验实验一离散时间信号与系统及MA TLAB实现 1.单位冲激信号: n = -5:5; x = (n==0); subplot(122); stem(n, x); 2.单位阶跃信号: x=zeros(1,11); n0=0; n1=-5; n2=5; n = n1:n2; x(:,n+6) = ((n-n0)>=0); stem(n,x); 3.正弦序列: n = 0:1/3200:1/100; x=3*sin(200*pi*n+1.2); stem(n,x); 4.指数序列 n = 0:1/2:10; x1= 3*(0.7.^n); x2=3*exp((0.7+j*314)*n); subplot(221); stem(n,x1); subplot(222); stem(n,x2); 5.信号延迟 n=0:20; Y1=sin(100*n); Y2=sin(100*(n-3)); subplot(221); stem(n,Y1); subplot(222); stem(n,Y2);

6.信号相加 X1=[2 0.5 0.9 1 0 0 0 0]; X2=[0 0.1 0.2 0.3 0.4 0.5 0.6 0.7]; X=X1+X2; stem(X); 7.信号翻转 X1=[2 0.5 0.9 1]; n=1:4; X2=X1(5-n); subplot(221); stem(n,X1); subplot(222); stem(n,X2); 8.用MATLAB计算序列{-2 0 1 –1 3}和序列{1 2 0 -1}的离散卷积。a=[-2 0 1 -1 3]; b=[1 2 0 -1]; c=conv(a,b); M=length(c)-1; n=0:1:M; stem(n,c); xlabel('n'); ylabel('幅度'); 9.用MA TLAB计算差分方程 当输入序列为时的输出结果。 N=41; a=[0.8 -0.44 0.36 0.22]; b=[1 0.7 -0.45 -0.6]; x=[1 zeros(1,N-1)]; k=0:1:N-1; y=filter(a,b,x); stem(k,y) xlabel('n'); ylabel('幅度') 10.冲激响应impz N=64; a=[0.8 -0.44 0.36 0.22];

IIR数字滤波器的设计实验报告

IIR数字滤波器的设计 一、实验目的: 掌握冲激相应不变法和双线性变换法设计IIR数字滤波器的原理和方法; 观察冲激相应不变法和双线性变换法设计IIR数字滤波器的频率特性; 了解冲激相应不变法和双线性变换法的特点和区别。 二、实验原理: 无限长单位冲激响应(IIR)数字滤波器的设计思想: a)设计一个合适的模拟滤波器 b)利用一定的变换方法将模拟滤波器转换成满足预定指 标的数字滤波器 切贝雪夫I型:通带中是等波纹的,阻带是单调的

切贝雪夫II型:通带中是单调的,阻带是等波纹的 1.用冲击响应不变法设计一个低通切贝雪夫I型数字滤波器通带上限截止频率为400Hz 阻带截止频率为600Hz 通带最大衰减为0.3分贝 阻带最小衰减为60分贝 抽样频率1000Hz 2.用双线性变换法设计切贝雪夫II型高通滤波器 通带截止频率2000Hz 阻带截止频率1500Hz 通带最大衰减0.3分贝 阻带最小衰减50分贝 抽样频率20000Hz 四、实验程序:

1) Wp=2*pi*400; Ws=2*pi*600; Rp=0.3; Rs=60; Fs=1000; [N,Wn]=cheb1ord(Wp,Ws,Rp,Rs,'s'); [Z,P,K]=cheb1ap(N,Rp); [A,B,C,D]=zp2ss(Z,P,K); [At,Bt,Ct,Dt]=lp2lp(A,B,C,D,Wn); [num1,den1]=ss2tf(At,Bt,Ct,Dt); [num2,den2]=impinvar(num1,den1,Fs); [H,W1]=freqs(num1,den1); figure(1) subplot(2,1,1); semilogx(W1/pi/2,20*log10(abs(H)));grid; xlabel(' 频率/ Hz'); ylabel(' 模拟滤波器幅值(db)'); [H,W2]=freqz(num2,den2,512,'whole',Fs); subplot(2,1,2); plot(W2,20*log10(abs(H)));grid; xlabel(' 频率/ Hz');

数字信号处理实验作业

实验6 数字滤波器的网络结构 一、实验目的: 1、加深对数字滤波器分类与结构的了解。 2、明确数字滤波器的基本结构及其相互间的转换方法。 3、掌握用MA TLAB 语言进行数字滤波器结构间相互转换的子函数及程序编写方法。 二、实验原理: 1、数字滤波器的分类 离散LSI 系统对信号的响应过程实际上就是对信号进行滤波的过程。因此,离散LSI 系统又称为数字滤波器。 数字滤波器从滤波功能上可以分为低通、高通、带通、带阻以及全通滤波器;根据单位脉冲响应的特性,又可以分为有限长单位脉冲响应滤波器(FIR )和无限长单位脉冲响应滤波器(IIR )。 一个离散LSI 系统可以用系统函数来表示: M -m -1-2-m m m=0 012m N -1-2-k -k 12k k k=1 b z b +b z +b z ++b z Y(z)b(z)H(z)=== =X(z)a(z) 1+a z +a z ++a z 1+a z ∑∑ 也可以用差分方程来表示: N M k m k=1 m=0 y(n)+a y(n-k)=b x(n-m)∑∑ 以上两个公式中,当a k 至少有一个不为0时,则在有限Z 平面上存在极点,表达的是以一个IIR 数字滤波器;当a k 全都为0时,系统不存在极点,表达的是一个FIR 数字滤波器。FIR 数字滤波器可以看成是IIR 数字滤波器的a k 全都为0时的一个特例。 IIR 数字滤波器的基本结构分为直接Ⅰ型、直接Ⅱ型、直接Ⅲ型、级联型和并联型。 FIR 数字滤波器的基本结构分为横截型(又称直接型或卷积型)、级联型、线性相位型及频率采样型等。本实验对线性相位型及频率采样型不做讨论,见实验10、12。 另外,滤波器的一种新型结构——格型结构也逐步投入应用,有全零点FIR 系统格型结构、全极点IIR 系统格型结构以及全零极点IIR 系统格型结构。 2、IIR 数字滤波器的基本结构与实现 (1)直接型与级联型、并联型的转换 例6-1 已知一个系统的传递函数为 -1-2-3 -1-2-3 8-4z +11z -2z H(z)=1-1.25z +0.75z -0.125z 将其从直接型(其信号流图如图6-1所示)转换为级联型和并联型。

数字信号处理实验一 IIR数字滤波器设计及软件实现

实验一 IIR数字滤波器设计及软件实现 一、实验目的 (1)熟悉用双线性变换法设计IIR数字滤波器的原理与方法; (2)学会调用MATLAB信号处理工具箱中滤波器设计函数(或滤波器设计分析工具fdatool)设计各种IIR数字滤波器,学会根据滤波需求确定滤波器指标参数。 (3)掌握IIR数字滤波器的MATLAB实现方法。 (3)通过观察滤波器输入输出信号的时域波形及其频谱,建立数字滤波的概念。 二、实验原理 设计IIR数字滤波器一般采用间接法(脉冲响应不变法和双线性变换法),应用最广泛的是双线性变换法。基本设计过程是:①先将给定的数字滤波器的指标转换成过渡模拟滤波器的指标;②设计过渡模拟滤波器;③将过渡模拟滤波器系统函数转换成数字滤波器的系统函数。MATLAB信号处理工具箱中的各种IIR数字滤波器设计函数都是采用双线性变换法。第六章介绍的滤波器设计函数butter、cheby1 、cheby2 和ellip可以分别被调用来直接设计巴特沃斯、切比雪夫1、切比雪夫2和椭圆模拟和数字滤波器。本实验要求同学调用如上函数直接设计IIR数字滤波器。 本实验的数字滤波器的MATLAB实现是指调用MATLAB信号处理工具箱函数filter对给定的输入信号x(n)进行滤波,得到滤波后的输出信号y(n)。 三、实验内容及步骤 (1)调用信号产生函数mstg,产生由三路抑制载波调幅信号相加构成的复合信号st,该函数还会自动绘图显示st的时域波形和幅频特性曲线,如图1-1所示。由图可见,三路信号时域混叠无法在时域分离。但频域是分离的,所以可以通过滤波的方法在频域分离,这就是本实验的目的。

图1-1 三路调幅信号st 的时域波形和幅频特性曲线 (2)要求将st 中三路调幅信号分离,通过观察st 的幅频特性曲线,分别确定可以分离st 中三路抑制载波单频调幅信号的三个滤波器(低通滤波器、带通滤波器、高通滤波器)的通带截止频率和阻带截止频率。要求滤波器的通带最大衰减为0.1dB,阻带最小衰减为60dB 。 提示:抑制载波单频调幅信号的数学表示式为 0001()cos(2)cos(2)[cos(2())cos(2())]2 c c c s t f t f t f f t f f t ππππ==-++ 其中,cos(2)c f t π称为载波,f c 为载波频率,0cos(2)f t π称为单频调制信号,f 0为调制正弦波信号频率,且满足0c f f >。由上式可见,所谓抑制载波单频调幅信号,就是2个正弦信号相乘,它有2个频率成分:和频0c f f +和差频0c f f -,这2个频率成分关于载波频率f c 对称。所以,1路抑制载波单频调幅信号的频谱图是关于载波频率f c 对称的2根谱线,其中没有载频成分,故取名为抑制载波单频调幅信号。容易看出,图1-1中三路调幅信号的载波频率分别为250Hz 、500Hz 、1000Hz 。如果调制信号m(t)具有带限连续频谱,无直流成分,则()()cos(2)c s t m t f t π=就是一般的抑制载波调幅信号。其频谱图是关于载波频率f c 对称的2个边带(上下边带),在专业课通信原理中称为双边带抑制载波 (DSB-SC) 调幅信号,简称双边带 (DSB) 信号。如果调制信号m(t)有直流成分,则()()cos(2)c s t m t f t π=就是一般的双边带调幅信号。其频谱图是关于载波频率f c 对称的2个边带(上下边带),并包含载频成分。

实验四数字滤波器的设计实验报告

数字信号处理 实验报告 实验四 IIR数字滤波器的设计学生姓名张志翔 班级电子信息工程1203班 学号 指导教师 实验四 IIR数字滤波器的设计 一、实验目的: 1. 掌握双线性变换法及脉冲响应不变法设计IIR数字滤波器的具体设 计方法及其原理,熟悉用双线性变换法及脉冲响应不变法设计低通、高通和带通IIR数字滤波器的MATLAB编程。 2. 观察双线性变换及脉冲响应不变法设计的滤波器的频域特性,了解双线性变换法及脉冲响应不变法的特点。 3.熟悉Butterworth滤波器、切比雪夫滤波器和椭圆滤波器的频率特性。 二、实验原理: 1.脉冲响应不变法 用数字滤波器的单位脉冲响应序列模仿模拟滤波器的冲激响应 ,让正好等于的采样值,即,其中为采样间隔,如果以及分别表示的拉式变换及的Z变换,则 2.双线性变换法 S平面与z平面之间满足以下映射关系:

s平面的虚轴单值地映射于z平面的单位圆上,s平面的左半平面完全映射到z平面的单位圆内。 双线性变换不存在混叠问题。 双线性变换是一种非线性变换,这种非线性引起的幅频特性畸变可通过预畸而得到校正。 三、实验内容及步骤: 实验中有关变量的定义: fc 通带边界频率; fr阻带边界频率;δ通带波动;At 最小阻带衰减; fs采样频率; T采样周期 (1) =0.3KHz, δ=0.8Db, =0.2KHz, At =20Db,T=1ms; 设计一个切比雪夫高通滤波器,观察其通带损耗和阻带衰减是否满足要求。 MATLAB源程序: wp=2*1000*tan(2*pi*300/(2*1000)); ws=2*1000*tan(2*pi*200/(2*1000)); [N,wn]=cheb1ord(wp,ws,0.8,20,'s'); %给定通带(wp)和阻带(ws)边界角频率,通带波动波动0.8,阻带最小衰减20dB,求出最低阶数和通带滤波器的通带边界频率Wn [B,A]=cheby1(N,0.5,wn,'high','s');%给定通带(wp)和阻带(ws)边界角频率,通带波动 [num,den]=bilinear(B,A,1000); [h,w]=freqz(num,den); f=w/(2*pi)*1000; plot(f,20*log10(abs(h)));

数字信号处理实验作业

实验5 抽样定理 一、实验目的: 1、了解用MA TLAB 语言进行时域、频域抽样及信号重建的方法。 2、进一步加深对时域、频域抽样定理的基本原理的理解。 3、观察信号抽样与恢复的图形,掌握采样频率的确定方法和插公式的编程方法。 二、实验原理: 1、时域抽样与信号的重建 (1)对连续信号进行采样 例5-1 已知一个连续时间信号sin sin(),1Hz 3 ππ=0001f(t)=(2f t)+6f t f ,取最高有限带宽频率f m =5f 0,分别显示原连续时间信号波形和F s >2f m 、F s =2f m 、F s <2f m 三情况下抽样信号的波形。 程序清单如下: %分别取Fs=fm ,Fs=2fm ,Fs=3fm 来研究问题 dt=0.1; f0=1; T0=1/f0; m=5*f0; Tm=1/fm; t=-2:dt:2; f=sin(2*pi*f0*t)+1/3*sin(6*pi*f0*t); subplot(4,1,1); plot(t,f); axis([min(t),max(t),1.1*min(f),1.1*max(f)]); title('原连续信号和抽样信号'); for i=1:3; fs=i*fm;Ts=1/fs; n=-2:Ts:2; f=sin(2*pi*f0*n)+1/3*sin(6*pi*f0*n); subplot(4,1,i+1);stem(n,f,'filled'); axis([min(n),max(n),1.1*min(f),1.1*max(f)]); end 程序运行结果如图5-1所示:

原连续信号和抽样信号 图5-1 (2)连续信号和抽样信号的频谱 由理论分析可知,信号的频谱图可以很直观地反映出抽样信号能否恢复原模拟信号。因此,我们对上述三种情况下的时域信号求幅度谱,来进一步分析和验证时域抽样定理。 例5-2编程求解例5-1中连续信号及其三种抽样频率(F s>2f m、F s=2f m、F s<2f m)下的抽样信号的幅度谱。 程序清单如下: dt=0.1;f0=1;T0=1/f0;fm=5*f0;Tm=1/fm; t=-2:dt:2;N=length(t); f=sin(2*pi*f0*t)+1/3*sin(6*pi*f0*t); wm=2*pi*fm;k=0:N-1;w1=k*wm/N; F1=f*exp(-j*t'*w1)*dt;subplot(4,1,1);plot(w1/(2*pi),abs(F1)); axis([0,max(4*fm),1.1*min(abs(F1)),1.1*max(abs(F1))]); for i=1:3; if i<=2 c=0;else c=1;end fs=(i+c)*fm;Ts=1/fs; n=-2:Ts:2;N=length(n); f=sin(2*pi*f0*n)+1/3*sin(6*pi*f0*n); wm=2*pi*fs;k=0:N-1; w=k*wm/N;F=f*exp(-j*n'*w)*Ts; subplot(4,1,i+1);plot(w/(2*pi),abs(F)); axis([0,max(4*fm),1.1*min(abs(F)),1.1*max(abs(F))]); end 程序运行结果如图5-2所示。 由图可见,当满足F s≥2f m条件时,抽样信号的频谱没有混叠现象;当不满足F s≥2f m 条件时,抽样信号的频谱发生了混叠,即图5-2的第二行F s<2f m的频谱图,,在f m=5f0的围,频谱出现了镜像对称的部分。

2015年北邮数字信号处理软件实验报告

数字信号处理软件实验 MATLAB 仿真 2015年12月16日

实验一:数字信号的 FFT 分析 ● 实验目的 通过本次实验,应该掌握: (a) 用傅立叶变换进行信号分析时基本参数的选择。 (b) 经过离散时间傅立叶变换(DTFT )和有限长度离散傅立叶变换(DFT )后信号频谱上的区别,前者 DTFT 时间域是离散信号,频率域还是连续的,而 DFT 在两个域中都是离散的。 (c) 离散傅立叶变换的基本原理、特性,以及经典的快速算法(基2时间抽选法),体会快速算法的效率。 (d) 获得一个高密度频谱和高分辨率频谱的概念和方法,建立频率分辨率和时间分辨率的概念,为将来进一步进行时频分析(例如小波)的学习和研究打下基础。 (e) 建立 DFT 从整体上可看成是由窄带相邻滤波器组成的滤波器组的概念,此概念的一个典型应用是数字音频压缩中的分析滤波器,例如 DVD AC3 和MPEG Audio 。 ● 实验内容及要求 ? 离散信号的频谱分析 设信号 此信号的0.3pi 和 0.302pi 两根谱线相距很近,谱线 0.45pi 的幅度很小,请选择合适的序列长度 N 和窗函数,用 DFT 分析其频谱,要求得到清楚的三根谱线。 ? DTMF 信号频谱分析 用计算机声卡采用一段通信系统中电话双音多频(DTMF )拨号数字 0~9的数据,采用快速傅立叶变换(FFT )分析这10个号码DTMF 拨号时的频谱。 00010450303024().*cos(.)sin(.)cos(.)x n n n n ππππ=+--

●MATLAB代码及结果 ?离散信号的频谱分析 clf; close all; N=1000; n=1:1:N; x=0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-pi/4); y=fft(x,N); mag=abs(y); w=2*pi/N*[0:1:N-1]; stem(w/pi,mag); axis([0.25 0.5 0 2]); xlabel('频率'); ylabel('X(k)'); grid on;

实验五FIR数字滤波器的设计

实验六 FIR 数字滤波器的设计 一、实验目的 1.熟悉FIR 滤波器的设计基本方法 2.掌握用窗函数设计FIR 数字滤波器的原理与方法。 二、实验内容 1.FIR 数字滤波器的设计方法 FIR 滤波器的设计问题在于寻求一系统函数)(z H ,使其频率响应)(ωj e H 逼近滤波器要求的理想频率响应)(ωj d e H ,其对应的单位脉冲响应为)(n h d 。 (1)用窗函数设计FIR 滤波器的基本原理 设计思想:从时域从发,设计)(n h 逼近理想)(n h d 。设理想滤波器)(ωj d e H 的单位脉 冲响应为)(n h d 。以低通线性相位FIR 数字滤波器为例。 ?∑--∞-∞=== ππωωωωω πd e e H n h e n h e H jn j d d jn n d j d )(21)()()( (6-1) )(n h d 一般是无限长的,且是非因果的,不能直接作为FIR 滤波器的单位脉冲响应。要想得到一个因果的有限长的滤波器h(n),最直接的方法是截断)()()(n w n h n h d =,即截取为有限长因果序列,并用合适的窗函数进行加权作为FIR 滤波器的单位脉冲响应。按照线性相位滤波器的要求,h(n)必须是偶对称的。对称中心必须等于滤波器的延时常数,即 ???-==2 /)1()()()(N a n w n h n h d (6-2) 用矩形窗设计的FIR 低通滤波器,所设计滤波器的幅度函数在通带和阻带都呈现出振荡现象,且最大波纹大约为幅度的9%,这个现象称为吉布斯(Gibbs )效应。为了消除吉布斯效应,一般采用其他类型的窗函数。 (2) 典型的窗函数 ① 矩形窗(Rectangle Window) )()(n R n w N = (6-3)

数字信号处理实验1认识实验

实验1认识实验-MATLAB语言上机操作实践 一、实验目的 ㈠了解MATLAB语言的主要特点、作用。 ㈡学会MATLAB主界面简单的操作使用方法。 ㈢学习简单的数组赋值、运算、绘图、流程控制编程。 二、实验原理 ㈠简单的数组赋值方法 MATLAB中的变量和常量都可以是数组(或矩阵),且每个元素都可以是复数。 在MATLAB指令窗口输入数组A=[1 2 3;4 5 6;7 8 9],观察输出结果。然后,键入:A(4,2)= 11 键入:A (5,:) = [-13 -14 -15] 键入:A(4,3)= abs (A(5,1)) 键入:A ([2,5],:) = [ ] 键入:A/2 键入:A (4,:) = [sqrt(3) (4+5)/6*2 –7] 观察以上各输出结果。将A式中分号改为空格或逗号,情况又如何?请在每式的后面标注其含义。 2.在MATLAB指令窗口输入B=[1+2i,3+4i;5+6i ,7+8i], 观察输出结果。 键入:C=[1,3;5,7]+[2,4;6,8]*i,观察输出结果。 如果C式中i前的*号省略,结果如何? 键入:D = sqrt (2+3i) 键入:D*D 键入:E = C’, F = conj(C), G = conj(C)’ 观察以上各输出结果, 请在每式的后面标注其含义。 3.在MATLAB指令窗口输入H1=ones(3,2),H2=zeros(2,3),H3=eye(4),观察输出结果。 ㈡、数组的基本运算 1.输入A=[1 3 5],B= [2 4 6],求C=A+B,D=A-2,E=B-A 2.求F1=A*3,F2=A.*B,F3=A./B,F4=A.\B, F5=B.\A, F6=B.^A, F7=2./B, F8=B.\2 *3.求B',Z1=A*B’,Z2=B’*A 观察以上各输出结果,比较各种运算的区别,理解其含义。 ㈢、常用函数及相应的信号波形显示 例1:显示曲线f(t)=2sin(2πt),(t>0) ⅰ点击空白文档图标(New M-file),打开文本编辑器。 ⅱ键入:t=0:0.01:3; (1) f=2*sin(2*pi*t); (2) plot(t,f); title(‘f(t)-t曲线’); xlabel(‘t’),ylabel(‘f(t)’);

数字信号处理实验答案完整版

数字信号处理实验答案 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

实验一熟悉Matlab环境 一、实验目的 1.熟悉MATLAB的主要操作命令。 2.学会简单的矩阵输入和数据读写。 3.掌握简单的绘图命令。 4.用MATLAB编程并学会创建函数。 5.观察离散系统的频率响应。 二、实验内容 认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。在熟悉了MATLAB基本命令的基础上,完成以下实验。 上机实验内容: (1)数组的加、减、乘、除和乘方运算。输入A=[1 2 3 4],B=[3 4 5 6],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B并用stem语句画出A、B、C、D、E、F、G。 clear all; a=[1 2 3 4]; b=[3 4 5 6]; c=a+b; d=a-b; e=a.*b; f=a./b; g=a.^b; n=1:4; subplot(4,2,1);stem(n,a); xlabel('n');xlim([0 5]);ylabel('A'); subplot(4,2,2);stem(n,b); xlabel('n');xlim([0 5]);ylabel('B'); subplot(4,2,3);stem(n,c); xlabel('n');xlim([0 5]);ylabel('C'); subplot(4,2,4);stem(n,d); xlabel('n');xlim([0 5]);ylabel('D'); subplot(4,2,5);stem(n,e); xlabel('n');xlim([0 5]);ylabel('E'); subplot(4,2,6);stem(n,f); xlabel('n');xlim([0 5]);ylabel('F'); subplot(4,2,7);stem(n,g); xlabel('n');xlim([0 5]);ylabel('G'); (2)用MATLAB实现下列序列: a) x(n)= 0≤n≤15 b) x(n)=e+3j)n 0≤n≤15 c) x(n)=3cosπn+π)+2sinπn+π) 0≤n≤15 d) 将c)中的x(n)扩展为以16为周期的函数x(n)=x(n+16),绘出四个周期。

DSP运行实验报告

DSP运行实验报告 一、实验目的 熟悉CCS软件仿真下,DSP程序的下载和运行;熟悉借助单片机的DSP程序下载和运行; 熟悉借助仿真器的DSP程序下载和运行;熟悉与DSP程序下载运行相关的CCS编程环境。 二、实验原理 CCS软件仿真下,借用计算机的资源仿真DSP的内部结构,可以模拟DSP程序的下载和运行。 如果要让程序在实验板的DSP中运行、调试和仿真,可以用仿真器进行DSP程序下载和运行。初学者也可以不用仿真器来使用这款实验板,只是不能进行程序调试和仿真。 在本实验板的作用中,单片机既是串口下载程序的载体,又是充当DSP 的片外存储器(相对于FLASH),用于固化程序。 三、实验设备、仪器及材料 安装有WINDOWS XP操作系统和CCS3.3的计算机。 四、实验步骤(按照实际操作过程) 1、CCS软件仿真下,DSP程序的下载和运行。 第一步:安装CCS,如果不使用仿真器,CCS 的运行环境要设置成一个模拟仿真器(软仿真)。

第二步:运行CCS,进入CCS 开发环境。 第三步:打开一个工程。 将实验目录下的EXP01目录拷到D:\shiyan下(目录路径不能有中文),用[Project]\[Open]菜单打开工程,在“Project Open”对话框中选 EXP01\CPUtimer\CpuTimer.pjt,选“打开”, 第四步:编译工程。 在[Project]菜单中选“Rebuild All”,生成CpuTimer.out文件。 第五步:装载程序。 用[File]\[Load Program]菜单装载第四步生成CpuTimer.out文件,在当前工程目录中的Debug 文件夹中找到CpuTimer.out文件,选中,鼠标左键单击“打开”。

实验一 基于Matlab的数字信号处理基本

实验一 基于Matlab 的数字信号处理基本操作 一、 实验目的:学会运用MA TLAB 表示的常用离散时间信号;学会运用MA TLAB 实现离 散时间信号的基本运算。 二、 实验仪器:电脑一台,MATLAB6.5或更高级版本软件一套。 三、 实验内容: (一) 离散时间信号在MATLAB 中的表示 离散时间信号是指在离散时刻才有定义的信号,简称离散信号,或者序列。离散序列通常用)(n x 来表示,自变量必须是整数。 离散时间信号的波形绘制在MATLAB 中一般用stem 函数。stem 函数的基本用法和plot 函数一样,它绘制的波形图的每个样本点上有一个小圆圈,默认是空心的。如果要实心,需使用参数“fill ”、“filled ”,或者参数“.”。由于MATLAB 中矩阵元素的个数有限,所以MA TLAB 只能表示一定时间范围内有限长度的序列;而对于无限序列,也只能在一定时间范围内表示出来。类似于连续时间信号,离散时间信号也有一些典型的离散时间信号。 1. 单位取样序列 单位取样序列)(n δ,也称为单位冲激序列,定义为 ) 0() 0(0 1)(≠=?? ?=n n n δ 要注意,单位冲激序列不是单位冲激函数的简单离散抽样,它在n =0处是取确定的值1。在MATLAB 中,冲激序列可以通过编写以下的impDT .m 文件来实现,即 function y=impDT(n) y=(n==0); %当参数为0时冲激为1,否则为0 调用该函数时n 必须为整数或整数向量。 【实例1-1】 利用MATLAB 的impDT 函数绘出单位冲激序列的波形图。 解:MATLAB 源程序为 >>n=-3:3; >>x=impDT(n); >>stem(n,x,'fill'),xlabel('n'),grid on >>title('单位冲激序列') >>axis([-3 3 -0.1 1.1]) 程序运行结果如图1-1所示。 图1-1 单位冲激序列

数字信号处理实验

子程序: function myplot(B,A) %myplot(B,A) %时域离散系统损耗函数绘图 %B为系统函数分子多项式系数向量 %A为系统函数分母多项式系数向量 [H,W]=freqz(B,A,1000); m=abs(H); plot(W/pi,20*log10(m/max(m)));grid on; xlabel('\omega/\pi');ylabel('幅度(dB)') axis([0,1,-80,5]);title('损耗函数曲线'); function tplot(xn,T,yn) %时域序列连续曲线绘图函数 % xn:信号数据序列,yn:绘图信号的纵坐标名称(字符串) % T为采样间隔 n=0:length(xn)-1;t=n*T; plot(t,xn); xlabel('t/s');ylabel(yn); axis([0,t(end),min(xn),1.2*max(xn)]) 程序: %实验4程序exp4.m % IIR数字滤波器设计及软件实现 clear all;close all Fs=10000;T=1/Fs; %采样频率 %调用信号产生函数mstg产生由三路抑制载波调幅信号相加构成的复合信号st st=mstg; %低通滤波器设计与实现========================================= fp=280;fs=450; wp=2*fp/Fs;ws=2*fs/Fs;rp=0.1;rs=60; %DF指标(低通滤波器的通、阻带边界频)[N,wp]=ellipord(wp,ws,rp,rs); %调用ellipord计算椭圆DF阶数N和通带截止频率wp [B,A]=ellip(N,rp,rs,wp); %调用ellip计算椭圆带通DF系统函数系数向量B和A y1t=filter(B,A,st); %滤波器软件实现 % 低通滤波器设计与实现绘图部分 figure(2);subplot(3,1,1); myplot(B,A); %调用绘图函数myplot绘制损耗函数曲线 yt='y_1(t)'; subplot(3,1,2);tplot(y1t,T,yt); %调用绘图函数tplot绘制滤波器输出波形 %带通滤波器设计与实现==================================================== fpl=440;fpu=560;fsl=275;fsu=900; wp=[2*fpl/Fs,2*fpu/Fs];ws=[2*fsl/Fs,2*fsu/Fs];rp=0.1;rs=60;

FIR数字滤波器设计实验_完整版

班级: 姓名: 学号: FIR 数字滤波器设计实验报告 一、实验目的 1.掌握FIR 数字滤波器的设计方法; 2.熟悉MATLAB 信号处理工具箱的使用; 3.熟悉利用MATLAB 软件进行FIR 数字滤波器设计,以及对所设计的滤波器 进行分析; 4.了解FIR 滤波器可实现严格线性相位的条件和特点; 5.熟悉FIR 数字滤波器窗函数设计法的MATLAB 设计,并了解利用窗函数法 设计FIR 滤波器的优缺点; 6.熟悉FIR 数字滤波器频率采样设计法的MATLAB 设计,并了解利用频率采 样法设计FIR 滤波器的优缺点; 7.熟悉FIR 数字滤波器切比雪夫逼近设计法的MATLAB 设计,并了解利用切 比雪夫逼近法设计FIR 滤波器的优缺点。 二、实验设备及环境 1.硬件:PC 机一台; 2.软件:MATLAB (6.0版以上)软件环境。 三、实验内容及要求 1.实验内容:基于窗函数设计法、频率采样设计法和切比雪夫逼近设计法,利用MATLAB 软件设计满足各自设计要求的FIR 数字低通滤波器,并对采用不同设计法设计的低滤波器进行比较。 2.实验要求: (1)要求利用窗函数设计法和频率采样法分别设计FIR 数字低通滤波 器,滤波器参数要求均为:0.3c w π=。其中,窗函数设计法要求分别利用矩形窗、汉宁窗和布莱克曼窗来设计数字低通滤波器,且 21N ≥,同时要求给出滤波器的幅频特性和对数幅频特性; 频率

采样法要求分别利用采样点数21N =和63N =设计数字低通滤波器,同时要求给出滤波器采样前后的幅频特性,以及脉冲响应及对数幅频特性。 (2)要求利用窗函数设计法和切比雪夫逼近法分别设计FIR 数字低通 滤波器,滤波器参数要求均为: 0.2π, 0.25dB, 0.3π, 50dB p p s s ωαωα==== 其中,窗函数设计法要求利用汉明窗来设计数字低通滤波器,且 66N ≥,同时要求给出滤波器理想脉冲响应和实际脉冲响应,汉 名窗和对数幅频特性; 切比雪夫逼近法要求采用切比雪夫Ⅰ型,同时要求给出滤波器的脉冲响应、幅频特性和误差特性。 (3)将要求(1)和(2)中设计的具有相同参数要求,但采用不同设 计方法的滤波器进行比较,并以图的形式直观显示不同设计设计方法得到的数字低通滤波器的幅频特性的区别。 四、实验步骤 1.熟悉MATLAB 运行环境,命令窗口、工作变量窗口、命令历史记录窗口,FIR 常用基本函数; 2.熟悉MATLAB 文件格式,m 文件建立、编辑、调试; 3.根据要求(1)的内容,设计FIR 数字低通滤波器,建立M 文件,编写、调试、运行程序; 4.根据要求(2)的内容,设计FIR 数字低通滤波器,建立M 文件,编写、调试、运行程序; 5.将要求(1)和(2)中设计的具有相同参数要求,但采用不同设计方法的滤波器进行比较分析; 6.记录实验结果; 7.分析实验结果; 8.书写实验报告。 五、实验预习思考题 1.FIR 滤波器有几种常用设计方法?这些方法各有什么特点?

相关文档
相关文档 最新文档