当前位置:文档之家› 信号分析与处理实验

信号分析与处理实验

信号分析与处理实验
信号分析与处理实验

《信号分析与处理》实验指导书

朱铮涛周琦

广东工业大学信息工程学院

二0一一年三月印刷

目录

实验一基本信号的产生和时频域抽样实验 (3)

实验二连续和离散系统分析 (16)

实验三用FFT实现谱分析实验 (28)

实验四 IIR数字滤波器设计和应用 (33)

实验五 FIR数字滤波器设计和应用 (47)

实验六信号的幅度调制和解调实验 (51)

实验项目名称:基本信号的产生和时频域抽样实验 实验项目性质:普通实验 所属课程名称:信号分析与处理 实验计划学时:2

一、实验目的

1学习使用matlab 产生基本信号波形、实现信号的基本运算

2熟悉连续信号经理想采样前后的频谱变化关系,加深对时域采样定理的理解;

3 加深理解频谱离散化过程中的数学概念和物理概念,掌握频域抽样定理的基本内容。 二、实验内容和要求

1 用Matlab 产生以下序列的样本,并显示其波形: (a): ()(0.9)

cos(0.2/3),020

n

x n n n ππ=+≤≤

(b): )20()5()(---=n u n u n x (c): )*5.0ex p()(n n x -= (d): )1.0sin()(n n x π= (e): |

|1000)(t a

e

t x -=

(f): )

()sin()(0t u t Ae

t x t

a

Ω=-α

2 设|

|1000a )t (x

t e

-=

(a ):求其傅里叶变换)jw (X a ; (b ):用频率Hz

s

5000F =对)t (x a 进行采样,求出采样所得离散时间信号]

n [x a1

的傅里叶变换)(X

1

jw

a e

再用频率Hz s 1000F =对)t (x a 进行采样,求出采样所得

离散时间信号]n [x a2的傅里叶变换)

(X

a2

jw

e

(c ):分别针对(b )中采样所得离散时间信号]n [x a1和]n [x a2,重建出对应的连续时间信号)t (x a1和)t (x a2,并分别与原连续时间信号)t (x a 进行比较;根据抽样定理(即Nyquist 定理)的知识,说明采样频率对信号重建的影响。

3 已知序列x[k]={1,1,1;k=0,1,2},对其频谱)(Ωj e X 进行抽样,分别取N=2,3,10,观察频域抽样造成的混叠现象。

4、A 编制实验用主程序及相应子程序。

① 信号产生子程序, 用于产生实验中要用到的下列信号序列:

a.采样信号序列:对下面连续信号:

)t (u )t (sin Ae )t (x 0at

a

Ω=- 进行采样, 可得到采样序列

)n (x a =)nT (x a =)n (u )nT (sin Ae 0

anT

Ω-, 0≤n<50 其中A 为幅度因子, a 为衰减因子, 0Ω是模拟角频率, T 为采样间隔。 这些参数都要在实验过程中由键盘输入, 产生不同的)t (x a 和)n (x a 。 b. 单位脉冲序列: x b (n)=δ(n)

c. 矩形序列: x c (n)=R N (n), N=10

② 系统单位脉冲响应序列产生子程序。 本实验要用到两种FIR 系统。 a. h a (n)=R 10(n);

b. h b (n)=δ(n)+2.5δ(n-1)+2.5δ(n-2)+δ(n-3)

③ 有限长序列线性卷积子程序, 用于完成两个给定长度的序列的卷积。 可以直接调用MATLAB 语言中的卷积函数conv 。 conv 用于两个有限长度序列的卷积, 它假定两个序列都从n=0 开始。 调用格式如下: y=conv(x, h)

其中参数x 和y 是两个已赋值的行向量序列。给出主程序流程框图如下。 4、B. 调通并运行实验程序, 完成下述实验内容:

① 分析采样序列的特性。产生采样信号序列)n (x a ,使128.444A =,

π250a =,π2500=Ω。

a. 取采样频率f s =1 kHz, 即T=1 ms 。观察所得采样)n (x a 的幅频特性

|)e (X |jw

和图中的|)j (X |a Ω在折叠频率附近有无明显差别。应当注意,实验中

所得频谱是用序列)n (x a 的傅里叶变换公式求得的,所以在频率度量上存在关系:T w Ω=,w 为数字频率,Ω为模拟频率。 b. 改变采样频率, f s =300 Hz , 观察|)(|jw e X 的变化, 并做记录(打印曲线); 进一步降低采样频率, f s =200 Hz , 观察频谱混叠是否明显存在, 说明原因, 并记录(打印)这时的|)(|jw e X 曲线。 ② 时域离散信号、 系统和系统响应分析。

a. 观察信号)n (x b 和系统)n (h b 的时域和频域特性; 利用线性卷积求信号)n (x b 通过系统)n (h b 的响应)n (y , 比较所求响应)n (y 和)n (h b 的时域及频域特性, 注意它们之间有无差别, 绘图说明, 并用所学理论解释所得结果。

b. 观察系统)n (h a 对信号)n (x c 的响应特性。

③ 卷积定理的验证。将实验②中的信号换成)n (x a ,使0.4a =, 2.07340=Ω,

1A =,1T =。重复实验②a ,打印|e Y |k

jw

)(曲线。

实验一中第四题的主程序框图

三、实验主要仪器设备和材料 装有Matlab 软件的计算机 四、实验方法、步骤及结果测试

实验方法:编程,上机调试,分析实验结果; 步骤:编辑程序,并观察相应的时频域波形 五、实验报告要求 1) 简述实验原理及目的。

2) 结合实验中内容和实验结果,将实验结果与理论结果比较,并根据思考题对实验结果进行分析说明。 六、思考题

1、信号卷积与系统输出信号的关系?

2、连续信号抽样,抽样频率一般为多少,在实际应用中,为何一般选取抽样频率m f f )53(max ->=?

备注:部分题目的参考程序及注释:

1(a)题号,不要键入

sigseq.m 文件名,可以任取,但要符合命名规则。matlab的.m文件保存命

名规则是1.文件名命名要用英文字符开头,第一个字符不能是数字

2.文件名不要取为matlab的一个固有函数,m文件名的命名尽量不要

是简单的英文单词,最好是由大小写英文/数字/下划线等组成。原因

是简单的单词命名容易与matlab内部函数名同名,结果会出现一些

莫名其妙的错误。3、文件存储路径最好为英文4、m文件起名不能

为两个单词,如random walk,应该写成random_walk

% this program is to produce different signal sequences and display them

n=1:20; %冒号是每隔1产生一个数,此语句产生1到20之间的整数x1=0.9.^n.*cos(0.2*pi*n+pi/3); %一定要注意点乘(阵列乘)subplot(231); %subplot(m,n,p)可将图形窗口分割成m*n个窗格,

并将第p个窗格置成当前窗格;

stem(x1); %stem(y)可以按离散竖条形式显示出数据y,x轴取其序号. title('decreased cos(x)'); %title(?x‘)函数中的x为标题内容pause; %暂停

1(b)题号,不要键入

% generate windowed function %(百分号)表示注释信息,指示逻辑行的结束,在‖%‖之后的

任意文本都作为说明

ns=5; % =(等号)用于表示赋值,ns表示起点

nf=20; % nf表示终点

x2=zeros(1,30); % zeros(m,n)产生m*n元素为零的矩阵

if(ns>nf) %―>‖是关系操作符,可完成两个阵列之间元素对元素的比

较,其结果为同维数的阵列.当关系成立时相应的元素置为

逻辑真(1),否则置为逻辑假(0).

error %显示出错信息

else %与if条件执行语句配合使用

x2(1:ns-1)=0; %给矩阵x2的下标为1到ns-1的元素赋值为0

x2(ns:nf)=1; %给矩阵x2的下标为ns到nf的元素赋值为1

end %与if条件执行语句配合使用

subplot(232);

stem(x2); %分清stem()和plot()函数的不同

title('window function');

1(c) 题号,不要键入

% generate exponential function

x3=exp(-0.5*n); %y=exp(x)可求出以e为底的指数(e=2.7183)

subplot(233);

stem(x3);

title('exponential function');

1(d) 题号,不要键入

% produce sine wave

x4=sin(0.1*pi*n); %正弦函数,所有三角函数的角度单位均为弧度 subplot(234); stem(x4);

title('sine function');

1(e) 题号,不要键入

n=(0:0.1:10); %(j:i:k)等同于[j ,j+i,j+2i,…,k]

x5=exp(-1000*abs(n)) % abs(n)功能是求n 的绝对值和复数模 subplot(235); stem(x5);

1(f) 题号,不要键入 A=1;α=2;w=2*pi;

X6=A*exp(-α*n).*sin(w*n) %请思考u(n)在这里为什么不写了 stem(n,x6) %plot 的功能是绘制二维图形曲线

2(a )、%Analog Signal Dt=0.00005;

t=-0.005:Dt:0.005; xa=exp(-1000*abs(t));

%Continuous-time Fourier Transform Wmax=2*pi*2000; K=500; k=0:1:K;

W=k*Wmax/K;

Xa=xa*exp(-j*t'*W)*Dt; Xa=real(Xa);

W=[-fliplr(W),W(2:501)]; Xa=[fliplr(Xa),Xa(2:501)]; subplot(2,1,1); plot(t*1000,xa,'r'); xlabel('t in msec.'); ylabel('x_a(t)');

title('Analog Signal'); subplot(2,1,2);

plot(W/(2*pi*1000),Xa*1000,'r'); xlabel('Frequency in kHz'); ylabel('X_a(j\omega)*1000');

title('continuous-time Fourier Transform');

注释:

本小题求连续时间傅里叶变换:

2

10000

1000)

1000

(

1002.0)()(w dt e

e

dt e

e

dt e

t x jw X jwt

t

jwt

t

jwt

a a +=

+

=

=

???

--∞

---∞

-

其中,|

|1000a )t (x t e

-=。由上式可知,在5

10

-精度下(即)jw (X a 降到5

10-左右),

)t (x a 为0F =2000Hz 的带限信号(因为Hz F f 20000==,即ππ40002==f w 时,5

102585.1)(-?=jw X a ,已足够

小到可以忽略不计),因此若取5

5

10

252000

2110

5t --?=?<

?=?,即抽样频率

Hz F kHz f 40002200=>=时,就满足Nyquist 抽样定理,从而可以得到)t (x a 的逼近离散序列]n [x a 。在这里,该逼近序列由向量))t (abs *1000(exp xa -=来表示,其中的向量

005.0:Dt :005.0t -=,Dt 就是上面所说的5105t -?=?。之所以能取005.0~005.0t -=这一

范围,是因为t 从0分别往正负两个方向到005.0t -=和005.0为止,)t (x a 已经降到0067.05

=-e ,

已经足够小了,而t 再往正负两个方向之外延伸的范围时,)t (x a 就更可以忽略不计了。所以在这里,可以将上述的连续时间傅里叶变换公式改写成有限带宽的数值求和形式:

∑?-=-∞

--≈

=

005

.0005

.0t jwt 1a

jwt

a a 11

Dt e

)t (x

dt e

)t (x )jw (X

对于其中的每一个角频率w 值,都可对应得到一个a X 值。在这里,w 就是离散化序列向量

m a x m a x W :K /W :0W =,其中500K =,ππ4000F 2W 0max ==,也就是说,a X 的角频率范围

是取从0到0F 2π的带限范围,所以近似有)t (x a 的连续时间傅里叶变换向量)jw (X a 的对应离散化序列向量a X 为:

)]W (X ),...,K /W (X ),0(X [X max a max a a a =

=]Dt e )t (x

,...,

Dt e )t (x

,

Dt e

)t (x [

005

.0005

.0t t W j 1a

t K /W j 005

.0005

.0t 005

.0005

.0t 1a

t 0j 1a 11

max 1

max 111

∑∑

∑-=??-??--=-=??-

其中)0(X a 表示与0W =对应的a X 中的第一个元素,其余类推。 本小题参考源程序中的关键语句分析如下: Dt *)W '*t *j (exp *xa -

Dt W K W Dt

j *]),...,/,0[*005.0...005.0005.0*(exp *)]005.0(xa ),...,Dt 005.0(xa ),005.0(xa [max max

?????

???????+---+--=*]xa(0.005)Dt),...,xa(-0.005,xa(-0.005)[+=

Dt *)W *0.005 ... /K)(W *0.005 0*005.0 ... ... ... ... W *Dt)(-0.005 ... /K)(W *Dt)(-0.005 0*)Dt 005.0(W *0.005- ... /K)(W *0.005- 0*005.0*j (exp max

max max

max max max ????

?

??

??

?

??+++--- *)]005.0(xa ),...,Dt 005.0(xa ),005.0(xa [+--=

Dt W j K W j j W Dt j K W Dt j Dt j W j K W j j *)*005.0*exp(...))/(*005.0*exp()

0*005.0*exp(............)*)005.0(*exp()).../(*)005.0(*exp()0*)005.0(*exp()*)005.0(*exp(...))/(*)005.0(*exp()

0*)005.0(*exp(max max max max max max ?????

???

??

????

????

---+--+--+--------),

0*005.0*j (exp *)005.0(xa ...)0*)005.0(*exp(*)005.0()0*)005.0(*exp(*)005.0([-+++--+-+---=Dt j Dt xa j xa +

+--+-+---))K /W (*)Dt 005.0(*j (exp *)Dt 005.0(xa ))K /W (*)005.0(*j (exp *)005.0(xa max max )),K /W (*005.0*j (exp *)005.0(xa ...max -+

...,

+++--+-+---...)W *)Dt 005.0(*j (exp *)Dt 005.0(xa )W *)005.0(*j (exp *)005.0(xa max max Dt *)]W *005.0*j (exp *)005.0(xa max -

]

Dt *)W *t *j (exp *)t

(xa ,...,

Dt *))K /W (*t *j (exp *)t

(xa ,

*)0**exp(*)([

005

.0005

.0t max 11

005

.0005

.0t max 11

005

.0005

.011

111∑∑∑-=-=-=---=t Dt t j t

xa )]W (Xa ),...,K /W (Xa ),0(Xa [max max ==Xa

接下来,本小题根据连续信号及其傅里叶变换之间的实虚奇偶关系,即实偶信号的傅里叶变换仍为实偶函数可知,因为这里的)t (x a 为一实偶信号,所以相应的)jw (X a 也应该是一个实偶函数。

这样,可以先求出在角频率范围 ]W :K /W :0[max max 内的a X ,然后取其实部(理论上应该有a X 等于Real(a X )的,但由于数值计算中误差的存在,最后可能总是会有一定的可忽略的虚部存在;但因为我们已经知道本小题的a X 应为实偶函数,其虚部应为零,所以就不必管其虚部了);然后再利用MA TLAB 函数fliplr 将角频率范围W=]W :K /W :0[max max 对称地拓展为]:/:[max max max W K W W W -=,同时将刚才求得的]W :K /W :0[max max 范围内的Xa 的实部(理论上即等于Xa )按偶函数偶对称的原则拓展为与]:/:[max max max W K W W -范围相对应的完整的Xa 。注意:拓展后W 的中点为0,相应的完整的Xa 的中点为原Xa 向量的第一个元素)1(a X ,即与角频率0对应的位于中间的最大值。所以,通过拓展时采用的MA TLAB 函数fliplr 得到的:[原)1:501(a X , 原)501:2(a X ]=[原)2:501(a X , 原

)1(a X , 原)501:2(a X ] 即为最后所求的与]:/:[max max max W K W W -范围相对应的Xa (这里的―原

Xa ‖表示先求出来的与 ]W :K /W :0[max max 范围相对应的Xa )

2(b )程序: %Analog Signal

Dt=0.00005;t=-0.005:Dt:0.005; xa=exp(-1000*abs(t));

%Discrete-time Signal

Ts=0.0002;n=-25:1:25;%Fs=5000Hz,Ts=0.2ms,n*Ts=-0.005:0.0002:0.005 x=exp(-1000*abs(n*Ts));

%Discrete-time Fourier Transform K=500;k=0:1:K; w=pi*k/K;

X=x*exp(-j*n‘*w);%Discrete -time Fourier Transform of x X=real(X);

w=[-fliplr(w),w(2:K+1)]; X=[fliplr(X),X(2:K+1)]; figure(1);

subplot(2,1,1);plot(t*1000,xa);xlabel(?t in msec.‘);ylabel(?x_1‘);

title(?Discrete Signal (Fs=5000Hz)‘);hold on;stem(n*Ts*1000,x);hold off;axis([-5 5 0 1]); subplot(2,1,2);plot(w/pi,X);xlabel(?Freq.in \pi rads‘);ylabel(?X_1(e^j^\omega)‘); title(?Discrete -time Fourier Transform (Fs=5000Hz)‘);

%Discrete-time Signal

Ts=0.001;n=-5:1:5;%Fs=1000Hz,Ts=1ms,n*Ts=-0.005:0.001:0.005 x=exp(-1000*abs(n*Ts));

% Discrete-time Fourier Transform K=500;k=0:1:K; w=pi*k/K;

X=x*exp(-j*n‘*w); X=real(X);

w=[-fliplr(w),w(2:K+1)]; X=[fliplr(X),X(2:K+1)]; figure(2);

subplot(2,1,1);plot(t*1000,xa);xlabel(?t in msec.‘);ylabel(?x_2‘);

title(?Discrete Signal (Fs=1000Hz)‘);hold on;stem(n*Ts*1000,x);hold off;axis([-5 5 0 1]); subplot(2,1,2);plot(w/pi,X);xlabel(?Freq.in \pi rads‘);ylabel(?X_2(e^j^\omega)‘); title(?Discrete -time Fourier Transform (Fs=1000Hz)‘);

注释:

实验一第二题的(a )为连续时间傅里叶变换的近似分析,而实验一第二题的(b )是对连续信号)t (x a 进行离散取样,然后对取样出来的这个离散信号进行离散时间傅里叶变换DFT 。事实上实验一第二题的(b )中进行DFT 的关键语句―);w '*n *j (exp *x X -=‖类似于―);k '*n ()).^100/pi *j (exp (*x X -=‖

2(c)程序

%Reconstruction of xa(t)—xa1(t)

% Discrete-time Signal x1[n]

Ts=0.0002;Fs=1/Ts;n=-25:1:25; nTs= n*Ts ;%Fs=5000Hz

x=exp(-1000*abs(nTs)); Dt=0.00005;t=-0.005:Dt:0.005;

% Analog Signal reconstruction (using cubic spline function)

xa=spline(nTs,x,t);

error1=max(abs(xa-exp(-1000*abs(t))));

subplot(2,1,1);plot(t*1000,xa);xlabel(?t in msec‘);ylabel(?x_a_1(t)‘);

text(2,0.5,strcat(?error=‘,num2str(error 1)));

title(?Reconstructed Signal using cubic spline function (Fs=5000Hz)‘);ho ld on;

stem(n*Ts*1000,x);hold off;

%Reconstruction of xa(t)—xa2(t)

% Discrete-time Signal x2[n]

Ts=0.001;Fs=1/Ts;n=-5:1:5; nTs= n*Ts ;%Fs=1000Hz

x=exp(-1000*abs(nTs));

% Analog Signal reconstruction (using cubic spline function)

xa=spline(nTs,x,t);

error2=max(abs(xa-exp(-1000*abs(t))));

subplot(2,1,2);plot(t*1000,xa);xlabel(?t in msec‘);ylabel(?x_a_2(t)‘);

text(2,0.5,strcat(?error=‘,num2str(error 2)));

title(?Reconstructed Signal using cubic spline function (Fs=1000Hz)‘);hold on;

stem(n*Ts*1000,x);hold off;

注释:

实验一第二题的(c)对实验一第二题的(b)中的两种取样频率所得的取样结果离散时间信号分别进行重建,研究取样频率对信号重建的影响。实验一第二题的(c)的参考源程序中假设Fs=5000Hz

时的取样结果所得离散信号为]n[

x

1,欲根据它来重建出连续信号)t(

x

a1

,再与原连续信号)

(t

x

a

比较;然后假设Fs=1000Hz时的取样结果所得离散信号为]n[

x

2

,欲根据它来重建出连续信号

)t( x

a2,再与原连续信号)

(t

x

a

相比较。可以采用sinc函数或者三次样条函数spline来进行内插重

构的。在这里的参考源程序中,是采用三次样条函数spline来进行内插重构的:

Ts=0.0002;Fs=1/Ts;n=-25:1:25; nTs= n*Ts ;%Fs=5000Hz,nTs=-0.005:0.0002:0.005

x=exp(-1000*abs(nTs)); Dt=0.00005;t=-0.005:Dt:0.005;

%t=-0.005:0.00005:0.005

xa=spline(nTs,x,t);

其中spline是三次样条数据内插值函数。在MA TLAB中,形如yy=spline(x,y,xx)的调用,就是使用三次样条插值来找到与横坐标向量xx相对应的纵坐标向量yy,其中的x和y分别是给定的间距较大的分立数据点的横、纵坐标向量。而xx是新的间距很小的横坐标向量(可看作逼近连续区间的离散化区间),yy是待求的与xx对应的、其与xx的关系符合y与x关系的纵坐标向量(可看作逼近连续信号的离散化信号)。

例如:在0~10之间的y=sin(x)中插入(xx,yy)点,以0表示(x,y),*表示(xx,yy)

x=0:10;

y=sin(x);

xx=0:0.25:10;

yy=spline(x,y,xx);

plot(x,y,‘0‘,xx,yy,‘*‘)

就是先用间距比较大的点来粗略画出sin函数的曲线(由两个向量x和y来表示),然后再针对间距很小的xx向量,通过三次样条插值法来得到比较精确的、可逼近连续sin函数真实值的、与横坐标向量xx相对应的纵坐标向量yy,并将它们都画出来。

所以我们可以看到,在实验一第二题(c)的参考源程序中的―xa=spline(nTs,x,t)‖一句里的nTs和x就

是互相对应的―粗略值‖向量(实为取样点),而t 则是间距细小的“精确值”横坐标向量。这条语句的作用就是根据nTs 和x 这两个向量之间的关系(前者为横坐标,后者为纵坐标),将间距较粗的nTs 和x 向量所确定各点中相邻两点之间的空隙,针对间距更加细小的t 向量,用三次样条函数进行内插值,从而比较精确地近似重建得到连续信号xa 。

附:三次样条插值函数的定义

分段低次插值(如分段线性插值)虽然具有计算简单、稳定性好、收敛性有保证且易在电子计算机上实现等优点,但它只能保证各小段曲线在连接点上的连续性,却不能保证整条曲线的光滑性,这就不能满足某些工程技术上的要求。从20世纪60年代开始,首先由于航空、造船等工程设计的需要而发展起来的所谓样条(spline )插值方法,既保留了分段低次插值多项式的各种优点,又提高了插值函数的光滑性。三次样条插值函数是其中应用最广且具有二阶连续导数的一种。 对于给定的函数表 x 0x

1x … n x )(x f

0y

1y

n y

其中b x ...x x a n 10=<<<=,若函数)x (S 满足:

①)x (S 在每个子区间)n ,...,2,1i ](x ,x [i 1i =-上是不高于三次的多项式 ②)x (S 、)x (S'、)x ('S'在]b ,a [上连续 ③满足插值条件)x (S i )n ,...,1,0i (y i ==。

则称)x (S 为函数)(x f 关于节点0x 、1x 、…、n x 的三次样条插值函数

备注:实验指导书中的所有题目只要是老师没有给出程序的,请自己思考编程,答案写到实验报告上。实验指导书上有的程序不要再写到报告中。

实验一第4题参考程序

s=input(?please select the step of experiment:\n 1(①时域采样序列分析),2(②系统和响应分析),3(③卷积定理的验证),0(退出):\n‘); close all;

Xb=impseq(0,0,1); %调用impseq 子函数,单位脉冲序列)(0n n -δ生成函数impseq ,如果调不到则要考虑是否写了impseq 函数文件。

Ha=stepseq(1,1,10); %调用stepseq()函数,单位阶跃序列)(0n n u -生成函数stepseq ,如果调不到则要考虑是否写了stepseq 函数文件

Hb=impseq(0,0,3)+2.5*impseq(1,0,3)+2.5*impseq(2,0,3)+impseq(3,0,3); i=0;

while(s); %重复不定次的循环执行语句 %①时域采样序列分析 if(s==1)

l =1; %注意l 是英文字母L 的小写,等号后的是数字1 k=0;

while(l ) %注意l 是英文字母L 的小写, if(k==0)

A=input (?please input the Amplitude:\n‘); %input()请求用户输入函数,此题Amplitude 取为444.128 a=input(?please input the Attenuation Coefficient:\n‘);

%此题Attenuation Coefficient (衰减系数)取为222.144

w=input(?please input the Angle Frequence(rad/s):\n‘); %此题Angle Frequence (角频率)取为222.144 end k=k+1;

fs=input(?please input the sample frequence:\n‘); %采样频率fs=1000,300,200

Xa=FF(A,a,w,fs); %通过调用FF 子函数产生信号Xa (n ) i=i+1;

string=[?fs=‘,num2str(fs)]; %num2str(fs)是将fs 由数值变换成字符串

figure(i) % figure()建立图形窗口,强制i为当前的图形窗口DFT(Xa,50,string); %The FT and paint The picture,调用DFT子函数(离散傅立叶变换) l=input(?是否继续:1(继续实验①),0(进行其他实验内容):\n‘);

%l=str2num(l); %注意大写的L,小写的l和阿拉伯数字1的区别end

%②系统和响应分析

else if(s==2)

kk=input(?系统和响应分析,请选择时域信号的类型:1(内容②a),2(内容②b),3(②b中xc(n)的长度改为5),0(退出):\n‘);

kk= str2num(kk);

while(kk)

if(kk==1) %The Response of The system

m=conv(Xb,Hb); % conv()卷积和多项式乘法

N=5;

i=i+1;

figure(i)

string=(?hb(n)‘);

Hs=DFT(Hb,4,string);

i=i+1;

figure(i)

string=(?xb(n)‘);

DFT(Xb,2,string); %调用DFT子函数(离散傅立叶变换)string=(?y(n)=xb(n)* hb(n)‘);

else if(kk==2)

m=conv(Ha,Ha); % conv()卷积和多项式乘法

N=19;

string=(?y(n)=ha(n)* ha(n)‘);

else if(kk==3)

Xc=stepseq(1,1,5); %调用stepseq()子函数

m=conv(Xc,Ha);

N=14;

string=(?y(n)=xc(n)* ha(n)‘);

end

end

end

i=i+1;

figure(i)

DFT(m,N,string); %调用DFT子函数(离散傅立叶变换)

kk=input(?请再选择信号类型:1,2,3,0(进行其他实验内容):\n‘);

kk=str2num(kk); % str2num(kk)是将kk由字符串变换成数值

end

%③卷积定理的验证

else if(s==3)

A=1;a=0.5;w=2.0734;fs=1;

Xa1=FF(A,a,w,fs); %调用FF子函数

i=i+1;

figure(i)

string=(?The xa1(n)(A=1,a=0.4,T=1)‘);

[Xs,w]=DFT(Xa1,50,string); %调用DFT子函数(离散傅立叶变换)

i=i+1;

figure(i)

string=(?hb(n)‘);

Hs=DFT(Hb,4,string); %调用DFT子函数(离散傅立叶变换)

Ys=Xs.*Hs; %注意是点乘。分清矩阵乘和点乘

y=conv(Xa1,Hb); % conv()是卷积和多项式乘法

N=53;

i=i+1;

figure(i)

string=(?y(n)=xa(n)*hb(n)‘);

[yy,w]=DFT(y,N,string);

i=i+1;

figure(i)

subplot(2,2,1)

plot(w/pi,abs(yy)); %plot的功能是绘制二维图形曲线axis ([-2 2 0 2]); %axis是坐标轴刻度,默认axis ([xmin xmax ymin ymax]) xlabel(?w/pi‘); %xlabel是x轴的标记

ylabel(?|Y(jw)|‘); %ylabel是y轴的标记

title(?FT[x(n)*h(n)]‘);

subplot(2,2,3)

plot(w/pi,abs(Ys));

axis([-2 2 0 2]);

xlabel(?w/pi‘);

ylabel(?|Ys(jw)|‘);

title(?FT[xs(n)].FT[h(n)]‘);

end

end

end

s=input(?Please Select The Step Of Experiment:\n 1(①时域采样序列分析),2(②系统和响应分析),3(③卷积定理的验证),0(退出):\n‘);

s=str2num(s);

end

子函数:离散傅里叶变换及x(n),FT[x(n)]的绘图函数

function [c,1]=DFT(x, N, str) % DFT为函数文件,函数文件必须有定义行。function为函数定义

的关键字。%注意DFT函数是三个输入参数,两个输出参数n=0:N-1;

k=-200:200;

w=(pi/100)*k;

l=w;

c=x*(exp(-j*pi/100)).^(n‘*k); %计算DFT[x(n)]

magX=abs(c); %The Ampalitatude幅值

angX=angle(c); %The Angle相角

subplot(2,2,1);

t=max(x); % max(x)求阵列x的最大值

n=0:N-1;

stem(n, x, ‘.‘);

xlabel(?n‘);

ylabel(?xa(n)‘);

title(?信号的原形‘);

text((0.3*N),(0.8*t), str); % text()在当前坐标系中建立文本对象

hold on %在图形窗口中保持(hold on)当前图形(或关闭hold off这种保持特性) n=0:N-1;

m=zeros(N); %zeros()建立全零阵列

plot(n, m);

subplot(2,2,3);

plot(w/pi, magX);

xlabel(?w/pi‘);

ylabel(?|Y(jw)|‘);

title(?上图信号的傅氏变换(|jw|)‘);

子函数:产生信号xa(n)

function c=FF( A, a, w, fs )

n=0:50-1;

c=A*exp((-a)*n/fs).*sin(w*n/fs).*stepseq(0,0,49); 子函数:产生脉冲信号

function [x, n]=impseq(n0,n1,n2)

n=[n1:n2];

x=[(n-n0)==0];

子函数:产生矩形框信号

function[x, n]=stepseq(n0,n1,n2)

n=[n1:n2];

x=[(n-n0)>=0];

实验项目名称:连续和离散系统分析 实验项目性质:普通实验 所属课程名称:信号分析与处理 实验计划学时:2

一、实验目的

学习连续系统和离散系统响应的matlab 求解方法; 二、实验内容和要求

1、某系统的传递函数为:)

2)(1(1)(/)(++=

s s x X s Y

试求系统的冲激响应和阶跃响应。

2、编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。要求分别用 filter 、conv 、impz 三种函数完成。给出理论计算结果和程序计算结果并讨论。

]1[][]2[125.0]1[75.0][--=-+-+n x n x n y n y n y ]}

4[]3[]2[]1[{25.0][-+-+-+-=n x n x n x n x n y

3 已知描述某连续系统的微分方程为

)(8)(2)(6)(5)('

'

'

't x t x t y t y t y +=++

求该系统的单位冲激响应。

4 计算上述系统在输入为)()(t u e t x t -=时的零状态响应。

5 已知系统函数2

1

1

12.04.0121)(----++=

z

z

z z H ,求

1)离散系统的单位冲激响应h(n);

2) 输入为)()(n u n x =,求系统的零状态响应。

6 已知某离散因果系统的系统函数2

1

1

5.011)(---+-+=z

z

z z H ,试分析该系统的幅

频特性。

三、实验主要仪器设备和材料

计算机

四、实验方法、步骤及结果测试

实验方法:编程,上机调试,分析实验结果; 步骤: 编程实现上述各实验内容 五、实验报告要求

1) 简述实验目的及实验原理。

2) 按实验步骤附上实验过程中系统单位脉冲响应及系统响应序列的时

域和幅频特性曲线,并对所得结果进行分析和解释。 3) 总结实验中的主要结论。 4) 简要回答思考题 六、思考题

1) 连续系统响应的计算机求解可以分为哪些方法?各是什么原理? 2) matlab 中用于离散系统求解的命令有哪些?各基于什么求解方法?

实验二解题思路及部分题目的参考程序 利用matlab 进行系统的时域分析 ◆连续时间系统零状态响应的求解

◆连续时间系统冲激响应和阶跃响应的求解 ◆离散时间系统零状态响应的求解 ◆离散时间系统单位脉冲响应的求解 ◆离散卷积的计算 一、 连续时间系统零状态响应的求解

)t ,f ,sys (lsim y =

t 表示计算系统响应的抽样点向量,f 是系统输入信号向量 sys 是LTI 系统模型,借助tf 函数获得。 )a ,b (tf sys =

b 和a 分别为微分方程右端和左端各项的系数向量

f(t)b )t (f b )t (f b )t (f b )t (y a )t (y a )t (y a )t (y a 0'

1''2'''30'1''2'''3+++=+++

)

a ,

b (tf sys ]b ,b ,b ,b [b ]a ,a ,a ,a [a 01230123=== 二、 连续系统冲激响应和阶跃响应的求解

连续时间系统冲激响应可用impulse 函数直接求出,其调用形式为:

y=impulse(sys,t)

连续时间系统阶跃响应可用step 函数直接求出,其调用形式为: y=step(sys,t)

t 表示计算系统响应的抽样点向量, sys 是LTI 系统模型. 三、 离散时间系统零状态响应的求解

y=filter(b,a,f)

b 和a 分别为差分方程左、右端各项的系数向量 f 表示输入序列,y 表示输出序列

]j k [f b

]i k [y a

n

i m

j j

i

-=

-∑∑==

可用MA TLAB 表示为

];

a ,......,a ,a ,a [a ];

b ,......,b ,b ,b [b n 210m 210==

四、 离散时间系统单位脉冲响应的求解 H=impz(b,a,k)

b 和a 分别为差分方程左、右端各项的系数向量 k 表示输出序列的取值范围 h 就是单位脉冲响应 五、 离散卷积的计算

c=conv (a ,b )

式中a,b 为待卷积两序列的向量表示,c 是卷积结果。 conv 函数也可用于计算两个多项式的积 例1:2)3s 3)(s

2s (s 2

3

++++可用下面MA TLAB 语句求出

)

b ,a (

c o n v c ]

2,3,1[b ]

3,2,0,1[a ===

例2:求系统)t (10f )t (100y )t (2y )t (y '

'

'=++的零状态响应,已知)t (u )t 2(sin )t (f π=

%微分方程求解

ts=0;te=5;dt=0.01; sys=tf([10],[1 2 100]);

t=ts:dt:te; f=sin(2*pi*t); y=lsim(sys,f,t); plot(t,y) xlabel(?time(sec)‘) ylabel(?y(t)‘)

例3:求系统)t (10f )t (100y )t (2y )t (y '''=++的零状态响应,已知)t ()t (f δ=。 %连续时间系统的冲击响应 ts=0;te=5;dt=0.01; sys=tf([10],[1 2 100]); t=ts:dt:te; f=sin(2*pi*t); y=impulse(sys,t); plot(t,y)

xlabel(?time(sec)‘) ylabel(?h(t)‘)

例4:求系统]k [10f ]1k [2y ]1k [3y ]k [y =-+-+的单位脉冲响应 %离散系统的单位脉冲响应 k=0:10; a=[1 3 2]; b=[10];

h=impz(b,a,k); stem(k,h)

例5:计算x[k]*y[k]并画出卷积结果,已知

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=[1,2,3,4]; y=[1,1,1,1,1]; z=conv(x,y) N=length(z) stem(0:N-1,z)

%实验二第1题参考程序

%this program is to practice with system response

num=[1];den=[ 1 3 2]; % system model

y1=impulse(num,den); %impulse ()函数的详细解释见后面 subplot(121); plot(y1); title('impulse response');

y2=step(num,den); %step ()函数的详细解释见后面 subplot(122); plot(y2);

title('step response');

%实验二第2题参考程序

%使用x[n]补零后的x1来产生y1,是因为存在边界效应,只要脉冲响应采样的部分位于输入信号采样值之外,输出就不确定。用conv 函数计算能在输入序列后自动补零,而filter 函数不能。 %

]1[][]2[125.0]1[75.0][--=-+-+n x n x n y n y n y ]}

4[]3[]2[]1[{25.0][-+-+-+-=n x n x n x n x n y 理论计算结果:

]

1[][]2[125.0]1[75.0][--=-+-+n x n x n y n y n y

单位冲激响应:

]2[125.0]1[75.0]1[][][------=n h n h n n n H δδ

n 0 1 2 3

4 5 …… h[n] 1 -1.75 1.19 -0.67 0.355 -0.18 ……. Y[n] 1 -1.75 1.19 -0.67 0.355 -0.18 ……

单位阶跃响应:

][]2[125.0]1[75.0][n n y n y n y δ+----=

n 0 1 2 3 4 5 …… Y[n] 1 -0.75 0.44 -0.234 0.12 -0.06 ……

]}4[]3[]2[]1[{25.0][-+-+-+-=n x n x n x n x n y

单位冲激响应: n 0 1 2 3 4 5 …… Y[n] 0 0.25 0.25 0.25 0.25 0 ……

单位阶跃响应: n 0 1 2 3 4 5 …… Y[n] 0 0.25 0.5 0.75 1 1 ……

程序计算结果:

I. ]1[][]2[125.0]1[75.0][--=-+-+n x n x n y n y n y

a. 单位冲激响应: (1)用filter 函数 a1=[1,0.75,0.125]; b1=[1,-1]; n=0:20;

x1=[1 zeros(1,20)];

y1filter=filter(b1,a1,x1); stem(n,y1filter); title('y1filter'); xlabel('x'); ylabel('y');

02468

101214161820

y1filter

x

y

(2)用conv 函数 a1=[1,0.75,0.125]; b1=[1,-1];

x1=[1 zeros(1,10)]; [h]=impz(b1,a1,10); y1conv=conv(h,x1); n=0:19;

stem(n,y1conv ,'filled')

信号与系统实验报告1

学生实验报告 (理工类) 课程名称:信号与线性系统专业班级:M11通信工程 学生学号:1121413017 学生姓名:王金龙 所属院部:龙蟠学院指导教师:杨娟

20 11 ——20 12 学年第 1 学期 金陵科技学院教务处制 实验报告书写要求 实验报告原则上要求学生手写,要求书写工整。若因课程特点需打印的,要遵照以下字体、字号、间距等的具体要求。纸张一律采用A4的纸张。 实验报告书写说明 实验报告中一至四项内容为必填项,包括实验目的和要求;实验仪器和设备;实验内容与过程;实验结果与分析。各院部可根据学科特点和实验具体要求增加项目。 填写注意事项 (1)细致观察,及时、准确、如实记录。 (2)准确说明,层次清晰。 (3)尽量采用专用术语来说明事物。 (4)外文、符号、公式要准确,应使用统一规定的名词和符号。 (5)应独立完成实验报告的书写,严禁抄袭、复印,一经发现,以零分论处。 实验报告批改说明 实验报告的批改要及时、认真、仔细,一律用红色笔批改。实验报告的批改成绩采用百分制,具体评分标准由各院部自行制定。 实验报告装订要求

实验批改完毕后,任课老师将每门课程的每个实验项目的实验报告以自然班为单位、按学号升序排列,装订成册,并附上一份该门课程的实验大纲。

实验项目名称:常用连续信号的表示 实验学时: 2学时 同组学生姓名: 无 实验地点: A207 实验日期: 11.12.6 实验成绩: 批改教师: 杨娟 批改时间: 一、实验目的和要求 熟悉MATLAB 软件;利用MATLAB 软件,绘制出常用的连续时间信号。 二、实验仪器和设备 586以上计算机,装有MATLAB7.0软件 三、实验过程 1. 绘制正弦信号)t Asin t (f 0?ω+=(),其中A=1,πω2=,6/π?=; 2. 绘制指数信号at Ae t (f =),其中A=1,0.4a -=; 3. 绘制矩形脉冲信号,脉冲宽度为2; 4. 绘制三角波脉冲信号,脉冲宽度为4;斜度为0.5; 5. 对上题三角波脉冲信号进行尺度变换,分别得出)2t (f ,)2t 2(f -; 6. 绘制抽样函数Sa (t ),t 取值在-3π到+3π之间; 7. 绘制周期矩形脉冲信号,参数自定; 8. 绘制周期三角脉冲信号,参数自定。 四、实验结果与分析 1.制正弦信号)t Asin t (f 0?ω+=(),其中A=1,πω2=,6/π?= 实验代码: A=1;

信号与系统实验

《信号与系统及MATLAB实现》实验指导书

前言 长期以来,《信号与系统》课程一直采用单一理论教学方式,同学们依靠做习题来巩固和理解教学内容,虽然手工演算训练了计算能力和思维方法,但是由于本课程数学公式推导较多,概念抽象,常需画各种波形,作题时难免花费很多时间,现在,我们给同学们介绍一种国际上公认的优秀科技应用软件MA TLAB,借助它我们可以在电脑上轻松地完成许多习题的演算和波形的绘制。 MA TLAB的功能非常强大,我们此处仅用到它的一部分,在后续课程中我们还会用到它,在未来地科学研究和工程设计中有可能继续用它,所以有兴趣的同学,可以对MA TLAB 再多了解一些。 MA TLAB究竟有那些特点呢? 1.高效的数值计算和符号计算功能,使我们从繁杂的数学运算分析中解脱出来; 2.完备的图形处理功能,实现计算结果和编程的可视化; 3.友好的用户界面及接近数学表达式的自然化语言,易于学习和掌握; 4.功能丰富的应用工具箱,为我们提供了大量方便实用的处理工具; MA TLAB的这些特点,深受大家欢迎,由于个人电脑地普及,目前许多学校已将它做为本科生必须掌握的一种软件。正是基于这些背景,我们编写了这本《信号与系统及MA TLAB实现》指导书,内容包括信号的MA TLAB表示、基本运算、系统的时域分析、频域分析、S域分析、状态变量分析等。通过这些练习,同学们在学习《信号与系统》的同时,掌握MA TLAB的基本应用,学会应用MA TLAB的数值计算和符号计算功能,摆脱烦琐的数学运算,从而更注重于信号与系统的基本分析方法和应用的理解与思考,将课程的重点、难点及部分习题用MA TLAB进行形象、直观的可视化计算机模拟与仿真实现,加深对信号与系统的基本原理、方法及应用的理解,为学习后续课程打好基础。另外同学们在进行实验时,最好事先预习一些MA TLAB的有关知识,以便更好地完成实验,同时实验中也可利用MA TLAB的help命令了解具体语句以及指令的使用方法。

测试信号处理实验

实验一 离散时间系统的时域分析 一、实验目的 1. 运用MATLAB 仿真一些简单的离散时间系统,并研究它们的时域特性。 2. 运用MATLAB 中的卷积运算计算系统的输出序列,加深对离散系统的差分方程、冲激响应和卷积分析方法的理解。 二、实验原理 离散时间系统其输入、输出关系可用以下差分方程描述: ∑=∑=-=-M k k N k k k n x p k n y d 00] [][ 当输入信号为冲激信号时,系统的输出记为系统单位冲激响应 ][][n h n →δ,则系统响应为如下的卷积计算式: ∑∞ -∞=-= *=m m n h m x n h n x n y ][][][][][ 当h[n]是有限长度的(n :[0,M])时,称系统为FIR 系统;反之,称系统为IIR 系统。在MA TLAB 中,可以用函数y=Filter(p,d,x) 求解差分方程,也可以用函数 y=Conv(x,h)计算卷积。 例1 clf; n=0:40; a=1;b=2; x1= 0.1*n; x2=sin(2*pi*n); x=a*x1+b*x2; num=[1, 0.5,3]; den=[2 -3 0.1]; ic=[0 0]; %设置零初始条件 y1=filter(num,den,x1,ic); %计算输入为x1(n)时的输出y1(n) y2=filter(num,den,x2,ic); %计算输入为x2(n)时的输出y2(n) y=filter(num,den,x,ic); %计算输入为x (n)时的输出y(n) yt= a*y1+b*y2; %画出输出信号 subplot(2,1,1) stem(n,y); ylabel(‘振幅’); title(‘加权输入a*x1+b*x2的输出’);

数字信号处理实验报告

数字信号处理作业提交日期:2016年7月15日

实验一 维纳滤波器的设计 第一部分 设计一维纳滤波器。 (1)产生三组观测数据,首先根据()(1)()s n as n w n =-+产生信号()s n ,将其加噪(信噪比分别为20,10,6dB dB dB ),得到观测数据123(),(),()x n x n x n 。 (2)估计()i x n ,1,2,3i =的AR 模型参数。假设信号长度为L ,AR 模型阶数为N ,分析实验结果,并讨论改变L ,N 对实验结果的影响。 1 实验原理 滤波技术是信号分析、处理技术的重要分支,无论是信号的获取、传输,还是信号的处理和交换都离不开滤波技术,它对信号安全可靠和有效灵活地传递是至关重要的。信号分析检测与处理的一个十分重要的内容就是从噪声中提取信号,实现这种功能的有效手段之一是设计一种具有最佳线性过滤特性的滤波器,当伴有噪声的信号通过这种滤波器的时候,它可以将信号尽可能精确地重现或对信号做出尽可能精确的估计,而对所伴随噪声进行最大限度地抑制。维纳滤波器就是这种滤波器的典型代表之一。 维纳(Wiener )是用来解决从噪声中提取信号的一种过滤(或滤波)方法。这种线性滤波问题,可以看做是一种估计问题或一种线性估计问题。 设一线性系统的单位样本响应为()h n ,当输入以随机信号()x n ,且 ()() () x n s n v n =+,其中()s n 表示原始信号,即期望信号。()v n 表示噪声,则输出()y n 为()=()()m y n h m x n m -∑,我们希望信号()x n 经过线性系统()h n 后得到的()y n 尽可能接近 于()s n ,因此称()y n 为估计值,用?()s n 表示。 则维纳滤波器的输入-输出关系可用下面表示。 设误差信号为()e n ,则?()()()e n s n s n =-,显然)(n e 可能是正值,也可能是负值,并且它是一个随机变量。因此,用它的均方误差来表达误差是合理的,所谓均方误差最小即 它的平方的统计期望最小:222?[|()|][|()()|][|()()|]E e n E s n s n E s n y n =-=-=min 。而要使均方误差最小,则需要满足2[|()|]j E e n h ?=0. 进一步导出维纳-霍夫方程为:()()()()*(),0,1,2...xs xx xx i R m h i R m i R m h m m =-==∑ 写成矩阵形式为:xs xx R R h =,可知:1xs xx h R R -=。表明已知期望信号与观测数据的互相关函数以及观测信号的自相关函数时,可以通过矩阵求逆运算,得到维纳滤波器的

信号与系统实验报告实验一 信号与系统的时域分析

实验一信号与系统的时域分析 一、实验目的 1、熟悉与掌握常用的用于信号与系统时域仿真分析的MA TLAB函数; 2、掌握连续时间与离散时间信号的MA TLAB产生,掌握用周期延拓的方法将一个非周期信号进行周期信号延拓形成一个周期信号的MA TLAB编程; 3、牢固掌握系统的单位冲激响应的概念,掌握LTI系统的卷积表达式及其物理意义,掌握卷积的计算方法、卷积的基本性质; 4、掌握利用MA TLAB计算卷积的编程方法,并利用所编写的MA TLAB程序验证卷积的常用基本性质; 掌握MA TLAB描述LTI系统的常用方法及有关函数,并学会利用MATLAB求解LTI系统响应,绘制相应曲线。 基本要求:掌握用MA TLAB描述连续时间信号与离散时间信号的方法,能够编写MATLAB程序,实现各种信号的时域变换与运算,并且以图形的方式再现各种信号的波形。掌握线性时不变连续系统的时域数学模型用MA TLAB描述的方法,掌握卷积运算、线性常系数微分方程的求解编程。 二、实验原理 信号(Signal)一般都就是随某一个或某几个独立变量的变化而变化的,例如,温度、压力、 声音,还有股票市场的日收盘指数等,这些信号都就是随时间的变化而变化的,还有一些信号,例如在研究地球结构时,地下某处的密度就就是随着海拔高度的变化而变化的。一幅图片中的每一个象素点的位置取决于两个坐标轴,即横轴与纵轴,因此,图像信号具有两个或两个以上的独立变量。 在《信号与系统》课程中,我们只关注这种只有一个独立变量(Independent variable)的信号,并且把这个独立变量统称为时间变量(Time variable),不管这个独立变量就是否就是时间变量。 在自然界中,大多数信号的时间变量都就是连续变化的,因此这种信号被称为连续时间信号(Continuous-Time Signals)或模拟信号(Analog Signals),例如前面提到的温度、压力与声音 信号就就是连续时间信号的例子。但就是,还有一些信号的独立时间变量就是离散变化的,这种信号称为离散时间信号。前面提到的股票市场的日收盘指数,由于相邻两个交易日的日收盘指数相隔24小时,这意味着日收盘指数的时间变量就是不连续的,因此日收盘指数就是离散时间信号。 而系统则用于对信号进行运算或处理,或者从信号中提取有用的信息,或者滤出信号中某些无用的成分,如滤波,从而产生人们所希望的新的信号。系统通常就是由若干部件或单元组成的一个整体(Entity)。系统可分为很多不同的类型,例如,根据系统所处理的信号的不同,系统可分为连续时间系统(Continuous-time system)与离散时间系统(Discrete-time system),根

信号与系统分析实验报告连续系统的时域分析

北京联合大学 实验报告 课程(项目)名称: 信号与系统分析 学 院: 自动化学院 专 业: 信息处理与智能技术 班 级: 0910030204 学 号:2009100302440 姓 名: 韩禹辉 成 绩: 2011年 5 月 21 日 实验二 连续系统的时域分析 冲激响应与阶跃响应实验 一、实验目的 1.观察典型二阶电路的阶跃响应与冲激响应的波形和相关参数,并研究参数变化对响应状态的影响. 2.掌握系统阶跃响应与冲激响应的观测方法. 3.理解系统阶跃响应与冲激响应的关系. 二、实验设备 PC 机一台,TD-SAS 系列教学实验系统一套. 三、实验原理 本实验是观察典型的二阶系统的阶跃响应和冲激响应的三种不同状态.二阶系统的微分方程通式为: 2()2()()()n n y t ay t y t f t ωω'''++= 其特征根为: 1,2a λ=-对于不同的a 和n ω值,特征根四种不同的情况,如表2-1-1所示,分别对应两个不等实根、两个相等实根、共轭复根和共轭虚根.相应的冲激响应和阶跃响应波形如图2-1-1所示. 表2-1-1 二阶系统的冲激响应和阶跃响应

图2-1-1二阶系统的冲激响应和阶跃响应 本实验电路采用由运放组成的典型二阶电路,如图2-1-2所示,它与RLC 串联电路构成二阶系统完成如图2-1-3所示的功能.实验中通过调节器Rp 便可以使系统处于不同的状态. 图2-1-2 由运放构成的二阶电路 图2-1-3 RLC 二阶电路 通过电路图可以得到该系统的微分方程为: 从公式可以得到:

由上式得到系统响应的三种状态: (1)当n a ω>时,即Rp>4K Ω时,系统有两个不等实根,处于过阻尼状态; (2)当n a ω=时,即Rp=4K Ω时,系统有两个相等实根处于临界阻尼状态; (3)当n a ω<时,即Rp<4K Ω时,系统有一对共轭复根,处于欠阻尼状态. 四、实验步骤 本实验在阶跃与冲激响应单元完成. 1.阶跃响应观察 (1)使信号发生器输出幅值2V 、频率为1Hz 、占空比为50%的脉冲信号,其中每个高电平作为一次阶跃输入.将脉冲信号接入IN 端. (2)用示波器同时测量IN 和OUT 两端,记录当电位器Rp 值分别为1.5K 、4K 和8K 时OUT 端的波形. 使用万用表测量电位器阻值时,先关闭实验箱电源开关,将短路块N 断开,这样电位器就从电路中断开,并且测量时应当注意表笔的正负端应和测量点的正负端一致.然后再打开实验箱电源开关,测量完后将短路块闭合,使电位器重新接入电路. (3)分别保存Rp 值在上述取值时的阶跃响应波形,并加以比较看是否满足图2-1-1(b )所述.

数字信号处理实验五

实验五: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)如果要求用窗函数法设计带通滤波器,且给定通带上、下截止频率为和,阻带上、下截止频率为和,试求理想带通滤波器的截止频率。 答:希望逼近的理想带通滤波器的截止频率分别为:

数字信号处理实验报告

实验一MATLAB语言的基本使用方法 实验类别:基础性实验 实验目的: (1)了解MATLAB程序设计语言的基本方法,熟悉MATLAB软件运行环境。 (2)掌握创建、保存、打开m文件的方法,掌握设置文件路径的方法。 (3)掌握变量、函数等有关概念,具备初步的将一般数学问题转化为对应计算机模型并进行处理的能力。 (4)掌握二维平面图形的绘制方法,能够使用这些方法进行常用的数据可视化处理。 实验内容和步骤: 1、打开MATLAB,熟悉MATLAB环境。 2、在命令窗口中分别产生3*3全零矩阵,单位矩阵,全1矩阵。 3、学习m文件的建立、保存、打开、运行方法。 4、设有一模拟信号f(t)=1.5sin60πt,取?t=0.001,n=0,1,2,…,N-1进行抽样,得到 序列f(n),编写一个m文件sy1_1.m,分别用stem,plot,subplot等命令绘制32 点序列f(n)(N=32)的图形,给图形加入标注,图注,图例。 5、学习如何利用MATLAB帮助信息。 实验结果及分析: 1)全零矩阵 >> A=zeros(3,3) A = 0 0 0 0 0 0 0 0 0 2)单位矩阵 >> B=eye(3) B = 1 0 0 0 1 0 0 0 1 3)全1矩阵 >> C=ones(3) C = 1 1 1 1 1 1 1 1 1 4)sy1_1.m N=32; n=0:N-1; dt=0.001; t=n*dt; y=1.5*sin(60*pi*t); subplot(2,1,1), plot(t,y); xlabel('t'); ylabel('y=1.5*sin(60*pi*t)'); legend('正弦函数'); title('二维图形'); subplot(2,1,2), stem(t,y) xlabel('t'); ylabel('y=1.5*sin(60*pi*t)'); legend('序列函数'); title('条状图形'); 00.0050.010.0150.020.0250.030.035 t y = 1 . 5 * s i n ( 6 * p i * t ) 二维图形 00.0050.010.0150.020.0250.030.035 t y = 1 . 5 * s i n ( 6 * p i * t ) 条状图形

信号与系统实验报告_1(常用信号的分类与观察)

实验一:信号的时域分析 一、实验目的 1.观察常用信号的波形特点及产生方法 2.学会使用示波器对常用波形参数的测量 二、实验仪器 1.信号与系统试验箱一台(型号ZH5004) 2.40MHz双踪示波器一台 3.DDS信号源一台 三、实验原理 对于一个系统特性的研究,其中重要的一个方面是研究它的输入输出关系,即在一特定的输入信号下,系统对应的输出响应信号。因而对信号的研究是对系统研究的出发点,是对系统特性观察的基本手段与方法。在本实验中,将对常用信号和特性进行分析、研究。 信号可以表示为一个或多个变量的函数,在这里仅对一维信号进行研究,自变量为时间。常用信号有:指数信号、正弦信号、指数衰减正弦信号、复指数信号、Sa(t)信号、钟形信号、脉冲信号等。 1、信号:指数信号可表示为f(t)=Ke at。对于不同的a取值,其波形表现为不同的形式,如下图所示: 图1―1 指数信号 2、信号:其表达式为f(t)=Ksin(ωt+θ),其信号的参数:振幅K、角频率ω、与初始相位θ。其波形如下图所示:

图1-2 正弦信号 3、指数衰减正弦信号:其表达式为其波形如下图: 图1-3 指数衰减正弦信号 4、Sa(t)信号:其表达式为:。Sa(t)是一个偶函数,t= ±π,±2π,…,±nπ时,函数值为零。该函数在很多应用场合具有独特的运用。其信号如下图所示:

图1-4 Sa(t)信号 5、钟形信号(高斯函数):其表达式为:其信号如下图所示: 图1-5 钟形信号 6、脉冲信号:其表达式为f(t)=u(t)-u(t-T),其中u(t)为单位阶跃函数。其信号如下图所示: 7、方波信号:信号为周期为T,前T/2期间信号为正电平信号,后T/2期间信号为负电平信号,其信号如下图所示 U(t)

信号与系统分析实验信号的频谱分析

实验三信号的频谱分析 1方波信号的分解与合成实验 1实验目的 1. 了解方波的傅立叶级数展开和频谱特性。 2. 掌握方波信号在时域上进行分解与合成的方法。 3. 掌握方波谐波分量的幅值和相位对信号合成的影响。 2 实验设备 PC机一台,TD-SAS系列教学实验系统一套。 3 实验原理及内容 1. 信号的傅立叶级数展开与频谱分析 信号的时域特性和频域特性是对信号的两种不同的描述方式。对于一个时域的周期信号f(t),只要满足狄利克莱条件,就可以将其展开成傅立叶级数: 如果将式中同频率项合并,可以写成如下形式: 从式中可以看出,信号f(t)是由直流分量和许多余弦(或正弦)分量组成。其中第一项A0/2是常数项,它是周期信号中所包含的直流分量;式中第二项A1cos(Ωt+φ1)称为基波,它的角频率与原周期信号相同,A1是基波振幅,φ1是基波初相角;式中第三项A2cos(Ωt+φ2)称为二次谐波,它的频率是基波的二倍,A2是基波振幅,φ2是基波初相角。依此类推,还有三次、四次等高次谐波分量。 2. 方波信号的频谱 将方波信号展开成傅立叶级数为: n=1,3,5…

此公式说明,方波信号中只含有一、三、五等奇次谐波分量,并且其各奇次谐波分量的幅值逐渐减小,初相角为零。图3-1-1为一个周期方波信号的组成情况,由图可见,当它包含的分量越多时,波形越接近于原来的方波信号,还可以看出频率较低的谐波分量振幅较大,它们组成方波的主体,而频率较高的谐波分量振幅较小,它们主要影响波形的细节。 (a)基波(b)基波+三次谐波 (c)基波+三次谐波+五次谐波 (d)基波+三次谐波+五次谐波+七次谐波 (e)基波+三次谐波+五次谐波+七次谐波+九次谐波 图3-1-1方波的合成 3. 方波信号的分解 方波信号的分解的基本工作原理是采用多个带通滤波器,把它们的中心频率分别调到被测信号的各个频率分量上,当被测信号同时加到多路滤波器上,中心频率与信号所包含的某次谐波分量频率一致的滤波器便有输出。在被测信号发生的实际时间内可以同时测得信号所包含的各频率分量。本实验便是采用此方法,实验中共有5路滤波器,分别对应方波的一、 三、五、七、九次分量。 4. 信号的合成 本实验将分解出的1路基波分量和4路谐波分量通过一个加法器,合成为原输入的方波信号,信号合成电路图如图3-1-2所示。 图3-1-2

测试信号分析与处理作业实验一二

王锋 实验一:利用FFT 作快速相关估计 一、实验目的 a.掌握信号处理的一般方法,了解相关估计在信号分析与处理中的作用。 b.熟悉FFT算法程序;熟练掌握用FFT作快速相关估计的算法。 c.了解快速相关估计的谱分布的情况。 二、实验内容 a.读入实验数据[1]。 b.编写一利用FFT作相关估计的程序[2]。 c.将计算结果表示成图形的形式,给出相关谱的分布情况图。 注[1]:实验数据文件名为“Qjt.dat”。 实验数据来源:三峡前期工程 “覃家沱大桥” 实测桥梁振动数据。 实验数据采样频率:50Hz。 可从数据文件中任意截取几段数据进行分析,数据长度N 自定。 注[2]:采用Matlab 编程。 三、算法讨论及分析 算法为有偏估计,利用FFT计算相关函数 Step 1: 对原序列补N个零,得新序列x2N(n) Step2: 作FFT[x2N(n)]得到X2N(k) Step 3: 取X2N(k)的共轭,得 Step 4: 作 Step 5: 调整与的错位。 四、实验结果分析 1. 该信号可以近似为平稳信号么? 可以近似为平稳信号,随机过程的统计特性不随样本的采样时刻而发生变化。取N=8192,分别取间隔m=500,m=700,m=1000,所得到的均值均为0.5366,方差为47369,与时间无关。

图1-1 自相关函数图 (上图表示的R0,下图为调整后的R0) 2. 该信号是否具有周期性,信噪比如何? >> load Qjt.dat; %加载数据 N=32768; %数据长度 i=1:1:N; %提取数据 plot(i,Qjt(i)); 抛去几个极值点,从图1-2可以看出,数据具有一定的周期性,杂音比较少,说明信噪比较高。 图1-2 数据图

数字信号处理实验报告一

武汉工程大学 数字信号处理实验报告 姓名:周权 学号: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('随机序列');

信号与系统实验总结及心得体会

信号与系统实验总结及心得体会 2011211204 刘梦颉2011210960 信号与系统是电子信息类专业的一门重要的专业核心基础课程,该课程核心的基本概念、基本理论和分析方法都非常重要,而且系统性、理论性很强,是将学生从电路分析领域引入信号处理与传输领域的关键性课程,为此开设必要的实验对我们加强理解深入掌握基本理论和分析方法,以及对抽象的概念具体化有极大的好处,而且为后续专业课程的学习提供了理论和大量实验知识储备,对以后的学术科研和创新工作都是十分重要的。下面我将从实验总结、心得体会、意见与建议等三方面作以总结。 一.实验总结 本学期我们一共做了四次实验,分别为:信号的分类与观察、非正弦周期信号的频谱分析、信号的抽样与恢复(PAM)和模拟滤波器实验。 1.信号的分类与观察 主要目的是:观察常用信号的波形特点以及产生方法,学会用示波器对常用波形参数进行测量。主要内容是:利用实验箱中的S8模块分别产生正弦信号、指数信号和指数衰减正弦信号,并用示波器观察输出信号的波形,测量信号的各项参数,根据测量值计算信号的表达式,并且与理论值进行比较。 2.非正弦信号的频谱分析 主要目的是:掌握频谱仪的基本工作原理和正确使用方法,掌握非正弦周期信好的测试方法,理解非正弦周期信号频谱的离散性、谐波性欲收敛性。主要内

容是:通过频谱仪观察占空比为50%的方波脉冲的频谱,和占空比为20%的矩形波的频谱,并用坐标纸画图。 3.信号的抽样与恢复 主要目的是:验证抽样定理,观察了解PAM信号的形成过程。主要内容是:通过矩形脉冲对正弦信号进行抽样,再把它恢复还原过来,最后用还原后的图形与原图形进行对比,分析实验并总结。 4.模拟滤波器实验 主要目的是:了解RC无源和有源滤波器的种类、基本结构及其特性,比较无源和有源滤波器的滤波特性,比较不同阶数的滤波器的滤波效果。主要内容:利用点频法通过测试无源低通、高通、带通和有源带阻,以及有源带通滤波器的幅频特性,通过描点画图形象地把它们的特点表现出来。 通过对信号与实验课程的学习,我掌握了一些基本仪器的使用方法,DDS 信号源、实验箱、示波器、频谱仪等四种实验仪器。初步了解了对信号的测试与分析方法对以前在书本上看到的常见信号有了更加具体的认识,使得书本上的知识不再那么抽象。 DDS信号源,也就是函数发生器,可以产生固定波形,如正弦波、方波或三角波,频率和幅度可以调节。实验箱是很多个信号实验装置的集合,可谓集多种功能于一身,其中包括函数发生器、模拟滤波器、函数信号的产生与测量、信号的抽样与恢复等模块。示波器能把抽象的电信号转换成具体的图像,便于人们研究各种电现象的变化过程。利用示波器能观察各种不同的信号幅度随时间变化的波形曲线,还可以用它测试各种不同的电量,如电压、电流、频率、相位差、

测试信号分析与处理作业实验五

王锋 实验五:多种功率谱估计的比较 一、实验目的 a.了解功率谱估计在信号分析中的作用; b.掌握随机信号分析的基础理论,掌握参数模型描述形式下的随机信 号的功率谱的计算方法; c.掌握在计算机上产生随机信号的方法; d.了解不同的功率谱估计方法的优缺点。 二、实验准备 有三个信号源,分别代表三种随机信号(序列)。 信号源1: 123()2cos(2)2cos(2)2cos(2)()x n f n f n f n z n πππ=+++ 其中,1230.08,=0.38,0.40f f f == z(n)是一个一阶 AR 过程,满足方程: ()(1)(1)()z n a z n e n =--+ (1)0.823321a =- e(n)是一高斯分布的实白噪声序列,方差20.1σ= 信号源2和信号源3: 都是4阶的AR 过程,它们分别是一个宽带和一个窄带过程,满足方程: ()(1)(1)(2)(2)(3)(3)(4)(4)()x n a x n a x n a x n a x n e n =--------+ e(n)是一高斯分布的实白噪声序列,方差2σ,参数如下: 三、实验内容 a. 描绘出这三个实验信号的真实功率谱波形。 b. 在计算机上分别产生这个三个信号,令所得到的数据长度 N= 256 。 注意:产生信号的时候注意避开起始瞬态点。例如,可以产生长度为512 的信号序列,然后取后面256 个点作为实验数据。 c. 分别用如下的谱估计方法,对三个信号序列进行谱估计。 1、经典谱估计 周期图法 自相关法 平均周期图法(Bartlett 法)

Welch法(可选每段64 点,重叠32 点,用Hamming 窗)2、现代谱估计 Yule - Walker方程(自相关法) 最小二乘法 注:阶次p可在3-20之间,由自己给定。 四、实验结果分析 生成的信号源

数字信号处理实验报告(实验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;

信号与系统实验报告

中南大学 信号与系统试验报告 姓名: 学号: 专业班级:自动化 实验一 基本信号的生成 1.实验目的 ● 学会使用MATLAB 产生各种常见的连续时间信号与离散时间信号; ● 通过MATLAB 中的绘图工具对产生的信号进行观察,加深对常用信号的 理解; ● 熟悉MATLAB 的基本操作,以及一些基本函数的使用,为以后的实验奠 定基础。 2.实验内容 ⑴ 运行以上九个例子程序,掌握一些常用基本信号的特点及其MATLAB 实现方法;改变有关参数,进一步观察信号波形的变化。 ⑵ 在 k [10:10]=- 范围内产生并画出以下信号: a) 1f [k][k]δ=; b) 2f [k][k+2]δ=; c) 3f [k][k-4]δ=; d) 4f [k]2[k+2][k-4]δδ=-。

源程序: k=-10:10; f1k=[zeros(1,10),1,zeros(1,10)]; subplot(2,2,1) stem(k,f1k) title('f1[k]') f2k=[zeros(1,8),1,zeros(1,12)]; subplot(2,2,2) stem(k,f2k) title('f2[k]') f3k=[zeros(1,14),1,zeros(1,6)]; subplot(2,2,3) stem(k,f3k) title('f3[k]') f4k=2*f2k-f3k; subplot(2,2,4) stem(k,f4k) title('f4[k]') ⑶ 在 k [0:31]=范围内产生并画出以下信号: a) ()()k k 144f [k]sin cos π π=; b) ()2k 24f [k]cos π =; c) ()()k k 348f [k]sin cos π π=。 请问这三个信号的基波周期分别是多少? 源程序: k=0:31; f1k=sin(pi/4*k).*cos(pi/4*k); subplot(3,1,1) stem(k,f1k) title('f1[k]') f2k=(cos(pi/4*k)).^2; subplot(3,1,2) stem(k,f2k) title('f2[k]') f3k=sin(pi/4*k).*cos(pi/8*k); subplot(3,1,3) stem(k,f3k) title('f3[k]') 其中f1[k]的基波周期是4, f2[k]的基波周期是4, f3[k]的基波周期是16。

实验一-LabVIEW中的信号分析与处理

实验一 LabVIEW中的信号分析与处理 一、实验目的: 1、熟悉各类频谱分析VI的操作方法; 2、熟悉数字滤波器的使用方法; 3、熟悉谐波失真分析VI的使用方法。 二、实验原理: 1、信号的频谱分析是指用独立的频率分量来表示信号;将时域信号变换到频域,以显示在时域无法观察到的信号特征,主要是信号的频率成分以及各频率成分幅值和相位的大小,LabVIEW中的信号都是数字信号,对其进行频谱分析主要使用快速傅立叶变换(FFT)算法:·“FFT Spectrum(Mag-Phase).vi”主要用于分析波形信号的幅频特性和相频特性,其输出为单边幅频图和相频图。 ·“FFT.vi”以一维数组的形式返回时间信号的快速傅里叶运算结果,其输出为双边频谱图,在使用时注意设置FFT Size为2的幂。 ·“Amplitude and Phase Spectrum .vi”也输出单边频谱,主要用于对一维数组进行频谱分析,需要注意的是,需要设置其dt(输入信号的采样周期)端口的数据。 2、数字滤波器的作用是对信号进行滤波,只允许特定频率成份的信号通过。滤波器的主要类型分为低通、高通、带通、带阻等,在使用LabVIEW中的数字滤波器时,需要正确设置滤波器的截止频率(注意区分模拟频率和数字频率)和阶数。 3、“Harmonic Distortion Analyzer .vi”用于分析输入的波形数据的谐波失真度(THD),该vi还可分析出被测波形的基波频率和各阶次谐波的电平值。 三、实验容: (1) 时域信号的频谱分析 设计一个VI,使用4个Sine Waveform.vi(正弦波形)生成频率分别为10Hz、30Hz、50Hz、100Hz,幅值分别为1V、2V、3V、4V的4个正弦信号(采样频率都设置为1kHz,采样点数都设置为1000点),将这4个正弦信号相加并观察其时域波形,然后使用FFT Spectrum(Mag-Phase).vi对这4个正弦信号相加得出的信号进行FFT频谱分析,观察其幅频和相频图,并截图保存。

西南交大数字信号处理报告

信息科学与技术学院本科三年级 数字信号处理实验报告 2011 年12 月21日

实验一 序列的傅立叶变换 实验目的 进一步加深理解DFS,DFT 算法的原理;研究补零问题;快速傅立叶变换 (FFT )的应用。 实验步骤 1. 复习DFS 和DFT 的定义,性质和应用; 2. 熟悉MATLAB 语言的命令窗口、编程窗口和图形窗口的使用;利用提供的 程序例子编写实验用程序;按实验内容上机实验,并进行实验结果分析;写出完整的实验报告,并将程序附在后面。 实验内容 1. 周期方波序列的频谱试画出下面四种情况下的的幅度频谱,并分析补零后,对信号频谱的影响。 实验结果: 60 ,7)4(;60,5)3(; 40,5)2(;20,5)1()] (~[)(~,2,1,01 )1(,01,1)(~=========±±=???-+≤≤+-+≤≤=N L N L N L N L n x DFS k X m N m n L m N L m N n m N n x ) 52.0cos()48.0cos()(n n n x ππ+=

2. 有限长序列x(n)的DFT (1) 取x(n)(n=0:10)时,画出x(n)的频谱X(k) 的幅度; (2) 将(1)中的x(n)以补零的方式,使x(n)加长到(n:0~100)时,画出 x(n)的频谱X(k) 的幅度; (3) 取x(n)(n:0~100)时,画出x(n)的频谱X(k) 的幅度。利用FFT 进行谱分析 已知:模拟信号 以t=0.01n(n=0:N-1)进行采样,求N 点DFT 的幅值谱。 请分别画出N=45; N=50;N=55;N=60时的幅值曲线。 实验结果: ) 8cos(5)4sin(2)(t t t x ππ+=

信号与系统MATLAB实验

2016-2017学年第一学期 信号与系统实验报告 班级: 姓名: 学号: 成绩: 指导教师:

实验一常见信号的MATLAB 表示及运算 一.实验目的 1.熟悉常见信号的意义、特性及波形 2.学会使用MATLAB 表示信号的方法并绘制信号波形 3. 掌握使用MATLAB 进行信号基本运算的指令 4. 熟悉用MATLAB 实现卷积积分的方法 二.实验原理 信号一般是随时间而变化的某些物理量。按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用()f t 和()f k 来表示。若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。MATLAB 强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具。 根据MATLAB 的数值计算功能和符号运算功能,在MATLAB 中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。在采用适当的MATLAB 语句表示出信号后,就可以利用MATLAB 中的绘图命令绘制出直观的信号波形了。下面分别介绍连续时间信号和离散时间信号的MATLAB 表示及其波形绘制方法。 1.连续时间信号 所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应。从严格意义上讲,MATLAB 并不能处理连续信号。在MATLAB 中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。在MATLAB 中连续信号可用向量或符号运算功能来表示。 ⑴ 向量表示法 对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t 的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔。向量f 为连续信号()f t 在向量t 所定义的时间点上的样值。 说明:plot 是常用的绘制连续信号波形的函数。 严格说来,MATLAB 不能表示连续信号,所以,在用plot()命令绘制波形时,要对自变量t 进行取值,MATLAB 会分别计算对应点上的函数值,然后将各个数据点通过折线连接起来绘制图形,从而形成连续的曲线。因此,绘制的只是近似波形,而且,其精度取决于t 的取样间隔。t 的取样间隔越小,即点与点之间的距离越小,则近似程度越好,曲线越光滑。例如:图1-1是在取样间隔为p=0.5时绘制的波形,而图1-2是在取样间隔p=0.1时绘制的波形,两相对照,可以看出图1-2要比图1-1光滑得多。

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