当前位置:文档之家› 实验三 信号与系统(数字信号部分1)

实验三 信号与系统(数字信号部分1)

实验三 信号与系统(数字信号部分1)
实验三 信号与系统(数字信号部分1)

实验三

1. 信号的尺度变换、翻转和时移

信号的尺度变换、翻转和平移运算实际上是函数自变量的运算。 例1 已知某三角波脉冲信号f (t ),试绘制f (2t )、f (-2t )和f (2-2t )的波形。 t=-3:0.001:3; ft=tripuls(t,4,0.5);

subplot(2,2,1);plot(t,ft);title('原始信号'); ft1=tripuls(2*t,4,0.5); %尺度变换 subplot(2,2,2);plot(t,ft1);title(尺度变换'); ft2=tripuls(-2*t,4,0.5); %翻转 subplot(2,2,3);plot(t,ft2);title('翻转'); ft3=tripuls(2-2*t,4,0.5); %时移 subplot(2,2,4);plot(t,ft3);title('时移'); f (t )、f (2t )、f (-2t )和f (2-2t )的波形如图1所示。

-4

-2024

00.5

1

原始信号

-4

-2024

00.5

1

尺度变换

-4

-2024

00.5

1翻转

-4

-2024

00.5

1

时移

图1 信号的尺度变换、翻转和时移

2. 信号的微分和积分

连续信号的微分可用diff 函数来计算,连续信号的定积分可用quad 函数或quad8函数来计算。其调用格式为:

y=diff(x)/h

其中x 为待微分的信号,h 为步长,y 为信号x 的微分。 y=quad(‘function-name ’,a,b)

其中function-name 为被积函数名,a 、b 为积分区间的下限和上限,y 为积分后信号。 quad 和quad8都是积分函数,只是采用的积分方法不同而已。quad 采用较低次的可塑性递回辛普森积分法则,quad8 采用可塑性递回八段Newton-Cotes 积分法则,quad8不管是在精度上还是在速度上都明显高于quad 。

例2 如图2所示的三角波脉冲信号f (t ),试利用MATLAB 绘制'()f t 和()t f t dt -∞

?

的波形。

为了使用quad 函数来计算三角波脉冲信号f(t)的积分,将f(t)编写成MATLAB 的函数文件,函数名为ft_tri.m 。此函数文件如下:

function yt=ft_tri(t) yt=tripuls(t,4,0.5);

利用diff 和quad 函数,并调用ft_tri.m 即可计算三角波脉冲信号f (t )的微分、积分。程序如下:

h=0.001;t=-3:h:3; y1=diff(ft_tri(t))/h;

subplot(1,2,1);plot(t(1:length(t)-1),y1);title('信号的微分'); t=-3:0.1:3; for x=1:length(t)

y2(x)=quad('ft_tri',-3,t(x)); end

subplot(1,2,2);plot(t,y2); title('信号的积分'); 程序运行结果如图2所示。

-4

-2024-1.2-1-0.8

-0.6-0.4-0.200.2

0.4信号的微分

-4-2024

信号的积分

图2 信号的微分和积分

3. 信号的差分和迭分

离散序列的差分为:()[][1]f k f k f k ?=--,

用diff 函数实现,其调用格式为y=diff(f)。 离散序列的迭分是2

1

[]k k k f k =∑,与信号的相加运算不同,迭分运算把k 1到k 2之间的所有

样本[]f k 加起来,在MATLAB 中用sum 函数实现,其调用格式为y=sum(f(k1:k2))。

例3计算指数信号( 1.6)()10k k k ε-≤,的能量。 解:离散信号的能量定义为

2

lim

[]N

N k N

E f k →∞

=-=∑

根据上式,计算能量的程序如下: k=0:10; fk=(-1.6).^k; E=sum(abs(fk).^2) E =

1.9838e+004

4. 系统的冲激动响应和阶跃响应

若系统的微分方程或传递函数为:

()

()

()()n m

i j i

j

i j a

y t b

f

t ===

∑∑

10111

011...()(),()

...m m m m n

n n n

b s b s

b s b Y s H s n m F s a s a s

a s a ----++++=

=

≥++++

对于物理上可实现的系统,n m ≥。一般情况下,系数a 0=1,若不为1则分子分母可以

同时除以a 0。

由微分方程和传递函数的关系可知,传递函数和微分方程中的系数a i 和b i 是严格对应的,因此,两种形式给出系统函数都可以用下面的方法解决。

y=ipulse(b,a) ,用于绘制向量a 和b 定义的LTI (线性时不变)系统的冲激响应。 y=step(b,a) ,用于绘制向量a 和b 定义的LTI (线性时不变)系统的阶跃响应。 其中,a 和b 表示由系统微分方程中的a i 和b i 组成的系数向量。

例4 求系统''''7()4()6()()()y t y t y t f t f t ++=+的冲激响应和阶跃响应。 a=[7 4 6]; b=[1 1];

subplot(1,2,1);impulse(b,a); %冲激响应 title('冲激响应');xlabel('时间');ylabel('幅值'); subplot(1,2,2);step(b,a); % 阶跃响应 title('阶跃响应');xlabel('时间');ylabel('幅值'); 系统的冲激响应和阶跃响应如图3所示。

5

10

15

20

-0.1

-0.05

0.05

0.10.150.2

0.25

冲激响应

时间 (sec)幅值

05101520

0.05

0.1

0.15

0.2

0.25

0.3

0.35

阶跃响应

时间 (sec)

幅值

图3 系统的冲激响应和阶跃响应

5. 系统的零状态响应

LTI 连续系统以常系数微分方程描述,系统的零状态响应可通过求解初始状态为零的微分方程得到。MATLAB 提供的零状态响应函数为lsim ,其调用格式为:

y=lsim(sys,f,t)

其中,t 是系统零状态响应的抽样点,f 是输入信号,sys 是LTI (线性时不变)系统的模型,可以是微分方程、差分方程或状态空间方程。在求解微分方程时, LTI (线性时不变)系统的模型sys 要借助函数tf 来获得,其调用格式为: sys=tf(b,a)

其中,a 、b 分别对应系统函数中输出和输入的系数向量。

例5已知系统'''()2()77()()y t y t y t f t ++=。求当输入信号为()10sin 2f t t π=时,该系统的零状态响应。

sys=tf([1],[1 2 77]); t=1:0.01:5; f=10*sin(2*pi*t); y=lsim(sys,f,t); plot(t,y);

系统的零状态响应如图9-11所示。

1 1.5

2 2.5

3 3.5

4 4.55

图5 零状态响应

6 离散系统的零状态响应 离散系统可以用差分方程来描述:

[][]n

m

i

j i j a

y k i b f k j ==-=-∑∑

其中,[]f k 、[]y k 分别表示离散系统的输入和输出,n 表示差分方程的阶数。已知差分方程的n 个初始状态和输入[]f k ,就可以利用迭代计算法来计算系统的输出。

[][][]n

m

j i i j b a y k y k i f k j a a ===--+-∑

在零初始状态下,MATLAB 工具箱提供了一个filter 函数来计算差分方程的零状态响应,其调用格式如下:

y=filter(b,a,f)

其中,b 、a 分别是差分方程输入和输出各阶差分的系数所组成的向量,f 为输入序列,y 为输出序列。注意:输出序列和输入序列的长度应当相等。

例6 已知某LTI 系统的输入输出关系为:1

1[][]M n y k f k n M

-==

-∑

,输入信号为

[][][]

f k s k d k =+,其中[](2)*0.9k

s k k =,[]d k 是随机信号。试用MATLAB 编程求解系统的零状态响应。

随机信号[]d k 可以由rand 函数产生,假设M =5。则程序如下: R=51; %信号长度

d=rand(1,R)-0.5; %产生[-0.5 0.5]的随机数 k=0:R-1; s=2*k.*(0.9.^k); f=s+d; subplot(1,2,1) stem(k,f);

title('输入信号f(k)'); axis([0 50 0 8]); M=5;

b=ones(M,1)/M; a=1; y=filter(b,a,f); subplot(1,2,2) stem(k,y);

title('系统响应y(k)');

axis([0 50 0 8]);

该系统的零状态响应如图6所示。

010********

输入信号f(k)

010********

系统响应y(k)

图6离散系统的零状态响应

7离散系统的冲激响应

在MATLAB 中,可以用impz 函数来求解系统的冲激响应,其调用格式为:

h=impz(b,a,k)

其中,b 、a 分别是差分方程输入、输出的系数向量,k 表示输出序列的时间取值范围,h 就是系统的单位冲激响应。

例7 某离散系统的差分方程为6[]5[1][2][]y k y k y k f k --+-=,初始条件为y[0]=0,y[1]=1,求其冲激响应、零状态响应和完全响应。

k=-10:20;a=[6 -5 1];b=[1];

subplot(1,3,1),impz(b,a,k);title('冲激响应'); %冲激响应 kj=0:30;fk=cos(kj*pi/2);yf=filter(b,a,fk); %零状态响应

subplot(1,3,2),stem(kj,yf);title('零状态响应'); axis([0 30 -0.15 0.2]); %完全响应 y(1)=0;y(2)=1; %初值 for m=3:length(kj);

y(m)=(1/6)*(5*y(m-1)-y(m-2)+fk(m)); end

subplot(1,3,3),stem(kj,y);title('完全响应');axis([0 30 -0.15 1.1]); 程序运行结果如图7所示。

n (samples)

A m p l i t u d e

冲激响应

零状态响应

完全响应

图7 离散系统的冲激响应、零状态响应和完全响应

8卷和运算

卷和是计算离散系统零状态响应的强有力的工具之一,卷和函数conv 的调用格式为: c=conv(a,b)

其中,序列c 的时间起点为两个向量a 、b 的时间起点之和,终点为两两个向量a 、b 的时间终点之和,长度为a 、b 长度之和减1。

例8已知序列x [k ]={1,2,3,4; k=0,1,2,3},y [k ]={1,1,1,1,1; k =0,1,2,3,4},计算x [k ]*y [k ],并绘制卷和的结果。

x =[1 2 3 4];y =[1 1 1 1 1];z =conv(x,y)

k=0:7 %z 的时间起点为0+0,终点为3+4 stem(k,z) k =

0 1 2 3 4 5 6 7 z =

1 3 6 10 10 9 7 4

程序运行结果如图8所示:

01234567

图9-14 离散信号的卷和运算结果

9 信号的分解与合成

周期信号按照傅里叶级数可以分解成三角函数的线性组合:

其中,w为基波频率。

N为截断位置,当N选取较大时,信号的傅里叶级数就是原信号的较好的近似。

分解和合成的程序如下:

function[A_sym,B_sym]=CTFShchsym; %设定函数名及参数

%Nf=6谐波的阶数;Nn 输出数据的准确位数;tao=τ

%A_sym:第1元素是直流项,其后元素依次是1,2,3,…次谐波cos项的展开系数%B_sym:第2,3,4,···元素依次是1,2,3,…次谐波sin项的展开系数

syms t n k x %说明为符号变量

tao=1;T=5;a=0.5;

if nargin<4;Nf=6;end %设定默认参数的个数及默认值

if nargin<5;Nn=32;end %设定默认参数的个数及默认值

x=time_fun_x(t);

A0=int(x,t,-a,T-a)/T; %求三角函数展开系数a0=A0

As=int(2*x*cos(2*pi*n*t/T)/T,t,-a,T-a); %求三角函数展开系数an=As

Bs=int(2*x*sin(2*pi*n*t/T)/T,t,-a,T-a); %求三角函数展开系数bn=Bs

A_sym(1)=double(vpa(A0,Nn)); % 获取数组A0所对应的ASCII码数值数组

for k=1:Nf

A_sym(k+1)=double(vpa(subs(As,n,k),Nn)); % 获取数组A所对应的ASCII码数值数组

B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn)); % 获取数组B所对应的ASCII码数值数组end

if nargout==0 %没有输入参数

c=A_sym;disp(c); %disp(c)输出系数an(n=0,1,2,3,…)

d=B_sym;disp(d); %disp(d)函数输出系数bn(n=0,1,2,3,…)

t=-8*a:0.01:T-a;

f1=c(1)+c(2).*cos(2*pi*1*t/5)+0.*sin(2*pi*1*t/5); %基波

f2=c(3).*cos(2*pi*2*t/5)+0.*sin(2*pi*2*t/5); %2次谐波

f3=c(4).*cos(2*pi*3*t/5)+0.*sin(2*pi*3*t/5); %3次谐波

f4=c(5).*cos(2*pi*4*t/5)+0.*sin(2*pi*4*t/5); %4次谐波

f5=c(6).*cos(2*pi*6*t/5)+0.*sin(2*pi*6*t/5); %6次谐波

f6=f1+f2; %基波+2次谐波

f7=f6+f3; %基波+2次谐波+3次谐波

f8=f7+f4+f5; %基波+2次谐波+3次谐波+4次谐波+6 次谐波subplot(2,2,1) %绘第1张图

plot(t,f1),hold on

y=time_fun_e(t) %调用连续时间函数-周期矩形脉冲

plot(t,y,'r:')

title('周期矩形波形的形成——基波+直流')

axis([-4 4.5 -0.5 1.5])

subplot(2,2,2) %绘第2张图

plot(t,f6),hold on

y=time_fun_e(t)

plot(t,y,'r:')

title('周期矩形波形的形成——基波+2次谐波')

axis([-4,4.5,-0.5,1.5])

subplot(2,2,3) %绘第3张图

plot(t,f7),hold on

y=time_fun_e(t)

plot(t,y,'r:')

title('基波+2次谐波+3次谐波')

axis([-4,4.5,-0.5,1.5])

subplot(2,2,4) %绘第4张图

plot(t,f8),hold on

y=time_fun_e(t)

plot(t,y,'r:')

title('基波+2次谐波+3次谐波+4次谐波+6次谐波')

axis([-4,4.5,-0.5,1.5])

end

% -------------------------是CTFShchsym.m的函数子程序

function x=time_fun_x(t)

h=1;

x1=sym('Heaviside(t+0.5)')*h;

x=x1-sym('Heaviside(t-0.5)')*h;

% -------------------------是CTFShchsym.m的函数子程序

function y=time_fun_e(t)

a=0.5;T=5;h=1;tao=0.2*T;t=-8*a:0.01:T-a;

e1=1/2+1/2.*sign(t+tao/2);

e2=1/2+1/2.*sign(t-tao/2);

y=h.*(e1-e2); %连续时间函数-周期矩形脉冲

键入CTFShchsym ,并回车,即可绘制矩形信号的各次谐波和合成信号。

二、实验内容

1、已知0.51,2sin(10)t y e y t -==,绘制12y y +和1*2y y 的图形。

2、利用impz 函数,计算以下差分方程表示的离散系统的单位脉冲响应,并绘制前30点的波形。

[]0.7[1]0.45[2]0.6[3]0.8[]0.44[1]0.36[2]0.02[3]

y k y k y k y k f k f k f k f k +-----=--+-+-

3、已知输入信号为[][1][11]f k k k εε=---,系统的单位冲激响应为[]0.9k

h k =,利用卷积和求系统的响应y[k],并绘制[]f k 、[]h k 、[]y k 的波形

4、已知某连续时间系统的微分方程为''

'

'

()4()3()2()

()y t y t y t f t f t ++=+,输入信号()()f t t ε=,初始状态为(0)1y -=,'(0)2y -

=,试求系统的零输入响应、零状态响应和

完全响应,并绘制响应的波形。

5、已知周期三角信号,请分解为傅里叶级数,并用前面7次谐波合成。(幅值在正负1之间

交替,周期4)

数字信号处理实验一

一、实验目的 1. 通过本次实验回忆并熟悉MATLAB这个软件。 2. 通过本次实验学会如何利用MATLAB进行序列的简单运算。 3. 通过本次实验深刻理解理论课上的数字信号处理的一个常见方法——对时刻n的样本附近的一些样本求平均,产生所需的输出信号。 3. 通过振幅调制信号的产生来理解载波信号与调制信号之间的关系。 二、实验内容 1. 编写程序在MATLAB中实现从被加性噪声污染的信号中移除噪声的算法,本次试验采用三点滑动平均算法,可直接输入程序P1.5。 2. 通过运行程序得出的结果回答习题Q1.31-Q1.33的问题,加深对算法思想的理解。 3. 编写程序在MATLAB中实现振幅调制信号产生的算法,可直接输入程序P1.6。 4. 通过运行程序得出的结果回答习题Q1.34-Q1.35的问题,加深对算法思想的理解。 三、主要算法与程序 1. 三点滑动平均算法的核心程序: %程序P1.5 %通过平均的信号平滑 clf; R=51; d=0.8*(rand(R,1)-0.5);%产生随噪声 m=0:R-1; s=2*m.*(0.9.^m);%产生为污染的信号 x=s+d';%产生被噪音污染的信号 subplot(2,1,1); plot(m,d','r-',m,s,'g--',m,x,'b-.');

xlabel('时间序号n');ylabel('振幅'); legend('d[n]','s[n]','x[n]'); x1=[0 0 x];x2=[0 x 0];x3=[x 0 0]; y=(x1+x2+x3)/3; subplot(2,1,2); plot(m,y(2:R+1),'r-',m,s,'g--'); legend('y[n]','s[n]'); xlabel('时间序号n');ylabel('振幅'); 2. 振幅调制信号的产生核心程序:(由于要几个结果,因此利用subplot函数画图) %程序P1.6 %振幅调制信号的产生 n=0:100; m=0.1;fH=0.1;fL=0.01; m1=0.3;fH1=0.3;fL1=0.03; xH=sin(2*pi*fH*n); xL=sin(2*pi*fL*n); y=(1+m*xL).*xH; xH1=sin(2*pi*fH1*n); xL1=sin(2*pi*fL1*n); y1=(1+m1*xL).*xH; y2=(1+m*xL).*xH1; y3=(1+m*xL1).*xH; subplot(2,2,1); stem(n,y); grid; xlabel('时间序号n');ylabel('振幅');title('m=0.1;fH=0.1;fL=0.01;'); subplot(2,2,2); stem(n,y1); grid; xlabel('时间序号n');ylabel('振幅');title('m=0.3;fH=0.1;fL=0.01;'); subplot(2,2,3); stem(n,y2); grid; xlabel('时间序号n');ylabel('振幅');title('m=0.3;fH=0.3;fL=0.01;'); subplot(2,2,4); stem(n,y3); grid;

数字信号处理实验(吴镇扬)答案-2

(1) 观察高斯序列的时域和幅频特性,固定信号)(n x a 中参数p=8,改变q 的 值,使q 分别等于2、4、8,观察他们的时域和幅频特性,了解当q 取不同值时,对信号序列的时域和幅频特性的影响;固定q=8,改变p,使p 分别等于8、13、14,观察参数p 变化对信号序列的时域和幅频特性的影响,注意p 等于多少时会发生明显的泄漏现象,混叠是否也随之出现?记录实验中观察到的现象,绘出相应的时域序列和幅频特性曲线。 ()() ?????≤≤=-其他0150,2n e n x q p n a 解:程序见附录程序一: P=8,q 变化时: t/T x a (n ) k X a (k ) t/T x a (n ) p=8 q=4 k X a (k ) p=8 q=4 t/T x a (n ) p=8 q=8 k X a (k ) p=8 q=8 幅频特性 时域特性

t/T x a (n ) p=8 q=8 k X a (k ) p=8 q=8 t/T x a (n ) 5 10 15 k X a (k ) p=13 q=8 t/T x a (n ) p=14 q=8 5 10 15 k X a (k ) p=14 q=8 时域特性幅频特性 分析: 由高斯序列表达式知n=p 为期对称轴; 当p 取固定值时,时域图都关于n=8对称截取长度为周期的整数倍,没有发生明显的泄漏现象;但存在混叠,当q 由2增加至8过程中,时域图形变化越来越平缓,中间包络越来越大,可能函数周期开始增加,频率降低,渐渐小于fs/2,混叠减弱; 当q 值固定不变,p 变化时,时域对称中轴右移,截取的时域长度渐渐地不再是周期的整数倍,开始无法代表一个周期,泄漏现象也来越明显,因而图形越来越偏离真实值, p=14时的泄漏现象最为明显,混叠可能也随之出现;

数字信号处理实验一

实验一 离散时间信号分析 班级 信息131班 学号 201312030103 姓名 陈娇 日期 一、实验目的 掌握两个序列的相加、相乘、移位、反褶、卷积等基本运算。 二、实验原理 1.序列的基本概念 离散时间信号在数学上可用时间序列)}({n x 来表示,其中)(n x 代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为+∞<<∞-n 的整数,n 取其它值)(n x 没有意义。离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号)(t x a 进行等间隔采样,采样间隔为T ,得到)}({nT x a 一个有序的数字序列就是离散时间信号,简称序列。 2.常用序列 常用序列有:单位脉冲序列(单位抽样)) (n δ、单位阶跃序列)(n u 、矩形序列)(n R N 、实指数序列、复指数序列、正弦型序列等。 3.序列的基本运算 序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。 4.序列的卷积运算 ∑∞ -∞==-= m n h n x m n h m x n y )(*)()()()( 上式的运算关系称为卷积运算,式中代表两个序列卷积运算。两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。其计算的过程包括以下4个步骤。 (1)反褶:先将)(n x 和)(n h 的变量n 换成m ,变成)(m x 和)(m h ,再将)(m h 以纵轴为对称轴反褶成)(m h -。

(2)移位:将)(m h -移位n ,得)(m n h -。当n 为正数时,右移n 位;当n 为负数时,左移n 位。 (3)相乘:将)(m n h -和)(m x 的对应点值相乘。 (4)求和:将以上所有对应点的乘积累加起来,即得)(n y 。 三、主要实验仪器及材料 微型计算机、Matlab6.5 教学版、TC 编程环境。 四、实验内容 (1)用Matlab 或C 语言编制两个序列的相加、相乘、移位、反褶、卷积等的程序; (2)画出两个序列运算以后的图形; (3)对结果进行分析; (4)完成实验报告。 五、实验结果 六、实验总结

数字信号处理实验报告(实验1_4)

实验一 MATLAB 仿真软件的基本操作命令和使用方法 实验容 1、帮助命令 使用 help 命令,查找 sqrt (开方)函数的使用方法; 2、MATLAB 命令窗口 (1)在MATLAB 命令窗口直接输入命令行计算3 1)5.0sin(21+=πy 的值; (2)求多项式 p(x) = x3 + 2x+ 4的根; 3、矩阵运算 (1)矩阵的乘法 已知 A=[1 2;3 4], B=[5 5;7 8],求 A^2*B

(2)矩阵的行列式 已知A=[1 2 3;4 5 6;7 8 9],求A (3)矩阵的转置及共轭转置 已知A=[1 2 3;4 5 6;7 8 9],求A' 已知B=[5+i,2-i,1;6*i,4,9-i], 求B.' , B' (4)特征值、特征向量、特征多项式 已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] ,求矩阵A的特征值、特征向量、特征多项式;

(5)使用冒号选出指定元素 已知:A=[1 2 3;4 5 6;7 8 9];求A 中第3 列前2 个元素;A 中所有列第2,3 行的元素; 4、Matlab 基本编程方法 (1)编写命令文件:计算1+2+…+n<2000 时的最大n 值;

(2)编写函数文件:分别用for 和while 循环结构编写程序,求 2 的0 到15 次幂的和。

5、MATLAB基本绘图命令 (1)绘制余弦曲线 y=cos(t),t∈[0,2π]

(2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5), t∈[0,2π] (3)绘制[0,4π]区间上的 x1=10sint 曲线,并要求: (a)线形为点划线、颜色为红色、数据点标记为加号; (b)坐标轴控制:显示围、刻度线、比例、网络线 (c)标注控制:坐标轴名称、标题、相应文本; >> clear;

数字信号处理实验

实验一 离散傅里叶变换(DFT )对确定信号进行谱分析 一.实验目的 1.加深对DFT 算法原理和基本性质的理解。 2.熟悉DFT 算法和原理的编程方法。 3.学习用DFT 对信号进行谱分析的方法,了解可能出现的误差及其原因,以便在实际中正确利用。 二.实验原理 一个连续信号)(t x a 的频谱可以用其傅里叶变换表示,即 dt e t x j X t j a a Ω-∞ ∞ -? = Ω)()( 若对)(t x a 进行理想采样可得采样序列 )(|)()(nT x t x n x a nT t a === 对)(n x 进行DTFT ,可得其频谱为: ∑∞ -∞ =-= n n j j e n x e X ωω )()( 其中数字频率ω与模拟频率Ω的关系为: s f T Ω = Ω=ω )(n x 的DFT 为∑∞ -∞ =-= n nk N j e n x k X π 2)()( 若)(t x a 是限带信号,且在满足采样定理的条件下,)(ω j e X 是)(Ωj X a 的周期延拓, )(k X 是)(ωj e X 在单位圆上的等间隔采样值,即k N j e X k X πωω2| )()(= =。 为在计算机上分析计算方便,常用)(k X 来近似)(ω j e X ,这样对于长度为N 的有限 长序列(无限长序列也可用有限长序列来逼近),便可通过DFT 求其离散频谱。 三.实验内容 1.用DFT 对下列序列进行谱分析。 (1))()04.0sin(3)(100n R n n x π=

1 (2)]0,0,0,0,0,0,0,0,1,1,1,1[)(=n x 2.为了说明高密度频谱和高分辨率频谱之间的区别,考察序列 )52.0cos()48.0cos()(n n n x ππ+= (1)当0≤n ≤10时,确定并画出x(n)的离散傅里叶变换。 (2)当0≤n ≤100时,确定并画出x(n)的离散傅里叶变换。 四.实验结果 1. (1) (2)

数字信号处理实验1,2,3,4

实验一 连续时间系统的时域和频域分析相关MATLAB 函数1.设描述连续时间系统的微分方程为:)()()()()()()()(01)1(1)(01)1(1)(t f b t f b t f b t f b t y a t y a t y a t y a m m m m n n n n +'+++=+'+++---- 则可用向量和表示该系统,即 a b ] ,,,,[011a a a a a n n -=],,,,[011b b b b b m m -=注意,向量和的元素一定要以微分方程时间求导的降幂次序排列,且缺项要用0补齐。a b 如微分方程)()()(2)(3)(t f t f t y t y t y +''=+'+''表示该系统的向量为 ]2 3 1[=a ]1 0 1[=b (1)求解冲激响应:impulse()函数impulse()函数有以下四种调用格式: ① impulse(b,a) 该调用格式以默认方式绘制由向量和定义的连续时间系统的冲激响应的时域波形。a b ② impulse(b,a,t)该调用格式绘制由向量和定义的连续时间系统在时间范围内的冲激响应的时a b t ~0域波形。③ impulse(b,a, t1:p:t2)该调用格式绘制由向量和定义的连续时间系统在时间范围内,且以时间间a b 21~t t 隔均匀抽样的冲激响应的时域波形。p ④ y=impulse(b,a,t1:p:t2)该调用格式并不绘制系统冲激响应的波形,而是求出由向量和定义的连续时间系a b 统在时间范围内以时间间隔均匀抽样的系统冲激响应的数值解。21~t t p (2)求解阶跃响应:step()函数 step()函数也有四种调用格式:① step(b,a) ② step(b,a,t) ③ step(b,a, t1:p:t2) ④ y=step(b,a,t1:p:t2) 上述调用格式的功能与impulse()函数完全相同。

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

数字信号处理实验答案 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),绘出四个周期。

数字信号处理实验三

实验三 离散付里叶变换(DFT ) 一、实验目的: 1. 掌握离散付里叶级数 2. 掌握DFT 变换。 3. 掌握DFT 特性。 4. 掌握利用DFT 计算线性卷积。 5. 掌握快速付里叶变换(FFT)。 二、实验原理: 1.离散付里叶级数(DFS ) )(~n x 为周期序列,其频率为基本频率(N /2π )的倍数(或谐波)。其离散付叶级 数(DFS )为:;∑ -=-±== 1 2,,1,0,)(~)(~N n kn N j k e n x k X π IDFS 为:∑ -== 1 2)(~ 1)(~N k kn N j e k X N n x π 2.离散付里叶变换(DFT ) )(n x 为长度N 的有限长序列,其DFT 为:21 1()()N j kn N k x n X k e N π--== ∑ IDFT 为:21 ()(),0,1,N j kn N n X k x n e k π-== =±∑ 3.DFT 的特性: (1) 线性性:)]([)]([)]()([2121n x bDFT n x aDFT n bx n ax DFT +=+ (2) 循环折叠(圆周对称)性:?? ? -≤≤-==-1 1) (0) 0())((N n n N x n x n x N (3) 共轭性: N k X n x DFT ))(()]([* *-= (4) 实序列的对称性(圆周共轭对称性):N k X k X ))(()(* -= (5) 序列的圆周移位:N m n x m n x ))(()(~ -=-

(6) 频域中的圆周移位:)())(()]([|ln k R l k X n x W DFT N N N -=- (7) 时域循环卷积:)()()]()([2121k X k X n x n x DFT =? (8) 频域循环卷积(乘法性):)()(1)]()([2121k X k X N n x n x DFT ?= (9) 帕塞瓦尔(Parseval )定理:∑ ∑ -=-== = 1 2 1 2 ) (1)(N k N n x k X N n x E 4.用DFT 计算线性卷积: 设)(1n x 为1N 点序列,)(2n x 为2N 点序列,)(3n x 为)(1n x 和)(2n x 的线性卷积,其为121-+N N 点序列,)(4n x 为)(1n x 和)(2n x 的圆卷积,其长度为 N ,当121-+=N N N 时,)()(43n x n x =。实际中,采用分段卷积法,即重 叠保留法和重叠相加法。需要对数据流进行分块处理,这时直接采用DFT 计算线性卷积会产生一些问题,而应该将)(n x 通过重复前M-1个取样进行分块,这样可得到正确结果。 5.快速付里叶变换(FFT ): 掌握基2-时域抽取FFT(DIT-FFT)和基2-频域抽取FFT(DIF-FFT)。MATLAB 提供fft 函数来计算x 的DFT 。fft 函数是用机器语言写的,采用混合基法,其调用形式为:),(N x fft X =。如N 为2的幂,则得到高速的基2-FFT 算法;若N 不是2的乘方,则将N 分解成质数,得到较慢的混合基FFT 算法;最后,若N 为质数,则fft 函数采用的是原始的DFT 算法。 三、实验步骤: 1.离散付里叶级数(DFS ) (1)自已动手:编写实现离散付里叶级数和逆离散付里叶级数的函数。 (2)已知周期性序列如下所示:}3,2,1,0,3,2,1,0,3,2,1,0{)(~ ↑ =n x 求其离散付里叶级数。 2.离散付里叶变换(DFT ) (1) 编写实现DFT 和IDFT 的函数。 (2) 已知)(n x 是一个六点序列,如下所示: ?? ?≤≤=e ls e n n x 0 501 )( 要求计算该序列的离散时间的付里叶变换和离散付里叶变换,并绘出它们的幅度和相

数字信号处理实验报告一

武汉工程大学 数字信号处理实验报告 姓名:周权 学号:1204140228 班级:通信工程02

一、实验设备 计算机,MATLAB语言环境。 二、实验基础理论 1.序列的相关概念 2.常见序列 3.序列的基本运算 4.离散傅里叶变换的相关概念 5.Z变换的相关概念 三、实验内容与步骤 1.离散时间信号(序列)的产生 利用MATLAB语言编程产生和绘制单位样值信号、单位阶跃序列、指数序列、正弦序列及随机离散信号的波形表示。 四实验目的 认识常用的各种信号,理解其数字表达式和波形表示,掌握在计算机中生成及绘制数字信号波形的方法,掌握序列的简单运算及计算机实现与作用,理解离散时间傅里叶变换,Z变换及它们的性质和信号的频域分

实验一离散时间信号(序列)的产生 代码一 单位样值 x=2; y=1; stem(x,y); title('单位样值 ') 单位阶跃序列 n0=0; n1=-10; n2=10; n=[n1:n2]; x=[(n-n0)>=0]; stem(n,x); xlabel('n'); ylabel('x{n}'); title('单位阶跃序列');

实指数序列 n=[0:10]; x=(0.5).^n; stem(n,x); xlabel('n'); ylabel('x{n}'); title('实指数序列');

正弦序列 n=[-100:100]; x=2*sin(0.05*pi*n); stem(n,x); xlabel('n'); ylabel('x{n}'); title('正弦序列');

随机序列 n=[1:10]; x=rand(1,10); subplot(221); stem(n,x); xlabel('n'); ylabel('x{n}'); title('随机序列');

数字信号处理实验(吴镇扬)答案-4

实验四 有限长单位脉冲响应滤波器设计 朱方方 0806020433 通信四班 (1) 设计一个线性相位FIR 高通滤波器,通带边界频率为0.6π,阻带边界频率为0.4π,阻 带衰减不小于40dB 。要求给出h(n)的解析式,并用MATLAB 绘出时域波形和幅频特性。 解: (1) 求数字边界频率: 0.6 , .c r ωπωπ== (2) 求理想滤波器的边界频率: 0.5n ωπ= (3) 求理想单位脉冲响应: []d s i n ()s i n [()] () ()1n n n n n n h n n παωαα παωα π?-- -≠??-=? ? -=?? (4) 选择窗函数。阻带最小衰减为-40dB ,因此选择海明窗(其阻带最小衰减为-44dB);滤 波器的过渡带宽为0.6π-0.4π=0.2π,因此 6.21 0.231 , 152 N N N ππα-=?=== (5) 求FIR 滤波器的单位脉冲响应h(n): []31d sin (15)sin[0.5(15)] 1cos ()15()()()15(15)1 15 n n n R n n h n w n h n n n ππππ?---????-? ?≠? ???==-???? ? ?=? 程序: clear; N=31; n=0:N-1; hd=(sin(pi*(n-15))-sin(0.5*pi*(n-15)))./(pi *(n-15)); hd(16)=0.5; win=hanning(N); h=win'.*hd; figure; stem(n,h); xlabel('n'); ylabel('h(n)'); grid; title('FIR 高通滤波单位脉冲响应h(n)'); [H,w]=freqz(h,1); H=20*log10(abs(H)); figure;3 plot(w/pi,H); axis([0 1 -100 10]); xlabel('\omega/\pi'); ylabel('幅度/dB'); grid; title('FIR 高通滤波器,hanning 窗,N=31');

数字信号处理实验三

实验三:离散LSI 系统的频域分析 一、实验内容 2、求以下各序列的z 变换: 12030() ()sin() ()sin()n an x n na x n n x n e n ωω-=== 程序清单如下: syms w0 n z a; x1=n*a^n;X1=ztrans(x1) x2=sin(w0*n);X2=ztrans(x2) x3= exp(-a*n)*sin(w0*n);X3=ztrans(x3) 程序运行结果如下: X1 =z/(a*(z/a - 1)^2) X2 =(z*sin(w0))/(z^2 - 2*cos(w0)*z + 1) X3 =(z*exp(a)*sin(w0))/(exp(2*a)*z^2 - 2*exp(a)*cos(w0)*z + 1) 3、求下列函数的逆z 变换 0 312342 1 1() () () ()() 1j z z z z X z X z X z X z z a z a z e z ω---= = = = ---- 程序清单如下: syms w0 n z a; X1=z/(z-a);x1=iztrans(X1) X2= z/(a-z)^2;x2=iztrans(X2) X3=z/ z-exp(j*w0);x3=iztrans(X3) X4=(1-z^-3)/(1-z^-1);x4=iztrans(X4) 程序运行结果如下: x1 =a^n x2 =n*a^n/a 课程名称 数字信号 实验成绩 指导教师 实 验 报 告 院系 信息工程学院 班级 学号 姓名 日期

x3 =charfcn[0](n)-iztrans(exp(i*w0),w0,n) x4 =charfcn[2](n)+charfcn[1](n)+charfcn[0](n) 4、求一下系统函数所描述的离散系统的零极点分布图,并判断系统的稳定性 (1) (0.3)()(1)(1) z z H z z j z j -= +-++ z1=[0,0.3]';p1=[-1+j,-1-j]';k=1; [b1,a1]=zp2tf(z1,p1,k); subplot(1,2,1);zplane(z1,p1); title('极点在单位圆外); subplot(1,2,2);impz(b1,a1,20); 由图可见:当极点位于单位圆内,系统的单位序列响应随着频率的增大而收敛;当极点位于单位圆上,系统的单位序列响应为等幅振荡;当极点位于单位圆外,系统的单位序列响应随着频率的增大而发散。由此可知系统为不稳定系统。 -1 -0.5 00.51 -2 -1.5-1-0.500.511.5 2Real Part I m a g i n a r y P a r t 极点在单位圆外 n (samples) A m p l i t u d e Impulse Response

数字信处理上机实验答案全

数字信处理上机实验答 案全 Document number【SA80SAB-SAA9SYT-SAATC-SA6UT-SA18】

第十章 上机实验 数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。 实验一系统响应及系统稳定性。 实验二时域采样与频域采样。 实验三用FFT对信号作频谱分析。 实验四 IIR数字滤波器设计及软件实现。 实验五 FIR数字滤波器设计与软件实现 实验六应用实验——数字信号处理在双音多频拨号系统中的应用 任课教师根据教学进度,安排学生上机进行实验。建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR数字滤波器设计及软件实现在。学习完第六章进行;实验五在学习完第七章后进行。实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。 实验一: 系统响应及系统稳定性 1.实验目的 (1)掌握求系统响应的方法。 (2)掌握时域离散系统的时域特性。 (3)分析、观察及检验系统的稳定性。 2.实验原理与方法 在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MATLAB语言的工具箱函数filter函数。也可以用MATLAB语言的工具箱函数conv函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。 系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。 系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。或者系统的单位脉冲响应满足绝对可和的条件。系统的稳定性由其差分方程的系数决定。 实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的[19]。系统的稳态输出是指当∞ n时,系统的输出。如果系统稳定,信号加入 → 系统后,系统输出的开始一段称为暂态效应,随n的加大,幅度趋于稳定,达到稳态输出。 注意在以下实验中均假设系统的初始状态为零。 3.实验内容及步骤

数字信号处理实验4

数字信号处理实验四 第一题结果: (1)没有增加过渡点 源码如下: N = 15; H = [1 1 1 0.5 zeros(1,7) 0.5 1 1 1]; %确定抽样点的幅度大小 %H(3,13) = 0.75;H(5,11) = 0.25; %设置过渡点 k = 0:N-1; A = exp(-j*pi*k*(N-1)/N); %抽样点相位大小 HK = H.*A; %求抽样点的H(k) hn = ifft(HK,N); %求出FIR的单位冲激响应h(n) freqz(hn,1,256); %画出幅频相频曲线figure(2); stem(real(hn),'.'); %绘制单位冲激响应的实部 line([0,35],[0,0]);xlabel('n');ylabel('Real(h(n))'); 单位脉冲响应曲线 幅频和相频特性曲线

(2)增加过渡点 源码如下: N = 15; H = [1 1 1 0.5 zeros(1,7) 0.5 1 1 1]; %确定抽样点的幅度大小 H(3) = 0.75;H(13) = 0.75;H(5) = 0.25;H(11) = 0.25; %设置过渡点 k = 0:N-1; A = exp(-j*pi*k*(N-1)/N); %抽样点相位大小 HK = H.*A; %求抽样点的H(k) hn = ifft(HK,N); %求出FIR的单位冲激响应h(n) freqz(hn,1,256); %画出幅频相频曲线figure(2); stem(real(hn),'.'); %绘制单位冲激响应的实部 line([0,35],[0,0]);xlabel('n');ylabel('Real(h(n))'); 单位脉冲响应曲线 幅频和相频特性曲线 第二题结果:

数字信号处理实验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)’);

习题集-02 数字信号处理习题答案

§ Z 变换 ? Z 变换的定义及收敛域 【习题】 1. 假如)(n x 的z 变换代数表示式是下式,问)(z X 可能有多少不同的收敛域。 )83451)(411(411)(2122----+++- =z z z z z X 【分析】 )要单独讨论,(环状、圆外、圆内:有三种收敛域:双边序列的收敛域为:特殊情况有:左边序列的收敛域为:因果序列的收敛域为:右边序列的收敛域为:特殊情况有:有限长序列的收敛域为 0 0 , , 0 0 , , 0 , 0 0 , 0 , 0 22 11 212 1∞==<<≤≤<≤<<≥≥∞≤<≥∞<<≤∞<≤≥∞≤<≤≤∞<<+ -++--z z R z R n n R z n n R z n n z R n n z R n z n z n n n z x x x x x x

解:对X (Z )的分子和分母进行因式分解得 )43 1 )(21 1)(211(2111111----+-+- =Z jZ jZ Z X (Z )的零点为:1/2,极点为:j/2,-j/2,-3/4 ∴ X (Z )的收敛域为: (1) 1/2 < | Z | < 3/4,为双边序列,见图一 (2) | Z | < 1/2,为左边序列,见图二 (3) | Z | > 3/4,为右边序列,见图三 图一 图二 图三 )431)(211)(411()211)(211()(11211-----++++- =Z Z Z Z Z Z X

? Z 反变换 【习题】 2. 有一右边序列 )(n x ,其 z 变换为)1)(211(1 )(11----=z z z X (a) 将上式作部分分式展开(用 1-z 表示),由展开式求 )(n x 。 (b) 将上式表示成 z 的多项式之比,再作部分分式展开,由展开式求 )(n x ,并说明所得到的序列 与(a)所得的是一样的。 【注意】不管哪种表示法最后求出 x (n ) 应该是相同的。 解:(a) 因为11122 111)(---+--=z z z X 且x(n)是右边序列 所以 )()212()(n u n x n ?? ? ??-= (b) 122 1211 )1)(2 1(21231 )1)(2 1()(2 -+--+=---+=--=z z z z z z z z z X )()212( )1(2)1(21)()( n u n u n u n n x n n ??? ??-=-+-?? ? ??-=δ则

数字信号处理实验报告实验三(DOC)

物理与电子信息工程学院 实验报告 实验课程名称:数字信号处理 实验名称:用FFT对信号作频谱分析班级:1012341 姓名:严娅 学号:101234153 成绩:_______ 实验时间:2012年12月6日

一、实验目的 学习用FFT对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT。 二、实验原理 用FFT对信号作频谱分析是学习数字信号处理的重要内容。经常需要进行谱分析的信号是模拟信号和时域离散信号。对信号进行谱分析的重要问题是频谱分辨率D和分析误差。频谱分辨率直接和FFT的变换区间N有关,因为FFT能够实现的频率分辨率是N/ 2π,因此要求D 2π。可以根据此式选择FFT的变换区间N。误差主要来自于/ N≤ 用FFT作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N较大时离散谱的包络才能逼近于连续谱,因此N要适当选择大一些。 周期信号的频谱是离散谱,只有用整数倍周期的长度作FFT,得到的离散谱才能代表周期信号的频谱。如果不知道信号周期,可以尽量选择信号的观察时间长一些。 对模拟信号进行谱分析时,首先要按照采样定理将其变成时域离散信号。如果是模拟周期信号,也应该选取整数倍周期的长度,经过采样后形成周期序列,按照周期序列的谱分析进行。 三、实验步骤及内容 (1)对以下序列进行谱分析。

?????≤≤-≤≤-=?? ???≤≤-≤≤+==其它n n n n n n x 其它n n n n n n x n R n x ,074, 330,4)(,074, 830, 1)() ()(3241 这些都是时域离散非周期信号,选择FFT 的变换区间N 为8和16 两种情况进行频谱分析。分别打印其幅频特性曲线。并进行对比、分析和讨论。 (2)对以下周期序列进行谱分析。 4()cos 4x n n π= 5()cos(/4)cos(/8)x n n n ππ=+ 这些是时域离散周期信号,选择FFT 的变换区间N 为8和16 两种情况分别对以上序列进行频谱分析。分别打印其幅频特性曲线。并进行对比、分析和讨论。 (3)对模拟周期信号进行谱分析 6()cos8cos16cos20x t t t t πππ=++ 这是时域连续周期信号,选择采样频率Hz F s 64=,变换区间N=16,32,64 三种情况进行谱分析。分别打印其幅频特性,并进行分析和讨论。 四、实验程序清单 %第10章实验3程序exp3.m % 用FFT 对信号作频谱分析

数字信号处理上机实验答案(全)1

第十章 上机实验 数字信号处理是一门理论和实际密切结合的课程,为深入掌握课程内容,最好在学习理论的同时,做习题和上机实验。上机实验不仅可以帮助读者深入的理解和消化基本理论,而且能锻炼初学者的独立解决问题的能力。本章在第二版的基础上编写了六个实验,前五个实验属基础理论实验,第六个属应用综合实验。 实验一 系统响应及系统稳定性。 实验二 时域采样与频域采样。 实验三 用FFT 对信号作频谱分析。 实验四 IIR 数字滤波器设计及软件实现。 实验五 FIR 数字滤波器设计与软件实现 实验六 应用实验——数字信号处理在双音多频拨号系统中的应用 任课教师根据教学进度,安排学生上机进行实验。建议自学的读者在学习完第一章后作实验一;在学习完第三、四章后作实验二和实验三;实验四IIR 数字滤波器设计及软件实现在。学习完第六章进行;实验五在学习完第七章后进行。实验六综合实验在学习完第七章或者再后些进行;实验六为综合实验,在学习完本课程后再进行。 10.1 实验一: 系统响应及系统稳定性 1.实验目的 (1)掌握 求系统响应的方法。 (2)掌握时域离散系统的时域特性。 (3)分析、观察及检验系统的稳定性。 2.实验原理与方法 在时域中,描写系统特性的方法是差分方程和单位脉冲响应,在频域可以用系统函数描述系统特性。已知输入信号可以由差分方程、单位脉冲响应或系统函数求出系统对于该输入信号的响应,本实验仅在时域求解。在计算机上适合用递推法求差分方程的解,最简单的方法是采用MA TLAB 语言的工具箱函数filter 函数。也可以用MATLAB 语言的工具箱函数conv 函数计算输入信号和系统的单位脉冲响应的线性卷积,求出系统的响应。 系统的时域特性指的是系统的线性时不变性质、因果性和稳定性。重点分析实验系统的稳定性,包括观察系统的暂态响应和稳定响应。 系统的稳定性是指对任意有界的输入信号,系统都能得到有界的系统响应。或者系统的单位脉冲响应满足绝对可和的条件。系统的稳定性由其差分方程的系数决定。 实际中检查系统是否稳定,不可能检查系统对所有有界的输入信号,输出是否都是有界输出,或者检查系统的单位脉冲响应满足绝对可和的条件。可行的方法是在系统的输入端加入单位阶跃序列,如果系统的输出趋近一个常数(包括零),就可以断定系统是稳定的[19]。系统的稳态输出是指当∞→n 时,系统的输出。如果系统稳定,信号加入系统后,系统输出的开始一段称为暂态效应,随n 的加大,幅度趋于稳定,达到稳态输出。 注意在以下实验中均假设系统的初始状态为零。 3.实验内容及步骤 (1)编制程序,包括产生输入信号、单位脉冲响应序列的子程序,用filter 函数或conv 函数求解系统输出响应的主程序。程序中要有绘制信号波形的功能。 (2)给定一个低通滤波器的差分方程为

数字信号处理实验八

实验报告 实验名称:FIR数字滤波器设计及应用 课程名称____数字信号处理________ 院系部:电气与电子工程专业班级:信息1002 学生姓名:王萌学号: 11012000219同组人:实验台号: 指导教师:范杰清成绩: 实验日期: 华北电力大学

一、实验目的 加深理解 FIR 数字滤波器的时域特性和频域特性,掌握FIR 数字 滤波器的设计原理与设计方法,以及FIR 数字滤波器的应用。 二、 实验原理 FIR 数字滤波器可以设计成具有线性相位,在数据通信、图像处理、 语音信号处理等实际应用领域得到广泛应用。 M 阶FIR 数字滤波器的系统函数为: FIR 数字滤波器的单位脉冲响应h [k ]是长度为M +1的有限长因果序列。当满足对称条件时,该FIR 数字滤波器具有线性相位。FIR 数字滤波器设计方法主要有窗口法、频率取样法及优化设计法。 MATLAB 中提供的常用FIR 数字滤波器设计函数有: fir1 窗函数法设计FIR 数字滤波器(低通、高通、带通、 带阻、多频带滤波器) fir2 频率取样法设计FIR 数字滤波器:任意频率响应 firls FIR 数字滤波器设计:指定频率响应 firrcos 升余弦型 FIR 数字滤波器设计 intfilt 内插FIR 数字滤波器设计 kaiserord 凯塞(Kaiser)窗函数设计法的阶数估计 firpm Parks-McClellan 算法实现FIR 数字滤波器优化设计 firpmord Parks-McClellan 数字滤波器的阶数选择 cremez 复系数非线性相位FIR 等波纹滤波器设计 1、 窗口法设计FIR 数字滤波器 fir1函数可以很容易地实现FIR 数字滤波器窗口法设计。 可设计低通、高通、带通、带阻滤波器、多频带滤波器。 k M k z k h z H -=∑=][)(0

相关主题
文本预览
相关文档 最新文档