Matlab与通信仿真课程设计报告_第1页
Matlab与通信仿真课程设计报告_第2页
Matlab与通信仿真课程设计报告_第3页
Matlab与通信仿真课程设计报告_第4页
Matlab与通信仿真课程设计报告_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Matlab与通信仿真课程设计报告班级:12通信(1)班姓名:诸葛媛学号:Xb12680129实验一 S-函数&锁相环建模仿真一、 实验目的1. 了解S函数和锁相环的工作原理2. 掌握用S函数建模过程,锁相环载波提取仿真二、 实验内容1、用S函数编写Similink基本模块 (1) 信源模块 实现一个正弦波信号源,要求其幅度、频率和初始相位参数可以由外部设置,并将这个信号源进行封装。(2) 信宿和信号显示模块 实现一个示波器木块,要求能够设定示波器显示的扫描周期,并用这个示波器观察(1)的信源模块 (3) 信号传输模块 实现调幅功能,输入用(1)信源模块,输出用(2)信宿模块;基带信号

2、频率1KHz,幅度1V;载波频率10KHz,幅度5V实现一个压控正弦振荡器,输入电压u(t)的范围为v1,v2V,输出正弦波的中心频率为f0Hz,正弦波的瞬时频率f随控制电压线性变化,控制灵敏度为kHz/V。输入用(1)信源模块,输出用(2)信宿模块 2、锁相环载波提取的仿真 (1)利用压控振荡器模块产生一个受10Hz正弦波控制的,中心频率为100Hz,频偏范围为50Hz到150Hz的振荡信号,并用示波器模块和频谱仪模块观察输出信号的波形和频谱。 (2)构建一个抑制载波的双边带调制解调系统。载波频率为10KHz,被调信号为1KHz正弦波,试用平方环恢复载波并进行解调。 (3)构建一个抑制载波的

3、双边带调制解调系统。载波频率为10KHz,被调信号为1KHz正弦波,试用科斯塔斯环恢复载波并进行解调。 (4)设参考频率源的频率为100Hz,要求设计并仿真一个频率合成器,其输出频率为300Hz。并说明模型设计上与实例3.26的主要区别三、实验结果分析1、用S函数编写Similink基本模块(3)为了使S函数中输入信号包含多个,需要将其输入变量u初始为制定维数或自适应维数,而在S函数模块外部采用Simulink基本库中的复用器(Mux)将3个信号复用在一根信号线上。MUX实质上是将多个单行的信号序列组成一个多行的信号矩阵。采用Fcn函数模块则可以从输入信号矩阵中取出相应元素进行计算。设置参数如

4、下:输入信号源为常数值2的信号,subsystem中的信号输入为频率为1000Hz,幅度为1的正弦信号,仿真步长设置为2e-5;最后利用做成的显示模块来观察输出信号的波形。测试模型:signal generator:基带信号constant:直流偏置signal generator1:载波信号显示结果:Subsystem中的M文件:function sys,x0,str,ts = zgy1(t,x,u,flag,Amp,Freq,Phase)%正弦波信号源switch flag, case 0 %flag=0初始化 sys,x0,str,ts=mdlInitializeSizes; case

5、3 %flag=3计算输出 sys=mdlOutputs(t,Amp,Freq,Phase); case1,2,4,9 %其他作不处理的flagsys=; %无用的flag时返回sys为空矩阵 otherwise %异常处理 error('Unhandled flag = ',num2str(flag);end%主函数结束%子函数实现(1)初始化函数function sys,x0,str,ts=mdlInitializeSizessizes = simsizes; %获取simulink仿真变量结构sizes.NumContStates = 0; %连续系统的状态数为0size

6、s.NumDiscStates = 0; %离散系统的状态数为0sizes.NumOutputs = 1; %输出信号数目是1sizes.NumInputs = 0; %输入信号数目是0sizes.DirFeedthrough = 0; %这系统不是直通的sizes.NumSampleTimes = 1; %这里必须为1sys = simsizes(sizes);str = ; %通常为空矩阵x0 = ; %初始状态矩阵x0(零状态情况)ts = 0 0; %表示连续取样时间的仿真%子函数实现(2)系统输出方程函数function sys=mdlOutputs(t,Amp,Freq,Phase

7、)sys = Amp*sin(2*pi*Freq*t+Phase); %这里写入系统的输出方程矩阵形式%修改这个函数可以得到任意的波形输出%系统输出方程函数结束S-function中的M文件:function sys,x0,str,ts = zgy4(t,x,u,flag)%输入信号的代数运算实例:调幅%输出u是3行1列矩阵,u(1),u(2),u(3)分别表示基带信号,直流偏置和载波%size(u)switch flag, case 0 %flag=0初始化 sizes = simsizes; %获取simulink仿真变量结构sizes.NumContStates = 0; %连续系统的状

8、态数是0sizes.NumDiscStates = 0; %离散系统的状态数是0sizes.NumOutputs = 1; %输出信号数目是1sizes.NumInputs = -1; %输入信号数目是自适应sizes.DirFeedthrough = 1; %该系统是直通的sizes.NumSampleTimes = 1; %这里必须为1sys = simsizes(sizes);str = ;x0 = ; %初始状态矩阵x0ts = -1 0;%采样时间由外部模块给出 case 3 %flag=3计算输出 sys=(u(1)+u(2)*u(3); %调幅输出计算 case1,2,4,9 %

9、其他作不处理的flag sys=; %无用的flag时返回sys为空矩阵 otherwise %异常处理 error('Unhandled flag = ',num2str(flag);end显示模块中的M 文件:function sys,x0,str,ts = zgy2(t,x,u,flag,numofshowsteps)%显示示波器global T Y N; %声明使用的全局变量switch flag, case 0 %flag=0初始化 sizes = simsizes; %获取simulink仿真变量结构sizes.NumContStates = 0; %连续系统的状态

10、数为0sizes.NumDiscStates = 0; %离散系统的状态数为0sizes.NumOutputs = 0; %输出信号数目是0sizes.NumInputs = 1; %输入信号数目是0sizes.DirFeedthrough = 1; %该系统是直通的sizes.NumSampleTimes = 1; %这里必须是1 sys = simsizes(sizes); str=; %通常为空矩阵 x0=; %初始化状态矩阵x0(零状态情况) ts=0,0; %表示连续取样时间的仿真 N=0; %缓冲区全局变量初始化T=zeros(1,numofshowsteps-1);Y=zeros

11、(1,numofshowsteps-1); case 3 %flag=3计算输出 if N<numofshowsteps-1 %将输入暂存到缓冲区中 N=N+1; %缓冲区数组跑标 Y(N)=u; %记录当前信号 T(N)=t; %记录当前时刻 else %缓冲区满(一帧完成)则作图 figure(1); plot(T-min(T),Y); %做出一帧信号波形 axis(0 max(T)-min(T) 1.1*min(Y) 1.1*max(Y); %坐标范围 set(gcf,'DoubleBuffer','on'); %双缓冲避免作图闪烁 drawnow;

12、 %作图 N=0; %缓冲区跑标复位 end case1,2,4,9 %其他作不处理的flag sys=5; %无用的flag时返回sys为空矩阵 otherwise %异常处理 error('Unhandled flag = ',num2str(flag); end压控正弦振荡器:其中控制信号输入幅度为4、频率为1Hz的正弦波,压控振荡器的中心频率设置为10Hz,控制灵敏度为1Hz/V,初始相位为0,输出幅度为2V。测试模型:S-function中的M文件:function sys,x0,str,ts = zgy5(t,x,u,flag,Amp,f0,k,phi0)%VCO的

13、实现switch flag, case 0 %flag初始化 sizes = simsizes; %获取simulink仿真变量结构sizes.NumContStates = 1; %连续系统状态为1sizes.NumDiscStates = 0; %离散系统状态数是0sizes.NumOutputs = 1; %输出信号数目是1sizes.NumInputs = -1; %输入信号数目是自适应的sizes.DirFeedthrough = 0; %该系统不是直通的sizes.NumSampleTimes = 1; % 这里必须是1sys = simsizes(sizes);str = ; %

14、通常为空矩阵x0 = 0; % 初始状态矩阵x0ts = -1 0; %采样时间由外部模块给出 case 1 %flag=1计算连续系统状态方程 sys=2*pi*f0+2*pi*k*u; %VCO输出方程 case 3 %flag=3 计算输出 sys=Amp*sin(x+phi0); %VCO输出方程 case2,4,9 %其他作不处理的flag sys=; %无用的flag时返回sys为空矩阵 otherwise %异常处理 error('Unhandled flag = ',num2str(flag); end显示结果:2、锁相环载波提取的仿真构建一个抑制载波的双边带调

15、制解调系统。载波频率为10KHz,被调信号为1KHz正弦波,试用平方环恢复载波并进行解调。仿真模型:AWGN:信道Analog filter:低通滤波器仿真步进设计为10-6s,即在一个载波(10KHZ)周期中将有100个仿真计算点。仿真计算采用ode5算法。图中的两个信号模块分别产生幅度为1,频率为1000Hz基带正弦信号和10000Hz载波信号,被送入Product模块完成DSB-SC调制。调制输出经过加性高斯白噪声信道(AWGN)传输,在信道中加入噪声方差设置为0.01。在接收解调端,使用乘法器1完成平方功能。然后将平方输出通过中心频率为20kHz的二阶带通滤波器选出载波的二次谐波。该带

16、通滤波器的通带可设置为19-21kHz(19000*2*pi20000*2*pi)。乘法器2作为锁相环的鉴相器,环路滤波器设为直通的,因此该锁相环为一阶环。CO的中心频率可设置为20.3KHz,VCO的控制灵敏度可设置为4000Hz/V。butter低通滤波器通带截止频率设置为1000*pi*2。仿真步长设为1e-6。VCO输出为锁定的载波二次谐波,通过计数器Counter模块进行二分频之后得到恢复载波。Counter模块设置为计数上升沿触发模式,最大计数数值为1,输出端为计数输出,输出数据类型为双精度的。计数器的初始状态可设置为0或1。显示结果: 接受信号平方输出带通输出二次谐波鉴相输出Vc

17、o输出分频输出恢复载波发送基带信号解调输出信号从图可知,接收信号与发送信号之间存在延迟,来自相干解调低通滤波器的相移实验二 单边带调幅系统的建模仿真一、实验目的1. 了解单边带调幅系统的工作原理。2. 掌握单边带调幅系统的Matlab和Simulink建模过程。二、实验原理:本次实验采用希尔伯特变换,希尔伯特变换就是将信号中所以频率成分的信号分量移相-/2而得到的新信号。单边带调幅与解调的原理:双边带调幅所产生的上下两个边带包含的信息相同,所以只需要传输其中任意一个边带就可以了。将DSB信号中的某一个边带去除,所得到的就是单边带调制信号。单边带信号的突出特点是节约了传输频带。另外,对于话音信号

18、的单边带解调,可以不用恢复载波相位,甚至接收机的本地载波与发射机的发生载波之间存在少量频率差,话音信号的解调输出失真也不大。三、实验内容1、Matlab设计一个单边带发信机、带通信道和相应的接收机,参数要求如下。 (1)输入话音信号为一个话音信号,采样率8000Hz。话音输入后首先进行预滤波,预滤波器是一个频率范围在300,3400Hz的带通滤波器。其目的是将话音频谱限制在3400Hz以下。单边带调制的载波频率设计为10KHz,调制输出上边带。要求观测单边带调制前后的信号功率谱。 (2)信道是一个带限高斯噪声信道,其通带频率范围是10000, 13500Hz。要求能够根据信噪比SNR要求加入高

19、斯噪声。 (3)接收机采用相干解调方式。为了模拟载波频率误差对解调话音音质的影响,设本地载波频率为9.8KHz,与发信机载波频率相差200Hz。解调滤波器设计为300Hz到3400Hz的带通滤波器。 2、用Simulink方式设计一个单边带传输系统并通过声卡输出接收机解调的结果声音。系统参数参照实例5.9,系统仿真参数设置为50KH三、实验结果 (1)Matlab仿真wav,fs=wavread('GDGvoice8000.wav');t_end=1/fs*length(wav);%计算声音的时间长度Fs=50000;%仿真系统采样率t=1/Fs:1/Fs:t_end;%仿真系

20、统采样时间点%设计300-3400Hz的带通预滤波器H(z)fenzi,fenmu=butter(3,300 3400/(fs/2);%对音频信号进行预滤波wav=filter(fenzi,fenmu,wav);%利用插值函数将音频信号的采样率提升为Fs=50kHzwav=interp1(1/fs:1/fs:t_end,wav,t,'spline');wav_hilbert=imag(hilbert(wav);%音频信号的希尔伯特变换fc=10000;%载波频率HzSSB_OUT=wav.*cos(2*pi*fc*t)-wav_hilbert.*sin(2*pi*fc*t);%

21、单边带调制figure(1);%观察调制前后的频谱subplot(2,2,1);plot(wav(53550:53750); axis(0 200 -0.3 0.3);subplot(2,2,2);psd(wav,10000,Fs); axis(0 25000 -20 10);subplot(2,2,3);plot(SSB_OUT(53550:53750); axis(0 200 -0.3 0.3);subplot(2,2,4);psd(SSB_OUT,10000,Fs); axis(0 25000 -20 10);wavwrite(0.5*SSB_OUT,Fs,'SSB_OUT.wa

22、v');运行结果:执行后输出的基带信号、单边带(上边带)调制输出信号的时域波形和估计的功率谱密度Simulink仿真: 输入信号为名为GDGvoice8000.wav的音频文件,首先将系统的仿真步进时长设置为1/50000,即仿真采样频率为50Khz,对信号进行预滤波,这里采用butter带通滤波器频率设置为300Hz3400Hz。由于希尔伯特变换需要输入信号离散,所以将信号滤波之后进入一个零阶保持器,将信号离散化,保持器采样时间与系统采样时间相同。同样的,由于本地载波也需要希尔伯特变换,所以对本地载波也要进行离散化变化参数设置同上。本地载波频率设置为(10KHz)初相位设置为pi/2

23、,经过希尔伯特变化后进入一个实部和虚部的分离器,然后将二者实部虚部分别相乘之后再相加就可以得到SSB调制信号。因为输出时需要的是离散化的信号,所以要将乘法器的采样时间设置为1/50000.。得到调制信号之后就可以进行信道的加入噪声,在加入噪声之前,加入一个零阶保持器,仿真步长和前面的设置成一样,将信号经过高斯白噪声信道,信噪比SNR设置为50。信道之后,加入一个零阶保持器,仿真步长设置为1/50000,然后对信号进行相干解调,为了能对比结果将想干解调的本地载波设置与源信号的本地载波有所差距,这里设置为9800Hz。最后通过一个与前一个相同的带通滤波器,最后将解调后的信号输出。语音输入的M文件:

24、clc;clear;wavs,fs=wavread('GDGvoice8000.wav');t_end=1/fs*length(wavs);t=(1/fs:1/fs:t_end)'source=t wavs;语音输出的M文件:wavwrite(demod_out,50000,'linkSSbDemod_OUT.wav');仿真结果:实验三 数字通信系统的建模仿真一、 实验目的1、 了解数字通信系统的建模过程。2、 了解数字通信系统的仿真过程,并掌握对建模的好坏进行分析。二、 实验原理: 直接序列扩频(Direct Sequence S

25、pread Spectrum),就是用高速率的扩频序列在发射端扩展信号的频谱,而在接收端用相同的扩频码序列进行解扩,把展开的扩频信号还原成原来的信号。 直接序列扩频方式是直接用伪噪声序列对载波进行调制,要传送的数据信息需要经过信道编码后,与伪噪声序列进行模2和生成复合码去调制载波。  码分多址:CDMA是码分多址的英文缩(CodeDivisionMultipleAccess),它是在数字技术的分支-扩频通信技术上发展起来的一种崭新而成熟的无线通信技术。CDMA技术的原理是基于扩频技术,即将需传送的具有一定信号带宽信息数据,用一个带宽远大于信号带宽的高速伪随机码进行

26、调制,使原数据信号的带宽被扩展,再经载波调制并发送出去。接收端使用完全相同的伪随机码,与接收的带宽信号作相关处理,把宽带信号换成原信息数据的窄带信号即解扩,以实现信息通信。  跳频工作原理是指收发双方传输信号的载波频率按照预定规律进行离散变化的通信方式,也就是说,通信中使用的载波频率受伪随机变化码的控制而 随机 跳变。从通信技术的实现方式来说,“跳频”是一种用码序列进行多频频移键控的通信方式,也是一种码控载频跳变的通信系统。从时域上来看,跳频信号是一个多频率的频移键控信号;从频域上来看,跳频信号的频谱是一个在很宽频带上以不等间隔随机跳变的。其中:跳频控制器为核心部件,包括跳频图案产生

27、、同步、自适应控制等功能;频合器在跳频控制器的控制下合成所需频率;数据终端包含对数据进行差错控制。 三、实验内容 建立并测试一个直接序列扩频体制的码分多址传输系统,对比以Gold序列、m序列以及随机整数发生器 Random Integer Generator 作为直接序列扩频的扩频序列的传输性能,观察两路CDMA码源的收发数据波形,测试误码率,并用频谱仪观察直接序列扩频调制前后和解调前后的信号频谱。l 1、建立一个直接序列扩频体制 观察收发数据波形;并用频谱仪观察原信号、直接序列扩频后的信号频谱、加噪声的信号频谱、解扩后的信号频谱;测试误码率。l 2、对比以Gold序列、m序列(已做

28、)以及随机整数发生器 Random Integer Generator作为直接序列扩频码源的传输性能,观察波形、频谱(扩频后、加噪声后、解扩后、解调后)、误码率,比较分析传输性能l 3、建立并测试一个直接序列扩频体制的码分多址传输系统 观察两路CDMA码源的收发数据波形;观察误码率;观察频谱(各自扩频后、加噪声后、各自解扩后、各自解调后);l 4、对比以Gold序列、m序列以及随机整数发生器 Random Integer Generator作为直接序列扩频码源的码分多址传输系统 观察波形、频谱(各自扩频后、各自解调后)、误码率,分析传输性能l 5、完成跳频扩频传输系统四、实验结果1、Simul

29、ink仿真:goldBernoulli Binary Generator用于产生数据流,其采样时间设置为0.01s。PN Sequence Generator用于产生伪随机扩频序列,其采样时间设置为0.0005s,这样输出的码片速率为2000chip/s。为了使扩频模块上的数据采样速率相同,需要对数据流进行升速率处理。Unipolar to Bipolar Coneverter用于完成数据和扩频序列的双极性变换。乘法器输出就是扩频输出,其码速率等于采样速率,即每个采样点就是一个码片。扩频输出信号以BPSK方式进行调制。调制输出信号是复信号,采样率为2000次/s。调制也采用通带模型实现,为了使

30、频谱观察范围达到4KHz,需要被观察信号的采样率达到8000次/s,为此,以升速率模块配合采样保持模块将调制输出信号采样率提高到8000次/s。信道由AWGN Channel模块、采样率为2000次/s的300Hz离散正弦波源以及加法器模块组成。接收机的本地PN序列由和发射机中完全相同参数的PN Sequence Generator模块和单双极模块组成,其同步的双极性伪随机码送入解扩器中与接受信号相乘进行解扩,然后送入BPSK解调器等效基带模型进行解调和解码。BPSK解调器中设置sample per symbol 参数为20。AWGN信道中的方差设置为10。仿真结果:PN:RANDOM: 2、

31、比较分析: 分析M文件:clear;clc;sigma=0:5:10;for k=1:length(sigma) sigma2=sigma(k); sim('fenxi1.mdl'); sigmademod(k,:)=simout(end,1); sigmademod1(k,:)=simout1(end,1); sigmademod2(k,:)=simout2(end,1);endplot(sigma,sigmademod,'r');hold on;plot(sigma,sigmademod1,'g');hold on;plot(sigma,si

32、gmademod2,'b');hold on;xlabel('信道输入方差');ylabel('误码率');legend('PN','GOLD','RANDOM')3、码分多址传输系统仿真模型:各模块参数设置和前一个实验的参数设置是一样的Gold:仿真结果:PN:RANDOM: 4、比较分析:5、完成跳频扩频传输系统跳频输出信号带宽约为1600Hz,其等效低通信号频率变换范围为-800800Hz。为了使仿真观测频谱范围达到-20002000Hz,信号采样率为4000次/s。跳频速率为50跳/s,故每跳持续时间为0.02s,对应的采样点数为80点。二进制信源数据采用Bernoulli Binary Generator产生,采样时间设置为0.01s。然后用M-FSK Modulator Baseband模块完成2FSK调制,调制元数为2,频率间隔为100HZ。伪随

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论