通信系统课程设计matlab.docx
- 文档编号:8042283
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:35
- 大小:174.78KB
通信系统课程设计matlab.docx
《通信系统课程设计matlab.docx》由会员分享,可在线阅读,更多相关《通信系统课程设计matlab.docx(35页珍藏版)》请在冰豆网上搜索。
通信系统课程设计matlab
!
课程设计任务书
学生姓名:
何思遥专业班级:
通信1002班
指导教师:
艾青松工作单位:
信息工程学院
题目:
通信系统课群综合训练与设计
课程设计目的:
通过课程设计,使学生加强对电子电路的理解,学会对电路分析计算以及设计。
进一步提高分析解决实际问题的能力,通过完成综合设计型和创新性实验及训练,创造一个动脑动手﹑独立开展电路实验的机会,锻炼分析﹑解决电子电路问题的实际本领,实现由课本知识向实际能力的转化;加深对通信原理的理解,提高学生对现代通信系统的全面认识,增强学生的实践能力。
要求完成的主要任务:
利用仿真软件(如Matlab或SystemView),或硬件实验系统平台上设计完成一
…
个典型的通信系统。
学生要完成整个系统各环节以及整个系统的仿真,最终在接收
端或者精确或者近似地再现输入(信源),计算失真度,并且分析原因。
设计要求为:
模拟信源为自己构造一时间函数,数字化方式为PCM,基带码为Miller码,信道码
汉明码,调制方式为ASK,信道为AWGN信道,解调方式与发送端对应。
课程设计进度安排
序号
设计内容
所用时间
`
1
根据设计任务,分析电路原理,确定实验方案
2天
2
根据实验条件进行电路的测试,并对结果进行分析
7天
3
撰写课程设计报告
|
1天
合计
2周
指
教师签名:
年月日
<
系主任签名:
年月日
摘要
本次课程设计主要是仿真通信系统中的编码和调制过程。
调制在通信系统中有十分重要的作用。
通过调制,不仅可以进行频谱搬移,把调制信号的频谱搬移到所希望的位置上,从而将调制信号转换成适合于传播的已调信号,而且它对系统的传输有效性和传输的可靠性有着很大的影响,调制方式往往决定了一个通信系统的性能。
MATLAB软件广泛用于数字信号分析,系统识别,时序分析与建模,神经网络、动态仿真等方面有着广泛的应用。
本课题利用MATLAB软件完成模拟信号进行PCM编码、Miller编码、汉明码、ASK调制、经过AWGN信道,再解调、译码的完整通信系统仿真,并通过统计误码率和对比前后波形,对这个通信系统进行评估。
本次课程设计是利用仿真软件或硬件实验系统平台上设计完成一个典型的通信系统。
一般的通信系统是由信源,发送设备,信道,接收设备,接收者构成。
根据此次课程设计的要求,是将一模拟信号经过数字化,信源编码,信道编码,数字调制后再经过相应的解码调制后,得到原始信号。
关键字:
MATLAB,编码,调制,解调,译码,通信系统
Abstract
Thiscourseisdesignedtosimulatetheprocessofcodingand in a communication system has a very important role. Through the modulation, can not only move the modulation signal spectrum, and the spectrum of the move to want the position, and the modulation signal into suitable for transmission of the modulated signal, and it to the system transmission efficiency and the reliability ofthe transmission has a great influence on the modulation method, often determines a communication system performance. MATLAB software is widely used in digital signal analysis, system identification, time series analysis and modeling, neural networks, dynamic simulation for such applications. This topic using MATLAB software simulation signal PCM coding, Manchester coding, hamming code and ASK modulation, through AWGN channel, and demodulation, decoding the integrity of the communication system simulation, and through the statistical error rate and contrast before and after waveform, the communication system to evaluate.
This course is designed using simulation software or hardware experiment system platform design completed a typical communication system. The general communication system is by the source, send equipment, channel, receiving equipment, constitute the receiver. According to the requirements of the course design, it is a analog signal through digital, source coding, channel coding, digital modulation after after corresponding decoding modulation, get the original signal.
Keywords:
MATLAB,Coding, modulation and demodulation, decoding, communication system
1设计任务
设计目的
通过课程设计,使学生加强对电子电路的理解,学会对电路分析计算以及设计。
进一步提高分析解决实际问题的能力,通过完成综合设计型和创新性实验及训练,创造一个动脑动手﹑独立开展电路实验的机会,锻炼分析﹑解决电子电路问题的实际本领,实现由课本知识向实际能力的转化;加深对通信原理的理解,提高学生对现代通信系统的全面认识,增强学生的实践能力。
课程设计要求
要求:
掌握以上各种电路与通信技术的基本原理,掌握实验的设计、电路调试与测量的方法。
1.培养学生根据需要选学参考书,查阅手册,图表和文献资料的自学能力,通过独立思考﹑深入钻研有关问题,学会自己分析解决问题的方法。
2.通过对实验电路的分析计算,了解简单实用电路的分析方法和工程设计方法。
3.掌握示波器,频谱仪,失真度仪的正确使用方法,学会简单电路的实验调试和
整机指标测试方法,提高动手能力。
课程设计任务
利用仿真软件(如Matlab或SystemView),或硬件实验系统平台上设计完成一个典型的通信系统。
学生要完成整个系统各环节以及整个系统的仿真,最终在接收端或者精确或者近似地再现输入(信源),计算失真度,并且分析原因。
(信源为模拟信源,数字化方式为增量调制,基带码为Miller码,信道码为循环Hamming,调制方式为ASK调制,信道类型为AWGN信道)
2实验电路原理分析
实验原理框图
图实验原理框图
数字化有三个基本过程:
抽样、量化、编码。
根据编码的不同有几种调制方法,如脉冲振幅调制(PAM),脉冲编码调制(PCM),差分脉冲编码调制(DPCM),增量调制。
基带传输的常用码型有AMI码,HDB3码,PST码,曼彻斯特码,密勒码,CMI码。
信道编码主要是为了解决数字通信的可靠性问题。
常用编码有汉明码,卷积码,循环码,BCH码。
数字调制的目的是把数字基带信号的频谱搬移到高频处,形成适合在信道中传输的频带信号,提高信号在信道上传输的效率,达到信号远距离传输的目的。
常见的数字调制方式有振幅键控(ASK),频移键控(FSK),相移键控(PSK)。
信道是信号传输媒介的总称,传输信道的类型有无线信道(如电缆、光纤)和有线信道(如自由空间)。
两种常见的信道有加性高斯白噪声信道,多径衰落信道。
根据题目要求,数字化方式为PCM调制,基带码为Miller码,信道码为Hamming码,数字调制方式为ASK调制,信道为AWGN信道,则有以下原理框图。
图实验原理框图
PCM原理
通常是把从模拟信号抽样、量化,直到编码为二进制符号的基本过程,称为脉冲编码调制(PCM),简称脉码调制。
在编码器中由冲激脉冲对模拟信号抽样,得到在抽样时刻上的信号抽样值。
这个抽样值仍是模拟量。
在量化之前,通常由保持电路将其作短暂保存,以便电路有时间对其量化。
在实际电路中,常把抽样和保持电路做在一起,称为抽样保持电路。
量化器把模拟抽样信号变成离散的数字量,然后在编码器中进行二进制编码。
这样每个二进制码组就代表一个量化后的信号抽样值。
解码的原理和编码过程相反。
(1)抽样:
抽样是对模拟信号进行周期性的扫描,把时间上连续的信号变成时间上离散的信号。
经过抽样的信号应包含原信号的所有信息,即能无失真地恢复出原模拟信号。
(2)量化是把经抽样得到的瞬时值进行幅度离散,即指定Q规定的电平,把抽样值用最接近的电平表示。
按照量化级的划分方式分,有均匀量化和非均匀量化。
均匀量化:
把输入信号的取值域按等距离分割的量化称为均匀量化。
在均匀量化中, 每个量化区间的量化电平在各区间的中点。
其量化间隔 Δ v 取决于输入信号的变化范围和 量化电平数。
当信号的变化范围和量化电平数确定后,量 化间隔也被确定。
上述均匀量化的主要缺点是,无论抽样值的大小如何,量化噪声的均方根都固定不变。
因此,当信号较小时,则信号量化噪声功率比也就很小,这样,对于弱信号时的信号量噪比就很难达到给定的要求。
通常,把满足信噪比要求的输入信号取值范围定义为动态范围。
可见,均匀量化是的信号动态范围将受到较大的限制。
为了克服这一个缺点,实际中往往采用非均匀量化。
非均匀量化:
非均匀量化是根据信号的不同区间来确定量化间隔的。
对于信号取值小的区间,其量化间隔也小;反之,量化间隔就大。
它与均匀量化相比,有两个突出的优点。
首先,当输入量化器的信号具有非均匀分布的概率密度时,非均匀量化器的输出端可以得到较高的平均信号量化噪声功率比;其次,非均匀量化时,量化噪声功率的均方根基本上与信号抽样值成比例。
因此量化噪声对大、小信号的影响大致相同,即改善了小信号时的 信号量噪比。
常见的非均匀量化有 A 律和 μ 率等,它们的区别在于量化曲线不同。
本课设中使用的13折线压缩是有A律压缩近似而来。
其折线图如下。
图13折线压缩示意图
(3)编码:
把抽样信号变换成给定字长的二进制码流的过程称为编码。
话音 PCM 的抽样频率为 8kHz,每个量化样值对应一个 8 位二进制码,故话音数字编 码信号的速率为 8bits×8kHz=64kb/s。
量化噪声随量化级数的增多和级差的缩小而减小。
量化级数增多即样值个数增多,就要求更长的二进制编码。
因此,量化噪声随二进制编码的位数增多而减小,即随数字编码信号的速率提高而减小。
自然界中的声音非常复杂,波形极其复杂,通常我们采用的是脉冲代码调制编码,即 PCM 编码。
PCM 通过抽样、量化、 编码三个步骤将连续变化的模拟信号转换为数字编码。
基带编码Miller码
Miller码也称延迟调制码,是一种变形双向码。
其编码规则:
对原始符号“1”码元起始不跃变,中心点出现跃变来表示,即用10或01表示。
对原始符号“0”则分成单个“0”还是连续“0”予以不同处理;单个“0”时,保持0前的电平不变,即在码元边界处电平不跃变,在码元中间点电平也不跃变;对于连续“0”,则使连续两个“0”的边界处发生电平跃变,即00和11交替。
编码例图如下。
图Miller码编码规则实例图
信道编码Hamming码
汉明码用于数据传送,能检测所有一位和双位差错并纠正所有一位差错的二进制代码,是一种编码效率较高的线性分组码。
与其他的错误校验码类似,汉明码也利用了奇偶校验位的概念,通过在数据位后面增加一些比特,可以验证数据的有效性。
利用一个以上的校验位,汉明码不仅可以验证数据是否有效,还能在数据出错的情况下指明错误位置。
在接受端通过纠错译码自动纠正传输中的差错来实现码纠错功能,称为前向纠错FEC。
在数据链路中存在大量噪音时,FEC可以增加数据吞吐量。
通过在传输码列中加入冗余位(也称纠错位)可以实现前向纠错。
但这种方法比简单重传协议的成本要高。
汉明码利用奇偶块机制降低了前向纠错的成本。
二进制幅移键控(2ASK)调制与解调原理
2ASK是利用载波的幅度变化来传递数字信息,而其频率和初始相位保持不变。
幅移键控(ASK)相当于模拟信号中的调幅,只不过与载频信号相乘的是二进数码而已。
幅移就是把频率、相位作为常量,而把振幅作为变量,信息比特是通过载波的幅度来传递的。
由于调制信号只有0或1两个电平,相乘的结果相当于将载频或者关断,或者接通,它的实际意义是当调制的数字信号"1时,传输载波;当调制的数字信号为"0"时,不传输载波。
其调制器原理框图如下。
单极性不归零信号e(t)
S(t)
coswt
图2ASK调制原理框图
调制过程的时间波形如下。
图2ASK调制波形图
本课设中ASK的解调采用相干解调方式,与模拟信号的接收系统相比,这里增加了一个抽样判决器的方框,这对于提高数字信号的接收性能是必要的。
下图为2ASK接受系统的组成方框图。
coswt定时脉冲
图2ASK解调原理框图
图给出了解调过程的时间波形。
图2ASK解调波形图
AWGN信道噪声
加性高斯白噪声AWGN(Additive White Gaussian Noise)是最基本的噪声与干扰模型。
加性噪声:
叠加在信号上的一种噪声,通常记为n(t),而且无论有无信号,噪声n(t)都是始终存在的。
因此通常称它为加性噪声或者加性干扰。
白噪声:
噪声的功率谱密度在所有的频率上均为一常数,则称这样的噪声为白噪声。
如果白噪声取值的概率分布服从高斯分布,则称这样的噪声为高斯白噪声。
3各模块的MATLAB实现
信号源
根据题目的要求,自己构造一个时间函数,本课设模拟话音信号。
因为话音信号的频率在300Hz~3400Hz之间,取典型值400Hz。
构造一个模拟正弦函数。
为了使得经过抽样的信号包含原信号的所有信息,即能无失真地恢复出原模拟信号。
抽样信号设定采样频率为8000Hz,因而采样点间步长为1/8000s。
程序为:
fs=8000;%设定采样频率
dt=1/fs;%设定步长
N=30;%设置图像上一共画30个点
n=0:
N-1;
f=400;%语音信号频率400,抽样频率8000,故每个波形20个抽样点
t0=(0:
89)*dt/3
y0=sin(2*pi*f*t0);%构造正弦函数(由于matlab函数构造的正弦本来就是离散的,
%所以令数据点数远远大于抽样后的点数来模拟这个抽样过程)
t=n*dt;
y=sin(2*pi*f*t);%抽样后
figure
(1);
subplot(2,1,1);plot(t0,y0);title('连续函数');
subplot(2,1,2);stem(t,y);title('抽样');
仿真结果如图,
图信号源仿真图
PCM编码
首先编写13折线非均匀编码的函数,在PCM编码函数中进行调用。
PCM编码函数如下。
function[pcm_de]=PCM(input_args)
%此pcm编码函数,采用13折线法—非均匀编码,折叠码,参照<<通信原理>>276页
y13=line13(y);%进行非均匀编码
figure
(2);
plot(t,y13);title('13折线法进行压缩');
yfix=fix(127*y13);%fix为向零取整函数
figure(3);
plot(t,yfix);title('取量化单位(最大为128个量化单位)');
ypcm=zeros(length(y),8);%length(y)其实就是N
absyfix=abs(yfix);
fori=1:
length(y)%十进制转化成二进制%dec2binvec函数结果不对所以没有用这个函数
ypcm(i,2)=fix(absyfix(i)/64);
ypcm(i,3)=fix(rem(absyfix(i),64)/32);
ypcm(i,4)=fix(rem(absyfix(i),32)/16);
ypcm(i,5)=fix(rem(absyfix(i),16)/8);
ypcm(i,6)=fix(rem(absyfix(i),8)/4);
ypcm(i,7)=fix(rem(absyfix(i),4)/2);
ypcm(i,8)=fix(rem(absyfix(i),2));
end
fori=1:
length(y)
if(sign(yfix(i))==-1)%负数
ypcm(i,1)=0;%加负数符号位为0
else
if(sign(yfix(i))==1)
ypcm(i,1)=1;
else
if(sign(yfix(i))==0)%零
ypcm(i,1)=1;
end
end
end
end
ypcm1=zeros(1,8*length(y));%ypcm是一个8*length=240的矩阵,而ypcm1是整合后输出的一行矩阵
fori=1:
length(y)
ypcm1(8*i-7:
8*i)=ypcm(i,:
);
figure(4);
dt1=1/(fs*8);%矩形脉冲的宽度变为原抽样间隔的1/8
n1=0:
8*length(y)-1;%每个抽样值8bit
t1=n1*dt1;
stairs(t1,ypcm1);axis([0,N*dt,,]);%时间范围不变
title('PCM编码');
编码的仿真结果如下图。
图信号的非均匀量化
图PCM编码结果
Miller编码
Miller编码的子函数如下。
function[miller]=Miller(x)
%参照《通信原理》143页
%miller码编码规则:
“1”用码元中心点出现跃变来表示,即用10和01交替表示,
%单个“0”在码元持续时间内不出现电平跃变,且相邻码元的边界处也不跃变
%连“0”在两个0码的边界出现电平跃变,即用00和11交替表示
miller=zeros(1,2*length(x));
ex=1;%exchange
flag1=0;
fori=1:
length(x);
ifx(i)==1%若原码为1,则密勒码为10,01交替
miller(2*i-1:
2*i)=[ex,not(ex)];
ex=not(ex);%ex用来作为01交替的标记
flag1=1;%flag1用来作为上一个码的标记,若上一个码为1,则flag1为1
else
ifflag1==1%若原码为0;且上一个码为1
miller(2*i-1:
2*i)=[ex,ex];
flag1=0;
else%若原码为0;且上一个码为为0
ex=not(ex);
miller(2*i-1:
2*i)=[ex,ex];
end
end
end
fs=8000;%设定采样频率
dt=1/fs;%设定步长
N=30;%设置图像上一共画30个点
figure(5)
dt1=1/(fs*8*2);%矩形脉冲的宽度变为原抽样间隔的1/8*1/2
n1=0:
8*N*2-1;%每个抽样值8bit,miller码一个码变两个
t1=n1*dt1;
stairs(t1,miller);axis([0,N*dt,,]);%时间范围不变
title('Miller编码');
end
为了更清晰的验证Miller码实现的功能,在编程时首先对一个8bits数据进行测试,验证程序的正误。
仿真结果如下图。
图Miller编解码和Hammig编解码8bits示意图
对信号源的PCM码进行Miller编码的结果如下
图Miller编码结果图
Hamming编码
Hamming编码的子函数如下。
function[hamming]=Hamming(x)
%UNTITLED2Summaryofthisfunctiongoeshere
%Detailedexplanationgoeshere
hamming=encode(x,7,4,'hamming');
fs=8000;%设定采样频率
dt=1/fs;%设定步长
N=30;%设置图像上一共画30个点
figure(6)
dt1=1/(fs*8*2*7/4);%矩形脉冲的宽度1/dt1变为原抽样间隔的1/8*1/2*4/7
n1=0:
8*N*2*7/4-1;%每个抽样值8bit,miller码1个变2个,汉明码4个码变7个
t1=n1*dt1;
stairs(t1,hamming);axis([0,N*dt,,]);%时间范围不变
title('Hamming编码');
end
为了更清晰的验证Hamming码实现的功能,在编程时首先对一个8bits数据进行测试,验证程序的正误。
仿真结果见图Miller编解码和Hammig编解码8bits示意图。
对信号源的Miller码进行Hammig编码的结果如下图。
图Hamming编码结果图
ASK调制
首先产生一个载波,与之前的汉明编码的结果相乘,形成ASK调制信号。
ASK调制的子函数如下。
function[ask]=ASK(x)
%产生一个载波,频率为m*fs*8*2*7/4
fs=8000;%设定采样频率
dt=1/fs;%设定步长
N=30;%设置图像上一共画30个点
m=3;
fc=m*fs*8*2*7/4;%开始采用载波频率与汉明码矩形脉宽保持一致,结果发现解调时效果不佳
%所以这里令每三个载波去调制一位二进制
dt1=1/m*1/20*1/(fs*8*2*7/4);%载波每个sin波形20个点
n1=0:
m*20*8*N*2*7/4-1;%每个抽样值8bit,miller码1个变2个,汉明码4个码变7
t1=n1*dt1;
y=sin(2*pi*fc*t1);%构造载波正弦函数
figure(7);%函数间存在调用则一定要标明是第几个图,否则会出现几十个图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通信 系统 课程设计 matlab