当前位置:文档之家› 通信原理实验报告-含MATLAB程序

通信原理实验报告-含MATLAB程序

通信原理实验报告-含MATLAB程序
通信原理实验报告-含MATLAB程序

通信原理实验报告

实验一 数字基带传输实验

一、实验目的

1、提高独立学习的能力;

2、培养发现问题、解决问题和分析问题的能力;

3、学习Matlab 的使用;

4、掌握基带数字传输系统的仿真方法;

5、熟悉基带传输系统的基本结构;

6、掌握带限信道的仿真以及性能分析;

7、通过观测眼图和星座图判断信号的传输质量。

二、实验原理

1. 带限信道的基带系统模型(连续域分析)

输入符号序列 ————{al }

发送信号 ————1

0()()L l d t al t lTb δ-==-∑ Tb 是比特周期,二进制码元周期

发送滤波器 ————GT(w)或GT (t )

发送滤波器输出 ————

1

1

()()*()()*()()L L l b T l T b T

l l x t d t t a t lT g t a g t lT g δ--====-=-∑∑

信道输出信号或接收滤波器输入信号()()()y t x t n t =+ 接收滤波器 ()R G ω或()R G f 接收滤波器输出信号

1

()()*()()*()*()()*()()()L R T R R l b R l r t y t g t d t g t g t n t g t a g t lT n t -===+=-+∑

其中2()()()j ft T R g t G f G f e df π∞

-∞

=

?

如果位同步理想,则抽样时刻为b l T ? 01l L =-:

判决为 '

{}l a

2. 升余弦滚降滤波器

1()||2s s

H f T f T α

-=≤

; ()H f =

111[1cos (||)]||2222s s s s s

T T f f T T T παααα--++-<≤ ()H f = 10||2s

f T α

+>

式中α 称为滚降系数,取值为0 <α ≤1, T s 是常数。α = 0时,带宽为1/ 2T s Hz ;α =1时, 带宽为1/T s Hz 。此频率特性在(?1/(2T s ),1/(2T s ))内可以叠加成一条直线,故系统无码间干 扰传输的最小符号间隔为T s s ,或无码间干扰传输的最大符号速率为1/T s Baud 。相应的时 域波形h (t )为 222

sin /cos /()/14/s s

s s t T t T h t t T t T παππα=?-

此信号满足

{

1000

()n s n h nT =≠=

在理想信道中,C(w)=1,上述信号波形在抽样时刻上没有码间干扰,如果传输码元速率满足

max 1

s s

R n nT =,则通过此基带系统后无码间干扰。 3. 最佳基带系统

将发送滤波器和接收滤波器联合设计为无码间干扰的基带系统,而且具有最佳的抗加 性高斯白噪声的性能。

要求接收滤波器的频率特性与发送信号频谱共轭匹配。由于最佳基带系统的总特性是 确定的,故最佳基带系统的设计归结为发送滤波器和接收滤波器特性的选择。 设信道特性理想,则有 H ( f ) = G T ( f ) ?G R ( f )

G R ( f ) = G *T ( f )(延时为0) 有 G T ( f ) = G R ( f ) = H ( f ) 1/ 2

可选择滤波器长度使其具有线性相位。

如果基带系统为升余弦特性,则发送和接收滤波器为平方根升余弦特性。

4. 由模拟滤波器设计数字滤波器的时域冲激响应

升余弦滤波器(或平方根升余弦滤波器)的最大带宽为1/T s ,故其时域抽样速率至少

为2/T s ,取F 0 =1/T 0 = 4/T s ,其中T 0为时域抽样间隔,归一化为1。

抽样后,系统的频率特性是以F 0为周期的,折叠频率为F 0 2 = 2 T s 。故在一个周期 内以间隔Δf = F 0 / N 抽样, N 为抽样个数。频率抽样为H (k Δf ) ,

k = 0,±1,…,±(N ?1) / 2。

相应的离散系统的冲激响应为

00020()()|([()])|(())|j ft t nT t nT t nT h nT h t IFT H f H f e df π=======

?0(1)/22(1)/2

()N j k fnT K N H k f e f π-?=--????=

02(1)/2(1)/220(1)/2

(1)/2

1()()F N N j k

nT j

kn N

N

K N K N F H k f e H k f e

N

N

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

1

0,1,....,2

N n -=±±

将上述信号移位,可得具有线性相位的因果系统的冲激响应。

5. 基带传输系统(离散域分析)

输入符号序列 ————{}l a

发送信号 ————0b T AT =比特周期,二进制码元周期 1

00

00

()()L l l d nT a nT

lAT δ-==-∑

发送滤波器 ()T G k f ?或0()T

nT g

发送滤波器输出

11

000000000

()()*()()*()()L L l T l T T

l l x nT d nT nT a nT lAT g nT a g nT lAT g δ--====-=-∑∑

信道输出信号或接收滤波器输入信号

000()()()y nT x nT n nT =+

接收滤波器 ()R G k f ?或0()R g nT 接收滤波器的输出信号

000()()*()R r nT y nT g nT ==00000()*()*()()*()T R R d nT g nT g nT n nT g nT +

1

0000

()()L l R l a g nT lAT n nT -==-+∑

如果位同步理想,则抽样时刻为l AT ? 01l L =-: 抽样点数值 0()r l AT ? 01l L =-:

判决为 '

{}l a

6. 编程思想

编程尽量采用模块化结构或子函数形式,合理设计各子函数的输入和输出参数。系统 模块或子函数可参考如下: 信源模块

发送滤波器模块(频域特性和时域特性) 加性白噪声信道模块

接收滤波器模块(频域特性和时域特性) 判决模块

采用匹配滤波器的基带系统模块 不采用匹配滤波器的基带系统模块 画眼图模块 画星座图模块

三、实验内容

1、如发送滤波器长度为N=31,时域抽样频率F 0为s 4 /T ,滚降系数分别取为0.1、0.5、1, 计算并画出此发送滤波器的时域波形和频率特性,计算第一零点带宽和第一旁瓣衰减。以 此发送滤波器构成最佳基带系统,计算并画出接收滤波器的输出信号波形和整个基带系统 的频率特性,计算第一零点带宽和第一旁瓣衰减。 按题目要求编写程序如下: (1)子程序如下:

余弦滚降子函数定义:

function y=upcos(f,alpha,Ts) if(abs(f)<=(1-alpha)/(2*Ts)) y=Ts;

elseif(abs(f)>=(1+alpha)/(2*Ts)) y=0; else

y=Ts/2*(1+cos(pi*Ts/alpha*(abs(f)-(1-alpha)/(2*Ts)))); end

idft 子函数定义:

function xn=idft(Xk,N) k=0:(N-1); n=0:(N-1);

wn=exp(-j*2*pi/N); nk=n'*k;

wnnk=wn.^(-nk); xn=(Xk*wnnk)/N;

(2)主函数如下:

Ts=4;T0=1;

N=31;

a=1;

f=(-2/Ts):(4/Ts)/(N-1):(2/Ts);

for alpha=[0.1,0.5,1]

for i=1:N

H(i)=upcos(f(i),alpha,Ts);

end

H_k(a,:)=H;

for i=1:N

upcosHk(i)=upcos(f(i),alpha,Ts);

end

for i=1:(N+1)/2

temp(i)=H_k(a,i);

end

for i=1:(N-1)/2

H_k(a,i)=H_k(a,i+(N+1)/2);

end

for i=1:(N+1)/2

H_k(a,i+(N-1)/2)=temp(i);

end

subplot(3,1,a);

stem(H_k(a,:),'.');title('频域波形');

a=a+1;

end;

figure

for a=1:3

h_n(a,:)=idft(H_k(a,:),N);

for i=1:(N+1)/2 %时域搬移非因果=>因果 temp(i)=h_n(a,i);

end

for i=1:(N-1)/2

h_n(a,i)=h_n(a,i+(N+1)/2);

end

for i=1:(N+1)/2

h_n(a,i+(N-1)/2)=temp(i);

end

subplot(3,1,a);

stem(real(h_n(a,:)),'.');title('时域波形');

end

figure

for a=1:3

subplot(3,1,a);

[H_w1,w]=freqz((h_n(a,:)),1);

stem(w,abs(H_w1),'.');title('升余弦滤波器')

H_w(a,:)=H_w1';

end;

figure;

for a=1:3

sqrH_k(a,:)=sqrt(abs(H_k(a,:)));%升余弦平方根特性

sqrh_n(a,:)=idft(sqrH_k(a,:),N);

for i=1:(N+1)/2 %时域搬移

temp(i)=sqrh_n(a,i);

end

for i=1:(N-1)/2

sqrh_n(a,i)=sqrh_n(a,i+(N+1)/2);

end

for i=1:(N+1)/2

sqrh_n(a,i+(N-1)/2)=temp(i);

end

sumsqrh(a,:)=conv((sqrh_n(a,:)),(sqrh_n(a,:)))

end

for a=1:3

subplot(3,2,2*a-1);

stem(real(sqrh_n(a,:)),'.');

subplot(3,2,2*a);

stem(real(sumsqrh(a,:)),'.')

end

figure

for a=1:3

[sumH_w1,w]=freqz((sumsqrh(a,:)),1);

sumH_w(a,:)=sumH_w1';

subplot(3,1,a);

stem(w,abs(sumH_w1),'.');title('匹配滤波器频率特性'); end

实验所出波形如下:

图一为余弦滚降滤波器在不同α值时的系统频域特性,其中从上到下α值依次为0.1,0.5,0.999(0.999而非1的原因在最后一部分经验与收获中解释)

图二为相应升余弦特性经过idft后的时域波形,可见α值越大,时域主瓣宽度越窄,旁瓣衰减越剧烈,相应的,在时域抽样判决时,在定时不够精确时,大α值就能减小码间串扰。但在本实验中,由于抽样点精确定在最佳抽样点处,所以α值对误码率影响不大。

图三为调用freqz由时域波形得到的频域波形,由此图可计算频域主瓣宽度和旁瓣衰减。

图四为右侧两图为升余弦平方根特性的时域波形,由于匹配滤波器接收与发送滤波器皆为升余弦平方根特性,串接后总特性为两时域波形卷积,总特性时域波形如右图。信号经过发送滤波器后的波形即为以上信号时移叠加。

图五为匹配滤波器总特性的时域波形使用freqz函数后导出的频域特性。

将图三与图五进行比较,以第一行为例:

非匹配:

匹配:

可见匹配滤波器在旁瓣抑制方面明显强于非匹配滤波器。

2、根据基带系统模型,编写程序,设计无码间干扰的二进制数字基带传输系统。要求要传输的二进制比特个数、比特速率R b(可用与T s的关系表示)、信噪比SNR、滚降系数α是可变的。

1) 生成一个0、1 等概率分布的二进制信源序列(伪随机序列)。可用MATLAB 中的rand 函数生成一组0~1 之间均匀分布的随机序列,如产生的随机数在(0,0.5)区间内,则为0;如果在(0.5,1)区间内,则为1。

2) 基带系统传输特性设计。可以采用两种方式,一种是将系统设计成最佳的无码间干

扰的系统,即采用匹配滤波器,发送滤波器和接收滤波器对称的系统,发送滤波器和接收滤波器都是升余弦平方根特性;另一种是不采用匹配滤波器方式,升余弦滚降基带特性完全由发送滤波器实现,接收滤波器为直通。

3)产生一定方差的高斯分布的随机数,作为噪声序列,叠加到发送滤波器的输出信

号上引入噪声。注意噪声功率(方差)与信噪比的关系。信道高斯噪声的方差为σ2,单

边功率谱密度2

N0 = 2σ,如计算出的平均比特能量为E b ,则信噪比为

SNR =10 ?log10 (E b / N0 )。

4)根据接收滤波器的输出信号,设定判决电平,在位同步理想情况下,抽样判决后

得到接收到的数字信息序列波形。

所编程序如下:

(1)子程序如下:

产生双极性信号子序列:

function [source,Eb]=subserial(N)

source=zeros(1,N);

Eb=0;

for i=1:N;

temp=rand;

if (temp<0.5)

source(i)=-1;

else

source(i)=1;

end

Eb=Eb+source(i)*source(i);

end

Eb=Eb/N;

i=1:N;

figure;stem(i,source,'.');

title('信源序列');

序列拓展子函数:

function[out]=sigexpand(d,M)

%求输入序列扩展为间隔为M-1个0的序列

N=length(d);

out=zeros(M,N);

out(1,:)=d;%d赋值给第一行

out=reshape(out,1,M*N);

余弦滚降函数定义子函数:

function y=upcos(f,alpha,Ts)

if(abs(f)<=(1-alpha)/(2*Ts))

y=Ts;

elseif(abs(f)>=(1+alpha)/(2*Ts))

y=0;

else

y=Ts/2*(1+cos(pi*Ts/alpha*(abs(f)-(1-alpha)/(2*Ts)))); end

idft子函数:

function xn=idft(Xk,N)

k=0:(N-1);

n=0:(N-1);

wn=exp(-j*2*pi/N);

nk=n'*k;

wnnk=wn.^(-nk);

xn=(Xk*wnnk)/N;

stem(n,real(xn),'*');

高斯白噪声产生子函数:

function [gsrv1,gsrv2]=gnguass(m,sgma)

if nargin==0

m=0;

sgma=1;

elseif nargin==1

sgma=m;

m=0;

end

u=rand;

z=sgma*sqrt(2*log10(1/(1-u)));

u=rand;

gsrv1=m+z*cos(2*pi*u);

gsrv2=m+z*sin(2*pi*u);

判决模块子函数:

function [resul]=panjue(subresul,Ts,N)

%抽样判决

%N为源序列有效符号数

for i=1:Ts:(N-1)*Ts+1;

if (real(subresul(i))>=0)

resul(i)=1;

else resul(i)=-1;

end

end

统计错误子函数:

function [num,prop]=erro(sourc,resul,Ts,N); %统计码元中错误数num与误码率prop

num=0;

for i=1:Ts:(N-1)*Ts+1

if(sourc(i)==resul(i))

num=num;

else

num=num+1;

end

end

prop=num/N;

画眼图子函数:

function []=yantu(b,Ts)

N=length(b);

for n=1:ceil(N/Ts-1)

for i=1:Ts+1

c(i)=b((n-1)*Ts+i);

end

i=1:Ts+1;

tt=1:0.1:Ts+1;

yy=spline(i,c,tt);

plot(tt,yy);

hold on;

end

(2)主函数程序:

Ts=4;T0=1;%input('码元速率=')

alpha=0.1;%input('滚降系数=')

M=100;%input('源序列长度=')

SNR=10;%input('信噪比=')

N=31;%滤波器阶数

[subsourc,Eb]=subserial(M);

sourc=sigexpand(subsourc,Ts);%序列扩展N0=Eb/(10^(SNR/10));

sigma=sqrt(N0/2);%计算sigma

f=(-2/Ts):(4/Ts)/(N-1):(2/Ts);

for i=1:N

upcosHk(i)=upcos(f(i),alpha,Ts); end

for i=1:(N+1)/2

temp(i)=upcosHk(i);

end

for i=1:(N-1)/2

upcosHk(i)=upcosHk(i+(N+1)/2);

end

for i=1:(N+1)/2

upcosHk(i+(N-1)/2)=temp(i);

end

figure;

subplot(2,2,1);

stem(upcosHk,'.');

subplot(2,2,2);

h_n=idft(upcosHk,N);

for i=1:(N+1)/2

temp(i)=h_n(i);

end

for i=1:(N-1)/2

h_n(i)=h_n(i+(N+1)/2);

end

for i=1:(N+1)/2

h_n(i+(N-1)/2)=temp(i);

end

sqrcosHk=sqrt(abs(upcosHk));

subplot(2,2,3);

stem(sqrcosHk,'.')

subplot(2,2,4);

sqrh_n=idft(sqrcosHk,N);

for i=1:(N+1)/2

temp(i)=sqrh_n(i);

end

for i=1:(N-1)/2

sqrh_n(i)=sqrh_n(i+(N+1)/2);

end

for i=1:(N+1)/2

sqrh_n(i+(N-1)/2)=temp(i);

end

filter11=h_n;

filter12=[1,zeros(1,N-1)];

filter21=sqrh_n;

filter22=sqrh_n;

figure;

subresult11=conv(sourc,filter11);subplot(3,2,1);stem(real(subresult11),'.');axi s([0 100 -0.5 1.5]);title('经过发送滤波器');

subresult12=conv(sourc,filter21);subplot(3,2,2);stem(real(subresult12),'.');axi s([0 100 -0.5 1.5]);%经过发送滤波器

for i=1:length(subresult11)

[noise(i),]=gnguass(0,sigma);%生成噪声序列

end

subresult21=subresult11+noise;subplot(3,2,3);stem(real(subresult21),'.');axis([ 0 100 -0.5 1.5]);title('叠加噪声后波形');

subresult22=subresult12+noise;subplot(3,2,4);stem(real(subresult22),'.');axis([ 0 100 -0.5 1.5])%叠加噪声

subresult31=conv(subresult21,filter12);subplot(3,2,5);stem(real(subresult31),'. ');axis([0 100 -0.5 1.5]);title('经过接收滤波器')

subresult32=conv(subresult22,filter22);subplot(3,2,6);stem(real(subresult32),'. ');axis([0 100 -0.5 1.5]);%输出序列

for i=1:length(subresult32)-15

subresult31s(i)=subresult31(i+15);

end

for i=1:length(subresult31)-30

subresult32s(i)=subresult32(i+30);

end

subresult41=panjue(subresult31s,Ts,M);

subresult42=panjue(subresult32s,Ts,M);%抽样判决

[error1,prop1]=erro(sourc,subresult41,Ts,M);

[error2,prop2]=erro(sourc,subresult42,Ts,M);

a=length(sourc);

figure;

subplot(3,1,1);stem(sourc,'.');axis([0 a -1 1]);title('源序列');

subplot(3,1,2);stem(subresult41,'.');axis([0 a -1 1]);title('升余弦+直通输出判决结果');

subplot(3,1,3);stem(subresult42,'.');axis([0 a -1 1]);title('匹配滤波器输出判决结果');

aa=real(subresult31);

bb=real(subresult32);

figure;

yantu(aa,4*Ts);title('升余弦+直通')

figure;

yantu(bb,4*Ts);title('匹配滤波器')

实验结果:

图一为随机产生的双极性码,在此我们M=100,即产生100点序列。

图二为升余弦滤波器频域波形及其时域波形(左)与升余弦平方根特性频域波形及其时域波形(右)。

图三为图形信号在两种方案中经过发送滤波器、叠加噪声、经过接受滤波器后的波形。

图四从上到下依次为源序列,方案一(升余弦加直通)输出判决结果,方案二(匹配滤波器)输出判决结果

图五、六为两种方案的眼图,经过对比方案一升余弦加直通(左图)与匹配滤波器(右图),右图明显清晰规则,可见匹配滤波器抗造性能明显好于升余弦加直通方案。

上图为点数M=3000时的眼图,相较之下右侧图清晰而规则,效果也比较明显。

3、假设加性噪声不存在,传输64个特定的二进制比特,如果比特速率R b =1/T s,基带系

统不采用匹配滤波器,画出接收滤波器的输出信号波形和眼图,判断有无码间干扰,求出抽样判决后的数字序列。如果将比特速率改为4/3Ts,4/5Ts,画出接收滤波器的输出信号波形和眼图,判断有无码间干扰,求出抽样判决后的数字序列。

所编程序如下:

(1)子程序如下:

子函数同实验2

主函数如下:

Ts=4;T0=1;

M=64;

alpha=0.5;%input('滚降系数=')

N=31;

[subsourc,Eb]=subserial(M);%生成序列

f=(-2/Ts):(4/Ts)/(N-1):(2/Ts);%产生余弦滚降

for i=1:N

upcosHk(i)=upcos(f(i),alpha,Ts);

end

for i=1:(N+1)/2%频域序列移位

temp(i)=upcosHk(i);

end

for i=1:(N-1)/2

upcosHk(i)=upcosHk(i+(N+1)/2);

end

for i=1:(N+1)/2

upcosHk(i+(N-1)/2)=temp(i);

end

figure;

subplot(1,2,1);

stem(abs(upcosHk),'*');

subplot(1,2,2);

h_n=idft(upcosHk,N);%产生时域序列

for i=1:(N+1)/2%时域序列移位

temp(i)=h_n(i);

end

for i=1:(N-1)/2

h_n(i)=h_n(i+(N+1)/2);

end

for i=1:(N+1)/2

h_n(i+(N-1)/2)=temp(i);

end

filter11=h_n;

filter12=[1,zeros(1,N-1)];

a=1

for TB=[4,3,5];%TB赋值

sourc=sigexpand(subsourc,TB)%序列扩展

figure;

filter11out=conv(sourc,filter11);subplot(1,2,1);stem(filter11out,'.');

filter12out=conv(filter11out,filter12);subplot(1,2,2);stem(filter12out,'.'); for i=1:length(filter12out)-15

filter12outs(i)=filter12out(i+15);

end

figure;

shuchuxulie=panjue(filter12outs,TB,M);

subplot(2,1,1);

stem(sourc,'.');

subplot(2,1,2);

stem(shuchuxulie,'.');

[error4(a,:),prop]=erro(sourc,shuchuxulie,TB,M);

yantu(shuchuxulie,2*TB);

a=a+1;

end;

产生结果:

图一为随机产生的双极性信源序列。

图二为升余弦滤波器时域及频域特性。

以上三图为相同随机序列(左)以及序列经过不同码元延拓后经过相同滤波器后产生的波形(右)。

以上三图分别为码元宽度分别为4、3、5时的最终判决序列和眼图。图中三种情况都看

Matlab通信系统仿真实验报告

Matlab通信原理仿真 学号: 2142402 姓名:圣斌

实验一Matlab 基本语法与信号系统分析 一、实验目的: 1、掌握MATLAB的基本绘图方法; 2、实现绘制复指数信号的时域波形。 二、实验设备与软件环境: 1、实验设备:计算机 2、软件环境:MATLAB R2009a 三、实验内容: 1、MATLAB为用户提供了结果可视化功能,只要在命令行窗口输入相应的命令,结果就会用图形直接表示出来。 MATLAB程序如下: x = -pi::pi; y1 = sin(x); y2 = cos(x); %准备绘图数据 figure(1); %打开图形窗口 subplot(2,1,1); %确定第一幅图绘图窗口 plot(x,y1); %以x,y1绘图 title('plot(x,y1)'); %为第一幅图取名为’plot(x,y1)’ grid on; %为第一幅图绘制网格线 subplot(2,1,2) %确定第二幅图绘图窗口 plot(x,y2); %以x,y2绘图 xlabel('time'),ylabel('y') %第二幅图横坐标为’time’,纵坐标为’y’运行结果如下图: 2、上例中的图形使用的是默认的颜色和线型,MATLAB中提供了多种颜色和线型,并且可以绘制出脉冲图、误差条形图等多种形式图: MATLAB程序如下: x=-pi:.1:pi; y1=sin (x); y2=cos (x); figure (1); %subplot (2,1,1); plot (x,y1); title ('plot (x,y1)'); grid on %subplot (2,1,2); plot (x,y2);

《MATLAB与数值分析》第一次上机实验报告

电子科技大学电子工程学院标准实验报告(实验)课程名称MATLAB与数值分析 学生姓名:李培睿 学号:2013020904026 指导教师:程建

一、实验名称 《MATLAB与数值分析》第一次上机实验 二、实验目的 1. 熟练掌握矩阵的生成、加、减、乘、除、转置、行列式、逆、范数等运算 操作。(用.m文件和Matlab函数编写一个对给定矩阵进行运算操作的程序) 2. 熟练掌握算术符号操作和基本运算操作,包括矩阵合并、向量合并、符号 转换、展开符号表达式、符号因式分解、符号表达式的化简、代数方程的符号解析解、特征多项式、函数的反函数、函数计算器、微积分、常微分方程的符号解、符号函数的画图等。(用.m文件编写进行符号因式分解和函数求反的程序) 3. 掌握Matlab函数的编写规范。 4、掌握Matlab常用的绘图处理操作,包括:基本平面图、图形注释命令、 三维曲线和面的填充、三维等高线等。(用.m文件编写在一个图形窗口上绘制正弦和余弦函数的图形,并给出充分的图形注释) 5. 熟练操作MATLAB软件平台,能利用M文件完成MATLAB的程序设计。 三、实验内容 1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。并以x, y为坐标显示图像 x(n+1) = a*x(n)-b*(y(n)-x(n)^2); y(n+1) = b*x(n)+a*(y(n)-x(n)^2) 2. 编程实现奥运5环图,允许用户输入环的直径。 3. 实现对输入任意长度向量元素的冒泡排序的升序排列。不允许使用sort 函数。 四、实验数据及结果分析 题目一: ①在Editor窗口编写函数代码如下:

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、 作出如图的马鞍面

通信原理实验--数字基带传输仿真实验

数字基带传输实验 实验报告

一、实验目的 1、提高独立学习的能力; 2、培养发现问题、解决问题和分析问题的能力; 3、学习Matlab 的使用; 4、掌握基带数字传输系统的仿真方法; 5、熟悉基带传输系统的基本结构; 6、掌握带限信道的仿真以及性能分析; 7、通过观测眼图和星座图判断信号的传输质量。 二、系统框图及编程原理 1.带限信道的基带系统模型(连续域分析) ?输入符号序列―― ?发送信号―― ――比特周期,二进制码元周期 ?发送滤波器―― 或或 ?发送滤波器输出――

?信道输出信号或接收滤波器输入信号 (信道特性为1) ?接收滤波器―― 或或 ?接收滤波器的输出信号 其中 (画出眼图) ?如果位同步理想,则抽样时刻为 ?抽样点数值为(画出星座图) ?判决为 2.升余弦滚降滤波器 式中称为滚降系数,取值为, 是常数。时,带宽为Hz;时,带宽为Hz。此频率特性在内可以叠加成一条直线,故系统无码间干扰传输的最小符号间隔为s,或无码间干扰传输的最大符号速率为Baud。

相应的时域波形为 此信号满足 在理想信道中,,上述信号波形在抽样时刻上无码间干扰。 如果传输码元速率满足,则通过此基带系统后无码间干扰。 3.最佳基带系统 将发送滤波器和接收滤波器联合设计为无码间干扰的基带系统,而且具有最佳的抗加性高斯白噪声的性能。 要求接收滤波器的频率特性与发送信号频谱共轭匹配。由于最佳基带系统的总特性是确定的,故最佳基带系统的设计归结为发送滤波器和接收滤波器特性的选择。 设信道特性理想,则有

(延时为0) 有 可选择滤波器长度使其具有线性相位。 如果基带系统为升余弦特性,则发送和接收滤波器为平方根升余弦特性。 由模拟滤波器设计数字滤波器的时域冲激响应 升余弦滤波器(或平方根升余弦滤波器)的带宽为,故其时域抽样速率至少为,取,其中为时域抽样间隔,归一化为1。 抽样后,系统的频率特性是以为周期的,折叠频率为。故在一个周期内 以间隔抽样,N为抽样个数。频率抽样为,。 相应的离散系统的冲激响应为 将上述信号移位,可得因果系统的冲激响应。 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程序

通信原理实验报告 实验一 数字基带传输实验 一、实验目的 1、提高独立学习的能力; 2、培养发现问题、解决问题和分析问题的能力; 3、学习Matlab 的使用; 4、掌握基带数字传输系统的仿真方法; 5、熟悉基带传输系统的基本结构; 6、掌握带限信道的仿真以及性能分析; 7、通过观测眼图和星座图判断信号的传输质量。 二、实验原理 1. 带限信道的基带系统模型(连续域分析) 输入符号序列 ————{al } 发送信号 ————1 0()()L l d t al t lTb δ-==-∑ Tb 是比特周期,二进制码元周期 发送滤波器 ————GT(w)或GT (t )

发送滤波器输出 ———— 11 00()()*()()*()()L L l b T l T b T l l x t d t t a t lT g t a g t lT g δ--====-=-∑∑ 信道输出信号或接收滤波器输入信号()()()y t x t n t =+ 接收滤波器 ()R G ω或()R G f 接收滤波器输出信号 1 0()()*()()*()*()()*()()()L R T R R l b R l r t y t g t d t g t g t n t g t a g t lT n t -===+=-+∑ 其中2()()()j ft T R g t G f G f e df π∞ -∞=? 如果位同步理想,则抽样时刻为b l T ? 0 1l L =- 判决为 '{}l a 2. 升余弦滚降滤波器 1()||2s s H f T f T α-=≤; ()H f =111[1cos (||)]||2222s s s s s T T f f T T T παααα--++-<≤ ()H f = 10||2s f T α+> 式中α 称为滚降系数,取值为0 <α ≤1, T s 是常数。α = 0时,带宽为1/ 2T s Hz ;α =1时, 带宽为1/T s Hz 。此频率特性在(?1/(2T s ),1/(2T s ))内可以叠加成一条直线,故系统无码间干 扰传输的最小符号间隔为T s s ,或无码间干扰传输的最大符号速率为1/T s Baud 。相应的时 域波形h (t )为 222sin /cos /()/14/s s s s t T t T h t t T t T παππα=?- 此信号满足

matlab第一次实验报告

Matlab第一次实验报告 2012029010010 尹康 1. 编程实现以下数列的图像,用户能输入不同的初始值以及系数。并以x,y为坐标显示图像 x(n+1) = a*x(n)-b*(y(n)-x(n)^2); y(n+1) = b*x(n)+a*(y(n)-x(n)^2) 程序代码: n=input('input the number of pionts:'); a=input('input a:'); b=input('input b:'); x=[]; y=[]; x(1)=input('input x1:'); y(1)=input('input y1:'); %输入点数、初始值以及系数for i=2:n x(i)=a*x(i-1)-b*(y(i-1)-x(i-1)^2); y(i)=a*x(i-1)+b*(y(i-1)-x(i-1)^2); %根据已输入的数据进行迭代end figure;plot(x,y,'linewidth',2) axis equal %横纵坐标等比例 text(x(1),y(1),'1st point') %标记初始点 运行结果:

心得体会及改进:在输入某些数据时,所绘曲线可能是一条折线(如:n=5,a=b=x1=1,y1=2)甚至只有一个点(如:n=5,a=b=x1=y1=1),此时可能出现曲线与坐标轴重合或无法看到点的情况,为了更清晰地展现曲线,可以使线宽适当加宽并标记初始点。 2.编程实现奥运5环图,允许用户输入环的直径。 程序代码: 函数circle: %在指定的圆心坐标处,用指定颜色、宽度的线条绘出指定半径、圆心角的弧 function f=circle(r,x,y,color,linw,alp1,alp2) alp=linspace(alp1,alp2); X=r*cos(alp)+x; Y=r*sin(alp)+y; plot(X,Y,color,'linewidth',linw) end 主程序代码: r=input('input r:');

matlab验证时域采样定理实验报告

通信原理实验报告实验名称:采样定理 实验时间: 201211日年12月 指导老师:应娜 学院:计算机学院 级:班 学号: 姓名:

通信原理实验报告 一、实验名称 MATLAB验证低通抽样定理 二、实验目的 1、掌握抽样定理的工作原理。 2、通过MATLAB编程实现对抽样定理的验证,加深抽样定理的理解。同时训练应用计算机分析问题的能力。 3、了解MATLAB软件,学习应用MATLAB软件的仿真技术。它主要侧重于某些理论知识的灵活运用,以及一些关键命令的掌握,理解,分析等。 4、计算在临界采样、过采样、欠采样三种不同条件下恢复信号的误差,并由此总结采样频率对信号恢复产生误差的影响,从而验证时域采样定理。 三、实验步骤 1、画出连续时间信号的时域波形及其幅频特性曲线,信号为 f(x)=sin(2*pi*80*t)+ cos(2*pi*30*t); 2、对信号进行采样,得到采样序列,画出采样频率分别为80Hz,110 Hz,140 Hz时的采样序列波形; 3、对不同采样频率下的采样序列进行频谱分析,绘制其幅频曲线,对比各频率下采样序列和的幅频曲线有无差别。 4、对信号进行谱分析,观察与3中结果有无差别。 5、由采样序列恢复出连续时间信号,画出其时域波形,对比与原连续时间信号的时域波形。 四、数据分析 (1)部分程序分析: f=[fs0*k2/m2,fs0*k1/m1]; %设置原信号的频率数组 axis([min(t),max(t),min(fx1),max(fx1)]) %画原信号幅度频谱 f1=[fs*k2/m2,fs*k1/m1]; %设置采样信号的频率数组 fz=eval(fy); %获取采样序列 FZ=fz*exp(-j*[1:length(fz)]'*w); %采样信号的离散时间傅里叶变换 TMN=ones(length(n),1)*t-n'*T*ones(1,length(t)); 由采样信号恢复原信号fh=fz*sinc(fs*TMN); %. (2)原信号的波形与幅度频谱:

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:

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实验1

实验一 设计任务: 用MatLib仿真一个BFSK通信系统,基本参数: 1)fc=1000Hz; 2)Rb=100bps; 3)信息序列:“Hello world”的ASCII 实验与报告基本要求: 1)Matlab程序,要点旁注(可打印后手写); 2)绘出信号波形,绘出信号PSD; 3)给出解调后的信息序列; 4)将信息重复3遍以上,FSK信号保存为WAV文件格式,使用音频播放,聆听;M文件: wave.m function[t,mt]=wave(m,dt,fs) l=length(m); mt=[]; ddt=1/fs; n=floor(dt*fs); m_add=ones(1,n); for i=1:l if(m(i)) mt=[mt,m(i),m_add]; else mt=[mt,m(i),m_add*0]; end t=(1:((n+1)*l))*ddt; end my_filter.m function[num,den]=my_filter(wp,ws,ap,as) if nargin<4 as=15; end if nargin<4 ap=3; end [n,wn]=buttord(wp,ws,ap,as); [num,den]=butter(n,wn); end 代码:

f0=800;%‘0’码载波频率 f1=1200;%‘1’码载波频率 fs=4000;%采样频率 Rb=100;%比特率 dt=1/Rb;%一个比特发送时间 A0=2;%调制幅度 A1=2;%相干解调幅度 miu=0;sigma=0.3;%miu:高斯白噪声均值,sigma:高斯白噪声均方差 str='Hello world';%信号字符串 m_dec=abs(str);%将信号字符串转换成ASCII码(十进制) m_bin=dec2bin(m_dec,8); m_bin=abs(m_bin)-48;%将十进制转换成8比特二进制矩阵 m=[]; for i=1:size(m_bin,1) m=[m,m_bin(i,:)]; end%将二进制转换成行向量 [t,m]=wave(m,dt,fs);%对信号采样 mt_f1=m.*cos(2*pi*f1*t)*A0;%频率f1调制 mt_f0=(~m).*cos(2*pi*f0*t)*A0;%频率f0调制 mt=mt_f1+mt_f0;%发送信号 l=length(mt); subplot(2,1,1);plot(t,mt); grid on;xlabel('t/s');title('m(t)');%发送信号波形subplot(2,1,2);periodogram(mt,[],l,fs);grid on;%发送信号PSD

MATLAB实验报告

MATLAB程序设计语言 实 验 报 告 专业及班级:电子信息工程 姓名:王伟 学号:1107050322 日期 2013年6月20日

实验一 MATLAB 的基本使用 【一】 实验目的 1.了解MATALB 程序设计语言的基本特点,熟悉MATLAB 软件的运行环境; 2.掌握变量、函数等有关概念,掌握M 文件的创建、保存、打开的方法,初步具备将一般数学问题转化为对应计算机模型处理的能力; 3.掌握二维图形绘制的方法,并能用这些方法实现计算结果的可视化。 【二】 MATLAB 的基础知识 通过本课程的学习,应基本掌握以下的基础知识: 一. MATLAB 简介 二. MATLAB 的启动和退出 三. MATLAB 使用界面简介 四. 帮助信息的获取 五. MATLAB 的数值计算功能 六. 程序流程控制 七. M 文件 八. 函数文件 九. MATLAB 的可视化 【三】上机练习 1. 仔细预习第二部分内容,关于MATLAB 的基础知识。 2. 熟悉MATLAB 环境,将第二部分所有的例子在计算机上练习一遍 3. 已知矩阵???? ??????=??????????=123456789,987654321B A 。求A*B ,A .* B ,比较二者结果是否相同。并利用MATLAB 的内部函数求矩阵A 的大小、元素和、长度以 及最大值。 程序代码: >> A=[1 2 3;4 5 6;7 8 9]; >> B=[9 8 7;6 5 4;3 2 1]; >> A*B ans =

30 24 18 84 69 54 138 114 90 >> A.*B ans = 9 16 21 24 25 24 21 16 9 两者结果不同 >> [m,n]=size(A) m = 3 n = 3 >> b=sum(A) b = 12 15 18 >> a=length(A) a = 3 >>max(A) ans =

参考答案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)

实验教程

目录 实验一:连续时间信号与系统的时域分析-------------------------------------------------6 一、实验目的及要求---------------------------------------------------------------------------6 二、实验原理-----------------------------------------------------------------------------------6 1、信号的时域表示方法------------------------------------------------------------------6 2、用MATLAB仿真连续时间信号和离散时间信号----------------------------------7 3、LTI系统的时域描述-----------------------------------------------------------------11 三、实验步骤及内容--------------------------------------------------------------------------15 四、实验报告要求-----------------------------------------------------------------------------26 实验二:连续时间信号的频域分析---------------------------------------------------------27 一、实验目的及要求--------------------------------------------------------------------------27 二、实验原理----------------------------------------------------------------------------------27 1、连续时间周期信号的傅里叶级数CTFS---------------------------------------------27 2、连续时间信号的傅里叶变换CTFT--------------------------------------------------28 3、离散时间信号的傅里叶变换DTFT -------------------------------------------------28 4、连续时间周期信号的傅里叶级数CTFS的MATLAB实现------------------------29 5、用MATLAB实现CTFT及其逆变换的计算---------------------------------------33 三、实验步骤及内容----------------------------------------------------------------------34 四、实验报告要求-------------------------------------------------------------------------48 实验三:连续时间LTI系统的频域分析---------------------------------------------------49 一、实验目的及要求--------------------------------------------------------------------------49 二、实验原理----------------------------------------------------------------------------------49 1、连续时间LTI系统的频率响应-------------------------------------------------------49 2、LTI系统的群延时---------------------------------------------------------------------50 3、用MATLAB计算系统的频率响应--------------------------------------------------50 三、实验步骤及内容----------------------------------------------------------------------51 四、实验报告要求-------------------------------------------------------------------------58 实验四:调制与解调以及抽样与重建------------------------------------------------------59 一、实验目的及要求--------------------------------------------------------------------------59 二、实验原理----------------------------------------------------------------------------------59

MATLAB全实验报告

《数学实验》报告 实验名称 Matlab 基础知识 学院 专业班级 姓名 学号 2014年 6月

一、【实验目的】 1.认识熟悉Matlab这一软件,并在此基础上学会基本操作。 2.掌握Matlab基本操作和常用命令。 3.了解Matlab常用函数,运算符和表达式。 4.掌握Matlab工作方式和M文件的相关知识。 5.学会Matlab中矩阵和数组的运算。 二、【实验任务】 P16 第4题 编写函数文件,计算 1! n k k = ∑,并求出当k=20时表达式的值。P27第2题 矩阵A= 123 456 789 ?? ?? ?? ?? ?? ,B= 468 556 322 ?? ?? ?? ?? ?? ,计算A*B,A.*B,并比较两者的区别。 P27第3题 已知矩阵A= 52 91 ?? ?? ?? ,B= 12 92 ?? ?? ?? ,做简单的关系运算A>B,A==B,AB)。 P34 第1题 用 111 1 4357 π =-+-+……公式求π的近似值,直到某一项的绝对值小于-6 10为止。 三、【实验程序】 P16 第4题 function sum=jiecheng(n) sum=0; y=1; for k=1:n for i=1:k y=y*i; end sum=sum+y; end sum P27第2题 >>A=[1 2 3;4 5 6;7 8 9] >>B=[4 6 8;5 5 6;3 2 2] >>A*B

P27第3题 >> A=[5 2;9 1];B=[1 2;9 2]; >>A>B >>A==B >>A> (A==B)&(A> (A==B)&(A>B) P34 第1题 t=1; pi=0; n=1; s=1; while abs(t)>=1e-6 pi=pi+t; n=n+2; s=-s; t=s/n; end pi=4*pi; 四、【实验结果】 P16 第4题 P27第2题

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数学实验报告

数学实验报告 姓名: 班级: 学号: 第一次实验任务 过程: a=1+3i; b=2-i; 结果: a+b =3.0000 + 2.0000i a-b =-1.0000 + 4.0000i a*b = 5.0000 + 5.0000i a/b = -0.2000 + 1.4000i 过程: x=-4.5*pi/180; y=7.6*pi/180; 结果: sin(abs(x)+y)/sqrt(cos(abs(x+y))) =0.2098 心得:对于matlab 中的角度计算应转为弧度。 (1)过程: x=0:0.01:2*pi; y1=sin(x); y2=cos(x); y3=exp(x); y4=log(x); plot(x,y1,x,y2,x,y3,x,y4) plot(x,y1,x,y2,x,y3,x,y4) 结果: (2)过程:>> subplot(2,2,1) >> plot(x,y1) >> subplot(2,2,2) >> plot(x,y2) ./,,,,2,311b a b a b a b a i b i a ?-+-=+=计算、设有两个复数 6,7,5.4)

cos()sin(2=-=++y x y x y x ,其中、计算的图形。 下分别绘制)同一页面四个坐标系)同一坐标系下(、在( x y e y x y x y x ln ,,cos ,sin 213==== >> subplot(2,2,3) >> plot(x,y3) >> subplot(2.2.4) >> subplot(2,2,4) >> plot(x,y4) 结果: 心得:在matlab中,用subplot能够实现在同一页面输出多个坐标系的图像,应注意将它与hold on进行区别,后者为在同一坐标系中划出多条曲线。 5、随机生成一个3x3矩阵A及3x2矩阵B,计算(1)AB,(2)对B中每个元素平方后得到的矩阵C,(3)sinB,(4)A的行列式,(5)判断A是否可逆,若可逆,计算A的逆矩阵,(6)解矩阵方程AX=B,(7)矩阵A中第二行元素加1,其余元素不变,得到矩阵D,计算D。 过程:A=fix(rand(3,3).*10) ; B=fix(rand(3,3).*10);

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)

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