信号与系统实验报告0623041013Word文件下载.docx

上传人:b****5 文档编号:19936578 上传时间:2023-01-12 格式:DOCX 页数:17 大小:413.97KB
下载 相关 举报
信号与系统实验报告0623041013Word文件下载.docx_第1页
第1页 / 共17页
信号与系统实验报告0623041013Word文件下载.docx_第2页
第2页 / 共17页
信号与系统实验报告0623041013Word文件下载.docx_第3页
第3页 / 共17页
信号与系统实验报告0623041013Word文件下载.docx_第4页
第4页 / 共17页
信号与系统实验报告0623041013Word文件下载.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

信号与系统实验报告0623041013Word文件下载.docx

《信号与系统实验报告0623041013Word文件下载.docx》由会员分享,可在线阅读,更多相关《信号与系统实验报告0623041013Word文件下载.docx(17页珍藏版)》请在冰豆网上搜索。

信号与系统实验报告0623041013Word文件下载.docx

subplot(2,2,4)

stem(k,f4k)

f4[k]'

⑶在k<

0:

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

a)fi[k]二sin-■}cos于;

b)f2【k]二cos2于;

c)f/k]=sin于cos青

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

k=0:

31;

f1k=sin(pi/4*k).*cos(pi/4*k);

subplot(3,1,1)

f2k=(cos(pi/4*k)).A2;

subplot(3,1,2)

f3k=sin(pi/4*k).*cos(pi/8*k);

subplot(3,1,3)

其中f1[k]的基波周期是4,f2[k]的基波周期是4,f3[k]的基波周期是16

实验二信号的基本运算

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

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

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

2•实验内容

⑴运行以上三个例题程序,掌握信号基本运算的MATLA实现方法;

改变有关参数,考察相应信号运算结果的变化特点与规律。

⑵已知信号f(t)如下图所示:

给定信号f(t)

21,p,„,,p,

11111■

£

k

1.8,」

1.6,■

1.4,・

1.2,■

)1-

0.8,・

0.6/-r

0.4-

0.2■・

0III■III

-4-3-2-101234

t

a)用MATLAB编程复现上图;

%作业题2a:

t=-6:

0.001:

6;

ft仁tripuls(t,6,0.5);

subplot(2,1,1)

plot(t,ft1)

f(t)'

b)画出f(2-2t)的波形;

%b

ft仁tripuls(2*(1-t),6,0.5);

%subplot(1,1,1)plot(t,ft1)title('

f(2*(1-t)'

c)画出晋的波形;

%c

h=0.001;

h:

yt=tripuls(t,6,0.5);

y1=diff(yt)*1/h;

plot(t(1:

length(t)-1),y1)

df(t)/dt'

d)画出f(.)d.的波形。

-nO

%d

0.1:

forx=1:

length(t)

y2(x)=quad('

tripuls(t,6,0.5)'

-3,t(x));

end

Plot(t,y2)

integraloff(t)'

实验三系统的时域分析

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

求解方法;

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

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

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

⑴运行以上五个例题程序,掌握求解系统响应的MATLA分析方法;

改变模型参数,考察系统响应的变化特点与规律。

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

y[k]-y[k-1]+0.9y[k-2]二f[k]

计算k二[-20:

100]时的系统冲激响应。

k=-20:

100;

a=[1-10.9];

b=[1];

h=impz(b,a,k);

stem(k,h);

xlabel('

Time(sec)'

ylabel('

y(t)'

⑶设h[k]=(0.9)ku(k),输入f[k]二u[k]-u[k-10],求系统输出y[k]二f[k]h[k]。

(取k=[-10:

50])

50;

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

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

hk=0.9.Ak.*uk;

fk=uk-u1k;

yk=conv(hk,fk);

stem(0:

length(yk)-1,yk);

 

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

输入信号为f(t)=2sin(0.05-tr-(t),-(t)为随机信号。

试绘出滤波器的输出信

号波形。

(取t=[0:

100])

R=101;

d=rand(1,R)-0.5;

t=0:

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,'

t,y,'

Timeindext'

legend('

y[t]'

滤波器输出波形'

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

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

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

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

2•实验内容

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

要求:

(a)首先,推导出求解a。

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

(b)利用MATLAB求解a。

,,0的值,其中K,0求解前10次系数,并给出

利用这些系数合成的信号波形。

(a)设周期信号f(t)的周期为T1,角频率「1=2二fi二三,且满足狄里赫利条件,则该周

Ti

期信号可以展开成傅立叶级数。

f(t)=a0-a1cos讹b1sin”ta2

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

cos2tb2sin2t•••ancosntbnsinnt…

QOQO

=a0…二ancos(nH)一;

bnsin(n^t)

bn

2T1

Tf(t)sinn^tdt

T1

T|

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

f(t)=7Fne"

11,n=0,_1,_2,_3「nZ±

5O

(b)求解a°

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

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;

5

Nn=32;

endx=time_fun_x(t);

%求出三角函数展开系数A0

%求出三角函数展开系数As

%求出三角函数展开系数Bs

%获取串数组A0所对应的ASC2码数值数组

A0=int(x,t,a,T+a)/T;

As=2/T*int(x*cos(2*pi*n*t/T),t,a,T+a);

Bs=2/T*int(x*sin(2*pi*n*t/T),t,a,T+a);

A_sym

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

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码数值数组

endifnargout==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项展开系数

%直流

%基波

%2次谐波

%3次谐波

%4次谐波

%5次谐波

%6次谐波

%7次谐波

%8次谐波

%9次谐波

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);

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

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

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

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

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

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

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

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),holdony=time_fun_e(t);

%调用连续时间函数-周期矩形脉冲

plot(t,y,'

r:

'

)title('

直流+基波'

)axis([-8,8,-0.5,1.5])subplot(2,2,2)plot(t,f12),holdony=time_fun_e(t);

1-3次谐波+直流'

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

plot(t,f13),holdon

y=time_fun_e(t);

1-6次谐波+直流'

plot(t,f14),holdon

1-10次谐波+直流'

holdoff

endfunctiony=time_fun_e(t)

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

h=1;

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

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

t<

2)内表示成:

X(t)=1—t,试用MATLAB求该信号的傅立叶级数,并绘制它的频谱图。

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

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

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

%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

3

Nf=input('

pleaseInput所需展开的最高谐波次数:

Nf='

end

T=input('

pleaseInput信号的周期T='

endy=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:

ifnargout==0

%对A_sym阵左右对称交换%A_sym的1*k阵扩展为1*(k+1)阵%对扩展后的S1阵左右对称交换回原位置%对B_sym阵左右对称交换%B_sym的1*k阵扩展为1*(k+1)阵%对扩展后的S3阵左右对称交换回原位置

%用三角函数展开系数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);

%调用连续时间函数-周期矩形脉冲

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

endfunctionx=time_fun_e(t)

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

%t是时间数组

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

T=5;

t=-2*T:

2*T;

tao=T/5;

x=rectpuls(t,tao);

%产生一个宽度tao=1的矩形脉冲

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处

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

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

functiony=time_fun_s(t)

symst

y=1-abs(t);

Heaviside(t+2)'

x=x1-sym('

Heaviside(t-2)'

y=y*x;

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

grid

连续时间函数周朗三角波脉冲的双边幅度谱

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

当前位置:首页 > 工作范文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1