信号分析课设报告.docx

上传人:b****6 文档编号:7960291 上传时间:2023-01-27 格式:DOCX 页数:24 大小:942.54KB
下载 相关 举报
信号分析课设报告.docx_第1页
第1页 / 共24页
信号分析课设报告.docx_第2页
第2页 / 共24页
信号分析课设报告.docx_第3页
第3页 / 共24页
信号分析课设报告.docx_第4页
第4页 / 共24页
信号分析课设报告.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

信号分析课设报告.docx

《信号分析课设报告.docx》由会员分享,可在线阅读,更多相关《信号分析课设报告.docx(24页珍藏版)》请在冰豆网上搜索。

信号分析课设报告.docx

信号分析课设报告

课程设计任务书

学生姓名:

李依隆专业班级:

电信1005班

指导教师:

桂林工作单位:

信息工程学院

题目:

信号分析处理课程设计

-基于MATLAB的模拟信号频率调制(FM)与解调分析

初始条件:

1.Matlab6.5以上版本软件;

2.先修课程:

通信原理等;

要求完成的主要任务:

(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)

1、利用MATLAB中的simulink工具箱中的模块进行模拟频率(FM)调制与解调,观察波形变化

2、画出程序设计框图,编写程序代码,上机运行调试程序,记录实验结果(含计算结果和图表等),并对实验结果进行分析和总结;

3、课程设计说明书按学校统一规范来撰写,具体包括:

⑴目录;⑵理论分析;

⑶程序设计;⑷程序运行结果及图表分析和总结;

⑸课程设计的心得体会(至少800字,必须手写。

);

⑹参考文献(不少于5篇)。

时间安排:

周一、周二查阅资料,了解设计内容;

周三、周四程序设计,上机调试程序;

周五、整理实验结果,撰写课程设计说明书。

指导教师签名:

年月日

系主任(或责任教师)签名:

年月日

目录

1.工具介绍1

1.1matlab介绍1

1.2simulink介绍1

2.理论分析2

2.1角度调制2

2.2调频(FM)2

2.3解调4

3.matlab程序设计5

3.1调制程序设计5

3.2解调程序设计7

4.simulink仿真设计与噪声分析9

4.1FM调制与解调模型的建立与仿真9

4.2高斯噪声影响分析13

5.课程设计心得体会16

6.参考文献18

附录一:

19

附录二:

24

1.工具介绍

1.1matlab介绍

MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。

MATLAB和Mathematica、Maple、MathCAD并称为四大数学软件。

它在数学类科技应用软件中在数值计算方面首屈一指。

MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。

在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。

可以直接调用,用户也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用,此外许多的MATLAB爱好者都编写了一些经典的程序,用户可以直接进行下载就可以用。

1.2simulink介绍

Simulink是MATLAB中的一种可视化仿真工具,是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。

Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。

为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接口(GUI),这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。

Simulink是用于动态系统和嵌入式系统的多领域仿真和基于模型的设计工具。

对各种时变系统,包括通讯、控制、信号处理、视频处理和图像处理系统,Simulink提供了交互式图形化环境和可定制模块库来对其进行设计、仿真、执行和测试。

.

构架在Simulink基础之上的其他产品扩展了Simulink多领域建模功能,也提供了用于设计、执行、验证和确认任务的相应工具。

Simulink与MATLAB紧密集成,可以直接访问MATLAB大量的工具来进行算法研发、仿真的分析和可视化、批处理脚本的创建、建模环境的定制以及信号参数和测试数据的定义。

2.理论分析

2.1角度调制

幅度调制属于线性调制,它是通过改变载波的幅度,以实现调制信号频谱的平移及线性变换的。

一个正弦载波有幅度、频率和相位三个参量,因此,不仅可以把调制信号的信息寄托在载波的幅度变化当中。

这种使高频载波的频率或相位按调制信号的规律变化而振幅保持恒定的体脂肪是,成为频率调制(FM)和相位调制(PM),分别简称为调频或者调相。

因为频率或相位的变化都可以看做是载波角度的变化,故调频和调相又统称为角度调制。

角度调制与线性调制不同,已调信号频谱不再是原调制信号频移的线性搬移,而是频谱的非线性变换,会产生与频谱搬移不同的新的频率成分,故又称之为非线性调制。

由于频率和相位之间存在微分与积分的关系,故调频与调相之间存在密切关系,即调频必须调相,调相必调频。

可见,调频与调相并无本质区别,两者之间可相互转换。

在实际应用过程中,多采用调频波。

有两种基本的方法来产生调频信号:

直接法和间接法。

在直接法中,载波的频率直接随着输入的调制信号的变化而改变。

在间接法中,先用平衡调制器产生一个窄带调频信号,然后通过倍频的方式把载波频率提高到需要的水平。

2.2调频(FM)

一般干扰信号总是叠加在信号上,改变其幅值。

所以调频波虽然受到干扰后幅度上也会有变化,但在接收端可以用限幅器将信号幅度上的变化削去,所以调频波的抗干扰性极好,用收音机接收调频广播,基本上听不到杂音。

使载波频率按照调制信号改变的调制方式叫调频。

已调波频率变化的大小由调制信号的大小决定,变化的周期由调制信号的频率决定。

已调波的振幅保持不变。

调频波的波形,就像是个被压缩得不均匀的弹簧,调频波用英文字母FM表示。

载波的瞬时频率按调制信号的变化而变,但振幅不变的调制方式。

载波经调频后成为调频波。

用调频波传送信号可避免幅度干扰的影响而提高通信质量。

广泛应用在通信、调频立体声广播和电视中。

若使瞬时频率直接随调制信号线性地变化,则称为频率调制。

这时,瞬时角频率为

(1)

式中,

是调频器的灵敏度,单位是Hz/V。

瞬时相位为

(2)

这时已调信号的表达式为

(3)

式(3)表明,载波相位岁调制信号的积分线性地变化。

由于调制方法的非线性,角度调制的频域表示非常复杂,只讨论消息信号

是正弦信号的情况。

假设

,用其对频域载波作频率调制,已调信号表示为

(4)

为FM调制指数。

一般情况下对于非正弦的

,调制指数定义为

,其中W是消息信号

的带宽。

调制在通信系统中具有十分重要的作用。

一方面,通过调制可以把基带信号的频谱搬移到所希望的位置上去,从而将调制信号转换成适合于信道传输或便于信道多路复用的已调信号。

另一方面,通过调制可以提高信号通过信道传输时的抗干扰能力,同时,它还和传输效率有关。

具体地讲,不同的调制方式产生的已调信号的带宽不同,因此调制影响传输带宽的利用率。

调制过程是一个频谱搬移的过程,它是将低频信号的频谱搬移到载频位置。

而解调是将位于载频的信号频谱再搬回来,并且不失真地恢复出原始基带信号。

2.3解调

调制信号的解调分为相干解调和非相干解调两种。

相干解调仅仅适用于窄带调频信号,且需同步信号,故应用范围受限;而非相干解调不需同步信号,且对于NBFM信号和WBFM信号均适用,因此是FM系统的主要解调方式。

在本仿真的过程中我们选择用非相干解调方法进行解调。

 

图2-1FM解调模型

非相干解调器由限幅器、鉴频器和低通滤波器等组成,其方框图如图5所示。

限幅器输入为已调频信号和噪声,限幅器是为了消除接收信号在幅度上可能出现的畸变;带通滤波器的作用是用来限制带外噪声,使调频信号顺利通过。

鉴频器中的微分器把调频信号变成调幅调频波,然后由包络检波器检出包络,最后通过低通滤波器取出调制信号。

设输入调频信号为

(5)

微分器的作用是把调频信号变成调幅调频波。

微分器输出为

(6)

包络检波的作用是从输出信号的幅度变化中检出调制信号。

包络检波器输出为

(7)

称为鉴频灵敏度(

),是已调信号单位频偏对应的调制信号的幅度,经低通滤波器后加隔直流电容,隔除无用的直流,得

(8)

3.matlab程序设计

3.1调制程序设计

3.1.1程序代码

FM调制部分核心代码如下:

 

3.1.2运行结果

图3-1

图3-2

3.2解调程序设计

3.2.1程序代码

解调部分核心代码如下:

3.2.2运行结果

图3-3

图3-4

图3-5

4.simulink仿真设计与噪声分析

4.1FM调制与解调模型的建立与仿真

4.1.1模型的建立

调制部分使用simulink中的FMModulatorPassband模块,解调部分使用FMDemodulatorPassband,将随机数发生器的SampleTime设置为1/10,FMModualatorPassband模块中的CarrierFrequency设为250,仿真参数中将Maxstepsize设为0.001,StopTime设为10。

同时,为了便于进行实际情况下的噪声分析,在调制输出端加上了方差为0.01,均值为0的高斯噪声,对加性高斯噪声影响下的信号进行频谱分析。

在simulink当中,FM调制与解调模块必须是在离散的状态下运行,因此要对连续的正弦波信号进行离散化,这里使用了过零保持器(Zero-OrderHold),将采样精度设置为0.0001。

 

建立模型如下:

图4-1模型图

 

4.1.2仿真结果

图4-2FM调制的输入信号与调制信号

图4-3输入信号频谱

 

图4-4FM已调信号的频谱

图4-5解调出的信号的频谱

4.2高斯噪声影响分析

4.2.1噪声影响下的波形图分析

图4-6上部分为噪声影响下的已调波,下部分为高斯噪声信号

4.2.2噪声影响下的频谱图的分析

图4-7高斯噪声的频谱图

图4-8输入信号的频谱图

图4-9加了高斯噪声的已调波频谱

 

图4-10加了高斯噪声之后解调出的信号

根据加性高斯噪声影响下的频谱图的分析可知,在加性高斯噪声影响下,解调出的信号存在一定程度的失真,在高频上出现一些呈正态分布的高频分量,通过低通滤波器就可以滤除从而精确还原出原始波形。

根据理论可以验证,如图上所示的大信噪比的情况下,噪声的加入会造成高频分量的增加和一定的相位偏移;但是在小信噪比的情况下,噪声的加入有可能导致门限效应。

根据以上的频谱图分析可知,采用相干解调的方式,再将信号连接一低通滤波器,可以有效地滤除噪声信号,但是在有用信号频段内的噪声比较难以滤除,因为噪声是均匀分布在各个频段内的,在输入信号频段内的噪声信号较难以滤除。

 

5.课程设计心得体会

 

6.参考文献

[1]樊昌信.通信原理.国防工业出版社,2007

[2]详解MATLAB/simulink通信系统的建模与仿真.刘学勇.电子工业出版社,2011

[3]数字信号处理.程佩青.清华大学出版社,2007

[4]应用随机过程.SeldonM.人民邮电出版社,2011

[5]MATLAB基础教程.刘学勇.电子工业出版社,2011

 

附录一:

程序代码:

%FM调制解调系统.m

%频率调制与解调的Matlab演示源程序

%可以任意改原调制信号函数m(t)

%电信工程1005班李依隆

%?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

%*****************初始化******************

echooff

closeall

clearall

clc

%*****************************************

%?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

%****************FM调制*******************

dt=0.001;%设定时间步长

t=0:

dt:

1.5;%产生时间向量

am=5;%设定调制信号幅度

fm=5;%设定调制信号频率

mt=am*cos(2*pi*fm*t);%生成调制信号

fc=50;%设定载波频率

ct=cos(2*pi*fc*t);%生成载波

kf=10;%设定调频指数

int_mt

(1)=0;

fori=1:

length(t)-1

int_mt(i+1)=int_mt(i)+mt(i)*dt;%求信号m(t)的积分

end%调制,产生已调信号

sfm=am*cos(2*pi*fc*t+2*pi*kf*int_mt);%调制信号

%*****************************************

%?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

%*************添加高斯白噪声**************

sn1=10;%设定信躁比(小信噪比)

sn2=30;%设定信躁比(大信噪比)

sn=0;%设定信躁比(无信噪比)

db=am^2/(2*(10^(sn/10)));%计算对应的高斯白躁声的方差

n=sqrt(db)*randn(size(t));%生成高斯白躁声

nsfm=n+sfm;%生成含高斯白躁声的已调信号(信号通

%过信道传输)

%*****************************************

%?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

%****************FM解调*******************

fori=1:

length(t)-1%接受信号通过微分器处理

diff_nsfm(i)=(nsfm(i+1)-nsfm(i))./dt;

end

diff_nsfmn=abs(hilbert(diff_nsfm));%hilbert变换,求绝对值得到瞬时幅度(包络检波)

zero=(max(diff_nsfmn)-min(diff_nsfmn))/2;

diff_nsfmn1=diff_nsfmn-zero;

%*****************************************

%?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

%**************时域到频域转换**************

ts=0.001;%抽样间隔

fs=1/ts;%抽样频率

df=0.25;%所需的频率分辨率,用在求傅里叶变换

%时,它表示FFT的最小频率间隔

%*****对调制信号m(t)求傅里叶变换*****

m=am*cos(2*pi*fm*t);%原调信号

fs=1/ts;

ifnargin==2

n1=0;

else

n1=fs/df;

end

n2=length(m);

n=2^(max(nextpow2(n1),nextpow2(n2)));

M=fft(m,n);

m=[m,zeros(1,n-n2)];

df1=fs/n;%以上程序是对调制后的信号u求傅里变换

M=M/fs;%缩放,便于在频铺图上整体观察

f=[0:

df1:

df1*(length(m)-1)]-fs/2;%时间向量对应的频率向量

%************对已调信号u求傅里变换**********

fs=1/ts;

ifnargin==2

n1=0;

else

n1=fs/df;

end

n2=length(sfm);

n=2^(max(nextpow2(n1),nextpow2(n2)));

U=fft(sfm,n);

u=[sfm,zeros(1,n-n2)];

df1=fs/n;%以上是对已调信号u求傅里变换

U=U/fs;%缩放

%******************************************

%*****************************************

%?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

*?

%***************显示程序******************

disp('按任意键可以看到原调制信号、载波信号和已调信号的曲线')

pause

%**************figure

(1)******************

figure

(1)

subplot(3,1,1);plot(t,mt);%绘制调制信号的时域图

xlabel('时间t');

title('调制信号的时域图电信1005班李依隆');

subplot(3,1,2);plot(t,ct);%绘制载波的时域图

xlabel('时间t');

title('载波的时域图电信1005班李依隆');

subplot(3,1,3);

plot(t,sfm);%绘制已调信号的时域图

xlabel('时间t');

title('已调信号的时域图电信1005班李依隆');

%******************************************

disp('按任意键可以看到原调制信号和已调信号在频域内的图形')

pause

%************figure

(2)*********************

figure

(2)

subplot(2,1,1)

plot(f,abs(fftshift(M)))%fftshift:

将FFT中的DC分量移到频谱中心

xlabel('频率f')

title('原调制信号的频谱图电信1005班李依隆')

subplot(2,1,2)

plot(f,abs(fftshift(U)))

xlabel('频率f')

title('已调信号的频谱图电信1005班李依隆')

%******************************************

disp('按任意键可以看到原调制信号、无噪声条件下已调信号和解调信号的曲线')

pause

%**************figure(3)******************

figure(3)

subplot(3,1,1);plot(t,mt);%绘制调制信号的时域图

xlabel('时间t');

title('调制信号的时域图电信1005班李依隆');

subplot(3,1,2);plot(t,sfm);%绘制已调信号的时域图

xlabel('时间t');

title('无噪声条件下已调信号的时域图电信1005班李依隆');

nsfm=sfm;

fori=1:

length(t)-1%接受信号通过微分器处理

diff_nsfm(i)=(nsfm(i+1)-nsfm(i))./dt;

end

diff_nsfmn=abs(hilbert(diff_nsfm));%hilbert变换,求绝对值得到瞬时幅度(包络检波)

zero=(max(diff_nsfmn)-min(diff_nsfmn))/2;

diff_nsfmn1=diff_nsfmn-zero;

subplot(3,1,3);%绘制无噪声条件下解调信号的时域图

plot((1:

length(diff_nsfmn1))./1000,diff_nsfmn1./400,'r');

xlabel('时间t');

title('无噪声条件下解调信号的时域图电信1005班李依隆');

%*****************************************

disp('按任意键可以看到原调制信号、小信噪比高斯白噪声条件下已调信号和解调信号已调信号的曲线')

pause

%**************figure(4)******************

figure(4)

subplot(3,1,1);plot(t,mt);%绘制调制信号的时域图

xlabel('时间t');

title('调制信号的时域图电信1005班李依隆');

db1=am^2/(2*(10^(sn1/10)));%计算对应的小信噪比高斯白躁声的方差

n1=sqrt(db1)*randn(size(t));%生成高斯白躁声

nsfm1=n1+sfm;%生成含高斯白躁声的已调信号(信号通

%过信道传输)

fori=1:

length(t)-1%接受信号通过微分器处理

diff_nsfm1(i)=(nsfm1(i+1)-nsfm1(i))./dt;

end

diff_nsfmn1=abs(hilbert(diff_nsfm1));%hilbert变换,求绝对值得到瞬时幅度(包络检波)

zero=(max(diff_nsfmn)-min(diff_nsfmn))/2;

diff_nsfmn1=diff_nsfmn1-zero;

subplot(3,1,2);

plot(1:

length(diff_nsfm),diff_nsfm);%绘制含小信噪比高斯白噪声已调信号的时域图

xlabel('时间t');

title('含小信噪比高斯白噪声已调信号的时域图电信1005班李依隆');

subplot(3,1,3);%绘制含小信噪比高斯白噪声解调信号的时域图

plot((1:

length(diff_nsfmn1))./1000,diff_nsfmn1./400,'r');

xlabel('时间t');

title('含小信噪比高斯白噪声解调信号的时域图电信1005班李依隆');

%*****************************************

disp('按任意键可以看到原调制信号、大信噪比高斯白噪声条件下已调信号和解调信号已调信号的曲线')

pause

%**************figure(5)******************

figure(5)

subplot(3,1,1);plot(t,mt);%绘制调制信号的时域图

xlabel('时间t');

title('调制信号的时域图电信1005班李依隆');

db1=am^2/(2*(10^(sn2/10)));%计算对应的大信噪比高斯白躁声的方差

n1=sqrt(db1)*randn(size(t));%生成高斯白躁声

nsfm1=n1+sfm;%生成含高斯白躁声的已调信号(信号通过信道传输)

fori=1:

length(t)-1%接受信号通过微分器处理

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

当前位置:首页 > 初中教育 > 理化生

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

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