信号与系统实验报告.docx

上传人:b****2 文档编号:13990741 上传时间:2023-06-19 格式:DOCX 页数:16 大小:60.86KB
下载 相关 举报
信号与系统实验报告.docx_第1页
第1页 / 共16页
信号与系统实验报告.docx_第2页
第2页 / 共16页
信号与系统实验报告.docx_第3页
第3页 / 共16页
信号与系统实验报告.docx_第4页
第4页 / 共16页
信号与系统实验报告.docx_第5页
第5页 / 共16页
信号与系统实验报告.docx_第6页
第6页 / 共16页
信号与系统实验报告.docx_第7页
第7页 / 共16页
信号与系统实验报告.docx_第8页
第8页 / 共16页
信号与系统实验报告.docx_第9页
第9页 / 共16页
信号与系统实验报告.docx_第10页
第10页 / 共16页
信号与系统实验报告.docx_第11页
第11页 / 共16页
信号与系统实验报告.docx_第12页
第12页 / 共16页
信号与系统实验报告.docx_第13页
第13页 / 共16页
信号与系统实验报告.docx_第14页
第14页 / 共16页
信号与系统实验报告.docx_第15页
第15页 / 共16页
信号与系统实验报告.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

信号与系统实验报告.docx

《信号与系统实验报告.docx》由会员分享,可在线阅读,更多相关《信号与系统实验报告.docx(16页珍藏版)》请在冰点文库上搜索。

信号与系统实验报告.docx

信号与系统实验报告

中南大学

信号与系统试验报告

姓名:

学号:

专业班级:

自动化

实验一基本信号的生成

1.实验目的

●学会使用MATLAB产生各种常见的连续时间信号与离散时间信号;

●通过MATLAB中的绘图工具对产生的信号进行观察,加深对常用信号的理解;

●熟悉MATLAB的基本操作,以及一些基本函数的使用,为以后的实验奠定基础。

2.实验内容

⑴运行以上九个例子程序,掌握一些常用基本信号的特点及其MATLAB实现方法;改变有关参数,进一步观察信号波形的变化。

⑵在

范围内产生并画出以下信号:

a)

b)

c)

d)

源程序:

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]')

⑶在

范围内产生并画出以下信号:

a)

b)

c)

请问这三个信号的基波周期分别是多少?

源程序:

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。

实验二信号的基本运算

1.实验目的

●学会使用MATLAB完成信号的一些基本运算;

●了解复杂信号由基本信号通过尺度变换、翻转、平移、相加、相乘、差分、求和、微分及积分等运算来表达的方法;

●进一步熟悉MATLAB的基本操作与编程,掌握其在信号分析中的运用特点与使用方式。

2.实验内容

⑴运行以上三个例题程序,掌握信号基本运算的MATLAB实现方法;改变有关参数,考察相应信号运算结果的变化特点与规律。

⑵已知信号

如下图所示:

a)用MATLAB编程复现上图;

%作业题2a:

t=-6:

0.001:

6;

ft1=tripuls(t,6,0.5);

subplot(2,1,1)

plot(t,ft1)

title('f(t)')

b)画出

的波形;

%b

t=-6:

0.001:

6;

ft1=tripuls(2*(1-t),6,0.5);

%subplot(1,1,1)

plot(t,ft1)

title('f(2*(1-t)')

c)画出

的波形;

%c

h=0.001;t=-6:

h:

6;

yt=tripuls(t,6,0.5);

y1=diff(yt)*1/h;

plot(t(1:

length(t)-1),y1)

title('df(t)/dt')

d)画出

的波形。

%d

t=-6:

0.1:

6;

forx=1:

length(t)

y2(x)=quad('tripuls(t,6,0.5)',-3,t(x));

end

plot(t,y2)

title('integraloff(t)')

实验三系统的时域分析

1.实验目的

●学习并掌握连续时间系统的零状态响应、冲激响应和阶跃响应的MATLAB求解方法;

●学习并掌握离散时间系统的零状态响应、冲激响应和阶跃响应的MATLAB求解方法;

●进一步深刻理解连续时间系统和离散时间系统的系统函数零极点对系统特性的影响;

学习并掌握卷积的MATLAB计算方法。

2.实验内容

⑴运行以上五个例题程序,掌握求解系统响应的MATLAB分析方法;改变模型参数,考察系统响应的变化特点与规律。

⑵设离散系统可由下列差分方程表示:

计算

时的系统冲激响应。

源程序:

k=-20:

100;

a=[1-10.9];

b=[1];

h=impz(b,a,k);

stem(k,h);

xlabel('Time(sec)')

ylabel('y(t)')

⑶设

,输入

,求系统输出

(取

源程序:

k=-10:

50;

uk=[zeros(1,10),ones(1,51)];

u1k=[zeros(1,20),ones(1,41)];

hk=0.9.^k.*uk;

fk=uk-u1k;

yk=conv(hk,fk);

stem(0:

length(yk)-1,yk);

⑷已知滤波器的传递函数:

输入信号为

为随机信号。

试绘出滤波器的输出信号波形。

(取

源程序:

R=101;

d=rand(1,R)-0.5;

t=0:

100;

s=2*sin(0.05*pi*t);

f=s+d;

subplot(2,1,1);

plot(t,d,'g-.',t,s,'b--',t,f,'r-');

xlabel('Timeindext');

legend('d[t]','s[t]','f[t]');

title('处理前的波形')

b=[0.220];a=[1-0.8];

y=filter(b,a,f);

subplot(2,1,2);

plot(t,s,'b--',t,y,'r-');

xlabel('Timeindext');

legend('s[t]','y[t]');

title('滤波器输出波形')

实验四周期信号的频域分析

1.实验目的

●掌握周期信号傅立叶级数分解与合成的计算公式

●掌握利用MATLAB实现周期信号傅立叶级数分解与综合方法

●理解并掌握周期信号频谱特点

2.实验内容

1、仿照例程,实现下述周期信号的傅立叶级数分解与合成:

要求:

(a)首先,推导出求解

的公式,计算出前10次系数;

(b)利用MATLAB求解

的值,其中

求解前10次系数,并给出利用这些系数合成的信号波形。

(a)设周期信号

的周期为

,角频率

,且满足狄里赫利条件,则该周期信号可以展开成傅立叶级数。

(1)三角形式傅立叶级数

(2)指数形式傅立叶级数

(b)求解

及合成信号波形所用程序:

function[A_sym,B_sym]=CTFShchsym

%采用符号计算求一个周期内连续时间函数f的三角级数展开系数,再用这些

%展开系数合成连续时间函数f.傅立叶级数

%函数的输入输出都是数值量

%Nf=6谐波的阶数

%Nn输出数据的准确位数

%A_sym第1元素是直流项,其后元素依次是1,2,3...次谐波cos项展开系数

%B_sym第2,3,4,...元素依次是1,2,3...次谐波sin项展开系数

%tao=1tao/T=0.2

symstnkx

T=4;

tao=T/4;

a=-1.5;

ifnargin<4

Nf=10;

end

ifnargin<5

Nn=32;

end

x=time_fun_x(t);

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

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

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

A_sym

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

fork=1:

Nf

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

end;

ifnargout==0

c=A_sym;

disp(c);%输出c为三角级数展开系数:

第1元素是直流项,其后元素依次是1,2,3...次谐波cos项展开系数

d=B_sym;

disp(d);%输出d为三角级数展开系数:

第2,3,4,...元素依次是1,2,3...次谐波sin项展开系数

t=-3*T:

0.01:

3*T;

f0=c

(1);%直流

f1=c

(2).*cos(2*pi*1*t/T)+d

(2).*sin(2*pi*1*t/T);%基波

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

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

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

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

f6=c(7).*cos(2*pi*6*t/T)+d(7).*sin(2*pi*6*t/T);%6次谐波

f7=c(8).*cos(2*pi*7*t/T)+d(8).*sin(2*pi*7*t/T);%7次谐波

f8=c(9).*cos(2*pi*8*t/T)+d(9).*sin(2*pi*8*t/T);%8次谐波

f9=c(10).*cos(2*pi*9*t/T)+d(10).*sin(2*pi*9*t/T);%9次谐波

f10=c(11).*cos(2*pi*10*t/T)+d(11).*sin(2*pi*10*t/T);%10次谐波

f11=f0+f1+f2;%直流+基波+2次谐波

f12=f11+f3;%直流+基波+2次谐波+3次谐波

f13=f12+f4+f5+f6;%直流+基波+2次谐波+3次谐波+4次谐波+5次谐波+6次谐波

f14=f13+f7+f8+f9+f10;%0~10次

subplot(2,2,1)

plot(t,f0+f1),holdon

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

plot(t,y,'r:

')

title('直流+基波')

axis([-8,8,-0.5,1.5])

subplot(2,2,2)

plot(t,f12),holdon

y=time_fun_e(t);

plot(t,y,'r:

')

title('1-3次谐波+直流')

axis([-8,8,-0.5,1.5])

subplot(2,2,3)

plot(t,f13),holdon

y=time_fun_e(t);

plot(t,y,'r:

')

title('1-6次谐波+直流')

axis([-8,8,-0.5,1.5])

subplot(2,2,4)

plot(t,f14),holdon

y=time_fun_e(t);

plot(t,y,'r:

')

title('1-10次谐波+直流')

axis([-8,8,-0.5,1.5])

holdoff

end

functiony=time_fun_e(t)

%该函数是CTFShchsym.m的子函它由符号函数和表达式写成

a=1.5;

T=4;

h=1;

tao=T/4;

t=-3*T:

0.01:

3*T;

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

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

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

functionx=time_fun_x(t)

%该函数是CTFShchsym.m的子函数。

它由符号变量和表达式写成。

h=1;

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

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

2、已知周期为T=4的三角波,在第一周期(-2

,试用MATLAB求该信号的傅立叶级数,并绘制它的频谱图。

将它的频谱与方波的频谱图做比较。

function[A_sym,B_sym]=CTFSshbpsym(T,Nf)

%采用符号计算求[0,T]内时间函数的三角级数展开系数。

%函数的输入输出都是数值量

%Nn输出数据的准确位数

%A_sym第1元素是直流项,其后元素依次是1,2,3...次谐波cos项展开系数

%B_sym第2,3,4,...元素依次是1,2,3...次谐波sin项展开系数

%TT=m*tao,信号周期

%Nf谐波的阶数

%m(m=T/tao)周期与脉冲宽度之比,如m=4,8,16,100等

%tao脉宽:

tao=T/m

symstny

ifnargin<3

Nf=input('pleaseInput所需展开的最高谐波次数:

Nf=');

end

T=input('pleaseInput信号的周期T=');

ifnargin<5

Nn=32;

end

y=time_fun_s(t);

A0=2/T*int(y,t,0,T/2);

As=2/T*int(y*cos(2*pi*n*t/T),t,0,T/2);

Bs=2/T*int(y*sin(2*pi*n*t/T),t,0,T/2);

A_sym

(1)=double(vpa(A0,Nn));

fork=1:

Nf

A_sym(k+1)=double(vpa(subs(As,n,k),Nn));

B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn));

end

ifnargout==0

An=fliplr(A_sym);%对A_sym阵左右对称交换

An(1,k+1)=A_sym

(1);%A_sym的1*k阵扩展为1*(k+1)阵

An=fliplr(An);%对扩展后的S1阵左右对称交换回原位置

Bn=fliplr(B_sym);%对B_sym阵左右对称交换

Bn(1,k+1)=0;%B_sym的1*k阵扩展为1*(k+1)阵

Bn=fliplr(Bn);%对扩展后的S3阵左右对称交换回原位置

FnR=An/2-i*Bn/2;%用三角函数展开系数A、B值合成付里叶指数系数

FnL=fliplr(FnR);

N=Nf*2*pi/T;

k2=-N:

2*pi/T:

N;

Fn=[FnL,FnR(2:

end)];

%subplot(3,3,3)

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

subplot(2,1,1)

stem(k2,abs(Fn));%画出周期矩形脉冲的频谱(T=M*tao)

title('连续时间函数周期三角波脉冲的双边幅度谱')

axis([-80,80,0,0.12])

line([-80,80],[0,0],'color','r')

line([0,0],[0,0.12],'color','r')

end

functionx=time_fun_e(t)

%该函数是CTFSshbpsym.m的子函数。

它由符号变量和表达式写成。

%t是时间数组

%T是周期duty=tao/T=0.2

T=5;

t=-2*T:

0.01:

2*T;

tao=T/5;

x=rectpuls(t,tao);%产生一个宽度tao=1的矩形脉冲

subplot(2,2,2)

plot(t,x)

holdon

x=rectpuls(t-5,tao);%产生一个宽度tao=1的矩形脉,中心位置在t=5处

plot(t,x)

holdon

x=rectpuls(t+5,tao);%产生一个宽度tao=1的矩形脉,中心位置在t=-5处

plot(t,x)

title('周期为T=5,脉宽tao=1的矩形脉冲')

axis([-10,10,0,1.2])

functiony=time_fun_s(t)

symst

y=1-abs(t);

x1=sym('Heaviside(t+2)');

x=x1-sym('Heaviside(t-2)');

y=y*x;

ezplot(t,y,[-10,10])

grid

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2