设计一个汉明码编码的2PSK调制的数字通信系统
2PSK调制解调技术的设计与仿真

2PSK调制解调技术的设计与仿真2PSK(二进制相移键控)调制解调技术是一种基本的数字调制解调技术,常用于数字通信系统中。
本文将对2PSK调制解调技术的设计与仿真进行详细介绍。
首先,我们来了解一下2PSK调制解调技术的基本原理。
2PSK调制是通过改变载波的初始相位来传输数字信息。
其中,数字“0”表示载波相位为0度(或180度),数字“1”表示载波相位为90度(或-90度)。
在接收端,通过检测载波的相位来解调出数字信息。
接下来,我们开始进行2PSK调制的设计与仿真。
我们首先需要确定调制的参数,包括载波频率、数据传输速率和调制指数等。
以载波频率为f_c,数据传输速率为R_b,调制指数为m,调制信号可以表示为s(t) =A_c * cos(2πf_c*t + m*d(t)),其中d(t)为数字信息序列。
在MATLAB/Simulink中进行仿真时,我们需要设计一个基带信号发送器来生成调制信号。
基带信号生成的过程需要经历产生数字信息序列、映射为相应的载波相位以及平滑滤波等步骤。
首先,我们生成数字信息序列。
可以通过随机生成0和1的序列来模拟实际的数字信息。
生成的数字信息序列将成为基带信号的输入。
其次,我们需要将数字信息序列映射为相应的载波相位。
对于2PSK调制,可以将数字“0”映射为0度相位,将数字“1”映射为90度相位。
然后,我们进行平滑滤波处理。
平滑滤波可以去除调制信号的高频成分,使调制信号更加平滑。
常用的平滑滤波器包括低通滤波器和匹配滤波器。
在2PSK调制中,可以选择匹配滤波器,其频率特性与信号的眼图匹配,可以最大程度地提高信号的抗干扰性。
最后,我们将生成的调制信号送入信道进行传输。
在仿真中,可以通过添加高斯噪声来模拟实际的传输环境。
在接收端,我们需要设计一个相位解调器来解调接收到的信号。
相位解调器可以通过检测载波的相位来恢复出数字信息序列。
常用的相位解调方法包括包络检测法、移相检测法和差分解调法等。
2PSK调制与解调系统的仿真设计

2PSK调制与解调系统的仿真设计首先,我们需要了解2PSK调制与解调系统的基本原理。
2PSK(二进制相移键控)调制技术是一种利用相位来表示数字信息的调制技术。
在2PSK调制中,0和1分别用相位0°和180°表示。
调制器将数字信息转化为相位的变化,然后通过信道传输到接收端。
解调器在接收端将相位变化还原为数字信息。
2PSK调制与解调系统可以简单地分为两个部分:调制器和解调器。
在调制器中,我们可以使用相位锁定环(PLL)的方法实现2PSK调制。
PLL能够锁定输入信号的相位,然后产生相应的调制信号。
在2PSK调制中,我们可以使用正弦波信号作为基频信号,通过改变其初始相位来实现信号的相位调制。
在解调器中,我们可以使用相关器(correlator)的方法实现2PSK解调。
相关器能够检测接收信号与已知的参考信号之间的相关性,从而获取相位变化信息。
在2PSK解调中,我们可以使用相位为0°和180°的两个参考信号与接收信号进行相关运算,然后根据相关结果来判断接收信号的相位。
为了验证2PSK调制与解调系统的性能,我们可以进行仿真设计。
首先,我们需要确定系统所需的参数,包括载波频率、数据速率、信噪比等。
然后,我们使用Matlab或者其他仿真软件搭建2PSK调制与解调系统的模型,包括调制器和解调器。
在调制器模型中,我们生成数字信号,并将其转化为相位变化信号。
根据系统参数,我们生成相应频率的正弦波,并通过改变初始相位来实现调制。
然后,我们将调制信号通过信道传输到解调器。
在解调器模型中,我们接收到调制信号,并使用相关器来检测信号的相位变化。
根据相关结果,我们可以判断信号的相位,并将其转化为数字信息。
然后,我们可以将解调后的数字信息与原始数据进行比较,评估系统的性能。
进行仿真实验时,我们可以改变系统参数来研究其对系统性能的影响。
比如,我们可以改变信噪比,观察误码率的变化。
或者,我们可以改变数据速率,观察解调器的解调效果。
2PSK系统设计

2PSK系统设计2PSK(双相移键控)是数字通信中常用的调制方式之一,也是一种简单且高效的调制方式。
本文将重点介绍2PSK系统的设计,并详细讨论其关键技术和参数设置。
2PSK系统是使用两个相位状态来表示数字信息的一种调制方式,其中一个相位状态代表0,另一个相位状态代表1、这种调制方式能够在单位时间内传输更多的信息,提高频谱利用率,并且在噪声环境下有较好的抗干扰性能。
1.确定传输速率:根据应用需求和信道条件,确定2PSK系统的传输速率。
传输速率决定了系统的每个符号代表的比特数,也决定了系统的带宽要求。
2.确定调制器:选择合适的调制器来实现2PSK调制。
常见的调制器包括平衡调制器、相干调制器等。
平衡调制器适用于无码间干扰的情况,而相干调制器适用于有码间干扰的情况。
3.确定解调器:选择合适的解调器来实现2PSK解调。
解调器的设计与调制器的选择密切相关。
常见的解调器包括平衡解调器、相干解调器等。
4.确定误码率目标:根据应用需求和信道条件,确定系统的误码率目标。
误码率是衡量系统性能的重要指标,需要根据具体情况进行设置,以保证数据的可靠性。
5.信道编码:对待传输的数据进行信道编码,以增强系统的抗噪声和抗干扰能力。
常见的信道编码技术包括卷积码、纠错码等。
6.设置调制参数:根据应用需求和信道条件,设置调制参数。
调制参数包括载波频率、相位状态、调制指数等。
正确设置调制参数能够提高系统的性能和抗干扰能力。
7.进行仿真和优化:使用仿真工具进行仿真和优化,以验证系统设计的正确性和性能达到预期。
仿真过程中可以通过改变参数和算法等,来寻求更好的性能。
8.确定接收机结构:根据系统设计和性能要求,确定接收机的结构。
接收机中包括解调器、信号处理器、信号解码器等。
接收机的设计直接影响系统的性能和误码率。
9.进行实验验证:根据系统设计和仿真结果,进行实验验证。
通过实验可以验证系统的可行性和性能,对系统进行调整和优化。
10.性能评估和改进:根据实验结果进行性能评估,对系统进行改进。
2PSK数字信号调制解调系统设计

摘要数字信号的传输方式分为基带传输和带通传输。
然而,实际中的大多数信道(如无线信道)因具有带通特性而不能直接传送系带信号,这是因为数字基带信号往往含有丰富的低频分量。
为了使数字信号在带通信道中传输,必须用数字基带信号对载波进行调制,以使信号与信道的特性相匹配。
这种用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。
在接收端通过解调器把贷通信号还原成数字基带信号的过程称为数字解调。
通常把调制和解调过程的数字传输系统叫做数字带通传输系统。
一般来说,数字调制与模拟调制的原理基本相同,但是数字信号有离散取值的特点。
因此数字调制技术有两种方法:①利用模拟调制的方法去实现数字式调制,即把数字调制看成是模拟调制的一个特例,把数字基带信号当做模拟信号的特殊情况处理;②利用数字信号的离散取值特点通过开关键控载波,从而实现数字调制。
这种方法通常称为键控法,对载波的振幅、频率和相位进行键控,即可获得ASK、FSK、PSk三种基本数字调制方式。
本次课程设计主要是运用MATLAB集成环境下的Simulink仿真平台设计一个2PSK数字信号调制解调系统。
设计采用的是键控法进行调制。
关键字:Matlab Simulink 2P目录一、课程设计目的 (3)二、课程设计时间安排 (3)三、课程设计及要求 (3)1.基本工作原理 (3)1)数字通信系统 (3)2)调制方法:键控法 (4)3)解调方法:相干解调法 (4)2、设计系统 (4)1)Simulink仿真框图 (4)2)工作原理 (5)3)设定参数 (6)3 .MATLAB仿真 (11)1)波形仿真图 (11)4)分析基带信号和已调信号的功率谱密度 (14)5)误码率分析 (15)四、课程设计心得体会 (18)五、参考文献 (19)一、课程设计目的通过课程设计,巩固已经学过的有关数字调制系统的知识,加深对知识的理解和应用,学会应用Matlab Simulink工具对通信系统进行仿真。
通信系统仿真基于matlab的设计--2psk调制,香农编码,汉明编码

1 课程设计目的1.1 对数字通信系统主要原理和技术进行研究,包括二进制相移键控(2psk)及解调技术、高斯噪声信道原理、以及信源编码中香农编码、信道编码中hamming码的基本原理等。
1.2 建立完整的基于2psk和(7,4)循环码的数字通信系统仿真模型,包括2psk调制解调及香农、hamming码的编译码;1.3 在信道中加入高斯噪声,观察系统的纠错能力,统计误码率,并进行分析。
1.4 锻炼我们查阅资料、方案比较、团结合作的能力。
学会简单电路的实验调试和整机指标测试方法,增强我们的动手能力。
2 课程设计正文这次课程设计的主要任务是运用MATLAB编程实现2PSK调制解调过程,并且输出其调制及解调过程中的波形,讨论其调制和解调效果。
了解高斯噪声信道原理、以及香农编译码、hamming编译码的原理。
2.1 性能指标2.1.1 用数字基带信号控制载波,把数字基带信号变换为数字带通信号的过程称为数字调制。
本实验详细介绍了PSK波形的产生和仿真过程。
我们可以系统的了解基本原理,以及得到数字调制波形的方法。
利用MATLAB仿真可更好的认识2PSK信号波形的调制过程。
图1 相应的信号波形的示例1 0 12.1.2 将文字、数字或其他对象编成数码,或将信息、数据转换成规定的电脉冲信号。
通过本次设计,了解香农—费诺编码的具体过程,通过编程实现编码,利用matlab 实现费诺编码。
2.1.3 当计算机存储或移动数据时,可能会产生数据位错误,这时可以利用汉明码来检测并纠错,简单的说,汉明码是一个错误校验码码集,由Bell实验室的R.W.Hamming发明,因此定名为汉明码。
2.2 matlab代码2.2.1 香农编码%*******************************%香农编码***********************************A=[0.4,0.3,0.1,0.09,0.04,0.07];A=fliplr(sort(A));%降序排列[m,n]=size(A);for i=1:nB(i,1)=A(i);%生成B的第1列end%生成B第2列的元素a=sum(B(:,1))/2;for k=1:n-1if abs(sum(B(1:k,1))-a)<=abs(sum(B(1:k+1,1))-a) break;endendfor i=1:n%生成B第2列的元素if i<=kB(i,2)=0;elseB(i,2)=1;endend%生成第一次编码的结果END=B(:,2)';END=sym(END);%生成第3列及以后几列的各元素j=3;while (j~=0)p=1;while(p<=n)x=B(p,j-1);for q=p:nif x==-1break;elseif B(q,j-1)==xy=1;continue;elsey=0;break;endendendif y==1q=q+1;endif q==p|q-p==1B(p,j)=-1;elseif q-p==2B(p,j)=0;END(p)=[char(END(p)),'0'];B(q-1,j)=1;END(q-1)=[char(END(q-1)),'1'];elsea=sum(B(p:q-1,1))/2;for k=p:q-2if abs(sum(B(p:k,1))-a)<=abs(sum(B(p:k+1,1))-a);break;endendfor i=p:q-1if i<=kB(i,j)=0;END(i)=[char(END(i)),'0'];elseB(i,j)=1;END(i)=[char(END(i)),'1'];endendendendp=q;endC=B(:,j);D=find(C==-1);[e,f]=size(D);if e==nj=0;elsej=j+1;endendBAEND2.2.2 香农译码%********************************%香农解码******************************** jg=[];for x=1:100if ccc(x,1)==0&ccc(x,2)==0&ccc(x,3)==0&ccc(x,4)==0 jg(x)=1;elseif ccc(x,1)==0&ccc(x,2)==0&ccc(x,3)==1&ccc(x,4)==0 jg(x)=2;elseif ccc(x,1)==1&ccc(x,2)==1&ccc(x,3)==0&ccc(x,4)==0 jg(x)=3;elseif ccc(x,1)==1&ccc(x,2)==1&ccc(x,3)==0&ccc(x,4)==1 jg(x)=4;elseif ccc(x,1)==1&ccc(x,2)==1&ccc(x,3)==1&ccc(x,4)==0 jg(x)=6;elseif ccc(x,1)==1&ccc(x,2)==1&ccc(x,3)==1&ccc(x,4)==1 jg(x)=5;end;end;jg2.2.3 Hamming编码%******************************汉明编码*********************************** hh=encode(e,7,4,'hamming/fmt');hh2.2.4 Hamming译码%********************************汉明解码********************************* ddd=reshape(bc,7,100);abc=ddd';ccc= decode(abc,7,4,'hamming/fmt')2.2.5 信源%*****************************信源***************************************** aa = randsrc(1,100,[symbols;p]);aae=zeros(100,4)for i = 1 : 1:100switch aa(i)case 1e(i,:)=[0,0,0,0]case 2e(i,:)=[0,0,1,0]case 3e(i,:)=[1,1,0,0]case 4e(i,:)=[1,1,0,1]case 6e(i,:)=[1,1,1,0]case 5e(i,:)=[1,1,1,1]end;end;2.2.6 2psk调制解调%*******************************2PSK调制解调******************************* code=[]for z=0:99for t=1:7code(7*z+t)=hh(z+1,t)endendcp=[];mod1=[];f=2*2*pi;t=0:2*pi/199:2*pi;for n=1:length(code);if code(n)==0;A=zeros(1,200);%每个值200个点elseif code(n)==1;A=ones(1,200);endcp=[cp A]; %s(t),码元宽度200c=cos(f*t);%载波信号mod1=[mod1 c];%与s(t)等长的载波信号,变为矩阵形式endfigure(1);subplot(4,2,1);plot(cp);grid on;axis([0 200*length(code) -2 2]);title('二进制信号序列');cm=[];mod=[];for n=1:length(code);if code(n)==0;B=ones(1,200);%每个值200个点c=cos(f*t); %载波信号elseif code(n)==1;B=ones(1,200);c=cos(f*t+pi); %载波信号endcm=[cm B]; %s(t),码元宽度200mod=[mod c]; %与s(t)等长的载波信号endtiaoz=cm.*mod;%e(t)调制figure(1);subplot(4,2,2);plot(tiaoz);grid on;axis([0 200*length(code) -2 2]);title('2PSK调制信号');figure(2);subplot(4,2,1);plot(abs(fft(cp)));axis([0 200*length(code) 0 400]);title('原始信号频谱');figure(2);subplot(4,2,2);plot(abs(fft(tiaoz)));axis([0 200*length(code) 0 400]);title('2PSK信号频谱');2.2.7 带有高斯白噪声的信道tz=awgn(tiaoz,10);%信号tiaoz中加入白噪声,信噪比为10figure(1);subplot(4,2,3);plot(tz);grid on;axis([0 200*length(code) -2 2]);title('通过高斯白噪声信道后的信号'); figure(2);subplot(4,2,3);plot(abs(fft(tz)));axis([0 200*length(code) 0 400]);title('加入白噪声的2PSK信号频谱');jiet=2*mod1.*tz;%同步解调figure(1);subplot(4,2,4);plot(jiet);grid on;axis([0 200*length(code) -2 2]);title('相乘后信号波形');figure(2);subplot(4,2,4);plot(abs(fft(jiet)));axis([0 200*length(code) 0 400]);title('相乘后信号频谱');2.2.8 低通滤波器fp=300;fs=700;rp=3;rs=20;fn=11025;ws=fs/(fn/2); wp=fp/(fn/2);%计算归一化角频率[n,wn]=buttord(wp,ws,rp,rs);%计算阶数和截止频率[b,a]=butter(n,wn);%计算H(z)figure(4);freqz(b,a,1000,11025);subplot(2,1,1);axis([0 4000 -100 3 ])title('LPF幅频相频图');jt=filter(b,a,jiet);figure(1);subplot(4,2,5);plot(jt);grid onaxis([0 200*length(code) -2 2]);title('经低通滤波器后信号波形')figure(2);subplot(4,2,5);plot(abs(fft(jt)));axis([0 200*length(code) 0 400]);title('经低通滤波器后信号频谱');2.2.9 抽样判决bc=[];for m=1:200*length(code);if jt(m)<0;jt(m)=1;elseif jt(m)>=0;jt(m)=0;endendfor bx=0:699bc(bx+1)=jt(bx*200+100)endbcfigure(1);subplot(4,2,6);plot(bc);grid onaxis([0 200*length(code) -2 2]);title('经抽样判决后信号s^(t)波形')figure(2);subplot(4,2,6);plot(abs(fft(bc)));axis([0 length(code) 0 50]);title('经抽样判决后信号频谱');2.2.10 误码率%**********************误码率************************************** [zcl,mc]=symerr(jg,aa)2.3 程序执行图3 总结一周的基于MATLAB的数字调制信号仿真分析课程设计让我获益颇深。
汉明码2PSK报告

河北工程大学科信学院通信系统设计项目设计说明书(2018/2019学年第二学期)题目:基于汉明码-2PSK的数字通信系统仿真实现专业班级:通信1621学生姓名:章陈王学号:111111111 222222222333333333指导教师:李磊、王超、王鹏、任丹萍设计周数:2周设计成绩:2019年7月5日目录1.设计目的 (4)2.相关原理 (4)2.1DCT变换 (4)2.224位定长编码 (5)2.3汉明码 (6)2.4编码原理 (6)2.5解码原理和检查错误 (8)2.62PSK的调制与解调 (9)2psk的调制原理 (9)2psk的解调原理 (10)2.7高斯噪声 (11)2.8信道 (12)2.9高斯信道 (12)3.设计与实验 (13)3.1.系统方案总体设计 (13)3.2.具体实现 (13)4.设计总结 (26)5.参考文献 (26)6.附录源程序 (26)项目组成员1.设计目的【1】通过课程设计加深理解和巩固理论课上所学的有关2PSK调制和解调系统的基本概念、基本理论和基本方法,锻炼我们分析问题和解决问题的能力;同时培养我们进行独立工作习惯和科学素质的培养,为今后参加工作打好基础。
【2】掌握 2PSK 解调原理及其实现方法,了解线性调制时信号的频谱变化。
理解 2PSK 的调制。
【3】学会2PSK传输系统的二级调制解调结构,测试2PSK传输信号加入噪声后的误码率,分析2PSK传输系统的抗噪声性能。
【4】掌握24位定长编码,译码原理。
【5】进一步熟悉汉明编码、译码算法。
【6】掌握信源编码解码原理以及信道编码解码原理。
【7】认识和理解通信系统,掌握信号是如何经过发端处理被送入信道然后在接收端还原。
会画出数字通信过程的基本框图,掌握数字通信的2PSK调制方式,学会运用MATLAB 来进行通信系统的仿真。
2.相关原理2.1DCT变换离散余弦变换是一种与傅里叶变换紧密相关的数学运算。
在傅里叶级数展开式中,如果被展开的函数时实偶函数,那么其傅里叶级数中只包含余弦项,再将其离散化可导出余弦变换,因此称之为离散余弦变换。
MATLAB2psk通信系统仿真报告

实验一 2PSK调制数字通信系统一实验题目设计一个采用2PSK调制的数字通信系统设计系统整体框图及数学模型;产生离散二进制信源.进行信道编码(汉明码).产生BPSK信号;加入信道噪声(高斯白噪声);BPSK信号相干解调.信道解码;系统性能分析(信号波形、频谱.白噪声的波形、频谱.信道编解二实验基本原理数字信号的传输方式分为基带传输和带通传输.在实际应用中.大多数信道具有带通特性而不能直接传输基带信号。
为了使数字信号在带通信道中传输.必须使用数字基带信号对载波进行调制.以使信号与信道的特性相匹配。
这种用数字基带信号控制载波.把数字基带信号变换为数字带通信号的过程称为数字调制。
数字调制技术的两种方法:①利用模拟调制的方法去实现数字式调制.即把数字调制看成是模拟调制的一个特例.把数字基带信号当做模拟信号的特殊情况处理;②利用数字信号的离散取值特点通过开关键控载波.从而实现数字调制。
这种方法通常称为键控法.比如对载波的相位进行键控.便可获得相移键控(PSK)基本的调制方式。
图1 相应的信号波形的示例1 0 1调制原理数字调相:如果两个频率相同的载波同时开始振荡.这两个频率同时达到正最大值.同时达到零值.同时达到负最大值.它们应处于"同相"状态;如果其中一个开始得迟了一点.就可能不相同了。
如果一个达到正最大值时.另一个达到负最大值.则称为"反相"。
一般把信号振荡一次(一周)作为360度。
如果一个波比另一个波相差半个周期.我们说两个波的相位差180度.也就是反相。
当传输数字信号时."1"码控制发0度相位."0"码控制发180度相位。
载波的初始相位就有了移动.也就带上了信息。
相移键控是利用载波的相位变化来传递数字信息.而振幅和频率保持不变。
在2PSK中.通常用初始相位0和π分别表示二进制“1”和“0”。
因此.2PSK 信号的时域表达式为(t)=Acos t+)其中.表示第n个符号的绝对相位:=因此.上式可以改写为图2 2PSK信号波形解调原理2PSK信号的解调方法是相干解调法。
通信原理课程设计2PSK和2DPSK系统的设计论文

题目:2PSK和2DPSK系统的设计《通信原理课程设计》任务书:班级:07电子(2)班指导老师:目录一、绪论3二、Systemview软件简介52.1 Systemview软件特点42.2 使用Systemview进行系统仿真的步骤4三、二进制频移键控(2FSK)53.1.1. 一般原理与实现方法53. 1.2. 2PSK信号的频谱和带宽63. 1. 3 .2PSK系统的抗噪声性能83.2 .1一般原理与实现方法103.2.22DPSK信号的频谱和带宽143.2.32DPSK系统的抗噪声性能143.2.42PSK与2DPSK系统的比较15基于Systemview的通信系统2PSK的仿真摘要数字通信系统,按调制方式可以分为基带传输和带通传输。
数字基带信号的功率一般处于从零开始到某一频率低频段,因而在很多实际的通信中就不能直接进行传输,需要借助载波调制进行频谱搬移,将数字基带信号变换成适合信道传输的数字频带信号进行传输,这种传输方式,称为数字信号的频带传输或调制传输。
数字调制在实现的过程中常采用键控的方法,从几个不同参量的独立振荡源中选参量,由此产生的三种基本调制方式分别称为振幅键控(ASK,Amplitude-Shift keying)、移频键控(FSK ,Frequency-Shift keying)和移相键(PSK,Phase-Shift keying )或差分移相(DPSK,DifferentPhase-Shift keying)。
本文通过Systemview仿真软件,对2ASK、2FSK、2PSK、2DPSK系统进行仿真,分析2ASK、2FSK、2PSK和2DPSK的信号的调制方式,频谱特性,2ASK的相干解调和非相干解调系统、利用Costas环对2FSK、2PSK信号进行解调以与2FSK、2PSK 的相干解调系统,并且对2PSK的抗噪声性能做了一定的分析,最后同样用两种方式对2DPSK信号解调,并进行仿真分析。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
• • • • • • • • • • • • • • • • • • •
a2 = [a2 C];%s(t),码元宽度2000 b2 = [b2 d];%与s(t)等长的载波信号 end tiaoz = a2.*b2;%e(t)调制 figure(1); subplot(322); plot(tiaoz); grid on; axis([571*length(Sbianma) 572*length(Sbianma) -2 2]); title('2psk调制信号'); figure(2); subplot(321); plot(abs(fft(a1))); axis([0 2000*length(Sbianma) 0 400]); title('原始信号频谱'); figure(2); subplot(322);plot(abs(fft(tiaoz))); axis([0 2000*length(Sbianma) 0 400]); title('2psk信号频谱')
• • • • • • • • • • • • • • • • • • • • • • • • • •
%----------------------低通滤波器--------------------------fp=500; fs=700; rp=3; rs=20; fn=11025; ws=fs/(fn/2); wp=fp/(fn/2);%计算归一化角频率 [n,wn]=buttord(wp,ws,rp,rs);%计算阶数和截止频率 [b,a]=butter(n,wn);%计算H(z) figure(3); freqz(b,a,1000,11025); subplot(211); axis([0 40000 -100 3]) title('lpf频谱图'); jt=filter(b,a,jiet); figure(1); subplot(325); plot(jt); grid on axis([0 2000*length(Sbianma) -2 2 ]); title('经低通滤波器后的信号波形'); figure(2); subplot(325);plot(abs(fft(jt))); axis([0 2000*length(Sbianma) 0 800]); title('经低通滤波器后的信号频率');
• • • • • • • • • • • • • • •
for n=1:length(s1); if s1(n)==0; G=zeros(1,2000); else s1(n)==1; G=ones(1,2000); end a6=[a6 G]; end figure(4); subplot(212); plot(a6); grid on axis([0 2000*length(s) -2 2]); title('汉明码译码后的波形') grid on
• • • • • • • • • • • • • • • • • • • • • • •
%-----------------带有高斯白噪声的信道---------------------tz=awgn(tiaoz,10);%信号tiaoz加入白噪声,信噪比为10 figure(1); subplot(323); plot(tz); grid on axis([0 2000*length(Sbianma) -2 2]); title('通过高斯白噪声后的信号'); figure(2); subplot(323); plot(abs(fft(tz))); axis([0 2000*length(Sbianma) 0 800]); title('加入白噪声的2psk信号频谱'); jiet=2*b1.*tz;%同步解调 figure(1); subplot(324);plot(jiet); grid on axis([0 2000*length(Sbianma) -2 2]);title('相乘后的信号波形') figure(2); subplot(324); plot(abs(fft(jiet))); axis([0 2000*length(Sbianma) 0 800]); title('相乘后的信号频率');
设计一个采用2PSK调制的数字通 信系统
• 设计系统整体框图及数学模型; • 产生离散二进制信源,进行信道编码(汉 明码),产生BPSK信号; • 加入信道噪声(高斯白噪声); • BPSK信号相干解调,信道解码; • 系统性能分析(信号波形、频谱,白噪声 的波形、频谱,信道编解)
实现程序 :
• • • • • • • • • • • • • • • • • • • • • • • • • • • • •
a1=[]; b1=[]; f=1000; t=0:2*pi/1999:2*pi; for n=1:length(Sbianma); if Sbianma(n)==0; B=zeros(1,2000);%每个值2000个点 else Sbianma(n)==1; B=ones(1,2000); end a1=[a1 B];%s(t),码元宽度2000 c=cos(2*pi*f*t);%载波信号 b1=[b1 c];%与s(t)等长的载波信号,变为矩阵形式 end figure(1); subplot(321) plot(a1); grid on; axis([0 2000*length(Sbianma) -2 2]);title('二进制信号序列'); a2=[]; b2=[]; for n = 1:length(Sbianma); if Sbianma(n) == 0; C = ones(1,2000);%每个值2000点 d = cos(2*pi*f*t);%载波信号 else Sbianma(n) == 1; C = ones(1,2000); d = cos(2*pi*f*t+pi);%载波信号 end
• • • • • • • • • • • • • • • • • • • • • • 主程序 clear all; close all; clc; max = 20; s=randint(1,max);%长度为max的随机二进制序列 Sinput=[]; for n=1:length(s); if s(n)==0; A=zeros(1,2000); else s(n)==1; A=ones(1,2000); end Sinput=[Sinput A]; end figure(4); subplot(211); plot(Sinput); grid on axis([0 2000*length(s) -2 2]); title('输入信号波形'); Sbianma=encode (s,7,4,'hamming');%汉明码编码后序列
• • • • • • • • • • • • • • • • • • • • • • • • •
ቤተ መጻሕፍቲ ባይዱ
%-----------------------抽样判决-------------------------for m=1:2000*length(Sbianma); if jt(m)<0; jt(m)=1; else jt(m)>0; jt(m)=0; end end figure(1); subplot(326); plot(jt) grid on axis([0 2000*length(Sbianma) -2 2]); title('经抽样判决后信号jt(t)波形') figure(2); subplot(326); plot(abs(fft(jt))); axis([0 2000*length(Sbianma) 0 800]); title('经抽样判决后的信号频谱'); grid on; n=500:2000:2000*length(Sbianma); a5=[]; a5=[a5 jt(n)]; s1=decode (a5,7,4,'hamming'); a6=[];