matlab 4khz正弦波信源,Matlab与通信仿真设计总结.docx

Matlab与通信仿真课程设计报告

班级:12通信(1)班姓名:诸葛媛学号:X实验一 S-函数&锁相环建模仿真实验目的了解S函数和锁相环的工作原理掌握用S函数建模过程,锁相环载波提取仿真实验内容1、用S函数编写Similink基本模块 (1) 信源模块 实现一个正弦波信号源,要求其幅度、频率和初始相位参数可以由外部设置,并将这个信号源进行封装。(2) 信宿和信号显示模块 实现一个示波器木块,要求能够设定示波器显示的扫描周期,并用这个示波器观察(1)的信源模块 (3) 信号传输模块 实现调幅功能,输入用(1)信源模块,输出用(2)信宿模块;基带信号频率1KHz,幅度1V;载波频率10KHz,幅度5V实现一个压控正弦振荡器,输入电压u(t)的范围为[v1,v2]V,输出正弦波的中心频率为f0Hz,正弦波的瞬时频率f随控制电压线性变化,控制灵敏度为kHz/V。输入用(1)信源模块,输出用(2)信宿模块 2、锁相环载波提取的仿真 (1)利用压控振荡器模块产生一个受10Hz正弦波控制的,中心频率为100Hz,频偏范围为50Hz到150Hz的振荡信号,并用示波器模块和频谱仪模块观察输出信号的波形和频谱。 (2)构建一个抑制载波的双边带调制解调系统。载波频率为10KHz,被调信号为1KHz正弦波,试用平方环恢复载波并进行解调。 (3)构建一个抑制载波的双边带调制解调系统。载波频率为10KHz,被调信号为1KHz正弦波,试用科斯塔斯环恢复载波并进行解调。 (4)设参考频率源的频率为100Hz,要求设计并仿真一个频率合成器,其输出频率为300Hz。并说明模型设计上与实例3.26的主要区别三、实验结果分析1、用S函数编写Similink基本模块(3)为了使S函数中输入信号包含多个,需要将其输入变量u初始为制定维数或自适应维数,而在S函数模块外部采用Simulink基本库中的复用器(Mux)将3个信号复用在一根信号线上。MUX实质上是将多个单行的信号序列组成一个多行的信号矩阵。采用Fcn函数模块则可以从输入信号矩阵中取出相应元素进行计算。设置参数如下:输入信号源为常数值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 3 %flag=3计算输出 sys=mdlOutputs(t,Amp,Freq,Phase); case{1,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.NumOutputs = 1; %输出信号数目是1sizes.NumInputs = 0; %输入信号数目是0sizes.DirFeedthrough = 0; %这系统不是直

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值