matlab二进制数字调制与解调系统的设计课程设计报告[共20页]
![matlab二进制数字调制与解调系统的设计课程设计报告[共20页]_第1页](https://file2.zhuangpeitu.com/fileroot2/2021-11/9/0230ad9e-ae98-4a9d-b2e9-9533896725e3/0230ad9e-ae98-4a9d-b2e9-9533896725e31.gif)
![matlab二进制数字调制与解调系统的设计课程设计报告[共20页]_第2页](/images/s.gif)
![matlab二进制数字调制与解调系统的设计课程设计报告[共20页]_第3页](/images/s.gif)
《matlab二进制数字调制与解调系统的设计课程设计报告[共20页]》由会员分享,可在线阅读,更多相关《matlab二进制数字调制与解调系统的设计课程设计报告[共20页](21页珍藏版)》请在装配图网上搜索。
1、 一.设计题目: 二进制数字调制与解调系统的设计 二.主要内容: 二进制数字调制与解调系统的设计 MATLAB及SIMULINK建模环境简介 MATLAB 是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和SIMULINK两大部分。 Simulink是MATLAB最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集成环境。在该环境中,无需大量书写程序,而只需要通过简单直观的鼠标操作,就可构造出复杂的系统。Simulink具有适应面广、结构和流程清晰及仿真精细、贴近实际、效
2、率高、灵活等优点,并基于以上优点Simulink已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。同时有大量的第三方软件和硬件可应用于或被要求应用于Simulink。 Simulink是MATLAB中的一种可视化仿真工具, 是一种基于MATLAB的框图设计环境,是实现动态系统建模、仿真和分析的一个软件包,被广泛应用于线性系统、非线性系统、数字控制及数字信号处理的建模和仿真中。Simulink可以用连续采样时间、离散采样时间或两种混合的采样时间进行建模,它也支持多速率系统,也就是系统中的不同部分具有不同的采样速率。为了创建动态系统模型,Simulink提供了一个建立模型方块图的图形用户接
3、口(GUI) ,这个创建过程只需单击和拖动鼠标操作就能完成,它提供了一种更快捷、直接明了的方式,而且用户可以立即看到系统的仿真结果。 三.具体要求 a.利用所学的《通信原理及应用》的基础知识,设计一个2ASK数字调制器。完成对2ASK的调制与解调仿真电路设计,并对其仿真结果进行分析。要求理解2ASK信号的产生,掌握2ASK信号的调制原理和实现方法并画出实现框图。 b.设计一个2FSK数字调制器。要求给出2FSK的产生原理框图(调频法、键控法)、Matlab仿真调制解调的原理框图,给出信号的频谱图、调制前与解调后数据波形图 c.设计一个2PSK数字调制器。给出信号的频谱图、调制前
4、与解调后数据波形图. d. 尽可能做出加噪前后相关波形。(加分项) 数字通信系统的基本模型 从消息传输角度看,该系统包括了两个重要交换,即消息与数字基带信号之间的交换,数字基带信号与信道信号之间的交换.通常前一种交换由发收端设备完成.而后一种交换则由调制和解调完成. 数字通信系统模型 一、2ASK调制解调 基本原理 2ASK是利用载波的幅度变化来传递数字信息,而其频率和初始相位保持不变。 其信号表达式为: ,S (t)为单极性数字基带信号。 2ASK幅移键控 幅移键控(ASK)相当于模拟信号中的调幅,只不过与载
5、频信号相乘的是二进数码而已。幅移就是把频率、相位作为常量,而把振幅作为变量,信息比特是通过载波的幅度来传递的。由于调制信号只有0或1两个电平,相乘的结果相当于将载频或者关断,或者接通,它的实际意义是当调制的数字信号"1时,传输载波;当调制的数字信号为"0"时,不传输载波。 由图可以看出2ASK信号的时间波形e2ASK(t)随二进制基带信号s(t)通断变化。所以又被称为通断键控信号 2ASK信号的产生方法通常有两种:模拟调制法和键控法。 模拟调制法使用乘法器实现 键控法使用开关电路实现 2ASK的调制方法 2ASK有两种基本解调方法:相干解调法(同步检测法)和非相干解调法
6、(包络检波法)。相干解调需要将载频位置的已调信号频谱重新搬回原始基带位置,因此用相乘器与载波相乘来实现。为确保无失真还原信号,必须在接收端提供一个与调制载波严格同步的本地载波,这是整个解调过程能否顺利完好进行的关键。 相干解调 非相干解调 2ASK信号非相干解调过程的时间波形 振幅键控是利用载波的幅度变化来传递数字信息,而频率和初始相位保持不变。 在2ASK中: S2ask=m(t)*cos(2*pi*f*t), 其中m(t)为数字信号,后者为载波。 载波在二
7、进制基带信号控制下通断变化,所以又叫通-断键控(OOK)。 2ASK的产生方法有两种:模拟调制和键控法 而解调也有两中基本方式:非相干解调(包络检波)和相干解调(同步检测法) DS2ask=s(t)*cos(2*pi*f*t) =0.5*m(t)+0.5*m(t)*cos(2*wc*t) 乘以相干载波后,只要滤去高频部分就可以了 本次仿真使用相干解调方式: 2ask信号 带通滤波器与与载波相乘低通滤波器 抽样判决 输出 以下就是matlab的仿真结果极其频谱图(省去了带通filter) 可以看到解调后的信号与信源有一定的延时。 通过观察频谱图,用放大镜可以
8、清楚的看到,2ask实现了频谱的搬移,将基带信号 搬移到了fc=150hz的频率上,而且若只计频谱的主瓣则有: B2ask=2fs,fs=1/Ts 其中Ts为一个码元宽度 即:2ask信号的传输带宽是码元传输速率的2倍 Matlab程序实现 clc; clear all; close all; %信源 a=randint(1,15,2); t=0:0.001:0.999; m=a(ceil(15*t+0.01)); subplot(511) plot(t,m); axis([0 1.2 -0.2 1.2]); title(信源); %载
9、波 f=150; carry=cos(2*pi*f*t); %2ASK调制 st=m.*carry; subplot(512); plot(t,st) axis([0 1.2 -1.2 1.2]) title(2ASK信号) %加高斯噪声 nst=awgn(st,70); %解调部分 nst=nst.*carry; subplot(513) plot(t,nst) axis([0 1.2 -0.2 1.2]); title(乘以相干载波后的信号) %低通滤波器设计 wp=2*pi*2*f*0.5; ws=2*pi*2*f*0.9; Rp=2; As=
10、45; [N,wc]=buttord(wp,ws,Rp,As,s); [B,A]=butter(N,wc,s); %低通滤波 h=tf(B,A); %转换为传输函数 dst=lsim(h,nst,t); subplot(514) plot(t,dst) axis([0 1.2 -0.2 1.2]); title(经过低通滤波器后的信号); %判决器 k=0.25; pdst=1*(dst>0.25); subplot(515) plot(t,pdst) axis([0 1.2 -0.2 1.2]); title(经过抽样判决后的信号) %频谱观察 %调制信
11、号频谱 T=t(end); df=1/T; N=length(st); f=(-N/2:N/2-1)*df; sf=fftshift(abs(fft(st))); figure(2) subplot(411) plot(f,sf) title(调制信号频谱) %信源频谱 mf=fftshift(abs(fft(m))); subplot(412) plot(f,mf) title(信源频谱) % 乘以相干载波后的频谱 mmf=fftshift(abs(fft(nst))); subplot(413) plot(f,mmf) title(乘以相干载波后的频谱
12、) %经过低通滤波后的频谱 dmf=fftshift(abs(fft(dst))); subplot(414) plot(f,dmf) title(经过低通滤波后的频谱); 二、2FSK调制解调 频移键控是利用载波的频率来传递数字信号,在2FSK中,载波的频率随着二进制基带信号在f1和f2两个频率点间变化,频移键控是利用载波的频移变化来传递数字信息的。在2FSK中,载波的频率随基带信号在f1和f2两个频率点间变化。故其表达式为: 典型波形如下图所示。由图可见。2FSK信号可以看作两个不同载频的ASK信号的叠加。因此2FSK信号的时域表达式又可以写成: 2FSK
13、数字系统的调制原理 2FSK调制就是使用两个不同的频率的载波信号来传输一个二进制信息序列。可以用二进制“1”来对应于载频f1,而“0”用来对应于另一相载频w2的已调波形,而这个可以用受矩形脉冲序列控制的开关电路对两个不同的独立的频率源w1、f2进行选择通。如下原理图: 2FSK的解调方式 2FSK的解调方式有两种:相干解调方式和非相干解调方式.下面我们将详细的介绍: 1 非相干解调 经过调制后的2FSK数字信号通过两个频率不同的带通滤波器f1、f2滤出不需要的信号,然后再将这两种经过滤波的信号分别通过包络检波器检波,最后将两种信号同时输入到抽样判决器同时外加抽样脉冲,最后解调出来
14、的信号就是调制前的输入信号。其原理图如下图所示: 2 相干解调 根据已调信号由两个载波f1、f2调制而成,则先用两个分别对f1、f2带通的滤波器对已调信号进行滤波,然后再分别将滤波后的信号与相应的载波f1、f2相乘进行相干解调,再分别低通滤波、用抽样信号进行抽样判决器即可。原理图如下: Matlab程序实现 Fc=150; %载频 Fs=40; %系统采样频率 Fd=1; %码速率 N=Fs/Fd; df=10; numSymb=25;%进行仿真的信息代码个数 M=2;
15、 %进制数 SNRpBit=60;%信噪比 SNR=SNRpBit/log2(M);%60 seed=[12345 54321]; numPlot=15; x=randsrc(numSymb,1,[0:M-1]);%产生25个二进制随机码 figure(1) stem([0:numPlot-1],x(1:numPlot),bx);%显示15个码元,杆图,从x的前十五个随机数中选取 title(二进制随机序列) xlabel(Time); ylabel(Amp
16、litude); %调制 y=dmod(x,Fc,Fd,Fs,fsk,M,df);%数字带通调制 numModPlot=numPlot*Fs; %15*40 t=[0:numModPlot-1]./Fs;%数组除法(仿真时间) figure(2) plot(t,y(1:length(t)),b-); axis([min(t) max(t) -1.5 1.5]); title(调制后的信号) xlabel(Time); ylabel(Amplitude); %在已
17、调信号中加入高斯白噪声 randn(state,seed(2)); %生成-2到+2之间的随机数矩阵 y=awgn(y,SNR-10*log10(0.5)-10*log10(N),measured,[],dB);%在已调信号中加入高斯白噪声 figure(3) plot(t,y(1:length(t)),b-);%画出经过信道的实际信号 axis([min(t) max(t) -1.5 1.5]); title(加入高斯白噪声后的已调信号) xlabel(Time); yla
18、bel(Amplitude); %相干解调 figure(4) z1=ddemod(y,Fc,Fd,Fs,fsk/eye,M,df); title(相干解调后的信号的眼图) %带输出波形的相干M元频移键控解调 figure(5) stem([0:numPlot-1],x(1:numPlot),bx); hold on; stem([0:numPlot-1],z1(1:numPlot),ro); hold off; axis([0 numPlot -0.5
19、 1.5]); title(相干解调后的信号原序列比较) legend(原输入二进制随机序列,相干解调后的信号) xlabel(Time); ylabel(Amplitude); %非相干解调 figure(6) z2=ddemod(y,Fc,Fd,Fs,fsk/eye/noncoh,M,df); title(非相干解调后的信号的眼图) %带输出波形的非相干M元频移键控解调 figure(7) stem([0:numPlot-1],x(1:numPlo
20、t),bx); hold on; stem([0:numPlot-1],z2(1:numPlot),ro); hold off; axis([0 numPlot -0.5 1.5]); title(非相干解调后的信号) legend(原输入二进制随机序列,非相干解调后的信号) xlabel(Time); ylabel(Amplitude); %误码率统计 [errorSym ratioSym]=symerr(x,z1); figure(8)
21、 simbasebandex([0:1:5]); title(相干解调后误码率统计) [errorSym ratioSym]=symerr(x,z2); figure(9) simbasebandex([0:1:5]); title(非相干解调后误码率统计) %滤除高斯白噪声 Delay=3;R=0.5;PropD=0; %滞后3s [yf,tf]=rcosine(Fd,Fs,fir,R,Delay); %升余弦函数 [yo2,to2]=rcosflt(y
22、,Fd,Fs,filter,yf); %加入高斯白噪声后的已调信号和经过升余弦滤波器后的已调信号 t=[0:numModPlot-1]./Fs; figure(10) plot(t,y(1:length(t)),r-); hold on; plot(to2,yo2,b-);%滤出带外噪声 hold off; axis([0 30 -1.5 1.5]); xlabel(Time); ylabel(Amplitude); legend(加入高斯白
23、噪声后的已调信号,经过升余弦滤波器后的已调信号) title(升余弦滤波前后波形比较) eyediagram(yo2,N);%眼图 title(加入高斯白噪声后的已调信号的眼图) 仿真结果 三、2psk信号调制解调 2psk信号的调制不能采用包络检测的方法,只能进行相干解调,其原理框图如下: 不考虑噪声时,带通滤波器输出可以表示为 y(t)=cos(wct+Φn) 式中Φn为2psk信号某一码元的初相。Φn=0时,代表数字“0”, Φn=π时,代表数字“1”。与同步载波COSwct相乘后,输出为 Z(t
24、)=COS(wct+Φn) COSwct=1/2cosΦn+1/2cos(2wct+Φn) 经过低通滤波器滤除高频分量,得解调输出为 根据发送端产生2psk信号时Φn代表数字信息1或0的规定,以及接收端x(t)与Φn的关系特性,抽样判决器的判决准则为 其中,x为x(t)在抽样时刻的值。 2psk信号相干解调的过程实际上就是输入已调信号与本地载波信号进行极性比较的过程,故常称为极性比较解调。 Matlab程序实现 clear ; close all; fs=8e5; %抽样频率 fm=20e3; %基带频率 n=
25、2*(6*fs/fm); final=(1/fs)*(n-1); fc=2e5; % 载波频率 t=0:1/fs:(final); Fn=fs/2; %耐奎斯特频率 %用正弦波产生方波 twopi_fc_t=2*pi*fm*t; A=1; phi=0; x = A * cos(twopi_fc_t + phi); % 方波 am=1; x(x>0)=am; x(x<0)=-1; figure(1) subplot(321); plot(t,x); axis([0 2e-4 -2 2]);
26、 title(基带信号); grid on car=sin(2*pi*fc*t); %载波 ask=x.*car; %载波调制 subplot(322); plot(t,ask); axis([0 200e-6 -2 2]); title(PSK信号); grid on; %===================================================== vn=0.1; noise=vn*(randn(size(t))); %产生噪音 subplot(323); plot(t,noise); grid
27、 on; title(噪音信号); axis([0 .2e-3 -1 1]); askn=(ask+noise); %调制后加噪 subplot(324); plot(t,askn); axis([0 200e-6 -2 2]); title(加噪后信号); grid on; %带通滤波 fBW=40e3; f=[0:3e3:4e5]; w=2*pi*f/fs; z=exp(w*j); BW=2*pi*fBW/fs; a=.8547; %BW=2(1-a)/sqrt(a) p=(j^2*a^2); gai
28、n=.135; Hz=gain*(z+1).*(z-1)./(z.^2-(p)); subplot(325); plot(f,abs(Hz)); title(带通滤波器); grid on; Hz(Hz==0)=10^(8); %avoid log(0) subplot(326); plot(f,20*log10(abs(Hz))); grid on; title(Receiver -3dB Filter Response); axis([1e5 3e5 -3 1]); %滤波器系数 a=[1 0 0.7305]; %[1
29、 0 p] b=[0.135 0 -0.135]; %gain*[1 0 -1] faskn=filter(b,a,askn); figure(2) subplot(321); plot(t,faskn); axis([0 100e-6 -2 2]); title(通过带通滤波后输出); grid on; cm=faskn.*car; %解调 subplot(322); plot(t,cm); axis([0 100e-6 -2 2]); grid on; title(通过相乘器后输出); %低通滤波器 p=0.72; gain
30、1=0.14;%gain=(1-p)/2 Hz1=gain1*(z+1)./(z-(p)); subplot(323); Hz1(Hz1==0)=10^(-8);%avoid log(0) plot(f,20*log10(abs(Hz1))); grid on; title(LPF -3dB response); axis([0 5e4 -3 1]); %滤波器系数 a1=[1 -0.72]; %(z-(p)) b1=[0.14 0.14]; %gain*[1 1] so=filter(b1,a1,cm); so=so*10;
31、 %add gain so=so-mean(so); %removes DC component subplot(324); plot(t,so); axis([0 8e-4 -3.5 3.5]); title(通过低通滤波器后输出); grid on; %比较器 High=2.5; Low=-2.5; vt=0; %设立比较标准 error=0; len1=length(so); for ii=1:len1 if so(ii) >= vt Vs(ii)=High; else Vs(ii)=Low; end end Vo=Vs; subplot(325); plot (t,Vo), title(解调后输出信号), axis([0 2e-4 -5 5]) grid on; xlabel(时间 (s)), ylabel(幅度(V)) 仿真结果 21
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。