基于MATLAB的模拟通信系统的设计Word格式.docx
- 文档编号:18832351
- 上传时间:2023-01-01
- 格式:DOCX
- 页数:23
- 大小:378.75KB
基于MATLAB的模拟通信系统的设计Word格式.docx
《基于MATLAB的模拟通信系统的设计Word格式.docx》由会员分享,可在线阅读,更多相关《基于MATLAB的模拟通信系统的设计Word格式.docx(23页珍藏版)》请在冰豆网上搜索。
3、培养学生利用软件进行通信仿真的能力。
三、设计要求
1、每3人一组,组内成员进行各自分工,分别完成不同子系统的详细功能;
2、对通信系统有整体的较深入的理解,深入理解自己仿真部分的原理的基础,画出对应的通信子系统的原理框图;
3、提出仿真方案;
4、完成仿真软件的编制;
5、仿真软件的演示;
6、提交详细的设计报告。
四、实验条件
计算机、Matlab软件
五、系统设计
1.通信系统的原理
Ø
通信系统的一般模型
信息源:
消息的生成者或来源;
发送设备:
将信源输出的信号变为适合信道传输的发射信号,且发送信号包含了原始信号的一切信息;
信道:
传输信号的通道,可以是有线的,也可以是无线的;
噪声源:
在信道中传输,噪声是绝不可避免的,噪声又可为加性噪声(线性的噪声)和乘性噪声(非线性的噪声),一般我们只考虑加性噪声;
接收设备:
从接收信号中提取我们所希望的信号,并将其转换成适合输出传感器的形式;
受信者:
消息接收者。
在通信系统中,按信号参量的取值方式不同可把信号分为两类,即模拟信号和数字信号,再按照信道中传输信号的特征,来分为模拟通信系统和数字通信系统。
下面分别来介绍模拟通信系统与数字通信系统
模拟通信系统模型
调制器:
将原始电信号变换成其频带适合信道传输的信号;
解调器:
在接收端将信道中传输的信号还原成原始的电信号。
数字通信系统模型
信源编码/译码:
主要完成A/D变换、数据压缩、加密等三部分功能;
信道编码/译码:
数据扩张,增加保镖,提高抗干扰能力等;
基带脉冲生成器/抽样判决器:
数字基带传输系统的重要部分;
数字调制器/解调器:
(1)将数字基带信号的频谱搬移到信道的频带之内,以便于在信道中传输;
(2)便于对信道进行频分复用,从而有效地利用信道的频率资源。
数字解调是数字调制的反过程。
模拟通信系统与数字通信系统的比较
模拟通信系统和数字通信系统各有自己的一些特点,但相对于模拟通信系统,数字通信系统有许多独特的优点,例如:
数字通信系统抗噪能力强、便于加密、易复用也易压缩、易于集成化、便于用计算机处理数字信号、更适合多种数字业务,容易实现多网合一等。
相应地,数字通信系统也有自己的缺点:
它需要更宽的传输带宽和较复杂的同步系统等。
2.所设计子系统的原理
我所设计的子系统是模拟通信系统,模拟通信系统的主要内容是研究不同信道条件下不同的调制解调方法。
调制可以分为三类,即调幅(AM)、调频(FM)、调相(PM),其中调幅又分为普通调幅(AM)、抑制载波的双边带调幅(DSB)、单边带调幅(SSB)。
基带信号:
(1)基带信号是由消息转化而来的原始模拟信号,它的频谱一般从零频附近开始,如语音信号为300~3400Hz;
(2)在实际通信系统中,基带信号一般含直流和低频成分,不宜直接传输,这就需要把基带信号变换成其频带适合在信道中传输的信号,并可在接收端进行反变换,完成这种变换和反变换作用的通常是调制器和解调器。
已调信号:
它有三个基本特征,即
(1)携带有信息;
(2)适合在信道中传输;
(3)信号的频谱具有带通形式且中心频率远离零频,因而已调信号又称带通信号或频带信号。
模拟通信的主要特点:
●简单、易于实现
●抗干扰能力差
●不易于保密通信
●设备不易于大规模集成
●不适应飞速发展的计算机通信的要求
六、详细设计与编码
1.设计方案
本次仿真用两种方法-FM、DSB分别对模拟输入信号m(t)进行调制与解调,并对它们的仿真结果进行对比,现在分别对这两种仿真提出以下设计方案:
(1)FM设计方案
设调制信号为m(t),载波信号为
,u(t)为调制后的信号,
为相角向量,dem为解调后的信号,则:
(2)DSB设计方案
,u(t)为调制后的信号,y为混频后的信号,DEM为调制后的频谱,dem为解调后的信号,则:
u(t)=m(t)*c(t)
U(f)=0.5[M(f-fc)+M(f+fc)]
y(t)=u(t)*c(t)
Y(f)=0.5M(f)+0.25M(f-2fc)+0.25M(f+2fc)
DEM=M(f)
dem=IFFT[DEM]
2.编程工具的选择
本仿真所用的工具软件是MATLAB7.0。
该软件的功能强大,最擅长矩阵处理,并在系统仿真、数字信号处理、图形图像分析、数理统计、通信及自动控制领域得到广泛应用,特别是MATLAB中Simulink在通信上的应用,它可以用来仿真完整的通信系统,同时MATLAB内部有许多与通信有关的函数,这样程序编写方便,也便于观察波形特征。
3.编码与测试
(1)FM主函数fm.m
%fm.m
%频率调制与解调的Matlab演示源程序
%可以任意改原调制信号函数m(t)
%本例调制信号为m(t)=sinc(100*t)
echooff
closeall
clc
t0=0.2;
%信号的持续时间,用来定义时间向量
ts=0.001;
%抽样间隔
fs=1/ts;
%抽样频率
%*********************************************************************
fc=300;
%载波频率,fc可以任意改变
t=[-t0/2:
ts:
t0/2];
%时间向量
kf=100;
%偏差常数
df=0.25;
%所需的频率分辨率,用在求傅里叶变换时,它表示FFT的最小频率间隔
m=sinc(100*t);
%调制信号,m(t)可以任意更改
%求信号m(t)的积分,这是对离散信号求积分的好方法
int_m
(1)=0;
fori=1:
length(t)-1
int_m(i+1)=int_m(i)+m(i)*ts;
end
[M,m,df1]=fftseq(m,ts,df);
%对调制信号m(t)求傅里叶变换
M=M/fs;
%缩放,便于在频谱图上整体观察
f=[0:
df1:
df1*(length(m)-1)]-fs/2;
%时间向量对应的频率向量
u=cos(2*pi*fc*t+2*pi*kf*int_m);
%调制后的信号
[U,u,df1]=fftseq(u,ts,df);
%对调制后的信号u求傅里叶变换
U=U/fs;
%缩放
%法一:
不调用子程序env_phas和loweq,直接在主程序中表示
%t1=[0:
ts*(length(u)-1)];
%z=hilbert(u);
%yq=z.*exp(-j*2*pi*fc*t1);
%dem=(1/(2*pi*kf))*diff(unwrap(angle(yq))*fs);
%法二:
通过调用子程序env_phas和loweq来实现解调功能
[v,phase]=env_phas(u,ts,fc);
%解调,求出u的相位
phi=unwrap(phase);
%校正相位角,使相位在整体上连续,便于后面对该相位角求导
dem=(1/(2*pi*kf))*(diff(phi)*fs);
%对校正后的相位求导
%再经一些线性变换来恢复原调制信号
%乘以fs是为了恢复原信号,因为前面使用了缩放
%*********************************************************************
disp('
按任意键可以看到原调制信号和已调信号的曲线'
)
pause
figure
(1)
subplot(2,1,1)
plot(t,m(1:
length(t)))%现在的m信号是重新构建的信号,
%因为在对m求傅里叶变换时m=[m,zeros(1,n-n2)]
xlabel('
时间t'
title('
原调制信号的时域图'
subplot(2,1,2)
plot(t,u(1:
length(t)))
已调信号的时域图'
按任意键可以看到原调制信号和已调信号的在频域内的图形'
figure
(2)
plot(f,abs(fftshift(M)))%fftshift:
将FFT中的DC分量移到频谱中心
频率f'
原调制信号的频谱图'
plot(f,abs(fftshift(U)))
已调信号的频谱图'
按任意键可以看到在无噪声情况下的原调制信号的波形和解调信号的输出情况'
figure(3)
plot(t,dem(1:
解调后信号的时域波形'
(2)DSB主函数dsb.m
%dsb.m
%双边带调制与解调的Matlab演示源程序
%所需的频率分辨率
c=cos(2*pi*fc.*t);
%载波信号函数,照原理上它也可以任意更改
u=m.*c;
%已调信号
y=u.*c;
%混频信号,用来提取原调制信号的频率
%缩放,便于在频谱图上整体观察
%对调制后的信号u求傅里叶变换
%缩放
[Y,y,df1]=fftseq(y,ts,df);
%对混频后的信号y求傅里叶变
Y=Y/fs;
%以下这段程序是专门用来构建在频谱上的滤波器的方法
f_cutoff=150;
%滤波器的截止频率
n_cutoff=floor(150/df1);
%设计的滤波器的带宽
df1*(length(y)-1)]-fs/2;
%频率分量
H=zeros(size(f));
%构建滤波器的步骤之一
H(1:
n_cutoff)=2*ones(1,n_cutoff);
H(length(f)-n_cutoff+1:
length(f))=2*ones(1,n_cutoff);
%滤波器的频带函数
%********************************************************************
DEM=H.*Y;
%经过滤波器后输出信号的频谱
dem=real(ifft(DEM))*fs;
%ifft为傅里叶反变换函数,滤波器的输出-解调信号
%乘以fs是为了恢复原信号,因为前面使用了缩放
按任意键可看到混频的效果'
pause
subplot(3,1,1)
plot(f,fftshift(abs(M)))%fftshift:
subplot(3,1,2)
plot(f,fftshift(abs(U)))
subplot(3,1,3)
plot(f,fftshift(abs(Y)))
混频信号的频谱图'
按任意键可看到混频器输出的波形的频谱效果'
plot(f,fftshift(abs(H)))
低通滤波器的频谱图'
plot(f,fftshift(abs(DEM)))
混频信号通过滤波器后的信号的频谱图'
按任意键可看到原调制信号和接受信号频谱的比较'
plot(f,fftshift(abs(M)))
按任意键可看到原调制信号和解调器输出信号对比'
figure(4)
解调后信号的时域图'
(3)FM及DSB中都所用到的子函数fftseq.m
%求傅里叶变换的子函数
function[M,m,df]=fftseq(m,ts,df)
ifnargin==2%nargin为输入参量的个数
n1=0;
else
n1=fs/df;
n2=length(m);
n=2^(max(nextpow2(n1),nextpow2(n2)));
%nextpow2(n)取n最接近的较大2次幂
M=fft(m,n);
%M为信号m的傅里叶变换,n为快速傅里叶变换的点数,及为基n-FFT变换
m=[m,zeros(1,n-n2)];
%构建新的m信号
df=fs/n;
%重新定义频率分辨率
(4)FM中所用到的子函数env_phas.m
%求信号相角的子函数,这是调频、调相都要用到的方法
function[v,phi]=env_phas(x,ts,f0)
ifnargout==2%nargout为输出变量的个数
z=loweq(x,ts,f0);
%产生调制信号的正交分量
phi=angle(z);
%angle是对一个复数求相角的函数
v=abs(hilbert(x));
%abs用来求复数hilbert(x)的模
(5)FM中所用到的子函数loweq.m
functionx1=loweq(x,ts,f0)
t=[0:
ts*(length(x)-1)];
z=hilbert(x);
%希尔伯特变换对的利用---通过实部来求虚部
x1=z.*exp(-j*2*pi*f0*t);
%产生信号z的正交分量,
%并将z信号与它的正交分量加在一起
4.编码与调试过程
由于通过查阅参考书及网上资料,我所编写的这两种程序基本上不存在语法上的错误,只是要求对程序进行仔细阅读及理解,并在一些地方进行必要改写,且加入我自己的思想,使这两种程序更容易理解。
通过查阅资料,我了解了以下一些有用的与通信有关的名词及关键的MATLAB函数:
频率分辨率:
在某抽样点数条件下FFT所表示的最小频率间隔;
希尔伯特变换对:
这是任何因果性系统的系统函数具有的重要特征-实部与虚部满足希尔伯特变换对,即可用实部(或虚部)来求它希尔伯特变换的虚部;
fft():
快速傅里叶函数;
angle():
求一复数向量的相位角;
unwrap():
相位校正函数,按弧度展开,大于pi的则变为2pi的补角,目的是使相位在整体上大致连续,便于后续求导;
nextpow2(n):
取n最接近的较大2次幂,如:
512<
n<
1024,则nextpow2(n)=10;
hilbert():
希尔伯特变换函数;
ifft():
快速傅里叶变换的反变换函数,通过频谱函数求原时间序列函数;
fftshift():
将fft中的DC分量移到频谱中心上。
5.运行结果及分析
编完程序经检查无误后,运行程序得结果如下:
(1)FM运行结果及分析
①按任意键可以看到原调制信号和已调信号的曲线
由于FM调制的幅度与载波幅度一致,且载波幅度为1,所以已调信号的幅度也为1,但已调信号的相角随m(t)的幅值的变化而变化,故已调信号中间频率要大一些(但此图分辨不太清楚,在MATLAB上能明显观察出来)。
②按任意键可以看到原调制信号和已调信号的在频域内的图形
上部分是抽样脉冲信号sinc(100t)的频谱图,这大体上复合实际的频谱图形;
下部分是已调信号
的频谱,它实际上还是余弦信号的频谱,故主要变现为一冲激函数,且中心频率为fc=300,当然还有其他频谱的叠加。
③按任意键可以看到在无噪声情况下的原调制信号的波形和解调信号的输出情况
这是原信号与解调后信号的对比。
从这两个图可以看出,它能较完整的恢复原信号,特别是原信号的基波分量,因此这种FM调制与解调方法具有可行性。
(2)DSB运行结果及分析
①按任意键可看到混频的效果
Ⅰ、DSB已调信号的带宽是原调制信号带宽的2倍;
Ⅱ、仔细观察这三种频谱图的幅值,它们的变化是因为:
原信号频谱为:
M(f)
已调信号频谱为:
混频信号频谱为:
Ⅲ、再来观察它们的中心频率:
已调信号频谱的中心频率为fc=300
混频信号除在原点外的中心频率理论上应为2fc=600,但实际上为400,这是一个值得探讨的问题。
但是,改变载波信号的频率时,又得出了不同结果,如:
当fc=200时,混频的效果图为
此时,混频后信号频谱的中心频率为2fc=400
又当fc=400时,混频的效果图为
此时,混频后信号频谱的中心频率为200
因此,我认为它们的变化有以下规律:
当fc<
=250时,混频后信号频谱的中心频率满足2fs;
当fc>
250时,混频后信号频谱的中心频率满足2|fs-500|;
那是因为我们早已规定好了频率范围为[-500500],超出250这一范围的都按它与500的绝对值进行处理。
②按任意键可看到混频器输出的波形的频谱效果
我们定义的频谱低通滤波器的带宽为150,混频信号经过它后,其频带范围也只限于这一范围内。
还有,该低通滤波器频谱幅度值为2,这是为准确恢复原信号做铺垫的,因为原混频信号频谱的幅度值为M(f)的0.5倍。
③按任意键可看到原调制信号和接受信号频谱的比较
从图上可以看出,调制信号频谱与解调信号频谱基本上一致。
④按任意键可看到原调制信号和解调器输出信号对比
由于解调信号的频谱与原调制信号频谱基本上一致,故经过傅里叶反变换后的模拟信号也基本上与原调制信号一致,因此这种DSB调制与解调方法也具有可行性。
(3)两
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 MATLAB 模拟 通信 系统 设计