收藏 分销(赏)

Matlab与通信仿真专业课程设计方案报告.docx

上传人:精*** 文档编号:2864452 上传时间:2024-06-07 格式:DOCX 页数:31 大小:2.41MB
下载 相关 举报
Matlab与通信仿真专业课程设计方案报告.docx_第1页
第1页 / 共31页
Matlab与通信仿真专业课程设计方案报告.docx_第2页
第2页 / 共31页
Matlab与通信仿真专业课程设计方案报告.docx_第3页
第3页 / 共31页
Matlab与通信仿真专业课程设计方案报告.docx_第4页
第4页 / 共31页
Matlab与通信仿真专业课程设计方案报告.docx_第5页
第5页 / 共31页
点击查看更多>>
资源描述

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

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

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

4、tem中信号输入为频率为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 3 %flag=3计算输出 sys=mdlOutput

5、s(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; %连续系统状态数为0sizes.NumDiscStates = 0; %离散系统状态数为0sizes.Num

6、Outputs = 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)sys = Amp*sin(2*pi*Freq*t+Phase); %这里写入系统输

7、出方程矩阵形式%修改这个函数能够得到任意波形输出%系统输出方程函数结束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; %连续系统状态数是0sizes.NumDiscStates = 0; %离散系统状态数是0sizes.Num

8、Outputs = 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 %其它作不处理flag sys=; %无用flag时返回sys为空矩阵 otherwise %异常处理

9、 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; %连续系统状态数为0sizes.NumDiscStates = 0; %离散系统状态数为0sizes.NumOutputs = 0; %输出信号

10、数目是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(1,numofshowsteps-1); case 3 %flag=3计算输出 if Nnumofshowsteps-1 %将输入暂存

11、到缓冲区中 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; %作图 N=0; %缓冲区跑标复位 end case1,2,4,9 %其它作不处理flag sys=5; %无用flag时返回sys为空矩阵 otherwise %异常处理 erro

12、r(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实现switch flag, case 0 %flag初始化 sizes = simsizes; %获取simulink仿真变量结构sizes.NumContStates = 1; %连续系统状态为1sizes.Nu

13、mDiscStates = 0; %离散系统状态数是0sizes.NumOutputs = 1; %输出信号数目是1sizes.NumInputs = -1; %输入信号数目是自适应sizes.DirFeedthrough = 0; %该系统不是直通sizes.NumSampleTimes = 1; % 这里必需是1sys = simsizes(sizes);str = ; %通常为空矩阵x0 = 0; % 初始状态矩阵x0ts = -1 0; %采样时间由外部模块给出 case 1 %flag=1计算连续系统状态方程 sys=2*pi*f0+2*pi*k*u; %VCO输出方程 case 3

14、 %flag=3 计算输出 sys=Amp*sin(x+phi0); %VCO输出方程 case2,4,9 %其它作不处理flag sys=; %无用flag时返回sys为空矩阵 otherwise %异常处理 error(Unhandled flag = ,num2str(flag); end显示结果:2、锁相环载波提取仿真构建一个抑制载波双边带调制解调系统。载波频率为10KHz,被调信号为1KHz正弦波,试用平方环恢复载波并进行解调。仿真模型:AWGN:信道Analog filter:低通滤波器仿真步进设计为10-6s,即在一个载波(10KHZ)周期中将有100个仿真计算点。仿真计算采取o

15、de5算法。图中两个信号模块分别产生幅度为1,频率为1000Hz基带正弦信号和10000Hz载波信号,被送入Product模块完成DSB-SC调制。调制输出经过加性高斯白噪声信道(AWGN)传输,在信道中加入噪声方差设置为0.01。在接收解调端,使用乘法器1完成平方功效。然后将平方输出经过中心频率为20kHz二阶带通滤波器选出载波二次谐波。该带通滤波器通带可设置为19-21kHz(19000*2*pi0*2*pi)。乘法器2作为锁相环鉴相器,环路滤波器设为直通,所以该锁相环为一阶环。CO中心频率可设置为20.3KHz,VCO控制灵敏度可设置为4000Hz/V。butter低通滤波器通带截止频率

16、设置为1000*pi*2。仿真步长设为1e-6。VCO输出为锁定载波二次谐波,经过计数器Counter模块进行二分频以后得到恢复载波。Counter模块设置为计数上升沿触发模式,最大计数数值为1,输出端为计数输出,输出数据类型为双精度。计数器初始状态可设置为0或1。显示结果: 接收信号平方输出带通输出二次谐波鉴相输出Vco输出分频输出恢复载波发送基带信号解调输出信号从图可知,接收信号和发送信号之间存在延迟,来自相干解调低通滤波器相移试验二 单边带调幅系统建模拟真一、试验目标1. 了解单边带调幅系统工作原理。2. 掌握单边带调幅系统Matlab和Simulink建模过程。二、试验原理:此次试验采

17、取希尔伯特变换,希尔伯特变换就是将信号中所以频率成份信号分量移相-/2而得到新信号。单边带调幅和解调原理:双边带调幅所产生上下两个边带包含信息相同,所以只需要传输其中任意一个边带就能够了。将DSB信号中某一个边带去除,所得到就是单边带调制信号。单边带信号突出特点是节省了传输频带。另外,对于话音信号单边带解调,能够不用恢复载波相位,甚至接收机当地载波和发射机发生载波之间存在少许频率差,话音信号解调输出失真也不大。三、试验内容1、Matlab设计一个单边带发信机、带通信道和对应接收机,参数要求以下。 (1)输入话音信号为一个话音信号,采样率8000Hz。话音输入后首优异行预滤波,预滤波器是一个频率

18、范围在300,3400Hz带通滤波器。其目标是将话音频谱限制在3400Hz以下。单边带调制载波频率设计为10KHz,调制输出上边带。要求观察单边带调制前后信号功率谱。 (2)信道是一个带限高斯噪声信道,其通带频率范围是10000, 13500Hz。要求能够依据信噪比SNR要求加入高斯噪声。 (3)接收机采取相干解调方法。为了模拟载波频率误差对解调话音音质影响,设当地载波频率为9.8KHz,和发信机载波频率相差200Hz。解调滤波器设计为300Hz到3400Hz带通滤波器。 2、用Simulink方法设计一个单边带传输系统并经过声卡输出接收机解调结果声音。系统参数参考实例5.9,系统仿真参数设置

19、为50KH三、试验结果 (1)Matlab仿真wav,fs=wavread(GDGvoice8000.wav);t_end=1/fs*length(wav);%计算声音时间长度Fs=50000;%仿真系统采样率t=1/Fs:1/Fs:t_end;%仿真系统采样时间点%设计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);

20、wav_hilbert=imag(hilbert(wav);%音频信号希尔伯特变换fc=10000;%载波频率HzSSB_OUT=wav.*cos(2*pi*fc*t)-wav_hilbert.*sin(2*pi*fc*t);%单边带调制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

21、 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.wav);运行结果:实施后输出基带信号、单边带(上边带)调制输出信号时域波形和估量功率谱密度Simulink仿真: 输入信号为名为GDGvoice8000.wav音频文件,首先将系统仿真步进时长设置为1/50000,即仿真采样频率为50Khz,对信号进行预滤波,这里采取butter带通滤波器频率设置为300Hz3400Hz。因为希尔伯特变换需要输入信号离散,所以将信号滤波以后进入一个零

22、阶保持器,将信号离散化,保持器采样时间和系统采样时间相同。一样,因为当地载波也需要希尔伯特变换,所以对当地载波也要进行离散化改变参数设置同上。当地载波频率设置为(10KHz)初相位设置为pi/2,经过希尔伯特改变后进入一个实部和虚部分离器,然后将二者实部虚部分别相乘以后再相加就能够得到SSB调制信号。因为输出时需要是离散化信号,所以要将乘法器采样时间设置为1/50000.。得到调制信号以后就能够进行信道加入噪声,在加入噪声之前,加入一个零阶保持器,仿真步长和前面设置成一样,将信号经过高斯白噪声信道,信噪比SNR设置为50。信道以后,加入一个零阶保持器,仿真步长设置为1/50000,然后对信号进

23、行相干解调,为了能对比结果将想干解调当地载波设置和源信号当地载波有所差距,这里设置为9800Hz。最终经过一个和前一个相同带通滤波器,最终将解调后信号输出。语音输入M文件: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、 了解数字通信系统仿真过程

24、,并掌握对建模好坏进行分析。二、 试验原理: 直接序列扩频(DirectSequenceSpreadSpectrum),就是用高速率扩频序列在发射端扩展信号频谱,而在接收端用相同扩频码序列进行解扩,把展开扩频信号还原成原来信号。直接序列扩频方法是直接用伪噪声序列对载波进行调制,要传送数据信息需要经过信道编码后,和伪噪声序列进行模2和生成复合码去调制载波。 码分多址:CDMA是码分多址英文缩(CodeDivisionMultipleAccess),它是在数字技术分支-扩频通信技术上发展起来一个崭新而成熟无线通信技术。CDMA技术原理是基于扩频技术,立即需传送含有一定信号带宽信息数据,用一个带宽远

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

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

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

28、enerator用于产生数据流,其采样时间设置为0.01s。PN Sequence Generator用于产生伪随机扩频序列,其采样时间设置为0.0005s,这么输出码片速率为chip/s。为了使扩频模块上数据采样速率相同,需要对数据流进行升速率处理。Unipolar to Bipolar Coneverter用于完成数据和扩频序列双极性变换。乘法器输出就是扩频输出,其码速率等于采样速率,即每个采样点就是一个码片。扩频输出信号以BPSK方法进行调制。调制输出信号是复信号,采样率为次/s。调制也采取通带模型实现,为了使频谱观察范围达成4KHz,需要被观察信号采样率达成8000次/s,为此,以升速

29、率模块配合采样保持模块将调制输出信号采样率提升到8000次/s。信道由AWGN Channel模块、采样率为次/s300Hz离散正弦波源和加法器模块组成。接收机当地PN序列由和发射机中完全相同参数PN Sequence Generator模块和单双极模块组成,其同时双极性伪随机码送入解扩器中和接收信号相乘进行解扩,然后送入BPSK解调器等效基带模型进行解调和解码。BPSK解调器中设置sample per symbol 参数为20。AWGN信道中方差设置为10。仿真结果:PN:RANDOM: 2、比较分析: 分析M文件:clear;clc;sigma=0:5:10;for k=1:length(

30、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,sigmademod2,b);hold on;xlabel(信道输入方差);ylabel(误码率);legend(PN,GOLD,RANDOM)3、码分多址传输系统

31、仿真模型:各模块参数设置和前一个试验参数设置是一样Gold:仿真结果:PN:RANDOM: 4、比较分析:5、完成跳频扩频传输系统跳频输出信号带宽约为1600Hz,其等效低通信号频率变换范围为-800800Hz。为了使仿真观察频谱范围达成-Hz,信号采样率为4000次/s。跳频速率为50跳/s,故每跳连续时间为0.02s,对应采样点数为80点。二进制信源数据采取Bernoulli Binary Generator产生,采样时间设置为0.01s。然后用M-FSK Modulator Baseband模块完成2FSK调制,调制元数为2,频率间隔为100HZ。伪随机码中每5bit转换为一个031随机

32、整数,以控制跳频载波输出频率。因为假设接收机伪随机码是理想同时,且信道没有时延,所以在模型中可直接用发送方伪随机码作为接收机恢复伪随机序列。由PN序列转换得到0-31随机整数由子系统Subsystem PN Sequence产生,子系统中,PN序列模块采样时间间隔设置为1/250s,并设置按帧输出,每帧5个样值(即5个码片),将帧格式转换为基于取样信号后,用Bit to Integer Converter将每5码片转换为一个随机整数输出,作为跳频载波频率点控制信号。输出随机整数速率是250/5=50个/s,等于跳频速率。跳频器采取M-FSK Modulator Baseband1完成,其设置参

33、数是:调制元数32,输入数据类型为整型, 频率间隔为50,每符号采样点数为80,这么该模块将输出在32个频点上跳频速率为50次/s伪随机跳频载波信号。它是复信号,采样率和2FSK信息调制输出信号相同,为4000次/s。信息调制输出和跳频载波进行相乘以实现跳频扩频。 扩频输出经过AWGN信道并加入一个150Hz单频正弦波作为干扰源。 在接收端,当地跳频载波是发送跳频载波信号共轭信号,以相乘完成解跳后,用M-FSK Demodulator Baseband完成2FSK信息解跳,其设置和信息调制器对应。和发送数据相比,解调输出数据将会延迟一个码元间隔时间0.01s。系统中可对比观察收发数据波形,测试

34、误码率,并用频谱仪观察跳频。仿真结果:试验心得:经过这一周MATLAB和通信仿真课程设计我收获颇多,其中最关键就是提升了我建立仿真模块能力。此次试验在老师讲解下先对整个设计试验步骤有所了解,再依据自己了解画出设计仿真程序框图。依据书本上提到模块功效和老师帮助指导下建立模型,最终将具体参数进行设置。运行所建仿真模型,得到想要试验结果。整个过程使我不仅巩固了书本上部分相关基础知识,而且对于单边带调制解调有了更深入了解。在试验二试验过程中,经过书本上步骤图和模型建立,让我了解了通信系统建模模型。而经过对比以Gold序列、m序列和随机整数发生器RandomIntegerGenerator作为直接序列扩频扩频序列传输性能,让我对通信系统传输有了更深刻了解。最终,MATLAB和通信仿真课程设计让我获益匪浅,同时也让我发觉本身存在不足之处,我将努力改善。谢谢老师指导和帮助。

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服