第一篇:MATLAB信号与系统实验报告19472
信号与系统实验陈诉(5)
MATLAB 综合实验 项目二
连续系统的频域阐发 目的:
周期信号输入连续系统的响应可用傅里叶级数阐发。由于盘算历程啰嗦,最适适用MATLAB 盘算。通过编程实现对输入信号、输出信号的频谱和时域响应的盘算,认识盘算机在系统阐发中的作用。
任务:
线性连续系统的系统函数为11)(jj H,输入信号为周期矩形波如图 1 所示,用MATLAB 阐发系统的输入频谱、输出频谱以及系统的时域响应。
-3-2-1 0 1 2 300.511.52Time(sec)
图 1
要领:
1、确定周期信号 f(t)的频谱nF。基波频率 Ω。
2、确定系统函数 )( jn H。
3、盘算输出信号的频谱
n nF jn H Y )(
4、系统的时域响应
nt jnn eY t y)(MATLAB 盘算为
y=Y_n*exp(j*w0*n“*t);
要求(画出 3 幅图):
1、在一幅图中画输入信号 f(t)和输入信号幅度频谱|F(j)|。用两个子图画出。
2、画出系统函数的幅度频谱|H(j)|。
3、在一幅图中画输出信号 y(t)和输出信号幅度频谱|Y(j)|。用两个子图画出。
解:(1)阐发盘算:
输入信号的频谱为
(n)输入信号最小周期为 =2,脉冲宽度,基波频率Ω=2π/ =π,所以
(n)系统函数为
因此
输出信号的频谱为
系统响应为
(2)步伐:
t=linspace(-3,3,300);
tau_T=1/4;
%
n0=-20;n1=20;
n=n0:n1;
%盘算谐波次数20
F_n=tau_T*Sa(tau_T*pi*n);
f=2*(rectpuls(t+1.75,0.5)+rectpuls(t-0.25,0.5)+rectpuls(t-2.25,0.5));
figure(1),subplot(2,1,1),line(t,f,”linewidth“,2);
%输入信号的波形 axis([-3,3,-0.1,2.1]);grid on
xlabel(”Time(sec)“,”fontsize“,8),title(”输入信号“,”fontweight“,”bold“)%设定字体巨细,文本字符的粗细
text(-0.4,0.8,”f(t)“)
subplot(2,1,2),stem(n,abs(F_n),”.“);
%输入信号的幅度频谱 xlabel(”n“,”fontsize“,8),title(”输入信号的幅度频谱“,”fontweight“,”bold“)
text(-4.0,0.2,”|Fn|“)
H_n=1./(i*n*pi+1);
figure(2),stem(n,abs(H_n),”.“);
%系统函数的幅度频谱 xlabel(”n“,”fontsize“,8),title(”系统函数的幅度频谱“,”fontweight“,”bold“)
text(-2.5,0.5,”|Hn|“)
Y_n=H_n.*F_n;y=Y_n*exp(i*pi*n”*t);
figure(3),subplot(2,1,1),line(t,y,“linewidth”,2);
%输出信号的波形 axis([-3,3,0,0.5]);grid on
xlabel(“Time(sec)”,“fontsize”,8),title(“输出信号”,“fontweight”,“bold”)
text(-0.4,0.3,“y(t)”)
subplot(2,1,2),stem(n,abs(Y_n),“.”);
%输出信号的幅度频谱 xlabel(“n”,“fontsize”,8),title(“输出信号的幅度频谱”,“fontweight”,“bold”)
text(-4.0,0.2,“|Yn|”)
(3)波形:
-3-2-1 0 1 2 300.511.52Time(sec)输 入 信 号f(t)-20-15-10-5 0 5 10 15 2000.10.20.30.4n输 入 信 号 的 幅 度 频 谱|Fn|-20-15-10-5 0 5 10 15 2000.10.20.30.40.50.60.70.80.91n系 统 函 数 的 幅 度 频 谱|Hn|
-3-2-1 0 1 2 300.10.20.30.4Time(sec)输 出 信 号y(t)-20-15-10-5 0 5 10 15 2000.10.20.30.4n输 出 信 号 的 幅 度 频 谱|Yn|
项目三
连续系统的复频域阐发 目的:
周期信号输入连续系统的响应也可用拉氏变更阐发。用 MATLAB 的标记盘算成果,通过编程实现对系统瞬态响应和稳态响应的阐发,加深理解拉氏变更在阐发系统中的作用。
任务:
线性连续系统的系统函数为11)(ss H,输入信号为周期矩形波如图2所示,用MATLAB阐发系统的响应和稳态响应。
0 1 2 3 4 5 6 700.511.52Time(sec)
图 2
要领:
1、确定第一个周期拉氏变更)(0s F。
2、确定前 6 个周期的拉氏变更)(s F。
3、盘算输出信号的拉氏变更)()()(s F s H s Y
4、系统的时域响应)()(s Y t y
MATLAB 盘算为
y=ilaplace(Y);5、系统的稳态响应和稳态值,即经过 4 个周期后,系统响应趋于稳态,两个稳态值可取为
t=8s 和 t=8.5s
要求:
1、画出输入信号 f(t)波形。
2、画出系统输出信号 y(t)的波形。
3、画出系统稳态响应 yss(t)的波形,4 个周期后。并盘算出稳态值。
解:(1)步伐 syms s;
H=1/(s+1);
F0=1/s*(1-exp(-0.5*s));
%输入信号第一个周期的laplace变更
F=F0+F0*exp(-2*s)+F0*exp(-4*s)+F0*exp(-6*s);
Y=H.*F;
Y0=H.*F0;
y=ilaplace(Y);
y=simple(y);
t=linspace(0,12,300);
f=2*(rectpuls(t-0.25,0.5)+rectpuls(t-2.25,0.5)+rectpuls(t-4.25,0.5)+rectpuls(t-6.25,0.5));
yn=subs(y);
%标记替换
figure(1),plot(t,f,“linewidth”,2);
axis([0,7,-0.2,2.2]),xlabel(“Time(sec)”,“fontsize”,8),title(“输入信号”,“fontweight”,“bold”)
text(3.0,1.0,“f(t)”)
figure(2),plot(t,yn,“linewidth”,2);
axis([0,7,-0.1,0.5]),xlabel(“Time(sec)”,“fontsize”,8),title(“输出信号”,“fontweight”,“bold”)
text(3.0,0.3,“y(t)”)
figure(3),plot(t,yn,“linewidth”,2);
axis([8,12,-0.1,0.5]),xlabel(“Time(sec)”,“fontsize”,8),title(“输出信号稳态响应”,“fontweight”,“bold”)
text(10.0,0.2,“ys(t)”)
t=8:0.5:8.5;
%取t=8s和t=8.5两个稳态值
ys=subs(y,t,“t”);
disp(“输入为周期信号的响应的第一个周期”);
y0=ilaplace(Y0);
pretty(y0);
%标记输出类似数值形式
disp(“输出稳态周期信号的两个值”);
ys
(2)波形
0 1 2 3 4 5 6 700.511.52Time(s ec)输 入 信 号f(t)
0 1 2 3 4 5 6 7-0.100.10.20.30.4Time(sec)输 出 信 号y(t)8 8.5 9 9.5 10 10.5 11 11.5 12-0.100.10.20.30.4Time(sec)输 出 信 号 稳 态 响 应ys(t)
命令窗口显示:
输入为周期信号的响应的第一个周期
heaviside(t-1/2)(exp(1/2-t)-1)-exp(-t)+ 1 输出稳态周期信号的两个值 ys =
0.1015
0.0616
第二篇:信号与系统 MATLAB实验报告
院系:
年级:
姓名:
实验时间:
实验地点:
MATLAB实验报告
专业:
班号:
学号:
《信号与系统》
实验一 连续时间信号的表示及可视化
实验题目:
f(t)(t);f(t)(t);f(t)eat(分别取a0及a0); f(t)R(t);f(t)Sa(t);f(t)Sin(2ft)(分别画出不同周期个数的波形)。
解题分析:
以上各类连续函数,先运用t = t1: p:t2的命令定义时间范围向量,然后调用对应的函数,建立f与t的关系,最后调用plot()函数绘制图像,并用axis()函数限制其坐标范围。
实验程序:
(1)f(t)(t)
t=-1:0.01:3 %设定时间变量t的范围及步长 f=dirac(t)%调用冲激函数dirac()plot(t,f)%用plot函数绘制连续函数 axis([-1,3,-0.5,1.5])%用axis函数规定横纵坐标的范围(2)f(t)(t)
t=-1:0.01:3 %设定时间变量t的范围及步长 f=heaviside(t)%调用阶跃函数heaviside()plot(t,f)%用plot函数绘制连续函数 title('f(t)=heaviside(t)')%用title函数设置图形的名称 axis([-1,3,-0.5,1.5])%用axis函数规定横纵坐标的范围(3)f(t)eat
a=1时:
t=-5:0.01:5 %设定时间变量t的范围及步长 f=exp(t)%调用指数函数exp()
plot(t,f)%用plot函数绘制连续函数 title('f=exp(t)')%用title函数设置图形的名称 axis([-5,5,-1,100])%用axis函数规定横纵坐标的范围 a=2时:
t=-5:0.01:5 f=exp(2*t)%调用指数函数exp()plot(t,f)title('f=exp(2*t)')axis([-5,5,-1,100])a=-2时: t=-5:0.01:5 f=exp(-2*t)plot(t,f)title('f=exp(-2*t)')axis([-5,5,-1,100])(4)f(t)R(t)
t=-5:0.01:5 f=rectpuls(t,2)%用rectpuls(t,a)表示门函数,默认以零点为中心,宽度为a plot(t,f)title('f=R(t)')axis([-5 5-0.5 1.5])(5)f(t)Sa(t)
ω=1时: t=-20:0.01:20 f=sin(t)./t %调用正弦函数sin(),并用sin(t)./t实现抽样函数 plot(t,f)title('f(t)=Sa(t)')axis([-20,-20,-0.5,1.1])3
ω=5时: t=-20:0.01:20 f=sin(5*t)./(5*t)plot(t,f)title('f(t)=Sa(5*t)')axis([-20,-20,-0.5,1.1])(6)f(t)Sin(2ft)
ω=1时: t=-10:0.01:10 f=sin(t)%plot(t,f);title('f=sin(t)')axis([-10,10,-2,2])ω=5时: t=-10:0.01:10 f=sin(5*t)plot(t,f);title('f=sin(5*t)')axis([-10,10,-2,2])
实验结果;
(1)
调用正弦函数sin()4
1.510.50-0.5-1-0.500.511.522.532)
f(t)=heaviside(t)1.510.50-0.5-1-0.500.511.522.533)((a=1时:
f=exp(t)***3020100-5-4-3-2-1012345a=2时:
f=exp(2*t)***3020100-5-4-3-2-1012345
a=-2时:
f=exp(-2*t)***3020100-5-4-3-2-1012345(4)
f=R(t)1.510.50-0.5-5-4-3-2-1012345
(5)ω=1时:
f(t)=Sa(t)10.80.60.40.20-0.2-0.4-20-15-10-505101520ω=5时:
f(t)=Sa(5*t)10.80.60.40.20-0.2-0.4-20-15-10-505101520(6)ω=1时:
f=sin(t)21.510.50-0.5-1-1.5-2-10-8-6-4-20246810
ω=5时:
f=sin(5*t)21.510.50-0.5-1-1.5-2-10-8-6-4-20246810
实验心得体会:(1)在 MATLAB中,是用连续信号在等时间间隔点的样值来近似地表示连续信号的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。在 MATLAB 中t = t1: p: t2的命令定义时间范围向量,t1为信号起始时间,t2为终止时间,p为时间间隔。
(2)plot()函数可用于连续函数的绘制。
(3)用axis()函数限制坐标范围,可使图像更加匀称美观。
改进想法:
本题中函数的表示方法都不只一种。如阶跃函数可以借助符号函数来实现可视化。其程序和结果如下: t=-5:0.05:5 f=sign(t)%调用符号函数sign()axis([-5,5,-1.1,1.1])
ff=1/2+1/2*f %运用阶跃函数与符号函数的关系,表示出阶跃函数ff plot(t,ff)axis([-5,5,-0.1,1.1])
f=heaviside(t)10.80.60.40.20-5-4-3-2-1012345
实验二 离散时间信号的表示及可视化
实验题目:
f(n)(n);f(n)(n);f(n)ean(分别取a0及a0);
f(n)RN(n)(分别取不同的N值);f(n)Sa(n); f(n)Sin(n)(分别取不同的值);
解题分析:
以上各类离散函数,可仿照连续函数的可视化,先运用n =n1: p: n2的命令定义自变量的范围及步长,然后调用对应的函数,建立f与t的关系,最后调用stem()函数绘制图像,并用axis()函数限制其坐标范围。
实验程序:
(1)f(n)(n)
n=-5:0.5:5 %设定时间变量n的范围及步长 f=dirac(n)stem(n,f)%调用stem()绘制离散函数 title('f=dirac(t)')axis([-5,5,-3,10])%用axis函数规定横纵坐标的范围(2)f(n)(n)
n=-5:0.5:5 f=heaviside(n)stem(n,f)title('f=Heaviside(t)')axis([-5,5,-0.5,1.5])(3)f(n)ean
a=1时:
n=-5:0.5:5 f=exp(n)stem(n,f)title('f=exp(n)')a=2时: n=-5:0.5:5 f=exp(2*n)stem(n,f)title('f=exp(2*n)')a=-2时: n=-5:0.5:5 f=exp(-2*n)stem(n,f)title('f=exp(-2*n)')(4)f(n)RN(n)
n=-5:0.5:5 f=rectpuls(n,2)stem(n,f)title('f=R(n)')axis([-5,5,-0.5,1.5])(5)f(n)Sa(n)
ω=1时: n=-20:0.5:20 f=sin(n)./(n)stem(n,f)title('f=Sa(n)')axis([-20,-20,-0.5,1.1])ω=5时: n=-20:0.5:20 f=sin(5*n)./(5*n)13
stem(n,f)title('f=Sa(5*n)')axis([-20,-20,-1,5])(6)f(n)Sin(n)
ω=1时: n=-5:0.5:5 f=sin(n)stem(n,f)title('f=sin(n)')axis([-5,5,-2,2])ω=5时: n=-5:0.5:5 f=sin(5*n)stem(n,f)title('f=sin(5*n)')axis([-5,5,-2,2])
实验结果;
(1)
f=dirac(t)1086420-2-5-4-3-2-10123452)
f=Heaviside(t)1.510.50-0.5-5-4-3-2-10123453)((a=1时:
f=exp(n)150100500-5-4-3-2-1012345a=2时:
2.5x 104f=exp(2*n)21.510.50-5-4-3-2-1012345
a=-2时:
4f=exp(-2*n)2.5x 1021.510.50-5-4-3-2-1012345(4)
f=R(n)1.510.50-0.5-5-4-3-2-1012345
(5)ω=1时:
f=Sa(n)10.80.60.40.20-0.2-0.4-20-15-10-505101520ω=5时:
f=Sa(5*n)0.250.20.150.10.050-0.05-0.1-0.15-0.2-20-15-10-505101520(6)ω=1时:
f=sin(n)21.510.50-0.5-1-1.5-2-5-4-3-2-1012345
ω=5时:
f=sin(5*n)21.510.50-0.5-1-1.5-2-5-4-3-2-1012345
实验心得体会: 用plot()函数可以绘制离散序列,但是与连续序列有所不同,需要在括号内加上'.'。但是plot()画出来的函数图像不直观,显得很凌乱。
改进想法:
(1)对于离散函数,如果使用stem(n,f, '.')函数,绘图效果更好。如抽样函数的程序: n=-20:0.5:20 f=sin(n)./(n)stem(n,f,'.')title('f=Sa(n)')axis([-20,-20,-0.5,1.1])绘图结果如下:
f=Sa(n)10.80.60.40.20-0.2-0.4-20-15-10-505101520
对比可知此法做出的图像更加清晰美观。
(2)MATLAB 可以自动地根据曲线数据的范围选择合适的坐标系,从而使得曲线尽可能清晰地显示出来,一般情况下不必选择坐标系。但是,如果对 MATLAB自动产生的坐标轴不满意,可以利用 axis 命令对坐标轴进行调整。
实验三 系统的时域求解
实验题目:
1.设h(n)(0.9)nu(n),x(n)u(n)u(n10),求y(n)x(n)*h(n),并画出x(n)、h(n)、y(n)波形。
y(n)0.81y(n2)x(n)x(n2)的单位
j2.求因果线性移不变系统抽样响应h(n),并绘出H(e)的幅频及相频特性曲线。
解题分析:
1.用heaviside()和exp()函数 表示出x(n)和h(n),然后调用conv()函数实现x(n)和h(n)的卷积y(n)。并且分别将三个函数图像绘出。
2.通过给矩阵a,b赋值,建立系统差分方程,然后调用impz()函数求系统的冲激响应,再用函数freqs(b,a)进行系统频率响应的分析。
实验程序:
(1)
n=-10:20 %设置变量范围,默认步长为1 f=heaviside(n)x=heaviside(n)-heaviside(n-10)%阶跃函数直接相减 figure(1)%产生图像窗口1 stem(n,x)%绘制函数x title('x(n)')h=0.9.^n.*f %函数h的表达式 figure(2)%产生图像窗口2 stem(n,h)%绘制函数h title('h(n)')n1=-20:40 y=conv(h,x)%调用conv()函数求h和x的卷积
figure(3)%产生图像窗口3 stem(y)%绘制函数y title('y(n)=x(n)*h(n)')(2)
a=[1 0-0.81] %描述系统的差分方程的系数 b=[1 0-1] %描述系统的差分方程的系数 figure(1)h=impz(n,m,-10:10)%调用impz()函数求系统的冲激响应 stem(h)%绘制函数h的离散序列 title('h(n)')figure(2)freqs(b,a)%对连续系统频率响应H(jw)进行分析的函数freqs()
实验结果;
(1)
x(n)10.90.80.70.60.50.40.30.20.10-10-505101520
h(n)0.90.80.70.60.50.40.30.20.10-10-505101520y(n)=x(n)*h(n)***05060702)
(h(n)1.210.80.60.40.20-0.20510152025
100.09udeti100.05agnM100.0110-210-1100101Frequency(rad/s)1)s0.5reeeg(d0e hasP-0.5-110-210-1100101Frequency(rad/s)
实验心得体会:
(1)计算离散序列的卷积时,应考虑其结果的横坐标范围的改变。(2)向量相乘时,注意用‘.’。
(3)借助MATLAB的内部函数conv()可以很容易地完成两个信号的卷积运算,并且其完成的是两个多项式的乘法运算,在MATLAB中它们的系数构成一个行向量来表示。
(3)表示系统的方法是用系统函数分子和分母多项式系数行向量来表示。
改进想法:
(1)n=-10:20 %f=heaviside(n)x=heaviside(n)-heaviside(n-10)%figure(1)%axis([-10,20,0,1])stem(n,x)%title('x(n)')h=0.9.^n.*f %figure(2)%stem(n,h)%axis([-10,20,0,1])title('h(n)')n1=-20:40 y=conv(h,x)%figure(3)%stem(y)%axis([0,62,0,7])title('y(n)=x(n)*h(n)')
运行结果:
设置变量范围,默认步长为1
阶跃函数直接相减 产生图像窗口1 绘制函数x 函数h的表达式 产生图像窗口2 绘制函数h 调用conv函数求h和x的卷积 产生图像窗口3 绘制函数y 26
x(n)10.90.80.70.60.50.40.30.20.10-10-505101520h(n)10.90.80.70.60.50.40.30.20.10-10-505101520
y(n)=x(n)*h(n)***405060
实验四 信号的DFT分析
实验题目:
计算余弦序列x(n)cos(8n)RN(n)的DFT。分别对N=10、16、22时计算DFT,绘出X(k)幅频特性曲线,分析是否有差别及产生差别的原因。
解题分析:
用矩阵代替门函数给变量n赋值,并设定不同的N值,然后调用fft()函数实现函数的傅里叶变换,然后用subplot()和stem()函数绘图。
实验程序:
(1)N=10时:
N=10 %设定N的值为10 n=[0:N-1] %用矩阵代替门函数给n赋值 x=cos((pi/8).*n)%调用cos()函数
y=fft(x)%调用fft()函数求x的傅里叶变换 subplot(2,1,1),stem(n,y)%绘制y的离散图 title('DFT[cos((pi/8)*n]')subplot(2,1,2),stem(n,abs(y))%绘制y的幅频特性曲线 title('X(k)')(2)N=16时:
N=16 %设定N的值为16 n=[0:N-1] %用矩阵代替门函数给n赋值 x=cos((pi/8).*n)%调用cos()函数
y=fft(x)%调用fft()函数求x的傅里叶变换 subplot(2,1,1),stem(n,y)%绘制y的离散图 title('DFT[cos((pi/8)*n]')subplot(2,1,2),stem(n,abs(y))%绘制y的幅频特性曲线
title('X(k)')(3)N=22时:
N=22 %设定N的值为22 n=[0:N-1] %用矩阵代替门函数给n赋值 x=cos((pi/8).*n)%调用cos()函数
y=fft(x)%调用fft()函数求x的傅里叶变换 subplot(2,1,1),stem(n,y)%绘制y的离散图 title('DFT[cos((pi/8)*n]')subplot(2,1,2),stem(n,abs(y))%绘制y的幅频特性曲线 title('X(k)')
实验结果;
(1)N=10时:
DFT[cos((pi/8)*n]3210-10123456789X(k)64200123456789(2)N=16时:
DFT[cos((pi/8)*n]1050-5051015X(k)864200510153)N=22时:
DFT[cos((pi/8)*n]6420-20510152025X(k)***1(实验结果分析:
由图可知,不同的N值所对应的DFT序列和幅频响应不同,是因为N代表DFT的变换区间长度,当N取不同的值时,函数所对应的离散傅里叶变换和幅频特性曲线也不同。
实验心得体会: MATLAB是计算机运算,无法实现无限时间信号和无限大数量的计算,故而周期信号只能取有限个谐波分量近似合成,即N值有限,且N值越大,仿真结果越接近。所以手工求取的傅里叶变换系数与MATLAB求取存在差别。
实验五 系统时域解的快速卷积求法
实验题目:
用快速卷积法计算系统响应
y(n)x(n)*h(n),已知:
x(n)sin(0.4n)R15(n),h(n)0.9nR20(n)。要求取不同的L点数,并画出x(n)、h(n)、y(n)波形,分析是否有差别及产生差别的原因。
解题分析:
根据离散序列卷积及傅里叶变换的性质,可先求出两函数x(n)和h(n)的L点傅里叶变换,分别得到Xk和Yk,然后求Xk和Yk之积Hk的傅里叶反变换,即得到了x(n)和h(n)的卷积y(n)。
实验程序:
L=10时:
n1=[0:14] %用矩阵代替门函数给n1赋值 x=sin(0.4.*n1)%写出x的表达式 n2=[0:19] %给n2赋值 y=0.9.^n2 %写出y的表达式
Xk=fft(x,10)%调用fft()函数求x的L(=10)点傅里叶变换 Yk=fft(y,10)%求y的L点傅里叶变换 Hk=Xk.*Yk %写出Hk的表达式
h=ifft(Hk)%调用ifft()函数求Hk的傅里叶反变换 subplot(3,1,1),stem(x)%绘制x的离散图 title('x(n)')subplot(3,1,2),stem(y)%绘制y的离散图 title('y(n)')subplot(3,1,3),stem(h)%绘制h的离散图 title('h(n)')xlabel('L=10')%横坐标处做标注
(2)L=18时: n1=[0:14] x=sin(0.4.*n1)n2=[0:19] y=0.9.^n2 Xk=fft(x,18)Yk=fft(y,18)Hk=Xk.*Yk h=ifft(Hk)subplot(3,1,1),stem(x)title('x(n)')subplot(3,1,2),stem(y)title('y(n)')subplot(3,1,3),stem(h)title('h(n)')xlabel('L=18')(3)L=28时: n1=[0:14] x=sin(0.4.*n1)n2=[0:19] y=0.9.^n2 Xk=fft(x,28)Yk=fft(y,28)Hk=Xk.*Yk h=ifft(Hk)subplot(3,1,1),stem(x)title('x(n)')subplot(3,1,2),stem(y)title('y(n)')subplot(3,1,3),stem(h)title('h(n)')34
xlabel('L=28')(4)L=35时: n1=[0:14] x=sin(0.4.*n1)n2=[0:19] y=0.9.^n2 Xk=fft(x,35)Yk=fft(y,35)Hk=Xk.*Yk h=ifft(Hk)subplot(3,1,1),stem(x)title('x(n)')subplot(3,1,2),stem(y)title('y(n)')subplot(3,1,3),stem(h)title('h(n)')xlabel('L=35')
实验结果;
(1)L=10时:
x(n)10-1051015y(n)10.***1820h(n)42012345678910L=102)L=18时:
x(n)10-1051015y(n)10.***1820h(n)50-***8L=183)L=28时:
36((x(n)10-1051015y(n)10.***1820h(n)50-5051015202530L=284)L=35时:
x(n)10-1051015y(n)10.***1820h(n)50-***L=35
37(实验结果分析:
由图可知,当L取不同的值时,对应的y(n)波形形状相似,但是有所不同,产生这种差别的原因是L代表傅里叶变换区间长度,当L取不同的值时,所对应的函数波形也有所差别。
实验心得体会:(1)计算离散序列的卷积,虽然本实验的快速卷积方法看上去多次变换了变量的域,使过程变复杂了,但实际上减少了计算量,是一种快速而简单的方法。(2)用subplot绘图函数可将图形窗口分成若干等份,便于将多个图像进行分组或者比较。
改进想法:
当L取不同的值时,matlab自动生成的图像的横纵坐标范围不同,不便于相互比较,因此可以自己规定坐标轴范围,这样可以更加直观地看出各波形间的差别。
第三篇:信号与系统仿真实验报告
信号与系统
仿真
实 验 报 告
班级: 学号: 姓名: 学院:
实验一
一、实验者姓名:
二、实验时间:
三、实验地点:
四、实验题目:
5(s25s6)求三阶系统H(s)3的单位阶跃响应,并绘制响应波形图。
s6s210s8
五、解题分析:要知道求单位阶跃响应需知道所用函数,以及产生波形图所需要用到的函数。
六、试验程序:
num=[5 25 30];den=[1 6 10 8];step(num,den,10);title(‘Step response’)
七、实验结果:
实验所得波形图如下:
Step response4.543.53Amplitude2.521.510.50012345Time(sec)678910
八、实验心得体会:通过本次试验了解学会了一些新的函数的应用。了解到了N阶系统的单位阶跃响应的计算方法,和系统的响应波形图的函数应用和绘制方法。为后面的实验打下基础,并对信号仿真和《信号与系统》这门课程之间的联系有所增加,对《信号与系统》这门课里的问题也有了更加深入地了解。
九、实验改进想法:无。
实验二
一、实验者姓名:
二、实验时间:
三、实验地点:
四、实验题目:
一个因果线性移不变系统y(n)0.81y(n2)x(n)x(n2),求:(1)H(z);(2)冲激响应h(n);(3)单位阶跃响应u(n);(4)H(ej),并绘出幅频和相频特性。
五、解题分析:离散卷积是数字信号处理中的一个基本运算,MTLAB提供的计算两个离散序列卷积的函数是conv,其调用方式为 y=conv(x,h)。其中调用参数x,h为卷积运算所需的两个序列,返回值y是卷积结果。
MATLAB函数conv的返回值y中只有卷积的结果,没有y的取值范围。由离散序列卷积的性质可知,当序列x和h的起始点都为k=0时,y的取值范围为k=0至length(x)+length(h)-2。
许多离散LTI都可用如下的线性常系数的差分方程描述
ay[kn]bx[kn]
nnn0n0NN其中x[k]、y[k]分别系统的输入和输出。在已知差分方程的N个初始状态y[k],和输入x[k],就可由下式迭代计算出系统的输出
y[k](an/a0)y[kn](bn/b0)x[kn]
n1n0NM利用MATLAB提供的filter函数,可方便地计算出上述差分方程的零状态响应。filter函数调用形式为 y=filter(b,a,x)。其中 a[a0,a1,...,aN],b[b0,b1,...,bM],分别表示差分方程系数。X表示输入序列,y表示输出序列。输出序列的长度和序列相同。
当序列的DTFT可写成ej的有理多项式时,可用MATLAB信号处理工具箱提供的freqz函数计算DTFT的抽样值。另外,可用MATLAB提供的abs、angle、real、imag等基本函数计算 DTFT的幅度、相位、实部、虚部。若X(ej)可表示为
b0b1ej...bMejMB(ej)X(e)jjjNA(e)a0a1e...aNe则freqz的调用形式为 X=freqz(b,a,w),其中的b和 a分别是表示前一个
j式子中分子多项式和分母多项式系数的向量,即a[a0,a1,...,aN],w为抽样的频率点,向量w的长度至少为2。返回值X就是DTFTb[b0,b1,...,bM]。在抽样点w上的值。注意一般情况下,函数freqz的返回值X是复数。
六、实验程序:
clc;clear;close;b=[1 0-1];a=[1 0-0.81];figure(1);subplot(2,1,1);dimpulse(b,a,20)subplot(2,1,2);dstep(b,a,50)w=[0:1:512]*pi/512;figure(2);freqz(b,a,w)
七、实验结果:
冲击响应图及阶跃响应图:
Impulse Response1Amplitude0.50-0.50246810Time(sec)Step Response12141618201Amplitude0.500510152025Time(sec)3035404550 100Magnitude(dB)0-100-200-30000.10.20.30.40.50.60.70.8Normalized Frequency( rad/sample)0.91100Phase(degrees)500-50-10000.10.20.30.40.50.60.70.8Normalized Frequency( rad/sample)0.91
八、实验心得体会:通过实验我们知道了使用Matlab来绘出出一个线性移不变系统的幅频和相频曲线。并知道了在《信号与系统》中得一些差分方程和各种响应,譬如零输入相应、零状态响应、全响应、自由响应、强迫响应、冲击响应、单位阶跃响应等等各种响应在Matlab中的函数表达方式和他们的求法,以及系统的幅频和相频曲线的绘制都有了一定深刻的认识。
九、实验改进想法:无。
实验三
一、实验者姓名:
二、实验时间:
三、实验地点:
四、实验题目:
模拟信号x(t)2sin(4t)5cos(8t),求N64的DFT的幅值谱和相位谱。
五、解题分析:在MATLAB信号处理工具箱中,MATLAB提供了4个内部函数用于计算DFT和IDFT,它们分别是:fft(x),fft(x,N),ifft(X),ifft(X,N)。
fft(x)计算M点的DFT。M是序列x的长度,即M=length(x)。
fft(x,N)计算N点的DFT。若M>N,则将原序列截短为N点序列,再计算其N点DFT;若M ifft(X)计算M点的IDFT。M是序列X的长度。 ifft(X,N)计算N点IDFT。若M>N,则将原序列截短为N点序列,再计算其N点IDFT;若M 六、实验程序: clc;clear;close;N=64;n=0:63;t=d*n;q=n*2*pi/N;x=2*sin(4*pi*t)+5*cos(8*pi*t);y=fft(x,N);subplot(3,1,1);plot(t,x);title(‘source signal’);subplot(3,1,2);plot(q,abs(y));title(‘magnitude’);subplot(3,1,3);plot(q,angle(y));title(‘phase’); 七、实验结果: ***0100806040200|F(k)|05101520Frequency253035 ***0100806040200|F(k)|05101520Frequency253035 4321|jW|0-1-2-3-405101520Frequency253035Step Response400020000-2000 Amplitude-4000-6000-8000-10000-12000-1400001234n(samples)5678 八、实验心得体会:通过本次试验我知道了求取模拟信号在N等于一定值时的的DFT的幅值谱和相位谱的求法。通过本次实验,对幅值谱和相位谱有了更深的了解,并与课程《信号与系统》里的一些相关知识连接到了一起,使得学到的只是更加深刻、有意义。 九、实验改进想法:无。 实验四 一、实验者姓名: 二、实验时间: 三、实验地点: 四、实验题目: 将信号x(t)sin(240t)做离散序列,比较原序列与经过FFT和IFFT变换后的序列,并做出说明。 五、解题分析:此题需要对信号做离散序列,还要做FFT和IFFT变换,然后得到图像进行比较。连续时间函数与离散时间函数在编程中的区别主要体现在如下两个方面:第一,自变量的取值范围不同,离散时间函数的自变量是整数,而连续时间函数的自变量为一定范围内的实数;第二,绘图所用的函数不同,连续函数图形的绘制不止一个。本实验中要求绘制离散时间信号图,可以应用MATLAB中的函数来实现。用MATLAB表示一离散序列,可用两个向量来表示。其中一个向量表示自变量的取值范围,另一个向量表示序列的值。之后画出序列波形。当序列是从0开始时,可以只用一个向量x来表示序列。由于计算机内寸的限制,MATLAB无法表示一个无穷长的序列。对于典型的离散时间信号,可用逻辑表达式来实现不同自变量时的取值。 六、实验程序: t=0:1/255:1;x=sin(2*pi*120*t);y=real(ifft(fft(x)));subplot(2,1,1);plot(t,x);title(‘原波形’);subplot(2,1,2);plot(t,y); 七、实验结果: 原波形10.50-0.5-100.10.20.30.40.50.60.70.80.91恢复的波形10.50-0.5-100.10.20.30.40.50.60.70.80.91 八、实验心得体会:通过对做信号的离散序列以及经FFT和IFFT的变换,了解了相关特性。通过计算机做出的信号波形图,我们能够很直白的看出原波形和经过变换后的波形的差别。 九、实验改进想法:无。 实验五 一、实验者姓名: 二、实验时间: 三、实验地点: 四、实验题目: 2s,激励信号22(s1)100x(t)(1cot)sco1s0(t)0,求(1)带通滤波器的频率响应;(2)输出稳态响应并绘制图形。已知带通滤波器的系统函数为H(s) 五、解题分析:需要知道求频率响应的方法,并绘制图形。 六、实验程序: clear;t=linspace(0,2*pi,1001);w=[99,100,101];U=[0.5,1,0.5];b=[2,0];a=[1,2,10001];u1=U*cos(w’*t+angle(U’)*ones(1,1001));H=polyval(b,j*w)./polyval(a,j*w);H=freqs(b,a,w);subplot(2,1,1),plot(w,abs(H)),grid;subplot(2,1,2),plot(w,angle(H)),grid;u21=abs(U(1)*H(1))*cos(99*t+angle(U(1)*H(1)));u22=abs(U(2)*H(2))*cos(100*t+angle(U(2)*H(2)));u23=abs(U(3)*H(3))*cos(101*t+angle(U(3)*H(3)));u2=u21+u22+23;figure(2);subplot(2,1,1),plot(t,u1);subplot(2,1,2),plot(t,u2); 七、实验结果: 10.90.80.79910.50-0.5-19999.299.499.699.8100100.2100.4100.6100.810199.299.499.699.8100100.2100.4100.6100.8101 210-1-***222101234567 八、实验心得体会:通过本次试验,了解了频率响应求法,加深了对输出稳态响应的印象。 九、实验改进想法:无。 长江大学电工电子实验中心实验报告 野外获得的重力数据要作进一步处理和解释才能解决所提出的地质任务﹐主要分3个阶段﹕野外观测数据的处理﹐并绘制各种重力异常图﹔重力异常的分解(应用平均法﹑场的变换﹑频率滤波等方法)﹐即从叠加的异常中分出那些用来解决具体地质问题的异常﹔确定异常体的性质﹑形状﹑产状及其他特征参数。解释 解释分为定性的和定量的两个内容﹐定性解释是根据重力图并与地质资料对比﹐初步查明重力异常性质和获得有关异常源的信息。除某些构造外﹐对一般地质体重力异常的解释可遵循以下的一些原则﹕极大的正异常说明与围岩比较存在剩馀质量﹔反之﹐极小异常是由质量亏损引起的。靠近质量重心﹐在地表投影处将观测到最大异常。最大的水平梯度异常相应于激发体的边界。延伸异常相应于延伸的异常体﹐而等轴异常相应于等轴物体在地表的投影。对称异常曲线说明质量相对于通过极值点的垂直平面是对称分布的﹔反之﹐非对称曲线是由于质量非对称分布引起的。在平面上出现几个极值的复杂异常轮廓﹐表明存在几个非常接近的激发体。定量解释是根据异常场求激发体的产状要素建立重力模型。一种常用的反演方法是选择法﹐即选择重力模型使计算的重力异常与观测重力异常间的偏差小于要求的误差。 由于重力反演存在多解性﹐因此﹐必须依靠研究地区的地质﹑钻井﹑岩石密度和其他物探资料来减少反演的多解性。应用运用领域 在区域地质调查﹑矿产普查和勘探的各个阶段都可应用重力勘探﹐要根据具体的地质任务设计相应的野外工作方法。应用条件 应用重力勘探的条件是﹕被探测的地质体与围岩的密度存在一定的差别﹔被探测的地质体有足够大的体积和有利的埋藏条件﹔干扰水平低。意义 重力勘探解决以下任务﹕ 1、研究地壳深部构造﹔研究区域地质构造﹐划分成矿远景区﹔ 2、掩盖区的地质填图﹐包括圈定断裂﹑断块构造﹑侵入体等﹔ 3、广泛用于普查与勘探可燃性矿床(石油﹑天然气﹑煤)﹐ 4、查明区域构造﹐确定基底起伏﹐发现盐丘﹑背斜等局部构造﹔ 5、普查与勘探金属矿床(铁﹑铬﹑铜﹑多金属及其他)﹐主要用于查明与成矿有关的构造和岩体﹐进行间接找矿﹔ 6、也常用于寻找大的﹑近地表的高密度矿体﹐并计算矿体的储量﹔工程地质调查﹐如探测岩溶﹐追索断裂破碎带等。 信号与系统实验 实验一常用信号的观察 方波: 正弦波: 三角波: 在观测中,虚拟示波器完全充当实际示波器的作用,在工作台上连接AD1为示波器的输入,输入方波、正弦波、三角波信号时,可在电脑上利用软件观测到相应的波形,其纵轴为幅值可通过设置实现幅值自动调节以观测到最佳大小的波形,其横轴为时间,宜可通过设置实现时间自动调节以观测到最佳宽度的波形。实验四非正弦周期信号的分解与合成 方波DC信号: DC信号几乎没有,与理论相符合,原信号没有添加偏移。 方波基波信号: 基波信号为与原方波50Hz信号相对应的频率为50Hz的正弦波信号,是方波分解的一次谐波信号。 方波二次谐波信号: 二次谐波信号频率为100Hz为原方波信号频率的两倍,幅值较一次谐波较为减少。 方波三次谐波信号: 三次谐波信号频率为150Hz为原方波信号的三倍。幅值较一二次谐波大为减少。 方波四次谐波信号: 四次谐波信号的频率为200Hz为原方波信号的四倍。幅值较三次谐波再次减小。 方波五次谐波信号: 五次谐波频率为250Hz为原方波信号的五倍。幅值减少到0.3以内,几乎可以忽略。 综上可知:50Hz方波可以分解为DC信号、基波信号、二次、三次、四次、五次谐波信号…,无偏移时即无DC信号,DC信号幅值为0。分解出来的基波信号即一次谐波信号频率与原方波信号频率相同,幅值接近方波信号的幅值。二次谐波、三次谐波、四次谐波、五次谐波依次频率分别为原方波信号的二、三、四、五倍,且幅值依次衰减,直至五次谐波信号时几乎可以忽略。可知,方波信号可分解为多个谐波。方波基波加三次谐波信号: 基波叠加上三次谐波信号时,幅值与方波信号接近,形状还有一定差异,但已基本可以看出叠加后逼近了方波信号。 方波基波加三次谐波信号加五次谐波信号: 基波信号、三次谐波信号、五次谐波信号叠加以后,比基波信号、三次谐波信号叠加后的波形更加接近方波信号。 综上所述:方波分解出来的各次谐波以及DC信号,叠加起来以后会逼近方波信号,且叠加的信号越多,越是接近方波信号。说明,方波信号可有多个谐波合成。 三角波DC信号: 三角波基波信号: 三角波二次谐波信号: 三角波三次谐波信号: 三角波四次谐波信号: 三角波五次谐波信号: 三角波基波加三次谐波信号: 三角波基波加三次谐波加五次谐波信号: 三角波信号的分析与方波信号的分析基本一致,可以看出三角波也可以分解为多个谐波,并且相应的多个多次谐波可以合成三角波信号,且参与合成的波形越多,合成波越是逼近三角波信号。 综合两个波形来看,可知任何周期性函数均可分解为相应的傅里叶展开式里所包含的直流分量和各次谐波项。且任何周期性函数均可由锁对应的直流分量和各次谐波项所合成,参与合成的信号越多,结果越逼近周期性函数的图形。 实验思考题 1.什么样的周期性函数没有直流分量和余弦项; 答:无偏移的周期性函数没有直流分量,当周期性函数为奇函数时没有直流分量和余弦项。 2.分析理论合成的波形与实验观测到的合成波形之间误差产生的原因。 答:理论合成的波形不能把所有无限个谐波合成起来,故必然产生误差,且实验设备、实验方法也存在一定的误差。 实验二 零输入、零状态级完全响应 零输入响应下降沿采样: 零输入响应上升沿采样: 可见,零输入响应按照指数形式下降,最终降为零。其规律符合-1tU(t)=RCc2e。第四篇:信号与系统实验报告1
第五篇:信号与系统实验报告总结