南京邮电大学matlab软件设计doc.docx

上传人:b****5 文档编号:8241555 上传时间:2023-01-30 格式:DOCX 页数:49 大小:1.13MB
下载 相关 举报
南京邮电大学matlab软件设计doc.docx_第1页
第1页 / 共49页
南京邮电大学matlab软件设计doc.docx_第2页
第2页 / 共49页
南京邮电大学matlab软件设计doc.docx_第3页
第3页 / 共49页
南京邮电大学matlab软件设计doc.docx_第4页
第4页 / 共49页
南京邮电大学matlab软件设计doc.docx_第5页
第5页 / 共49页
点击查看更多>>
下载资源
资源描述

南京邮电大学matlab软件设计doc.docx

《南京邮电大学matlab软件设计doc.docx》由会员分享,可在线阅读,更多相关《南京邮电大学matlab软件设计doc.docx(49页珍藏版)》请在冰豆网上搜索。

南京邮电大学matlab软件设计doc.docx

南京邮电大学matlab软件设计doc

南京邮电大学通信学院

 

软件课程设计

实验报告

 

模块名称:

___MATLAB软件设计

专业班级:

__通信工程_17班

姓名:

____张步涛______

学号:

____

 

实验日期:

2013年6月17—28日实验报告日期:

2013年7月1日

一、要求练习的实验部份

1.在时刻区间[0,10]中,绘出

曲线。

程序:

t=0:

:

10;

y=1-exp(*t).*cos(2*t);

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

shg

结果:

2.写诞生成如图E2-1所示波形的MATLAB脚本M文件。

图中虚线为正弦波,要求它的负半波被置零,且在

处被削顶。

程序:

t=linspace(0,3*pi,500);

y=sin(t);

a=sin(pi/3);

z=(y>=0).*y;

z=(y>=a).*a+(y

plot(t,y,':

r');

holdon;

plot(t,z,'b-')

xlabel('t'),ylabel('z=f(t)'),title('逐段解析函数')

legend('y=sin(t)','z=f(t)',4),holdoff

结果:

3.令

,运行[U,S,V]=svd(A);tol=S(1,1)*3*eps;然后回答以下问题:

(1)sum(diag(S)>tol)-rank(A)是多少?

(2)S(1,1)-norm(A)=0是多少?

(3)sqrt(sum(diag(S*S)))-norm(A,'fro')的结果是什么?

(4)S(1,1)/S(3,3)-cond(A)的结果是什么?

(5)S(1,1)*S(2,2)*S(3,3)-det(A)

(6)V(:

1)'*null(A)取得什么结果?

(7)abs(A*null(A))

(8)U(:

1:

2)==orth(A)的运行结果是什么?

程序:

clear;

clc;

disp('设A=[1,2,3;4,5,6;7,8,9],得')

A=[1,2,3;4,5,6;7,8,9]%一个3*3矩阵

disp('设[U,S,V]=svd(A),得')

[U,S,V]=svd(A)%奇异值分解(SVD)USV:

Um*m酉矩阵Vn*n酉矩阵S对角阵

disp('设tol=S(1,1)*3*eps,得')

tol=S(1,1)*3*eps

disp('设a=sum(diag(S)>tol)-rank(A),求a')

a=sum(diag(S)>tol)-rank(A)

disp('设b=S(1,1)-norm(A),求b')

b=S(1,1)-norm(A)

disp('设c=sqrt(sum(diag(S*S)))-norm(A,fro),求c')

c=sqrt(sum(diag(S*S)))-norm(A,'fro')

disp('设d=S(1,1)/S(3,3)-cond(A),求d')

d=S(1,1)/S(3,3)-cond(A)

disp('设e=S(1,1)*S(2,2)*S(3,3)-det(A)

e=S(1,1)*S(2,2)*S(3,3)-det(A)

disp('设f=V(:

1)*null(A),求f')

f=V(:

1)'*null(A)

disp('设g=abs(A*null(A))

g=abs(A*null(A))

disp('设h=U(:

1:

2)==orth(A),求h')

h=U(:

1:

2)==orth(A)

结果:

设A=[1,2,3;4,5,6;7,8,9],得

A=

123

456

789

设[U,S,V]=svd(A),得

U=

 

S=

00

00

00

 

V=

设tol=S(1,1)*3*eps,得

tol=

设a=sum(diag(S)>tol)-rank(A),求a

a=

0

设b=S(1,1)-norm(A),求b

b=

0

设c=sqrt(sum(diag(S*S)))-norm(A,fro),求c

c=

设d=S(1,1)/S(3,3)-cond(A),求d

d=

-8

设e=S(1,1)*S(2,2)*S(3,3)-det(A)

e=

1

设f=V(:

1)*null(A),求f

f=

0

设g=abs(A*null(A))

g=

1

1

1

设h=U(:

1:

2)==orth(A),求h

h=

11

11

11

结果分析:

由上面的结果得出如下的题目答案:

(1)sum(diag(S)>tol)-rank(A)的结果是0;

(2)S(1,1)-norm(A)=0的结果是0;

(3)sqrt(sum(diag(S*S)))-norm(A,'fro')的结果是;

(4)S(1,1)/S(3,3)-cond(A)的结果是-8;

(5)S(1,1)*S(2,2)*S(3,3)-det(A)

(6)V(:

1)'*null(A)的结果是0;

(7)abs(A*null(A))

1

1;

(8)U(:

1:

2)==orth(A)的运行结果是11

11

11

4.求积分

程序:

t=0:

pi/100:

2*pi;

f=abs(sin(cos(t)));

F=cumsum(f)*pi/100;

plot(t,F);

xlabel('x轴');

ylabel('y轴');

title('刻画y=abs(sin(cos(t)))在(0,x)间积分曲线[x∈(0,2π)]')

gridon;

结果:

5.求方程

的解。

程序:

clear;

clc;

disp('计算方程组x^2+y^2=1x*y=2的根xy')

[x,y]=solve('x^2+y^2=1','x*y=2')

结果:

计算方程组x^2+y^2=1x*y=2的根xy

x=

[-1/2*(1/2*5^(1/2)+1/2*i*3^(1/2))^3+1/4*5^(1/2)+1/4*i*3^(1/2)]

[-1/2*(1/2*5^(1/2)-1/2*i*3^(1/2))^3+1/4*5^(1/2)-1/4*i*3^(1/2)]

[-1/2*(-1/2*5^(1/2)+1/2*i*3^(1/2))^3-1/4*5^(1/2)+1/4*i*3^(1/2)]

[-1/2*(-1/2*5^(1/2)-1/2*i*3^(1/2))^3-1/4*5^(1/2)-1/4*i*3^(1/2)]

y=

[1/2*5^(1/2)+1/2*i*3^(1/2)]

[1/2*5^(1/2)-1/2*i*3^(1/2)]

[-1/2*5^(1/2)+1/2*i*3^(1/2)]

[-1/2*5^(1/2)-1/2*i*3^(1/2)]

6.在某鼓励条件下,二阶系统归一化响应可表示为

,其中

为阻尼系数,

请用不同的颜色或线型,在同一张图上,绘制

取值下系统在

区间内的响应曲线,并要求用

对它们相应的两条曲线进行夺目的文字标志。

程序:

b=:

:

;

t=0:

:

18;

color=['r','g.','bo','cx','m+','y*','kv','r--','g:

','b-.'];

fori=1:

10

p(i)=sqrt(1-b(i).*b(i));

q(i)=atan(sqrt(1-b(i).*b(i))./b(i));

y=1-1./p(i).*exp(-b(i).*t).*sin(p(i).*t+q(i));

ifi==1

plot(t,y,color(i))

text(t(30),y(30),'\leftarrowξ=','FontSize',18)

holdon

elseifi==10

plot(t,y,color(i))

text(t(50),y(50),'\leftarrowξ=','FontSize',18)

holdon

else

plot(t,y,color(i))

holdon

end

end

end

结果:

7.构建一个简单的全波整流模型,并用示波器分两路同时观看原信号和整流后的信号波形。

要求:

信源模块被从头命名为“输入正弦波”;信宿模块被从头命名为“示波器”;连接到信宿的信号线上别离标注“原信号”和“整流信号”;在模型窗中添加注释文本。

(1)、原理图:

各模块参量设置:

[示波器]

Parameters

Numberofaxes:

2

其他默许

[其余模块]

默许选项

结果

(2)、原理图:

各模块参数设定

[Gain]

Gain:

-1

其他默许

[其余模块]

默许选项

 

结果

8.利用SIMULINK及其标准模块设计一个低通滤波器,从受噪声干扰的多频率混合信号

中获取10Hz的信号。

在此

,而

各模块参量设置:

[SineWave]

Frequency(rad/sec):

10

其他默许

[SineWave1]

Frequency(rad/sec):

100

Phase(rad):

pi/2

其他默许

[RandomNumber]

Variance:

Sampletime:

100

其他默许

[Sum]

Listofsigns:

|+++

其他默许

[AnalogFilterDesign]

Passbandedgefrequency(rad/s):

10

其他默许

[其余模块]

默许选项

 

结果:

9.已知系统的状态方程为:

,其中

,请构建该系统的仿真模型,并用XYGraph模块观看

相轨迹。

原理图:

参数配置;

[Sum]

Listofsigns:

|--+

其他默许

[integrator]

Initialcondition:

[integrator1]

Initialcondition:

结果:

10.CD74HC00仿真(数字电路)

实现方式:

那个地址确实是四个与非门的实现,利用LogicalOperator模块做出四个与非门,还要再和Vcc和Gnd相与,再输出。

然后用Subsystem封装成子系统即可;

原理图:

(1)、封装前的原理图

 

(2)、分装后的测试原理图

结果:

分析:

前两路别离为产生“1100”和“0101”的脉冲发生器的波形,后四路波形那么别离为四个与非门的输出;

能够看到,四路输出信号与输入信号均符合与非逻辑的关系,符合7400的真值表,设计正确!

11.2FSK信号的生成与接收滤波

要求:

1)产生二进制[0,1]随机信号波,信号波特率为1000B

2)对此信号进行2FSK调制,f1=1500Hz,f2=3050Hz

3)加入高斯白噪声

4)在接收端进行带通滤波

5)抽样速度为20KHz.

6)观看滤波前后信号的波形和频谱。

实现方式:

利用BernoulliBinaryGenerator模块产生随机信号;

利用SineWave模块产生f1=1500Hz,f2=3050Hz的载波,结合Switch模块进行2FSK调制;

利用AWGNChannel模块构建高斯白噪声信道,其参数设置为:

信噪比:

10dB,输入信号功率:

1W;

利用DigitalFilterDesign设计带通滤波器,别离为1500Hz和3050Hz滤波

然后利用相干解调,在将两个载波相加,用符号函数裁决出原信号。

原理图:

(、)

参数设计:

[SineWave]:

Frequency:

1500Hz

其他:

默许

[SineWave1]:

Frequency:

3050Hz

其他:

默许

[BernoulliBinaryGenerator]

Sampletime:

1/1000

其他:

默许

[Switch]:

Threshoid:

1/2

其他:

默许

[AWGNChannel]

SNR:

10db

Power:

1W

其他:

默许

[DigitalFilterDesign]

Bandpass;

Fs:

20kHz

Fstop1:

Fpass1:

:

Fstop2:

2KHz

Fpass:

其他:

默认

[DigitalFilterDesign1]

Bandpass;

Fs:

20kHz

Fstop1:

Fpass2:

:

Fstop2:

Fpass2:

4KHz:

其他:

默许

调制的原理图:

调制加解调的原理图:

结果:

频谱图:

调制、解调的波形图:

结果分析:

原信号通过2FSK调制,通过噪声信道,再进行滤波、相干解调,最后又恢复出原信号,结果符合题目要求,系统设计正确!

滤波器等相关设备的参数也设置适当!

实验成功!

12.创建一个简单的离散多速度系统:

单位阶跃信号通过具有不同速度的采样后别离用作两个离散传递函数的输入。

这两个离散传递函数有相同的有理分式

,但采样时刻和时刻偏置二元对别离设为[1,]和[,0]。

要求:

观看这两个离散传递函数的输出有什么不同;用不同的颜色标帜不同采样速度系统。

(通信系统)

原理图:

结果

二、模拟数字电路仿真实验

(一)数字逻辑电路基础

熟悉经常使用逻辑单元的特性,学会运用大体逻辑单元(与、或、非、异或、R-S触发器、D触发器、J-K触发器等),修改参数、增减输入/输出端。

(二)组合逻辑电路仿真

1、设计二/四线译码器

实现方式:

利用LogicOperator模块实现非门和与非门;

利用PulseGenerator模块产生0101和0011序列码,用来查验设计出的子系统。

原理图:

 

封装前原理图:

结果及分析

分析:

当!

EN端置0时,现在,随着第二、三两路信号输入的不同,作为输出端的Y0,Y1,Y2,Y3依次输出低电平,符合真值表要求,证明设计的子系统工作正常。

分析:

当!

EN端置1时,子系统没有被使能。

现在,作为输出端的Y0,Y1,Y2,Y3没有随着输入A0,A1作出相应转变,而是一直输出高电平,证明设计的子系统工作正常。

设计正确!

2、设计四选一数据选择器

能仿真测试,并设计成子系统元件

实现方式:

利用的模块同上;

地址信号用PulseGenerator产生;

D0到D3也由PulseGenerator模块产生,为了区分各路信号,将其信号周期依次设置为,,和秒。

 

原理图

结果及分析:

前两路别离为输入信号,组合产生00,01,10,11的地址信号;第四到第七这四路信号为D0到D1,它们的频率各不相同;最后一路为输出信号;

能够看出,随着输入的地址信号的转变,输入一次输出该地址信号对应的信号。

子系统设计成功!

(三)时序逻辑电路仿真

1、设计四位二进制计数器(带置位和清零)

实现方式:

利用JK触发器和逻辑门组成之。

利用比较系数的方式可得电路的驱动方程为

查验电路将P,T,LD,CR置为1,然后观看示波器输出。

 

原理图:

封装前的原理图:

封装后:

结果:

从图中能够看出,脉冲在上升沿有效,计数器按0000~1111方式进行计数。

当P、T、L(置数)、CR(清零)有一个为低电平常的输出为全零。

P、T为0时,计数器不能工作;L为0置数,D3~D0全零,输出也全零。

CR为零时清零,因此输出也全零。

三、数字信号处置仿真实验

(一)、利用Kaiser窗函数设计的FIR低通滤波器进行数字滤波

利用Kaiser窗函数,设计具有如下指标的FIR低通滤波器:

fs=20KHz,fpass=4kHz,fstop=5KHz,Apass=,Astop=80dB。

归一化低通滤波器的要紧性能指标有:

绝对指标:

[0,wp]为滤波器的通带,δp为可允许的通带波动;[ws,π]为滤波器的阻带,δs为阻带波动。

相对指标:

Ap为用dB表示的通带波动;As为用dB表示的阻带波动

相对指标与绝对指标的关系为:

Ap=-20lg((1-δp)/(1+δp))

As=-20lg(δs)

设计大体思路:

第一选择一个符合要求的理想滤波器(那个地址是理想低通滤波器);由于理想滤波器的冲击响应是非因果的且无穷长,为了能用FIR滤波器实现,必需用适当的窗函数来截取,从而取得线性相位和因果的FIR滤波器。

而滤波器的特性与窗函数的长度(也就决定了FIR滤波器的长度)紧密相关。

一个截止频率为wc的理想低通滤波器的单位冲击响应为:

h(n)=sin[wc(n-a)]/[π(n-a)]

a为采样延迟,对应的频谱特性为:

H(w)=exp(-jaw),当|w|

用一个窗函数w(n)去截取后,取得:

hd(n)=h(n).w(n)

窗函数知足在[0,M]内关于a对称,在其他区域为0。

在频域,FIR滤波器的频率响应由理想滤波器的频响和窗函数的频响卷积取得。

对给定的阻带衰减,Kaiser窗提供了最大的主瓣宽度,从而提供最陡的过渡带。

窗函数的表达式为:

w(n)=I0{βsquare(1-(1-2n/M)2)}

其中I0为零阶Bessel函数。

Kaiser窗的优势在于它能够通过改变参数β和M来改变阻带衰减和过渡带宽。

在MATLAB的SimLink中,有相关的模块供挪用。

题目:

1生成2KHz和8KHz的混合信号,使该信号通过上述滤波器,观看滤波前后的波形转变和频谱散布情形。

(大体要求)

实现方式:

第一用两个SineWave模块别离产生2kHz和8kHz的正弦信号,以后用add模块将二者混合。

用DigitalFilterDesign设计低通滤波器,具体设置如下图:

原理图:

结果、

图为滤波以后和之前的信号频谱,能够观看到,滤波以后,处于通带之外的8kHz的正弦分量消失了。

上图是示波器的波形,其中第一路为2kHz和8kHz的混合信号,第二路为滤波以后的信号,可见低通滤波器符合要求!

2在改信号中加入高斯白噪声,观看滤波前后的波形转变和频谱散布情形。

(大体要求)

实现方式:

在上题基础上增加AWGN信道,加入高斯白噪声。

原理图:

 

结果:

分析:

图为滤波以后和之前的信号频谱,能够观看到,滤波以后,处于通带之外的8kHz的正弦分量消失了。

分析:

上图是加噪声后示波器的波形,其中第一路为2kHz和8kHz和噪声的混合信号,第二路为滤波以后的信号(还有低频的噪声)!

3、将上述滤波器改成中心频率为100KHz的带通滤波器,信号源为带外的90KHz和带内的100KHz的混合正弦信号,重做1,2问。

实现方式:

利用DigitalFilterDesign设计带通滤波器,具体设置为:

Fs=1000kHz,Fstop1=99kHz,Fpass1=kHz,Fpass2=kHz,Fstop2=101kHz。

 

原理图:

结果:

无噪声的频谱分析:

无噪声的波形分析:

加入噪声的频谱分析:

加入噪声的波形分析:

(二)、DSB-SC信号的生成与解调

要求:

1)用离散(DSP)的方式生成DSB信号

2)载波频率为150KHz,音频为500Hz和2000Hz的混合音。

3)加入高斯白噪声

4)带通滤波,别离用正交解调和检波的方式实现解调。

5)抽样速度为600Hz。

6)观看各点的信号波形和频谱。

实现方式

此题目要求用离散的方式生成DSB信号,因此咱们用编写M文件方式而不是用Simulink来实现。

生成正弦音频信号时,对时刻t用向量表示,能够实现离散化。

DSB调制与解调别离利用amod,ademod函数。

加入高斯白噪声用awgn函数。

带通滤波用cheb1ord和fftfilt函数实现。

画频谱用fft函数实现。

程序代码():

t=0:

1/(600*1000-1):

;

m1=sin(500*2*pi*t);%500Hz正弦信号

m2=sin(2*pi*2000*t);%2000Hz正弦信号

m=m1+m2;%混合信号

figure

(1);

subplot(3,1,1);

plot(t,m);

title('原始信号');

z=amod(m,*10^5,6*10^5);%调制

subplot(3,1,2),plot(t,z);

title('DSB-SC信号图');

y=awgn(z,5);%加入高斯白噪声

subplot(3,1,3),plot(t,y);

title('加入噪声后的DSB-SC图,SNR=5');

figure

(2);

f=(0:

length(fft(z))-1)*(600*1000-1)/length(fft(z));

subplot(3,1,1);plot(f,abs(fft(z)));

title('调制后的频谱图');

%带通滤波器参数

As=100;Ap=1;

fs=6*10^5;%采样频率

fp1=400;fp2=*10^5;%通频带

fs1=300;fs2=*10^5;%截止带

wp=[fp1fp2]/(fs/2);

ws=[fs1fs2]/(fs/2);

[n,wn]=cheb1ord(wp,ws,Ap,As);

b=fir1(n,wn,chebwin(n+1,As));

x=fftfilt(b,y);

z1=ademod(x,*10^5,6*10^5);%滤波法解调

subplot(3,1,2);plot(t,z1);

title('解调后的波形')

f=(0:

length(fft(z1))-1)*(600*1000-1)/length(fft(z1));

subplot(3,1,3);

plot(f,abs(fft(z1)));

axis([0600003500]);

title('解调后的频谱图');

 

结果及分析:

加入高斯白噪声后对源信号干扰比较大,解调出来的波形失真较严峻,但解调后的频谱图是正确的。

实现方式:

此方式与正交解调方式类似,只只是在解调时加入了直流信号,以便掏出包络,掏出包络后再减去直流信号取得源信号。

取包络用取绝对值函数abs实现。

程序:

()

A=

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

当前位置:首页 > 幼儿教育 > 育儿理论经验

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

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