文档库 最新最全的文档下载
当前位置:文档库 › matlab信号与系统实验报告

matlab信号与系统实验报告

matlab信号与系统实验报告
matlab信号与系统实验报告

实验一 基本信号的产生与运算

一、 实验目的

学习使用MATLAB 产生基本信号、绘制信号波形、实现信号的基本运算。 二、 实验原理

MATLAB 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。这些信号是信号处理的基础。 1、 利用MATLAB 产生下列连续信号并作图。 (1)51),1(2)(<<---=t t u t x (2)30

0),3

2sin(

)(3.0<<=-t t e t x t

(3)1.01.0,3000cos 100cos )(<<-+=t t t t x

(4)2000),8.0cos()1.0cos()(<<=t t t t x ππ 答:(1)、

>> t=-1:0.02:5; >> x=(t>1);

>> plot(t,-2*x);

>> axis([-1,5,-3,1]);

>> title('杨婕婕 朱艺星'); >> xlabel('x(t)=-2u(t-1)');

(2)、

>> t=0:0.02:30;

>> x=exp(-0.3*t).*sin(2/3*t);

>> plot(t,x);

>> title('杨婕婕朱艺星');

>> xlabel('x(t)=exp(-0.3*t).*sin(2/3*t)');

因为原函数在t=15后x(t)取值接近于零,所以将横坐标改成0到15,看得更清晰

axis([0,15,-0.2,0.6]);

(3)>> t=-0.1:0.01:0.1;x=cos(100*t)+cos(3000*t);plot(t,x);

>> title('杨婕婕朱艺星');

>>xlabel('x=cos(100*t)+cos(3000*t)');

因为t的间隔取太大,以至于函数不够准确,缩小t的间隔:

t=-0.1:0.002:0.2;x=cos(100*t)+cos(3000*t);

plot(t,x);title('杨婕婕')

>> t=-0.1:0.0001:0.1;

x=cos(100*t)+cos(3000*t);

>> plot(t,x);title('杨婕婕朱艺星');

>> xlabel('x=cos(100*t)+cos(3000*t)');

(4)、t=0:0.01:200;

>> x=cos(0.1*pi*t).*cos(0.8*pi*t);

>> plot(t,x);

>> title('杨婕婕朱艺星');

>> xlabel('x=cos(0.1*pi*t).*cos(0.8*pi*t)');

因为为周期函数,可以将横坐标t间隔扩大以便于观察图像>> axis([0,30,-1,1]);

2、

利用MATLAB 产生下列离散序列并作图。

(1)??

?≤≤-=,

05

5,1)(n n x 15

15

≤<-n

(2))]25.0cos()25.0[sin()9.0()(n n n x n ππ+=,20

20

≤<-n

答:(1)、k=-15:15;x=[zeros(1,10),ones(1,11),zeros(1,10)];

stem(k,x)axis([-15,15,-0.2,1.2]);

title('杨婕婕 朱艺星');xlabel('x(n)');

(2)、k=-20:20;

x=(0.9).^k.*(sin(0.25*pi*k)+cos(0.25*pi*k));

stem(k,x);title('杨婕婕朱艺星');

xlabel(' x=(0.9)^k*(sin(0.25*pi*k)+cos(0.25*pi*k))');

将横坐标变小以便于观察

>> axis([-20,10,-12,8]);

3、

已知序列:

]

2,3,1,0,2,1[)(-=↑

n x ,

]

1,1,1[)(-=↑

n h ,计算离散卷积

)()()(n h n x n y *=,并绘出其波形。

答:

>> x=[1,2,0,-1,3,2]; >> h=[1,-1,1]; >> y=conv(x,h);

>> stem([-2:length(y)-3],y); >> ylabel('y[k]');xlabel('k'); >> title('杨婕婕 朱艺星');

三、 实验思考题

1、两个连续信号的卷积定义是什么?两个序列的卷积定义是什么?卷积的作用是什么?

答:连续信号的卷积的定义:?∞

∞--τττd t y x )()(

序列的卷积定义:∑=-0

)()(m m n y m x 。

利用作图法即将其中一个信号图翻转,平移,两信号相乘,再相加。

傅立叶变换的卷积性质涵盖着时域相乘、频域卷积、频域相乘,时域卷积的对偶关系。前者若代表两个信号相乘,则因发生调制作用,在频域一定出现频谱搬家(频移)。后者若一个是信号,另一个代表系统,则系统起着加工处理的

滤波作用。任何信号与冲激函数相卷积,其结果是在冲激出现的时刻(位臵)再生原信号。

卷积在实际中的应用有实现幅度调制与解调,实现多路频分复用,实现单边带调幅(SSB-AM )。 2、什么是单位冲激信号)(t δ?能够用MATLAB 产生单位冲激信号吗? 答:出现过程极短,能量极大的信号为冲激信号)(t δ,其定义式为:

)(t δ=0,t 0≠ ?∞

∞-=1)(dt t δ;上式表明,在t=0

无定义,因为不能作为数学

函数的取值。而且表示)(t δ与时间覆盖的面积或称)(t δ的强度始终等于1。因为

)(t δ属于奇异函数一类的信号,能量无限大,用

MATLAB 不能产生该信号.函数

ones(1,n)可以生成单位脉冲序列。

3、产生连续信号时,首先要定义时间向量t=0:T :Tp 。其中T 和Tp 是什么意思?

答:每两点之间的时间间隔为T ,即步长为T 。连续信号的时间从0到Tp 。

实验二 利用DFT 分析离散信号频谱

一、 实验目的

应用离散傅里叶变换(DFT ),分析离散信号的频谱。深刻理解DFT 分析离散信号频谱的原理,掌握改善分析过程中产生的误差的方法。 二、 实验原理

根据信号傅里叶变换建立的时域与频域之间的对应关系,可以得到有限长序列的离散傅里叶变换(DFT )与四种确定信号傅里叶变换之间的关系(见教材),实现由DFT 分析其频谱。 三、 实验内容

1. 利用FFT 分析信号31,...,1,0),

83cos(

)(==n n n x π的频谱;

(1)、确定DFT 计算的参数;本题中Ω/2π=3/16,则周期N=16,因为本题信号无直流分量,所以取样点数可为2*N=32,但必须保证都是独立的样点。 N=32;n=0:N-1; x=cos(3*pi/8*n); X=fft(x,N);

subplot(2,1,1);

stem(n,abs(fftshift(X)));

ylabel('Magnitude');xlabel('Frequency (rad)'); title('朱艺星 杨婕婕'); subplot(2,1,2); stem(n,angle(fftshift(X))); ylabel('Phase');

xlabel('Frequency(rad)');

附:另取N=16时:

N=16;n=0:N-1;

x=cos(3*pi/8*n);

X=fft(x,N);

subplot(2,1,1);

stem(n-N/2,abs(fftshift(X)));

ylabel('Magnitude');

xlabel('Frequency (rad)');

title('朱艺星杨婕婕');

subplot(2,1,2);

stem(n-N/2,angle(fftshift(X)));

ylabel('Phase');

xlabel('Frequency(rad)');

附:N取64时;

N=64;n=0:N-1;

x=cos(3*pi/8*n);

X=fft(x,N);

subplot(2,1,1);

stem(n,abs(fftshift(X)));

ylabel('Magnitude');xlabel('Frequency (rad)');title('朱艺星杨婕婕'); subplot(2,1,2);

stem(n,angle(fftshift(X)));

ylabel('Phase');

xlabel('Frequency(rad)');

(2) 进行理论值与计算值比较,讨论信号频谱分析过程中误差原因及改善

方法。

答:在频谱分析过程中由于取样频率过低或者由于信号的截取长度不当将会产生误差。

取样频率过低,可能会产生混频现象,可以适当提高取样率,增加样点数,来减少混叠对频谱分析所造成的误差。对于连续周期信号,其时域取样必须满足时域取样定理:其取样点数K ≥2*N+1(其中N 为最高谐波分量),即kfo ≥2Nfo+fo;fs ≥2fm+fo 。

截取信号长度不当,会产生功率泄露,对周期序列进行频谱分析时,为避免泄露应做到:截取的长度应取一个基本周期或基本周期的整数倍,若待分析的周期信号事先不知道其确切的周期,则可截取较长时间长度的样点进行分析,以减少功率泄露误差。当然,必须在取样频率满足取样定理的条件下进行,否则混叠与泄露同时存在给频谱分析造成困难。

本题)

83cos(

)(n n x π=为周期信号,无直流分量,所以取样点数可为

2*N=32,但必须保证都是独立的样点。从取样点数N=32和N=16可以看出,取样点数的不同,会造成频率谱和相位谱的不同。当N=16时,n=3或-3时有幅度值,而在N=32时,n=-10和22时有幅度值,在N=64时,n=-20和44时有幅度值,得到在N=32时,其频谱已经和N=64时一致(刚好成2倍关系),且N=16时已经产生混频现象。综上得,本题取样点数可为32.

附:对于非周期连续信号,时域取样定理:fs ≥2fm.频域取样定理:一个时间受限的信号其长度为2τ在频域取样间隔Fo<1/2τ条件下,能够从样点集合完全恢复原来信号的频谱。

2. 利用FFT 分析信号)(8.0)(n u n x n =的频谱;

(1)确定DFT计算的参数;当n取30时

n=0:30;x=(0.8).^n;subplot(2,1,1);

stem(n,x);title('朱艺星杨婕婕');

subplot(2,1,2);w=n-15;plot(w,abs(fftshift(fft(x))));

附:当n取60时

n=0:60;x=(0.8).^n;subplot(2,1,1);stem(n,x);

title('朱艺星杨婕婕');subplot(2,1,2);

w=n-15;plot(w,abs(fftshift(fft(x))));

(2) 进行理论值与计算值比较,讨论信号频谱分析过程中误差原因及改善方

法。

答:信号)

(8.0)(n u n x n

=为离散非周期信号,且为无限长的信号。根据理

论分析,一个时间有限的信号其频谱宽度为无限,一个时间无限的信号其频带宽度则为有限,因此,对一个时间有限的信号,应用DFT 进行分析,频谱混叠难以避免。对一个时间无限的信号虽然频带有限,但在时间运算中,时间长度总是取有限值,所以频谱泄露难以避免。当原始信号事有限长,截取的长度等于原始信号的长度,则可以不考虑泄露的影响。当原始的非周期信号为无限长或比较长,而截取的长度有限或不等于原始信号的长度,则需考虑频谱泄露引起的不良影响。

为了减少泄露的影响,一般可适当增加长度To ,也可以通过试探法,先取长度N1(To=N1*T ),然后取N2=2*N1,进行运算。若两者计算的结果很接近,则可取N1作为截取长度,否则继续去N3=2*N2,直至相邻两个长度的计算结果相近,取长度较小的N 为好。本题中,因为信号

)

(8.0)(n u n x n

=为离散

非周期信号,且为无限长的信号,用试探法:取n 为30和60,进行比较,发现两者的频谱基本相似,所以取n 为30较好。因为n 取过大,fs 提高,要求存贮单元增加,硬件速度提高,其结果势必在经济上和技术上带来新的问题。

3. 有限长脉冲序列]5,0,1,3,3,2[)(↑

=n x ,利用FFT 分析其频谱。

N=6;n=0:N-1;x=[2,3,3,1,0,5];

subplot(3,1,1);stem(n,x);title('朱艺星 杨婕婕'); subplot(3,1,2);w=n;plot(w,abs(fftshift(fft(x)))); subplot(3,1,3);plot(w,angle(fftshift(fft(x))));

4. (选做题)某离散序列,630),15

3.2cos(

75.0)15

2cos(

)(≤≤+=n n n n x ππ利用FFT

分析其频谱。

(1) 对)(n x 做N=64点FFT ,绘出信号的频谱,能够分辨出其中的两个频率吗? 假设x(n)是由连续信号)3.2cos(75.0)2cos()(t t t x ππ+=以fs=15Hz 进行取样得来的,则△f=(2.3-2)π/2π=0.15Hz,根据公式:N ≥fs/△f 得N 最小应该为100.若取N=64,则不能分辨其中的两个频率。 N=64;n=0:N-1;

x=cos(pi*2/15*n)+0.75*cos(2.3*pi/15*n); X=fft(x,N);

subplot(2,1,1);

stem(n,abs(fftshift(X))); title('朱艺星 杨婕婕'); ylabel('Magnitude');

xlabel('Frequency (rad)'); subplot(2,1,2);

stem(n,angle(fftshift(X))); ylabel('Phase');

xlabel('Frequency (rad)')

(2)对)

x补零到N=256点后计算FFT,能够分辨出其中的两个频率吗?

(n

时域补零的结果L的数量增加到256,原本的频域N为64,因为L要小于等于N,所以此时的N要扩大为256,致使频域的样点数也增加,所以此时采取时域补零的方法能提高频率分辨力。

但如果是在时域补零法得到的L的个数仍小于频域样点数N,则时域补零法并没有增加信息量,增加后但在频域的N并没有变化,所以采取时域补零的方法不能提高频率分辨力,因为分辨力主要取决于频域样点数N的变化。

N=64;n=0:N-1;

y=cos(pi*2/15*n)+0.75*cos(2.3*pi/15*n);

x=[y,zeros(1,256-64)];M=256;

X=fft(x,M);

subplot(2,1,1);

stem(0:M-1,abs(fftshift(X)));

title('朱艺星杨婕婕');

ylabel('Magnitude');

xlabel('Frequency (rad)');

subplot(2,1,2);

stem(0:M-1,angle(fftshift(X)));

ylabel('Phase');

xlabel('Frequency (rad)');

(3)若不能够很好地分辨出其中的两个频率,应采用哪些措施?

答:可以提高取样频率,增加频域的取样点数。当然,如果在T不变条件下,真正增加时域取样长度L,使提供所载荷的信息量增加,功率泄露减少,也会在

一定程度上改善频率分辨力,但这不是通过补零使时域长度延长的结果,因为补零不增加信息量。 四、 实验思考题

1. 既然可直接由DTFT 定义计算序列DTFT ,为何利用DFT 分析序列的频谱?

答:通过DFT 可以求出确定性信号相应的离散频谱或频谱的样值,变换到有限频谱序列,这样就可以用计算机实现对信号进行分析,数字化计算速度快,故提出了DFT 来分析序列的频谱

2. 若序列持续时间无限长,且无解析表达式,如何利用DFT 分析其频谱?

答:当原始的非周期信号为无限长或比较长,可截取一段时间内的序列值,长度为L ,作N 点的DFT 变换,N ≥L 。而截取的长度有限或不等于原始信号的长度,则需考虑频谱泄露引起的不良影响。为了减少泄露的影响,一般可适当增加长度To ,也可以通过试探法,先取长度L1(To=L1*T ),然后取L2=2*L1,进行运算。若两者计算的结果很接近,则可取N1作为截取长度,否则继续去L3=2*L2,直至相邻两个长度的计算结果相近,取长度较小的L 为好。

再从L 点有限长序列x(n)相应的频谱X(Ω)中,在主周期[-π,π]内对X(Ω)进行离散化,随即得到N 个频谱样点 用公式可表示为

3. 序列补零和增加序列长度到可以提高频谱分辨率吗?两者有何本质区别?

答:如果采取时域补零法得到的L 的个数仍小于频域样点数N ,则时域补零法并没有增加信息量,增加后但在频域的N 并没有变化,所以采取时域补零的方法不能提高频率分辨力,因为分辨力主要取决于频域样点数N 的变化。但如果是补零后的时域序列个数增加到L2,且L2个数大于频域样点数N ,因为要满足N 大于等于L ,则现在会使频域样点数也随之增加,所以此时采取时域补零的方法能提高频率分辨力。

如果在T 不变条件下,真正增加时域取样长度L ,使提供所载荷的信息量增加,功率泄露减少,也会在一定程度上改善频率分辨力,但这不是通过补零使时域长度延长的结果,因为补零不增加信息量。

[]221

0()()()()0,1,......,1

k N

L jk n

N

n X k D FT x n X x n e k N π

ΩπΩ=--=====-∑

实验三 离散系统分析

一、 实验目的

深刻理解离散时间系统的系统函数在分析系统时域特性、频域特性及稳定性中的重要作用及意义,掌握根据系统函数的零极点设计简单的滤波器的方法。熟练掌握利用MATLAB 分析离散系统的响应求解、频响特性和零极点的方法。 二、实验原理

MATLAB 提供了许多可用于分析线性非时变离散系统的函数,主要包括有系数函数、系统时域响应、系统频域响应等分析函数。 二、 实验内容

1. 已知某离散LTI 系统的差分方程为

)2(0675.0)1(1349.0)(0675.0)2(4128.0)1(143.1)(-+-+=-+--n x n x n x n y n y n y (1) 初始状态2)2(,1)1(=-=-y y ,输入)()(n u n x =,计算系统的完全响应; N=100;

b=[0.0675,0.1349,0.0675]; a=[1,-1.143,0.4128]; x=ones(1,N);

y=filtic (b,a,[1,2]); y=filter (b,a,x,y);

0.3849 0.22954 0.37338 0.60192 0.80376 0.94013 1.0127 1.0393 1.0398 1.0294 1.0172 1.0077 1.0018 0.99894 0.99817

0.99844 0.99907 0.99969 1.0001 1.0004 1.0005 1.0005 1.0005 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004 1.0004

(2) 当以下3个信号分别通过离散系统时,分别计算离散系统的零状态响应

)

()10

7cos(

)(,

)()5

cos(

)(),

()10

cos(

)(321n u n n x n u n n x n u n n x ππ

π

===

<1>),()10

cos(

)(1n u n n x π

=

N=100;n=0:N-1;x2=[ones(1,N)];

b=[0.0675,0.1349,0.0675];a=[1,-1.143,0.4128]; x=cos(pi/10*n).*x2; y=filter(b,a,x);

0.0675 0.27625 0.53829 0.71424 0.74893 0.64255

0.42528 0.13948 -0.17088 -0.46591 -0.7124 -0.88524 -0.96815 -0.95418 -0.84574 -0.65415 -0.39858 -0.10418

0.20022 0.48486 0.72195 0.88833 0.96775 0.95244 0.84391 0.65279 0.39777 0.10382 -0.2003 -0.4848 -0.72185 -0.88824 -0.96769 -0.95241 -0.8439 -0.65279 -0.39777 -0.10382 0.20029 0.4848 0.72185 0.88824 0.96769 0.95241 0.8439 0.65279 0.39777 0.10382

-0.20029 -0.4848 -0.72185 -0.88824 -0.96769 -0.95241 -0.8439 -0.65279 -0.39777 -0.10382 0.20029 0.4848 0.72185 0.88824 0.96769 0.95241 0.8439 0.65279

0.39777 0.10382 -0.20029 -0.4848 -0.72185 -0.88824 -0.96769 -0.95241 -0.8439 -0.65279 -0.39777 -0.10382

0.20029 0.4848 0.72185 0.88824 0.96769 0.95241 0.8439 0.65279 0.39777 0.10382 -0.20029 -0.4848 -0.72185 -0.88824 -0.96769 -0.95241 -0.8439 -0.65279 -0.39777 -0.10382 0.20029 0.4848

<2>

)()5

cos(

)(2n u n n x π

=

N=100;n=0:N-1;

x2=[ones(1,N)];b=[0.0675,0.1349,0.0675];a=[1,-1.143,0.4128]; x=cos(pi/5*n).*x2; y=filter(b,a,x);

0.0675 0.26666 0.47442 0.50763 0.30894 -0.053927 -0.43329 -0.67048 -0.66293 -0.40552 0.0076411 0.42025 0.67469 0.67312 0.41543 -0.00051967 -0.4162 -0.673 -0.67287 -0.41584 -4.622e-005 0.41572 0.67268 0.6727 0.41578 4.9913e-005 -0.41569 -0.67265 -0.67268 -0.41577 -4.3711e-005 0.4157 0.67265 0.67268 0.41577 4.2691e-005 -0.4157 -0.67265 -0.67268 -0.41577 -4.2604e-005 0.4157 0.67265 0.67268 0.41577 4.2603e-005 -0.4157 -0.67265 -0.67268 -0.41577 -4.2604e-005 0.4157 0.67265 0.67268

0.41577 4.2604e-005 -0.4157 -0.67265 -0.67268 -0.41577 -4.2604e-005 0.4157 0.67265 0.67268 0.41577 4.2604e-005 -0.4157 -0.67265 -0.67268 -0.41577 -4.2604e-005 0.4157 0.67265 0.67268 0.41577 4.2604e-005 -0.4157 -0.67265 -0.67268 -0.41577 -4.2604e-005 0.4157 0.67265 0.67268

0.41577 4.2604e-005 -0.4157 -0.67265 -0.67268 -0.41577 -4.2604e-005 0.4157 0.67265 0.67268 0.41577 4.2604e-005 -0.4157 -0.67265 -0.67268 -0.41577 <3>)()10

7cos(

)(3n u n n x π=

N=100;n=0:N-1;

x2=[ones(1,N)];b=[0.0675,0.1349,0.0675];a=[1,-1.143,0.4128]; x=cos(pi*7/10*n).*x2; y=filter(b,a,x);

0.0675 0.17238 0.13651 0.06771 0.073871 0.011544 -0.0173

0.020401 -0.02237 -0.016825 0.022654 -0.02271 -0.0026582

0.023502 -0.02487 0.0068118 0.018052 -0.027118 0.014382

0.010468 -0.026623 0.020797 0.0021107 -0.023338 0.025283

-0.0064072 -0.01776 0.027285 -0.014312 -0.010456 0.026607

-0.02082 -0.0021304 0.023325 -0.02529 0.0064049 0.017761

-0.027284 0.014313 0.010457 -0.026607 0.020821 0.0021305

-0.023325 0.02529 -0.0064049 -0.017761 0.027284 -0.014313

-0.010457 0.026607 -0.020821 -0.0021305 0.023325 -0.02529

0.0064049 0.017761 -0.027284 0.014313 0.010457 -0.026607

0.020821 0.0021305 -0.023325 0.02529 -0.0064049 -0.017761

0.027284 -0.014313 -0.010457 0.026607 -0.020821 -0.0021305

0.023325 -0.02529 0.0064049 0.017761 -0.027284 0.014313

0.010457 -0.026607 0.020821 0.0021305 -0.023325 0.02529

-0.0064049 -0.017761 0.027284 -0.014313 -0.010457 0.026607

-0.020821 -0.0021305 0.023325 -0.02529 0.0064049 0.017761

-0.027284 0.014313 0.010457

(3)该系统具有什么特性。

答:该系统是低通滤波器。频率越高,幅度衰减越大。X3频率最高,幅度衰减也最大。计算H( ),也看出此为低通滤波器。

N=100;n=0:N-1;

b=[0.0675,0.1349,0.0675];a=[1,-1.143,0.4128];

h=impz(b,a,N);H=fft(h,N);subplot;

stem(n-N/2,abs(fftshift(H)));

title('杨婕婕 H');

2. 已知某因果LTI 离散系统的系统函数为

4

3214

32104033.02605.08246.0035.1103571.01428.02143.01428.003571.0)(--------+-+-++++=

z z z z z z z z z H

(1) 计算系统的单位脉冲响应; (2) 当信号)()2

cos(

)()4

cos(

)()(n u n n u n n u n x π

π

++=通过系统时,

计算系统的零状态响应。

(1)N=40;

a=[1,-1.035,0.8246,-0.2605,0.04033,];

b=[0.03571,0.1428,0.2143,0.1428,0.03571]; y=impz(b,a,N); stem(y);

xlabel('n');

title('朱艺星 杨婕婕 h(n)')

(2)N=100; n=0:N-1;

x2=[ones(1,N)];

a=[1,-1.035,0.8246,-0.2605,0.04033,];

b=[0.03571,0.1428,0.2143,0.1428,0.03571]; x=x2+cos(pi/4*n).*x2+cos(pi/2*n).*x2; y=filter(b,a,x);stem(y);xlabel('n'); title('朱艺星 杨婕婕');

信号与系统matlab实验及答案

产生离散衰减正弦序列()π0.8sin 4n x n n ?? = ??? , 010n ≤≤,并画出其波形图。 n=0:10; x=sin(pi/4*n).*0.8.^n; stem(n,x);xlabel( 'n' );ylabel( 'x(n)' ); 用MATLAB 生成信号()0sinc at t -, a 和0t 都是实数,410t -<<,画波形图。观察并分析a 和0t 的变化对波形的影响。 t=linspace(-4,7); a=1;

t0=2; y=sinc(a*t-t0); plot(t,y); t=linspace(-4,7); a=2; t0=2; y=sinc(a*t-t0); plot(t,y);

t=linspace(-4,7); a=1; t0=2; y=sinc(a*t-t0); plot(t,y);

三组对比可得a 越大最大值越小,t0越大图像对称轴越往右移 某频率为f 的正弦波可表示为()()cos 2πa x t ft =,对其进行等间隔抽样,得到的离散样值序列可表示为()()a t nT x n x t ==,其中T 称为抽样间隔,代表相邻样值间的时间间隔,1 s f T = 表示抽样频率,即单位时间内抽取样值的个数。抽样频率取40 Hz s f =,信号频率f 分别取5Hz, 10Hz, 20Hz 和30Hz 。请在同一张图中同时画出连续信号()a x t t 和序列()x n nT 的波形图,并观察和对比分析样值序列的变化。可能用到的函数为plot, stem, hold on 。 fs = 40; t = 0 : 1/fs : 1 ; % ?μ?ê·?±e?a5Hz,10Hz,20Hz,30Hz f1=5; xa = cos(2*pi*f1*t) ; subplot(1, 2, 1) ;

matlab实验报告

数学实验报告 班级: 学号: 姓名: 实验序号:1 日期:年 月 日 实验名称:特殊函数与图形 ◆ 问题背景描述:绘图是数学中的一种重要手段,借助图形,可以使抽象的对象得到 明白直观的体现,如函数的性质等。同时,借助直观的图形,使初学者更容易接受新知识,激发学习兴趣。 ◆ 实验目的:本实验通过绘制一些特殊函数的图形,一方面展示这些函数的特点属性, 另一方面,就 Matlab 强大的作图功能作一个简单介绍。 实验原理与数学模型: 1、 球2222x y z R ++= ,x=Rsin φcos θ, y= Rsin φsin θ, z= cos φ, 0≤θ≤2π , 0≤φ≤π 环面 222222222()4(),(cos )cos ,x y z a r a x y x a r φθ+++-=+=- (cos )sin ,sin ,02,02y a r z r φθφφπθπ=-=≤≤≤≤ 2、 平面摆线:2 22 31150,(sin ),(1cos ),0233 x y x a t t y a t t π+-==-=-≤≤ 3、 空间螺线:(圆柱螺线)x=acost , y=asint , z=bt ;(圆锥螺线)22 cos ,sin ,x t t y t t z t === 4、 椭球面sin cos ,sin sin ,cos ,02,0x a y b z c φθφθφθπφπ===≤<≤≤ 双叶双曲面3 tan cos ,tan sin ,sec ,02,22 x a y b z c π φθφθφθπφπ===≤<- << 双曲抛物面2 sec ,tan 2 u x au y bu z θθ=== 实验所用软件及版本:mathematica(3.0) 主要内容(要点): 1、 作出下列三维图形(球、环面) 2、 作出下列的墨西哥帽子 3、 作出球面、椭球面、双叶双曲面,单叶双曲面的图形 4、 试画出田螺上的一根螺线 5、 作出如图的马鞍面

MATLAB实验报告50059

实验一MATLAB操作基础 实验目的和要求: 1、熟悉MATLAB的操作环境及基本操作方法。 2、掌握MATLAB的搜索路径及设置方法。 3、熟悉MATLAB帮助信息的查阅方法 实验内容: 1、建立自己的工作目录,再设置自己的工作目录设置到MA TLAB搜索路径下,再试 验用help命令能否查询到自己的工作目录。 2、在MA TLAB的操作环境下验证课本;例1-1至例1-4,总结MATLAB的特点。 例1-1

例1-2 例1-3 例1-4

3、利用帮助功能查询inv、plot、max、round等函数的功能。 4、完成下列操作: (1)在matlab命令窗口输入以下命令: x=0:pi/10:2*pi; y=sin(x); (2)在工作空间窗口选择变量y,再在工作空间窗口选择回绘图菜单命令或在工具栏中单击绘图命令按钮,绘制变量y的图形,并分析图形的含义。

5、访问mathworks公司的主页,查询有关MATLAB的产品信息。 主要教学环节的组织: 教师讲授实验目的、开发环境界面、演示实验过程,然后同学上机练习。 思考题: 1、如何启动与退出MA TLAB集成环境? 启动: (1)在windows桌面,单击任务栏上的开始按钮,选择‘所有程序’菜单项,然后选择MA TLAB程序组中的MA TLABR2008b程序选项,即可启动 MATLAB系统。 (2)在MA TLAB的安装路径中找到MA TLAB系统启动程序matlab.exe,然后运行它。 (3)在桌面上建立快捷方式后。双击快捷方式图标,启动MA TLAB。 退出: (1)在MA TLAB主窗口file菜单中选择exitMATLAB命令。 (2)在MA TLAB命令窗口中输入exit或quit命令。 (3)单击MATLAB主窗口的关闭按钮。 2、简述MATLAB的主要功能。 MATLAB是一种应用于科学计算领域的数学软件,它主要包括数值计算和符 号计算功能、绘图功能、编程语言功能以及应用工具箱的扩展功能。 3、如果一个MATLAB命令包含的字符很多,需要分成多行输入,该如何处理?

信号与系统 MATLAB实验报告

《信号与系统》MATLAB实验报告 院系:专业: 年级:班号: :学号: 实验时间: 实验地点:

实验一 连续时间信号的表示及可视化 实验题目: )()(t t f δ=;)()(t t f ε=;at e t f =)((分别取00<>a a 及); )()(t R t f =;)()(t Sa t f ω=;)2()(ft Sin t f π=(分别画出不同周期个数的波形)。 解题分析: 以上各类连续函数,先运用t = t1: p:t2的命令定义时间围向量,然后调用对应的函数,建立f 与t 的关系,最后调用plot ()函数绘制图像,并用axis ()函数限制其坐标围。 实验程序: (1))()(t t f δ= t=-1:0.01:3 %设定时间变量t 的围及步长 f=dirac(t) %调用冲激函数dirac () plot(t,f) %用plot 函数绘制连续函数 axis([-1,3,-0.5,1.5]) %用axis 函数规定横纵坐标的围 (2))()(t t f ε= 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)at e t f =)( 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))()(t R t f = 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))()(t Sa t f ω= ω=1时: t=-20:0.01:20 f=sin(t)./t % 调用正弦函数sin (),并用sin (t )./t 实现抽 样函数 plot(t,f)

(完整word版)信号与系统matlab实验

习题三 绘制典型信号及其频谱图 1.更改参数,调试程序,绘制单边指数信号的波形图和频谱图。观察参数a对信号波形 及其频谱的影响。 程序代码: close all; E=1;a=1; t=0:0.01:4; w=-30:0.01:30; f=E*exp(-a*t); F=1./(a+j*w); plot(t,f);xlabel('t');ylabel('f(t)'); figure; plot(w,abs(F));xlabel('\omega');ylabel('|F(\omega)|';

E=1,a=1,波形图频谱图更改参数E=2,a=1;

更改参数a,对信号波形及其频谱的影响。(保持E=2)上图为a=1图像 a=2时

a=4时 随着a的增大,f(t)曲线变得越来越陡,更快的逼近0,而对于频谱图,随着a增大,图像渐渐向两边张开,峰值减小,陡度减小,图像整体变得更加平缓。 2.矩形脉冲信号 程序代码: close all; E=1;tao=1; t=-4:0.1:4; w=-30:0.1:30;

f=E*(t>-tao/2&tao/2)+0*(t<=-tao/2&t>=tao/2); F=(2*E./w).*sin(w*tao/2); plot(t,f);xlabel('t');ylabel('f(t)'); figure; plot(w,abs(F));xlabel('\omega');ylabel('|F(\omega)|') ; figure; plot(w,20*log10(abs(F))); xlabel('\omega');ylabel('|F(\omega)| in dB'); figure; plot(w,angle(F));xlabel('\omega');ylabel('\phi(\omega )');

MATLAB实验报告(1-4)

信号与系统MATLAB第一次实验报告 一、实验目的 1.熟悉MATLAB软件并会简单的使用运算和简单二维图的绘制。 2.学会运用MATLAB表示常用连续时间信号的方法 3.观察并熟悉一些信号的波形和特性。 4.学会运用MATLAB进行连续信号时移、反折和尺度变换。 5.学会运用MATLAB进行连续时间微分、积分运算。 6.学会运用MATLAB进行连续信号相加、相乘运算。 7.学会运用MATLAB进行连续信号的奇偶分解。 二、实验任务 将实验书中的例题和解析看懂,并在MATLAB软件中练习例题,最终将作业完成。 三、实验内容 1.MATLAB软件基本运算入门。 1). MATLAB软件的数值计算: 算数运算 向量运算:1.向量元素要用”[ ]”括起来,元素之间可用空格、逗号分隔生成行向量,用分号分隔生成列向量。2.x=x0:step:xn.其中x0位初始值,step表示步长或者增量,xn 为结束值。 矩阵运算:1.矩阵”[ ]”括起来;矩阵每一行的各个元素必须用”,”或者空格分开; 矩阵的不同行之间必须用分号”;”或者ENTER分开。2.矩阵的加法或者减法运算是将矩阵的对应元素分别进行加法或者减法的运算。3.常用的点运算包括”.*”、”./”、”.\”、”.^”等等。 举例:计算一个函数并绘制出在对应区间上对应的值。

2).MATLAB软件的符号运算:定义符号变量的语句格式为”syms 变量名” 2.MATLAB软件简单二维图形绘制 1).函数y=f(x)关于变量x的曲线绘制用语:>>plot(x,y) 2).输出多个图像表顺序:例如m和n表示在一个窗口中显示m行n列个图像,p表 示第p个区域,表达为subplot(mnp)或者subplot(m,n,p) 3).表示输出表格横轴纵轴表达范围:axis([xmax,xmin,ymax,ymin]) 4).标上横轴纵轴的字母:xlabel(‘x’),ylabel(‘y’) 5).命名图像就在subplot写在同一行或者在下一个subplot前:title(‘……’) 6).输出:grid on 举例1: 举例2:

matlab实验报告

实验一小球做自由落体运动内容:一小球竖直方向做自由落体,并无损做往返运动。程序: theta=0:0.01:2*pi x=cos(theta) y=sin(theta) l=1 v=1 while l<10 for t=1:10 y=y+(-1)^l*v*t plot(x,y,[-1,1],[-56,2],'.') axis equal pause(0.1) end l=l+1 end 结果:

-50 -40 -30 -20 -10 收获:通过运用小球自由落体规律,及(-1)^n 来实现无损往 返运动! 实验二 旋转五角星 内容:一个五角星在圆内匀速旋转 程序:x=[2 2 2 2 2 2] y=[0 4/5*pi 8/5*pi 2/5*pi 6/5*pi 0] y1=2*sin(y) x1=2*cos(y) theta=0:4/5*pi:4*pi

x2=2*cos(theta) y2=2*sin(theta) plot(x,y,x1,y1,x2,y2) axis equal theta1=theta+pi/10 x2=2*cos(theta1) y2=2*sin(theta1) plot(x2,y2) axis equal theta=0:4/5*pi:4*pi for rot=pi/10:pi/10:2*pi x=2*cos(theta+rot) y=2*sin(theta+rot) plot(x,y) pause(0.1) end 结果:

-2 -1.5-1-0.500.51 1.52 -2-1.5-1-0.500.511.5 2 收获:通过theta1=theta+pi/10,我们可以实现五角星在圆内匀速 旋转! 实验三 转动的自行车 内容:一辆自行车在圆内匀速转动 程序:x=-4:0.08:4; y=sqrt(16-x.^2); theta1=-pi/2:0.01*pi:3*pi/2; x3=0.5*cos(theta1); y3=0.5*sin(theta1); theta=-pi/2+0.02*pi for k=1:100

MATLAB实验报告

实验一 名称:连续时间信号分析 姓名:王嘉琦 学号:201300800636 班级:通信二班 一、实验目的 (一)掌握使用Matlab 表示连续时间信号 1、学会运用Matlab 表示常用连续时间信号的方法 2、观察并熟悉常用信号的波形和特性 (二)掌握使用Matlab 进行连续时间信号的相关运算 1、学会运用Matlab 进行连续时间信号的时移、反褶和尺度变换 2、学会运用Matlab 进行连续时间信号微分、积分运算 3、学会运用Matlab 进行连续时间信号相加、相乘运算 4、学会运用Matlab 进行连续时间信号卷积运算 二、实验条件 Matlab 三、实验内容 1、利用Matlab 命令画出下列连续信号的波形图。 (1))4/3t (2cos π+ 代码: k=2;w=3;phi=pi/4; t=0:0.01:3; ft=k*cos(w*t+phi); plot(t,ft),grid on; axis([0,3,-2.2,2.2]) title('余弦信号')

(2) )t (u )e 2(t -- 代码: k=-1;a=-1; t=0:0.01:3; ft=2-k*exp(a*t); plot(t,ft),grid on axis([0,3,2,3]) title('指数信号')

(3))]2()(u )][t (cos 1[--+t u t π 代码: k=1;w=pi;phi=0; t=0:0.01:2; ft=1+k*cos(w*t+phi); plot(t,ft),grid on; axis([0,3,0,2]) title('余弦信号')

信号与系统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光滑得多。

参考答案Matlab实验报告

实验一 Matlab基础知识 一、实验目的: 1.熟悉启动和退出Matlab的方法。 2.熟悉Matlab命令窗口的组成。 3.掌握建立矩阵的方法。 4.掌握Matlab各种表达式的书写规则以及常用函数的使 用。 二、实验内容: 1.求[100,999]之间能被21整除的数的个数。(rem) 2.建立一个字符串向量,删除其中的大写字母。(find) 3.输入矩阵,并找出其中大于或等于5的元素。(find) 4.不采用循环的形式求出和式 63 1 2i i= ∑ 的数值解。(sum) 三、实验步骤: ●求[100,199]之间能被21整除的数的个数。(rem) 1.开始→程序→Matlab 2.输入命令: ?m=100:999; ?p=rem(m,21); ?q=sum(p==0) ans=43 ●建立一个字符串向量,删除其中的大写字母。(find) 1.输入命令:

?k=input('’,’s’); Eie48458DHUEI4778 ?f=find(k>=’A’&k<=’Z’); f=9 10 11 12 13 ?k(f)=[ ] K=eie484584778 ●输入矩阵,并找出其中大于或等于5的元素。(find) 1.输入命令: ?h=[4 8 10;3 6 9; 5 7 3]; ?[i,j]=find(h>=5) i=3 j=1 1 2 2 2 3 2 1 3 2 3 ●不采用循环的形式求出和式的数值解。(sum) 1.输入命令: ?w=1:63; ?q=sum(2.^w) q=1.8447e+019

实验二 Matlab 基本程序 一、 实验目的: 1. 熟悉Matlab 的环境与工作空间。 2. 熟悉M 文件与M 函数的编写与应用。 3. 熟悉Matlab 的控制语句。 4. 掌握if,switch,for 等语句的使用。 二、 实验内容: 1. 根据y=1+1/3+1/5+……+1/(2n-1),编程求:y<5时最大n 值以及对应的y 值。 2. 编程完成,对输入的函数的百分制成绩进行等绩转换,90~100为优,80~89为良,70~79为中,60~69为及格。 3. 编写M 函数文件表示函数 ,并分别求x=12和56时的函数值。 4. 编程求分段函数 2226;03 56;0532 1;x x x x y x x x x x x x +-<≠=-+≤<≠≠-+且且及其它,并求输入x=[-5.0,-3.0,1.0,2.0,2.5,3.0,3.5]时的输出y 。 三、 实验步骤: 根据y=1+1/3+1/5+……+1/(2n-1),编程求:y<5时最大n 值以及对应的y 值。 1. 打开Matlab ,新建M 文件 2. 输入命令: 51022-+x

matlab信号与系统实验报告

实验一 基本信号的产生与运算 一、 实验目的 学习使用MATLAB 产生基本信号、绘制信号波形、实现信号的基本运算。 二、 实验原理 MATLAB 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。这些信号是信号处理的基础。 1、 利用MATLAB 产生下列连续信号并作图。 (1)51),1(2)(<<---=t t u t x (2)300),3 2 sin()(3.0<<=-t t e t x t (3)1.01.0,3000cos 100cos )(<<-+=t t t t x (4)2000),8.0cos()1.0cos()(<<=t t t t x ππ 答:(1)、 >> t=-1:0.02:5; >> x=(t>1); >> plot(t,-2*x); >> axis([-1,5,-3,1]); >> title('杨婕婕 朱艺星'); >> xlabel('x(t)=-2u(t-1)');

(2)、 >> t=0:0.02:30; >> x=exp(-0.3*t).*sin(2/3*t); >> plot(t,x); >> title('杨婕婕朱艺星'); >> xlabel('x(t)=exp(-0.3*t).*sin(2/3*t)');

因为原函数在t=15后x(t)取值接近于零,所以将横坐标改成0到15,看得更清晰 axis([0,15,-0.2,0.6]);

(3)>> t=-0.1:0.01:0.1;x=cos(100*t)+cos(3000*t);plot(t,x); >> title('杨婕婕朱艺星'); >>xlabel('x=cos(100*t)+cos(3000*t)'); 因为t的间隔取太大,以至于函数不够准确,缩小t的间隔:t=-0.1:0.002:0.2;x=cos(100*t)+cos(3000*t); plot(t,x);title('杨婕婕')

信号与系统MATLAB实验总汇

实验一、MATLAB 编程基础及典型实例 一、实验目的 (1)熟悉MATLAB 软件平台的使用; (2)熟悉MATLAB 编程方法及常用语句; (3)掌握MATLAB 的可视化绘图技术; (4)结合《信号与系统》的特点,编程实现常用信号及其运算。 示例一:在两个信号进行加、减、相乘运算时,参于运算的两个向量要有相同的维数,并且它们的时间变量范围要相同,即要对齐。编制一个函数型m 文件,实现这个功能。function [f1_new,f2_new,n]=duiqi(f1,n1,f2,n2) a=min(min(n1),min(n2)); b=max(max(n1),max(n2)); n=a:b; f1_new=zeros(1,length(n)); f2_new=zeros(1,length(n)); tem1=find((n>=min(n1))&(n<=max(n1))==1); f1_new(tem1)=f1; tem2=find((n>=min(n2))&(n<=max(n2))==1); f2_new(tem2)=f2; 四、实验内容与步骤 (2)绘制信号x(t)=)3 2sin(2t e t ?的曲线,t 的范围在0~30s ,取样时间间隔为0.1s 。t=0:0.1:30; y=exp(-sqrt(2)*t).*sin(2*t/3); plot(t,y);

(3)在n=[-10:10]范围产生离散序列:?? ?≤≤?=Other n n n x ,033,2)(,并绘图。n=-10:1:10; z1=((n+3)>=0); z2=((n-3)>=0); x=2*n.*(z1-z2); stem(n,x);(4)编程实现如下图所示的波形。 t=-2:0.001:3; f1=((t>=-1)&(t<=1)); f2=((t>=-1)&(t<=2)); f=f1+f2; plot(t,f); axis([-2,3,0,3]);

matlab实验报告

实验报告 2. The Branching statements 一、实验目的: 1.To grasp the use of the branching statements; 2.To grasp the top-down program design technique. 二、实验内容及要求: 1.实验内容: 1).编写 MATLAB 语句计算 y(t)的值 (Write the MATLAB program required to calculate y(t) from the equation) ???<+≥+-=0 530 53)(2 2t t t t t y 已知 t 从-5到 5 每隔0.5取一次值。运用循环和选择语句进行计算。 (for values of t between -5 and 5 in steps of 0.5. Use loops and branches to perform this calculation.) 2).用向量算法解决练习 1, 比较这两个方案的耗时。 (tic ,toc 的命令可以帮助你完成的时间计算,请使用'help'函数)。 Rewrite the program 1 using vectorization and compare the consuming time of these two programs. (tic, toc commands can help you to finish the time calculation, please use the …help ? function). 2.实验要求: 在报告中要体现top-down design technique, 对于 3 要写出完整的设计过程。 三、设计思路: 1.用循环和选择语句进行计算: 1).定义自变量t :t=-5:0.5:5; 2).用循环语句实现对自变量的遍历。 3).用选择语句实现对自变量的判断,选择。 4).将选择语句置入循环语句中,则实现在遍历中对数据的选择,从而实现程序的功能。 2. 用向量法实现: 1).定义自变量t :t=-5:0.5:5; 2).用 b=t>=0 语句,将t>=0得数据选择出,再通过向量运算y(b)=-3*t(b).^2 + 5; 得出结果。 3).用取反运算,选择出剩下的数据,在进行向量运算,得出结果。 四、实验程序和结果 1.实验程序 实验程序:创建m 文件:y_t.m

matlab实验报告

Matlab实验报告 实验二图像处理 一、实验目的 (1)通过应用MA TLAB语言编程实现对图像的处理,进一步熟悉MATLAB软件的编程及应用; (2)通过实验进一步掌握图像处理的基本技术和方法。 二、实验内容及代码 ㈠.应用MA TLAB语言编写显示一幅灰度图像、二值图像、索引图像及彩色图像的程序,并进行相互之间的转换 首先,在matlab页面中的current directory下打开存放图像的文件夹。 1.显示各种图像 ⑴显示彩色图像: ①代码:>> mousetif=imread('tif.TIF'); >> image(mousetif) 显示截图: ②代码:>> mousetif=imread('tif.TIF'); >> imshow(mousetif) 显示截图:

③代码:mousetif=imread('tif.TIF'); subimage(mousetif) 显示截图: 显示截图:

⑵显示二值图像 ①代码:>> I=imread('单色bmp.bmp'); >> imagesc(I,[0 2]) 显示截图: ②代码:>> I=imread('单色bmp.bmp');

>> imshow(I,2) 显示截图: ③代码:>> I=imread('单色bmp.bmp'); >> subimage(I) 显示截图:

⑶显示灰度图像 ①代码:>> I1=imread('256bmp.bmp'); >> imagesc(I1,[0,256]) 显示截图: 代码:>> I1=imread('256bmp.bmp'); >> colormap(gray); >> subplot(1,2,1); >> imagesc(I1,[0,256]); >> title('灰度级为[0 256]的mouse.bmp图'); >> subplot(1,2,2); >> imagesc(I1,[0,64]); >> colormap(gray); >> title('灰度级为[0 64]的mouse.bmp图'); 显示截图:

matlab信号与系统实验报告

实验一 基本信号的产生与运算 一、 实验目的 学习使用MATLAB 产生基本信号、绘制信号波形、实现信号的基本运算。 二、 实验原理 MATLAB 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。这些信号是信号处理的基础。 1、 利用MATLAB 产生下列连续信号并作图。 (1)51),1(2)(<<---=t t u t x (2)300),3 2sin()(3.0<<=-t t e t x t (3)1.01.0,3000cos 100cos )(<<-+=t t t t x (4)2000),8.0cos()1.0cos()(<<=t t t t x ππ 答:(1)、 >> t=-1:0.02:5; >> x=(t>1); >> plot(t,-2*x); >> axis([-1,5,-3,1]); >> title('杨婕婕 朱艺星'); >> xlabel('x(t)=-2u(t-1)'); (2)、 >> t=0:0.02:30; >> x=exp(-0.3*t).*sin(2/3*t);

>> plot(t,x); >> title('杨婕婕朱艺星'); >> xlabel('x(t)=exp(-0.3*t).*sin(2/3*t)'); 因为原函数在t=15后x(t)取值接近于零,所以将横坐标改成0到15,看得更清晰 axis([0,15,-0.2,0.6]);

(3)>> t=-0.1:0.01:0.1;x=cos(100*t)+cos(3000*t);plot(t,x); >> title('杨婕婕朱艺星'); >>xlabel('x=cos(100*t)+cos(3000*t)'); 因为t的间隔取太大,以至于函数不够准确,缩小t的间隔: t=-0.1:0.002:0.2;x=cos(100*t)+cos(3000*t); plot(t,x);title('杨婕婕') >> t=-0.1:0.0001:0.1; x=cos(100*t)+cos(3000*t); >> plot(t,x);title('杨婕婕朱艺星');

MATLAB程序设计实验报告

MATLAB实验报告 一、实验名称 实验4图形绘制(1) 二、实验目的: 熟悉和掌握MA TLAB基本的二维图形绘制函数。 三、实验内容: 1.绘制简单的二维图形 2.一个坐标系绘制多幅图形 3.图形标识和坐标控制 4.交互式图形指令 四、回答问题: (本次实验未预留问题) 五、遇到的问题及解决: 遇到了求y=lnx时,输入“y=ln(x)”不被软件识别的问题,查看常用数学函数表后改为y=log(x)成功解决。 在求10x时不知道用什么函数,函数表里也查不到,在老师的点拨下用“y=10.^x”解决。 在绘图时发现默认线型不够明显,查表后使用尖三角、叉号代替默认线型。 六、体会: 本次实验我学会了利用MATLAB绘制图形的基本方法,以及相应的备注方法。 难点是了解各种函数的具体作用并熟练掌握。 体会是:多学多练,孰能生巧,日积月累,必有提高。

思考题: 1.在同一坐标系绘制t3,-t2,t2sint在[0,2π]内的曲线图。 x=0:pi/50:2*pi; y1=t.*t.*t; y2=-t.*t; y3=t.*t.*sin(t); plot(t,y1,'^k',t,y2,'.k',t,y3,'xk'); legend('\ity=t^3','\ity=-t^2','\itt^2*sint'); 2.在一幅图中画出4幅子图,分别绘制sin2x,tanx,lnx,10x的图形,并加上适当的图形注释。注意:把函数变成MATLAB对应的形式。 x=0:pi/50:2*pi; y1=sin(2*t); y2=tan(x); y3=log(x); y4=10.^x; subplot(2,2,1) plot(x,y1); legend('y=sin2x'); subplot(2,2,2) plot(x,y2) legend('y=tanx'); subplot(2,2,3) plot(x,y3)

信号与系统 MATLAB实验报告

《信号与系统》MATLAB 实验报告 院系: 专业: 年级: 班号: 姓名: 学号: 实验时间: 实验地点: 实验一 连续时间信号的表示及可视化 实验题目: )()(t t f δ=;)()(t t f ε=;at e t f =)((分别取00<>a a 及); )()(t R t f =;)()(t Sa t f ω=;)2()(ft Sin t f π=(分别画出不同周期个数的波形)。 解题分析: 以上各类连续函数,先运用t = t1: p:t2的命令定义时间范围向量,然后调用对应的函数,建立f 与t 的关系,最后调用plot ()函数绘制图像,并用axis ()函数限制其坐标范围。 实验程序: (1))()(t t f δ= t=-1:0.01:3 %设定时间变量t 的范围及步长 f=dirac(t) %调用冲激函数dirac () plot(t,f) %用plot 函数绘制连续函数 axis([-1,3,-0.5,1.5]) %用axis 函数规定横纵坐标的范围 (2))()(t t f ε= 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)at e t f =)( 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))()(t R t f = 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))()(t Sa t f ω= ω=1时:

根据Matlab的信号与系统实验指导材料

基于Matlab 的信号与系统实验指导 实验一 连续时间信号在Matlab 中的表示 一、实验目的 1、学会运用Matlab 表示常用连续时间信号的方法 2、观察并熟悉这些信号的波形和特性 二、实验原理及实例分析 1、信号的定义与分类 2、如何表示连续信号? 连续信号的表示方法有两种;符号推理法和数值法。 从严格意义上讲,Matlab 数值计算的方法不能处理连续时间信号。然而,可利用连续信号在等时间间隔点的取样值来近似表示连续信号,即当取样时间间隔足够小时,这些离散样值能被Matlab 处理,并且能较好地近似表示连续信号。 3、Matlab 提供了大量生成基本信号的函数。如: (1)指数信号:K*exp(a*t) (2)正弦信号:K*sin(w*t+phi)和K*cos(w*t+phi) (3)复指数信号:K*exp((a+i*b)*t) (4)抽样信号:sin(t*pi) 注意:在Matlab 中用与Sa(t)类似的sinc(t)函数表示,定义为:)t /()t (sin )t (sinc ππ= (5)矩形脉冲信号:rectpuls(t,width) (6)周期矩形脉冲信号:square(t,DUTY),其中DUTY 参数表示信号的占空比

DUTY%,即在一个周期脉冲宽度(正值部分)与脉冲周期的比值。占空比默认为0.5。 (7)三角波脉冲信号:tripuls(t, width, skew),其中skew 取值范围在-1~+1之间。 (8)周期三角波信号:sawtooth(t, width) (9)单位阶跃信号:y=(t>=0) 三、实验内容 1、验证实验内容 直流及上述9个信号 2、程序设计实验内容 (1)利用Matlab 命令画出下列连续信号的波形图。 (a ))4/3t (2cos π+ (b ) )t (u )e 2(t -- (c ))]2()(u )][t (cos 1[--+t u t π (2)利用Matlab 命令画出复信号) 4/t (j 2e )t (f π+=的实部、虚部、模和辐角。 四、实验报告要求 1、格式:实验名称、实验目的、实验原理、实验环境、实验内容、实验思考等 2、实验内容:程序设计实验部分源代码及运行结果图示。

信号与系统实验(MATLAB版) (1)

《信号与系统MATLAB实现》实验指导书 电气信息工程学院 2014年2月

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

MATLAB入门实验报告

MATLAB实验报告 题目:第一次实验报告 学生姓名: 学院: 专业班级: 学号: 年月

MATLAB第一次实验报告 ————入门第一次上机实验刘老师就MATLAB软件进行了 大致的讲解,并讲了如何建立M文件,定义函数数 组矩阵,如何绘图。先就老师讲解及自己学习的情 况做汇报。 一、建立M文件 <1>M文件建立方法: 1. 在MATLAB中,点:File→New →M-file 2. 在编辑窗口中输入程序内容 3. 点File →Save,存盘,M文件名必须与函数名 一致 <2>课上实例 例:定义函数f(x1,x2)=100(x2-x12)2+(1-x1)2 答:建立M文件:fun.m function f=fun(x) f=100*(x(2)-x(1)^2)^2+(1-x(1))^2 如此便可以直接使用函数fun.m 例如计算f(1,2), 只需在MATLAB命令窗口键入命

令: x=[1 2] fun(x) 得f = 100. <3>课下作业 题目:有一函数,写一程序,输入自变量的值,输出函数值. 解答:建立M文件:zuoye1.m function f=zuoye1(x,y) f=x^2+sin(x*y)+2*y 命令行输入x=1,y=1 zuoye1(x,y) 得ans = 3.8415 经验算答案正确,所以程序正确。

二、定义数组、矩阵 <1>说明 逗号或空格用于分隔某一行的元素,分号用于区分不同的行. 除了分号,在输入矩阵时,按Enter 键也表示开始新一行. 输入矩阵时,严格要求所有行有相同的列 <2>课后作业 题目:有一个4x5矩阵,编程求出其最大值及其所处的位置. 解答:a=round(10*rand (4,5)) [temp I]=max(a) [am II]=max(temp) p=[I(II) II] 运行得一随机矩阵 a = 7 7 7 3 7 0 8 2 0 3 8 7 7 1 10 9 4 0 8 0 temp =

相关文档
相关文档 最新文档